816e793f81
Tweak to the numSectionItems field naming in DexWriter
2013-04-29 20:10:54 -07:00
242dd62a71
Get rid of the encoded array pool
2013-04-29 20:10:50 -07:00
5c2353878c
Sorting virtual methods when adding them.
2013-04-29 17:04:46 -04:00
0f61ce9a6f
Fix for broken tests.
2013-04-29 17:02:14 -04:00
6a2a627d3b
Fixed formatting.
2013-04-29 16:36:13 -04:00
03b8247850
Renamed getVersion() to getOdexVersion() in DexBackedOdexFile.
2013-04-29 16:27:45 -04:00
64898161b3
Added API level check to adding methods to vtable.
2013-04-29 16:09:36 -04:00
2206c7638b
Adding @Nonnull's and removing unnecessary null checks.
2013-04-29 15:58:35 -04:00
e3b5efd7d8
Unified interface table creation logic. No more duplication.
2013-04-28 17:30:11 -04:00
0f198bc78b
Fix some nitpicks in dex writer code path
2013-04-28 12:17:45 -07:00
3c3a3c4af8
Add missing @Nonnull attributes for various EncodedValue.getValue() methods
2013-04-28 01:11:23 -07:00
1bf6f23245
Implementation of new generificationified writer functionality
2013-04-27 22:23:30 -07:00
afc0a7d325
If an exception occurs while dumping, write out what we have so far
2013-04-27 22:22:55 -07:00
8340ecf3d5
Fix potential formatting issue with local variable signatures in dump output
2013-04-27 22:22:55 -07:00
70c5b247e6
Fix formatting issue with negative jump offsets in dump output
2013-04-27 22:22:55 -07:00
389c3a6afa
Fix for invoke-virtual/range with no register range.
2013-04-27 23:19:17 -04:00
d4e3ab3fd5
Fixed querying for odex version.
2013-04-22 17:20:26 -04:00
6cf22f1eac
Object register value now lives in register C, not D.
2013-04-22 16:12:48 -04:00
9c72df65f7
Using standard InlineMethodResolver if no custom one is provided.
2013-04-22 14:00:49 -04:00
231034cf95
Make sure to truncate the output file before writing the new dex file
2013-04-20 01:28:31 -07:00
2fe6041fa9
Add support for empty sparse switch data instructions
2013-04-20 01:28:31 -07:00
c89097680e
Add support for empty packed switch data instructions
2013-04-20 01:28:31 -07:00
4879652a47
Remove the unused classes field from writer.DexFile
2013-04-20 01:28:31 -07:00
d6737943e1
Fixed alignment.
2013-04-19 17:44:54 -04:00
ea4ee3e8de
Better wording for dump usage printout.
2013-04-19 17:43:14 -04:00
10fdd19778
Moving to ClassDef.getVirtualMethods() API.
2013-04-19 17:31:05 -04:00
b2ce899471
Getting instance fields by offset and methods by vtable index.
...
- Dump utilities
2013-04-19 17:31:05 -04:00
f939e912b5
Fix issue with out-of-order iteration of virtual methods
2013-04-19 14:29:07 -07:00
b6435e7a47
Add support to smali for a .source directive with no source file
2013-04-18 00:27:16 -07:00
83f77f51aa
Refactor how api specific Opcodes work (make them non-static)
2013-04-17 22:32:08 -07:00
9062640179
Fix issue with interning proto_id_items while writing dex file
2013-04-17 00:25:05 -07:00
3d5423ed2b
Tweak how hashCode and equals works for MethodReferences
...
This fixes an issue where method references weren't being properly
interned when generating a dex file
2013-04-17 00:13:12 -07:00
dda097947f
Fix implementation of equals for BaseTypeReference
...
This fixes the implementation so it matches what is described in the
documentation for the TypeReference interface. Specifically, it allows
for comparison to a CharSequence
2013-04-17 00:12:20 -07:00
36b6a31685
Fix issue with empty superclass when dumping a Ljava/lang/Object; class
2013-04-16 23:19:06 -07:00
0dceb148f3
Update to latest antlr3/string template
2013-04-15 20:47:53 -07:00
6c15046f2b
Refactor smali to use dexlib2
...
Array data instructions aren't working yet
2013-04-15 20:47:00 -07:00
ab73502b60
Massage the try blocks before writing them out to a dex file
2013-04-14 18:36:05 -07:00
8c3d16b7ee
Add logic to TryListBuilder to merge contiguous try blocks with identical handlers
2013-04-14 18:14:06 -07:00
5916df9999
Port TryListBuilder from dexlib
2013-04-14 17:17:00 -07:00
bddef6af3c
Always use one of 2 pre-built ImmutableBooleanEncodedValue instances
2013-04-13 21:44:56 -07:00
f24f26738d
Add AnnotationVisibility.getVisibility(String)
2013-04-13 21:44:18 -07:00
ddf18a996e
Add convenience constructor for ImmutableClassDef
2013-04-13 20:19:41 -07:00
8979759556
Gracefully handle duplicate fields/methods in baksmali
2013-04-13 18:55:34 -07:00
0a18ea7f8b
Separate direct/virtual methods and static/instance fields in the ClassDef interface
...
This is unfortunately required to support not-quite-well-formed dex files
containing duplicate static/instance fields, or duplicate direct/virtual methods,
which dalvik inadvertently allows.
In cases when there are duplicate fields/methods in the same category, we
unambiguously remove/hide the latter duplicate fields/methods.
2013-04-13 16:25:37 -07:00
2363e6e43c
Gracefully handle unknown instructions
2013-04-11 23:58:43 -07:00
5fa302678c
Add support for custom inline tables
2013-04-10 21:14:46 -07:00
fd258ad543
Add support for class path entries that look like dalvik-cache entries
2013-04-09 23:44:06 -07:00
2887ade533
Remove unneeded/unused getFormat() method in UnresolvedOdexInstruction
2013-04-09 23:43:02 -07:00
45dfbd6d58
Remove invalid assert
2013-04-09 23:42:33 -07:00
39b3a7c5a9
Fix issue when deodexing invoke-object-init/range instruction
2013-04-09 23:42:20 -07:00