1369 Commits

Author SHA1 Message Date
Ben Gruver
b742c40263 Comment out unused switch payload instructions 2015-03-20 16:38:19 -07:00
Ben Gruver
2a0e4657ea Don't wrap a large (>32k) register count in a register directive 2015-03-18 20:13:02 -07:00
Ben Gruver
bd6385f062 Duplicate a switch payload that is refered to multiple times 2015-03-18 20:01:49 -07:00
Ben Gruver
1aad736c20 Ensure that sparse switch items are written out in the correct order 2015-03-17 21:18:19 -07:00
Ben Gruver
32e76b181b Fix up the whitespace normalization in TextUtils.normalizeWhitespace
Previously, all inter-line whitespace was being removed. And it now
normalizes trailing new lines as well
2015-03-17 21:16:36 -07:00
Ben Gruver
d4bce2e768 Don't propagate exceptions from RoundtripTest.runTest() 2015-03-17 21:14:24 -07:00
Ben Gruver
1e0677617c Extract out a base RoundtripTest and IdenticalRoundtripTest class 2015-03-17 20:41:20 -07:00
Ben Gruver
0c982a02f1 Add Member and Annotatable interfaces 2015-03-16 20:52:55 -07:00
Ben Gruver
bf167c2f0e Make sure the elements are sorted in an encoded annotation 2015-03-16 20:36:34 -07:00
Ben Gruver
b76dee7ebd Don't assume dx is on-path. Rather, grab it from maven central
The version of dx in maven central seems to be fairly old, but it works
well enough for our purposes.
2015-03-16 19:54:57 -07:00
Ben Gruver
dd91dd1a71 Merge pull request #31 from iam/lambda_work
Add lambda experimental dalvik opcodes
2015-03-16 16:01:29 -07:00
Igor Murashkin
144951a9e9 Add lambda experimental dalvik opcodes
* Add new -X/--experimental flag to [dis]assemble opcodes not in art yet
* Add new opcodes liberate-variable, box-lambda, unbox-lambda,
                  capture-variable, create-lambda, invoke-lambda
* Add support for encoding 25x instructions
* Adds LambdaTest to check new opcodes assemble/disassemble properly

TODO: invoke-lambda-range

