Commit Graph

1657 Commits

Author SHA1 Message Date
d3ac72fd67 Introduced getInterfacesFull() method to ensure that all interfaces are resolved when creating a vtable. 2013-05-01 17:58:58 -04:00
89b28308db Throwing UnresolvedClassException if interfaces weren't fully resolved. 2013-05-01 17:35:31 -04:00
6fc32629c2 Look up ClassDefs in ClassPath using a hashmap 2013-04-30 21:57:13 -07:00
6893c660a3 Remove the spurious logging of classpath file names in ClassPath 2013-04-30 21:57:13 -07:00
936cc551f7 Clean up some TODOs 2013-04-30 21:57:08 -07:00
d8d16fd844 Get rid of the unneeded classDataOffset in DexBackedClassDef 2013-04-30 21:40:36 -07:00
df8e480211 Write the correct header version based on the api level 2013-04-30 20:43:57 -07:00
4c431a7ce7 Add multi-threading support for smali 2013-04-30 01:05:16 -07:00
03a4ffa1f4 Delete some unneeded TODOs 2013-04-29 23:49:55 -07:00
894327c7ed Clean up smali's main class a bit 2013-04-29 23:05:32 -07:00
42627b850c Add new DexBuilder interface
This is a different "front-end" for the existing writer functionality that
is meant to be a more memory efficient method for building a new dex file
from scratch
2013-04-29 23:05:05 -07:00
1726f028a8 Get rid of the annotation set ref list pool 2013-04-29 20:10:54 -07:00
fbdc6cb9cb Clean up how the annotation directory items are written 2013-04-29 20:10:54 -07:00
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
3e4e5ec7a4 Change .param and .local syntax, to be able to handle empty name/type/signature 2013-04-18 00:17:34 -07:00
aa860984c0 Get rid of unneeded TODO 2013-04-17 22:33:11 -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
e591eaf779 Fix issue with .param directive when there are parameters of type D 2013-04-16 22:55:40 -07:00