1462 Commits

Author SHA1 Message Date
Ben Gruver
d54761778b Fix issue when writing parameter annotations 2013-05-03 21:02:52 -07:00
Ben Gruver
05201785fe Clean up some more TODOs 2013-05-03 21:02:39 -07:00
Ben Gruver
d38f3a7983 Fix up line number handling to be unsigned int safe 2013-05-03 19:35:47 -07:00
Izzat Bahadirov
9d8cf0d67c Added self (if interface) and super class interfaces to the interface table. 2013-05-03 16:16:23 -04:00
Izzat Bahadirov
063862d44c Propagating interfaceFullyResolved flag from parent to child interfaces. 2013-05-02 17:15:09 -04:00
Izzat Bahadirov
d3ac72fd67 Introduced getInterfacesFull() method to ensure that all interfaces are resolved when creating a vtable. 2013-05-01 17:58:58 -04:00
Izzat Bahadirov
89b28308db Throwing UnresolvedClassException if interfaces weren't fully resolved. 2013-05-01 17:35:31 -04:00
Ben Gruver
6fc32629c2 Look up ClassDefs in ClassPath using a hashmap 2013-04-30 21:57:13 -07:00
Ben Gruver
6893c660a3 Remove the spurious logging of classpath file names in ClassPath 2013-04-30 21:57:13 -07:00
Ben Gruver
936cc551f7 Clean up some TODOs 2013-04-30 21:57:08 -07:00
Ben Gruver
d8d16fd844 Get rid of the unneeded classDataOffset in DexBackedClassDef 2013-04-30 21:40:36 -07:00
Ben Gruver
df8e480211 Write the correct header version based on the api level 2013-04-30 20:43:57 -07:00
Ben Gruver
4c431a7ce7 Add multi-threading support for smali 2013-04-30 01:05:16 -07:00
Ben Gruver
03a4ffa1f4 Delete some unneeded TODOs 2013-04-29 23:49:55 -07:00
Ben Gruver
894327c7ed Clean up smali's main class a bit 2013-04-29 23:05:32 -07:00
Ben Gruver
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
Ben Gruver
1726f028a8 Get rid of the annotation set ref list pool 2013-04-29 20:10:54 -07:00
Ben Gruver
fbdc6cb9cb Clean up how the annotation directory items are written 2013-04-29 20:10:54 -07:00
Ben Gruver
816e793f81 Tweak to the numSectionItems field naming in DexWriter 2013-04-29 20:10:54 -07:00
Ben Gruver
242dd62a71 Get rid of the encoded array pool 2013-04-29 20:10:50 -07:00
Izzat Bahadirov
5c2353878c Sorting virtual methods when adding them. 2013-04-29 17:04:46 -04:00
Izzat Bahadirov
0f61ce9a6f Fix for broken tests. 2013-04-29 17:02:14 -04:00
Izzat Bahadirov
6a2a627d3b Fixed formatting. 2013-04-29 16:36:13 -04:00
Izzat Bahadirov
03b8247850 Renamed getVersion() to getOdexVersion() in DexBackedOdexFile. 2013-04-29 16:27:45 -04:00
Izzat Bahadirov
64898161b3 Added API level check to adding methods to vtable. 2013-04-29 16:09:36 -04:00
Izzat Bahadirov
2206c7638b Adding @Nonnull's and removing unnecessary null checks. 2013-04-29 15:58:35 -04:00
Izzat Bahadirov
e3b5efd7d8 Unified interface table creation logic. No more duplication. 2013-04-28 17:30:11 -04:00
Ben Gruver
0f198bc78b Fix some nitpicks in dex writer code path 2013-04-28 12:17:45 -07:00
Ben Gruver
3c3a3c4af8 Add missing @Nonnull attributes for various EncodedValue.getValue() methods 2013-04-28 01:11:23 -07:00
Ben Gruver
1bf6f23245 Implementation of new generificationified writer functionality 2013-04-27 22:23:30 -07:00
Ben Gruver
afc0a7d325 If an exception occurs while dumping, write out what we have so far 2013-04-27 22:22:55 -07:00
Ben Gruver
8340ecf3d5 Fix potential formatting issue with local variable signatures in dump output 2013-04-27 22:22:55 -07:00
Ben Gruver
70c5b247e6 Fix formatting issue with negative jump offsets in dump output 2013-04-27 22:22:55 -07:00
Izzat Bahadirov
389c3a6afa Fix for invoke-virtual/range with no register range. 2013-04-27 23:19:17 -04:00
Izzat Bahadirov
d4e3ab3fd5 Fixed querying for odex version. 2013-04-22 17:20:26 -04:00
Izzat Bahadirov
6cf22f1eac Object register value now lives in register C, not D. 2013-04-22 16:12:48 -04:00
Izzat Bahadirov
9c72df65f7 Using standard InlineMethodResolver if no custom one is provided. 2013-04-22 14:00:49 -04:00
Ben Gruver
231034cf95 Make sure to truncate the output file before writing the new dex file 2013-04-20 01:28:31 -07:00
Ben Gruver
2fe6041fa9 Add support for empty sparse switch data instructions 2013-04-20 01:28:31 -07:00
Ben Gruver
c89097680e Add support for empty packed switch data instructions 2013-04-20 01:28:31 -07:00
Ben Gruver
4879652a47 Remove the unused classes field from writer.DexFile 2013-04-20 01:28:31 -07:00
Izzat Bahadirov
d6737943e1 Fixed alignment. 2013-04-19 17:44:54 -04:00
Izzat Bahadirov
ea4ee3e8de Better wording for dump usage printout. 2013-04-19 17:43:14 -04:00
Izzat Bahadirov
10fdd19778 Moving to ClassDef.getVirtualMethods() API. 2013-04-19 17:31:05 -04:00
Izzat Bahadirov
b2ce899471 Getting instance fields by offset and methods by vtable index.
- Dump utilities
2013-04-19 17:31:05 -04:00
Ben Gruver
f939e912b5 Fix issue with out-of-order iteration of virtual methods 2013-04-19 14:29:07 -07:00
Ben Gruver
b6435e7a47 Add support to smali for a .source directive with no source file 2013-04-18 00:27:16 -07:00
Ben Gruver
3e4e5ec7a4 Change .param and .local syntax, to be able to handle empty name/type/signature 2013-04-18 00:17:34 -07:00
Ben Gruver
aa860984c0 Get rid of unneeded TODO 2013-04-17 22:33:11 -07:00
Ben Gruver
83f77f51aa Refactor how api specific Opcodes work (make them non-static) 2013-04-17 22:32:08 -07:00