Change-Id: I5c8bcbfa8b6cb9a13ef2017fce2d1b7fda6e11c3
2015-03-16 11:40:58 -07:00
Ben Gruver
f70084bdfe Use [^] for the lexer's catch-all rule
[^] matches the entire character set, while . doesn't match new lines, etc.
2015-03-04 00:16:46 -08:00
Ben Gruver
e7f1549573 Merge pull request #28 from victorkp/master
Update doedexerant makefile
2015-03-03 18:10:16 -08:00
Ben Gruver
6a56d9a9e9 Merge pull request #29 from yirkha/master
Fix for Dalvik VM crash on parameter annotations
2015-03-03 18:08:44 -08:00
Ben Gruver
ea4074fdcc Don't try to test for reserved file names
Instead, we'll just check os.name
2015-03-01 22:42:48 -08:00
Ben Gruver
c19627e2d3 Enable parallel gradle execution by default 2015-03-01 22:35:30 -08:00
Ben Gruver
f0c481a7a1 Use single-quotes in build.gradle files when double-quotes aren't needed 2015-03-01 22:30:33 -08:00
Ben Gruver
3279a8cd4b Simplify how the accessorTest is built and run 2015-03-01 22:30:33 -08:00
Ben Gruver
57bd527d43 Use the antlr plugin for gradle 2015-03-01 20:31:10 -08:00
Ben Gruver
0f6f00a325 Use the jflex plugin for gradle 2015-03-01 20:30:09 -08:00
Ben Gruver
900ad6ea87 Use the proguard plugin for gradle 2015-03-01 19:51:34 -08:00
Ben Gruver
b3f933d27a Upgrade to gradle 2.3 2015-03-01 19:23:56 -08:00
Ben Gruver
59e56fb0dd Add IDEA project files to .gitignore 2015-03-01 19:14:27 -08:00
Jiri Hruska
5dde46b43d Fix for Dalvik VM crash on parameter annotations
Dalvik VM before Jelly Bean MR1 (4.2) crashes if there are any
NO_OFFSET (0) values in parameter annotation list.
(https://code.google.com/p/android/issues/detail?id=35304)
2015-02-19 02:59:41 +01:00
Victor Kaiser-Pendergrast
a922d5a155 Update doedexerant makefile
Fixes "CANNOT LINK EXECUTABLE: empty/missing DT_HASH in "./deodexerant" (build with --hash-style=gnu?)" error
2015-02-18 10:55:45 -05:00
Ben Gruver
0f8017e16a Remove stale license noticeds from NOTICE file 2015-01-22 16:50:49 -08:00
Ben Gruver
bc5ad6ab70 Bump version number to 2.0.5 2015-01-20 19:07:07 -08:00
Ben Gruver
a4dd1fd25b Make ClassFileNameHandler thread-safe 2015-01-20 19:01:39 -08:00
Ben Gruver
f5d3fc4a6d Switch the default for implicit references 2015-01-20 19:01:18 -08:00
Ben Gruver
39c77fa5bd Bump version number to 2.0.4 2015-01-20 08:55:16 -08:00
Ben Gruver
103e04a4a9 Add stringtemplate dependency to smali, because proguard. 2015-01-20 08:55:16 -08:00
Caleb Fenton
9546ddf95a Add registers directive so example will compile 2015-01-20 08:18:32 -08:00
Ben Gruver
e032f1d8c7 Refactor ClassFileNameHandler
This makes the logic quite a bit easier to follow, and fixes an issue
with the previous implementatation, where it didn't correctly handle
the case when were multiple long names that collided after being
shortened
2015-01-07 17:14:44 -08:00
Ben Gruver
e778f7b865 Make the checkPackagePrivateAccess functionality an option
This is only needed for 4.2.0, but not 4.2.1. Both are api 17, so we can't
tie this functionality to an api level.
2014-12-28 15:03:02 -08:00
Ben Gruver
83ec5cf9a3 Merge pull request #25 from yyjdelete/patch-1
checkPackagePrivateAccess only for API 17(4.2)
2014-12-28 14:49:44 -08:00
Ben Gruver
d83c439ce2 Fix some generics issues when compiling with java 8 2014-12-28 14:15:08 -08:00
Ben Gruver
0b42b4f41e Disable doclint for java 8 2014-12-28 14:14:39 -08:00
Ben Gruver
aae58716e7 Fix some javadoc issues 2014-12-28 14:14:19 -08:00
Ben Gruver
d15e31526f Expose the various fixed-size item counts in DexBackedDexFile 2014-12-28 12:25:03 -08:00
Ben Gruver
7296c9e957 Refactor VariableSizeLookaheadIterator
Previously, when referencing instance fields from readNextItem,
the fields wouldn't have been initialized yet on the first call to
readNextItem
2014-12-28 12:15:17 -08:00
yyjdelete
d1dbf6b14b Use options.checkPackagePrivateAccess 2014-11-14 21:59:08 +08:00
yyjdelete
62c103d92a checkPackagePrivateAccess only for API 17(4.2)
Google revert this for compatibility.
see 7284c78e14 for details.

BTW, it seems that is also disabled for late 4.2
2014-11-14 20:50:13 +08:00
Ben Gruver
686cf35c8e Add some additional checks related to instruction size 2014-11-06 23:03:46 -08:00
Ben Gruver
20d4a3c2b4 Use dlerror() to clear any error before retrying with the mangled name
Thanks to Catalin Ontanu for reporting this, and then doing more
investigation to find and test the solution.
2014-11-06 23:03:46 -08:00
Ben Gruver
e6423bd1e1 Merge pull request #23 from iBotPeaches/master
Implement dex entry for non classes.dex files
2014-11-06 21:33:56 -08:00
Connor Tumbleson
6811d13935 Implement dex entry for non classes.dex files 2014-11-06 23:09:44 -06:00
Ben Gruver
f3d063dd17 Merge pull request #24 from CalebFenton/master
Use 2.x 'param' directive
2014-11-06 17:47:14 -08:00
Caleb Fenton
45e4284c1d Use 2.x 'param' directive 2014-10-10 14:17:57 -07:00
edwardxwu
d354893f71 Fixed the bug of not setting the location field of the instruction in addInstruction(i,instruction) method 2014-08-29 20:45:22 -07:00