Ben Gruver
dd77ba20f4
Git rid of some warnings in smali's main.java
2013-05-12 12:31:31 -07:00
Ben Gruver
7e25c35df7
Make baksmali thread safe, and add -j option
2013-05-12 12:31:24 -07:00
Ben Gruver
4b171afedb
Misc baksmali cleanup
2013-05-11 13:37:19 -07:00
Ben Gruver
0e103007d1
Update revision to 2.0b2
2013-05-07 19:40:21 -07:00
Ben Gruver
ec1348b46d
Allow vtable lookups of Object methods for a class that can't be fully resolved
2013-05-07 19:38:38 -07:00
Ben Gruver
4ee6056b23
Remove unnecessary TODO
2013-05-07 18:50:57 -07:00
Ben Gruver
f60061e0e7
Update version to 2.0b1
2013-05-07 00:05:47 -07:00
Ben Gruver
2a91095e8c
Fix up proguard configuration
2013-05-07 00:05:34 -07:00
Ben Gruver
a2069cd866
Fix issue with deodexing invoke-virtual-quick/range
2013-05-06 23:57:35 -07:00
Ben Gruver
9743f4de0c
Deodex an invoke-object-init/range as a non-range invoke-virtual when possible
2013-05-06 23:57:09 -07:00
Ben Gruver
94565fa09e
Don't replace virtual methods with interface methods in the vtable
2013-05-06 23:56:20 -07:00
Ben Gruver
a7f2135b2f
Factor out repeated calls to getVtable() in getMethodByVtableIndex
2013-05-06 23:55:51 -07:00
Ben Gruver
86112a840f
Add some java docs for the getInterface methods
2013-05-06 22:07:55 -07:00
Ben Gruver
fad4d1a1a9
Sort the instance fields and use List<Field> rather than Field[]
2013-05-06 22:07:49 -07:00
Ben Gruver
5b69a5f3a5
Merge remote-tracking branch 'izzy_github/deodex2' into dexlib_redesign
...
Conflicts:
dexlib2/src/main/java/org/jf/dexlib2/analysis/ClassPath.java
2013-05-06 21:13:55 -07:00
Izzat Bahadirov
363af0a52b
Using newer API getInstanceFields() instead of getFields() + filtering.
2013-05-06 21:07:45 -04:00
Izzat Bahadirov
490a8b2cd0
Another @Nonnull.
2013-05-06 21:02:31 -04:00
Izzat Bahadirov
3aa6e2d4fa
Using Predicates.notNull() to filter for direct interfaces.
2013-05-06 20:59:43 -04:00
Izzat Bahadirov
0ac9242368
More @Nonnull's.
2013-05-06 15:21:49 -04:00
Izzat Bahadirov
b16caa690d
More elegant way of getting direct interfaces, now using FluentIterable.
2013-05-06 14:46:59 -04:00
Izzat Bahadirov
4147960f6e
Propagating interfacesFullyResolved from the parent.
2013-05-06 14:26:53 -04:00
Ben Gruver
a22cdb820a
Remove extraneous fields in Opcode
2013-05-05 18:25:47 -07:00
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