769 Commits

Author SHA1 Message Date
Ben Gruver
94abcd3332 Add the ability to retrieve the checksum and signature from the header_item 2012-06-12 13:34:49 -07:00
Ben Gruver
4de8efcc31 Don't pre-sort ClassDefItems 2012-06-11 16:01:10 -07:00
Ben Gruver
9a295c54e1 Add EncodedLiteralInstruction interface 2012-06-06 18:16:49 -07:00
Ben Gruver
58e4b792b8 Add static utility methods to StringIdItem and TypeIdItem for getting their string representations 2012-06-06 11:09:46 -07:00
Ben Gruver
f7dfb272f3 Don't modify the staticFieldInitializers list passed in to ClassDefItem.intern... 2012-06-05 18:59:40 -07:00
Ben Gruver
cf01f5db09 Refactor ClassDefItem
This primarily adds nullable/nonnull annotations, and fixes a few related issues
2012-06-05 18:34:09 -07:00
Ben Gruver
10ebad1205 Refactor the ClassDataItem interface
This improves the usability and makes the nullness (or nonnullness) for
various things explicit.
2012-06-05 18:09:38 -07:00
Ben Gruver
d320d6ce8c Add Item.isPlaced() method and replace getOffset() != -1 with !isPlaced() in ClassDefItem 2012-06-05 18:09:38 -07:00
Ben Gruver
e5466fee23 Add annotation lookup functionality to AnnotationDirectoryItem 2012-06-05 18:09:33 -07:00
Ben Gruver
1ffc028a3b Add a check to Item.getOffset() and getIndex() to ensure the item has been placed 2012-06-05 17:59:55 -07:00
Ben Gruver
b71c12967b Refactor the interface of AnnotationDirectoryItem
This makes it easier to use, and fixes a few null safeness issues.
2012-06-05 17:59:45 -07:00
Ben Gruver
2bfc114146 Clean up the maven configuration
This allows everything to be built with a simple "mvn package" from the root
2012-05-23 14:31:11 -07:00
Ben Gruver
36c2f08ba0 Clean up how the usage messages are printed
This also fixes an OOM issue when trying to print the usage message
on a terminal that doesn't report its width.
2012-05-13 11:57:50 -07:00
Ben Gruver
0044afa4c3 Don't let later entries in the classpath override classes from earlier entries 2012-03-23 01:53:16 -07:00
Ben Gruver
1acfb0ef18 Instruction3rmi should use Format3rmi, not Format3rms 2012-03-10 20:18:42 -08:00
Ben Gruver
8ca89226fa Bump the version number to 1.3.3-dev 2012-01-12 00:46:32 -08:00
Ben Gruver
0d57d42794 Fix stupid infinite loop problem 2012-01-12 00:45:22 -08:00
Ben Gruver
b7cd134fd3 Bump the version number to 1.3.2-dev 2012-01-11 22:12:46 -08:00
Ben Gruver
a9f36cda13 Fix idiotic "this" alias 2012-01-11 22:11:31 -08:00
Ben Gruver
96b803c882 Add support for version 36 dex files 2012-01-11 22:11:27 -08:00
Ben Gruver
d89375a663 Fix-up InlineMethodResolver_version35 to use the new OdexedInvokeInline interface 2011-12-20 20:27:55 -08:00
Ben Gruver
a4b5f66e4c Fix an issue with missing parameter annotations in methods without a body 2011-12-20 20:27:55 -08:00
Ben Gruver
c94ca5ff8d Bump the version number to 1.3.1-dev 2011-12-20 20:27:55 -08:00
Ben Gruver
0da8e11d11 Make sure the api level is set before reading in the dex file 2011-11-20 23:13:55 -08:00
Ben Gruver
4d3b3311e1 Fix a few issues with Format 35mi 2011-11-20 20:21:30 -08:00
Ben Gruver
9e78b6b021 Add CAN_INITIALIZE_REFERENCE flag for Opcodes 2011-11-20 20:09:48 -08:00
Ben Gruver
dd88a39a72 Update version to 1.3.0-dev for new release 2011-11-20 15:50:24 -08:00
Ben Gruver
9c67b1508e Only allow assembling odex opcodes for api levels that it works on 2011-11-20 15:47:53 -08:00
Ben Gruver
0d785ac315 Add support for jumbo volatile field access opcodes 2011-11-20 15:47:53 -08:00
Ben Gruver
4dda65fdb3 Add an opcode flag for jumbo opcodes 2011-11-20 15:47:53 -08:00
Ben Gruver
a43de2411e Add support for the invoke-object-init/jumbo odex opcode 2011-11-20 15:47:53 -08:00
Ben Gruver
4a5692f827 Add support for the return-void-barrier odex instruction 2011-11-20 15:47:49 -08:00
Ben Gruver
c8de336727 Use Format 35c for invoke-direct-empty, and get rid of Format 35s 2011-11-20 15:46:40 -08:00
Ben Gruver
ea7afb0265 Add support for the invoke-object-init/range opcode in ICS 2011-11-20 15:46:40 -08:00
Ben Gruver
5967598d01 Add support for specifying a custom inline method table to use while deodexing 2011-11-20 15:46:40 -08:00
Ben Gruver
e00d96c438 Fix an issue with the handling of sparse-switch-data blocks 2011-11-20 15:46:40 -08:00
Ben Gruver
addb2dcdd4 Add new deodexerant utility, to dump dalvik's inline method table 2011-11-20 15:46:40 -08:00
Ben Gruver
c2f08d5123 Add support for an --api-level parameter 2011-11-20 15:46:40 -08:00
Ben Gruver
6729493700 Add support in MethodAnalyzer for the new opcodes 2011-11-20 15:46:40 -08:00
Ben Gruver
b0ca7cb99b Add support for auto-upgrading to /jumbo variants of instructions when needed/possible 2011-11-20 15:46:39 -08:00
Ben Gruver
c4db7e2473 Add support for Format5rc 2011-11-20 15:46:39 -08:00
Ben Gruver
8d323b3c48 Add support for blank register ranges 2011-11-20 15:46:39 -08:00
Ben Gruver
de5b35dbb6 Add support for Format52c (field references) 2011-11-20 15:46:39 -08:00
Ben Gruver
1efc2c0388 Add support for Format52c (type references) 2011-11-20 15:46:39 -08:00
Ben Gruver
a70eb74985 Fix performance issue when assembling classes with many static fields 2011-11-20 15:46:39 -08:00
Ben Gruver
d863324ffb Add support for Format41c (field references) 2011-11-20 15:46:39 -08:00
Ben Gruver
8b3b577f00 Add additional checks for index size when writing various items 2011-11-20 15:46:39 -08:00
Ben Gruver
d12c769276 Add support for Format41c (type references) 2011-11-20 15:46:38 -08:00
Ben Gruver
d064d69992 Fix up jumbo string tests 2011-11-20 15:46:38 -08:00
Ben Gruver
9c5ea8fa92 Lay the groundwork for general 32-bit IndexedItem references 2011-11-20 15:46:38 -08:00