94 Commits

Author SHA1 Message Date
Ben Gruver
ca21c1e890 Add a test for InstructionOffsetMap 2012-10-23 22:56:42 -07:00
Ben Gruver
d62490d669 Fix Preconditions.check3rcRegisterCount 2012-10-23 22:53:41 -07:00
Ben Gruver
e2f2c89ddc Fix a multitude of format related issues with immutable instructions 2012-10-23 22:53:41 -07:00
Ben Gruver
0033480503 Fix the missing return type for method references 2012-10-23 22:53:41 -07:00
Ben Gruver
d23b567c2b Remove some unneeded interfaces 2012-10-23 22:53:41 -07:00
Ben Gruver
3ad13f4fe3 Add InstructionOffsetMap utility class
This provides a convenient way to map back and forth between
instruction offsets and indexes within a method
2012-10-23 22:53:37 -07:00
Ben Gruver
ccc4c13ae6 Use code offsets rather than indexes for instructions
I had initially wanted to use instruction indexes at the dexlib level,
rather than the actual code unit offsets/addresses. But after additional
thought, I decided to stick with code units, and then provide a utility
for easily mapping between indexes/offsets (not implemented yet).
2012-10-23 20:01:18 -07:00
Ben Gruver
38d58eb4f4 Fix the format of ImmutableInstruction10x 2012-10-21 23:17:04 -07:00
Ben Gruver
ebc11d3216 Add zip file support in DexFileFactory 2012-10-21 22:14:18 -07:00
Ben Gruver
ec47cb62a8 Add DexFileFactory 2012-10-21 21:43:30 -07:00
Ben Gruver
58f5f0c417 Implement support for indexed items in DexBuffer 2012-10-21 21:43:16 -07:00
Ben Gruver
0f7b4c40f4 Fix the class data offset in DexBackedClassDef 2012-10-21 21:41:54 -07:00
Ben Gruver
3f2861b477 Return the specific DexBacked versions of methods and classes 2012-10-21 21:41:18 -07:00
Ben Gruver
0aeaeecb11 fix Precoditions.checkValueArg() 2012-10-21 21:40:42 -07:00
Ben Gruver
90a1ffeda1 Add "optional" uint, that allows -1 as a value
This is used for "optional" indexes, that have a "not present"
value of -1
2012-10-21 21:40:18 -07:00
Ben Gruver
198c33bc26 Add BareDexBuffer for testing DexBuffer 2012-10-21 21:27:23 -07:00
Ben Gruver
ac7a94a295 Minor nullness attribute and whitespace tweaks 2012-10-21 14:29:52 -07:00
Ben Gruver
39d2c38685 Add tests for the various "sized" types in DexReader 2012-10-21 14:29:19 -07:00
Ben Gruver
25d385a441 General cleanup 2012-10-20 23:58:36 -07:00
Ben Gruver
380ca70a2c Implement skipping for all variable sized lists 2012-10-20 23:36:23 -07:00
Ben Gruver
36e2ee2005 Rename DexFileBuffer and DexFileReader to DexBuffer and DexReader 2012-10-20 23:29:26 -07:00
Ben Gruver
06eb83505b Add tests and related fixes for leb128 functionality in DexFileReader 2012-10-20 23:09:55 -07:00
Ben Gruver
e2db1542bb Add tests and related fixes for DexFileBuffer 2012-10-20 22:58:07 -07:00
Ben Gruver
f8780edbec Minor reordering of methods in DexFileBuffer 2012-10-20 22:56:41 -07:00
Ben Gruver
8405133a40 Add DexFile interface and implementations 2012-10-20 14:53:55 -07:00
Ben Gruver
dc9e5455bc Rename DexFile to DexFileBuffer 2012-10-20 14:38:53 -07:00
Ben Gruver
a88239d92d Implement the various primitive reading methods on DexFile and DexFileReader 2012-10-20 14:17:43 -07:00
Ben Gruver
779bf9bccb Move DexFile and DexFileReader to the dexbacked package 2012-10-20 14:16:32 -07:00
Ben Gruver
5ec83fb0f0 Add DexBacked implementation of MethodImplementation 2012-10-19 21:07:37 -07:00
Ben Gruver
63d8406703 Add DexBacked implementation of Method 2012-10-18 21:58:58 -07:00
Ben Gruver
f3e03c0a94 Add named offsets for field_id_item values 2012-10-18 20:08:14 -07:00
Ben Gruver
064d77c3ad Implement reading instructions 2012-10-18 18:59:41 -07:00
Ben Gruver
d4866dd875 Change Opcode.getOpcodeByValue to accept an int 2012-10-17 18:34:38 -07:00
Ben Gruver
b5e40f2abd Remove the expanded opcode stuff 2012-10-17 18:34:18 -07:00
Ben Gruver
7c71ad420d Implement DexBacked encodeded values 2012-10-15 22:47:16 -07:00
Ben Gruver
3019737ed3 Make AnnotationEncodedValue implement BaseAnnotation 2012-10-15 22:19:42 -07:00
Ben Gruver
a8d9abfc24 Move the value type constants from EncodedValue to a new ValueType class 2012-10-15 21:38:53 -07:00
Ben Gruver
70aa787967 Make ReferenceType constants all caps 2012-10-15 20:06:15 -07:00
Ben Gruver
5581141868 Make ReferenceType constants static final, not just static 2012-10-15 20:05:24 -07:00
Ben Gruver
8daecd0246 Add some missing nullness attributes 2012-10-14 23:30:03 -07:00
Ben Gruver
9581b16739 Delete some old and/or half-baked javadoc from DexBackedField 2012-10-14 23:19:11 -07:00
Ben Gruver
be799799ff First commit of DexBacked implementations, for reading an existing dex file.
This is still a work in progress.
2012-10-14 22:57:57 -07:00
Ben Gruver
e2f00f0eba Add immutable implementations
Immutable implementations for all interfaces defined so far
2012-10-14 22:57:26 -07:00
Ben Gruver
c05d8d40e0 Add initial set of interfaces for dexlib2
This isn't everything that will be needed, but it's a good start
2012-10-14 22:56:56 -07:00