1343 Commits

Author SHA1 Message Date
Ben Gruver
995572831d Port AnalyzedInstruction from dexlib 2013-03-28 22:08:23 -07:00
Izzat Bahadirov
63abdc37e7 Fixing comment alignment. 2013-03-28 18:23:37 -04:00
Izzat Bahadirov
bad3ae4dd9 Refactoring unit tests. 2013-03-25 21:32:49 -04:00
Izzat Bahadirov
3d721348c5 Unit test for iterative goto embiggening and consequent payload re-alignment. 2013-03-25 19:06:07 -04:00
Izzat Bahadirov
dae24249f1 Fix for bug with incorrect removal of previously inserted alignment nop. 2013-03-25 19:04:39 -04:00
Izzat Bahadirov
c995fb5086 Unit tests for goto and goto/16 instructions embiggening. 2013-03-25 17:59:21 -04:00
Izzat Bahadirov
6e524ece32 Fix for incorrect goto/16 to goto/32 conversion. 2013-03-25 16:44:32 -04:00
Izzat Bahadirov
add494945d Unit tests for payload alignment. Also, typo correction. 2013-03-25 14:07:58 -04:00
Izzat Bahadirov
e7ab4b681b Unit tests for offset modification in SparseSwitchPayload and PackedSwitchPayload. 2013-03-25 13:14:14 -04:00
Izzat Bahadirov
8309057de3 Minor refactoring of simple unit tests, using the same test implementation for all branch target instructions. 2013-03-25 12:28:43 -04:00
Izzat Bahadirov
e05e01eee0 Simple unit tests for const-string to const-string/jumbo conversions, as well as target offset modifications for goto and branch target instructions. 2013-03-25 11:41:38 -04:00
Izzat Bahadirov
f598b96244 Proper opcode for const-string instruction modification prediction. 2013-03-25 11:39:22 -04:00
Izzat Bahadirov
5df16db108 Iterative logic to handle embiggening of goto instructions, when subsequent code shifts are inserted. Layout logic creates a HashMap of predicted instruction replacements and nop insertions to be used later in writing method, which is more cromulent solution than simply replicating the logic, given its iterativeness. 2013-03-21 11:25:12 -04:00
Ben Gruver
9bd604cf7d Add a missing @Nonnull 2013-03-17 21:37:30 -07:00
Ben Gruver
39e4d4487e Fully implement common superclass functionality 2013-03-17 21:37:14 -07:00
Ben Gruver
8f383501c1 Initial implementation of ClassPath and finding a common superclass 2013-03-14 20:37:29 -07:00
Ben Gruver
a555aa0c01 Return one of the original RegisterType instances when merging, if possible 2013-03-13 20:54:42 -07:00
Ben Gruver
dd714d9196 Fix up the spacing of the merge table 2013-03-13 20:54:42 -07:00
Ben Gruver
9347c142bf Get rid of the empty PrototypeUtils class 2013-03-13 20:22:04 -07:00
Ben Gruver
e1e9510f41 Copy RegisterType class from dexlib and refactor for dexlib2 2013-03-13 00:00:34 -07:00
Ben Gruver
db7795ffaa Add support for odex format 20bc 2013-03-09 20:35:26 -08:00
Ben Gruver
61277b50b3 Add support for odex formats 3rms and 3rmi 2013-03-09 19:28:19 -08:00
Ben Gruver
2a91d72a15 Add support for odex format 35mi 2013-03-09 18:41:52 -08:00
Ben Gruver
8a151ae671 Add support for odex format 35ms 2013-03-09 18:07:25 -08:00
Ben Gruver
e88723c666 Add support for odex format 22cs 2013-03-09 18:07:19 -08:00
Ben Gruver
d45a6a6092 Add initial support for created a DexBackedDexFile from an odex file 2013-03-09 16:58:23 -08:00
Ben Gruver
12659ec7db Get rid of the separate DexBackedDexFile.Impl class 2013-03-06 20:32:06 -08:00
Ben Gruver
132eeaedf7 Add back various methods removed during the refactoring 2013-03-05 23:53:14 -08:00
Ben Gruver
e8158c86ef Move structure offset constants into raw classes 2013-03-05 23:50:21 -08:00
Ben Gruver
c5abfe4cea Annotate AnnotationDirectoryItems 2013-03-05 23:11:13 -08:00
Ben Gruver
6fa5eab857 Annotate EncodedArrayItems 2013-03-05 22:34:56 -08:00
Ben Gruver
84dd76e52b Fix map item annotations 2013-03-05 22:34:24 -08:00
Ben Gruver
063ec54b92 Annotate DebugInfoItems 2013-03-05 21:48:56 -08:00
Ben Gruver
a2b3cfe5f2 Tweak how empty item references are formatted in the annotated dump 2013-03-05 21:33:02 -08:00
Ben Gruver
93ff1cab5b Expand TODO regarding the syntax of locals 2013-03-05 21:04:52 -08:00
Ben Gruver
8f8b67f65e Refactor the dump/annotation functionality 2013-03-03 23:47:28 -08:00
Ben Gruver
31d87776c4 Refactor/rewrite the AnnotatedBytes class and helpers
This allows annotations to be added out-of-order, rather than the previous
requirement of forward-only annotating
2013-03-03 18:00:53 -08:00
Ben Gruver
46cefa3d5b Factor out dependency versions, and upgrade to gradle 14.0 2013-03-03 17:58:02 -08:00
Ben Gruver
60d834f951 Annotate StringDataItems 2013-03-02 15:21:33 -08:00
Ben Gruver
6d607ebe1d Annotate CodeItems 2013-03-02 14:04:51 -08:00
Ben Gruver
cd12f13ffc Annotate ClassDataItems 2013-02-28 23:02:22 -08:00
Ben Gruver
cc3be5df1e Make RawDexFile extends DexBackedDexFile.Impl 2013-02-28 22:49:31 -08:00
Ben Gruver
c1d7c834e7 Annotate AnnotationSetItems 2013-02-27 21:33:15 -08:00
Ben Gruver
d5f47bae49 Annotate AnnotationItems 2013-02-27 20:58:09 -08:00
Ben Gruver
6fb7190811 Annotate the map section 2013-02-27 18:33:44 -08:00
Ben Gruver
90f8ea9f1e Annotate AnnotationSetRefList items 2013-02-27 18:33:36 -08:00
Ben Gruver
ff32d5cc14 Refactor how annotatations are handled a bit, and add annotations for TypeListItems 2013-02-26 22:20:43 -08:00
Ben Gruver
867723e009 Annotate ClassDefItems 2013-02-26 22:20:43 -08:00
Ben Gruver
78612c7554 Factor out common annotation logic into SectionAnnotator 2013-02-26 22:20:43 -08:00
Ben Gruver
18b069d17e Annotate MethodIdItems 2013-02-26 22:20:43 -08:00