1343 Commits

Author SHA1 Message Date
Ben Gruver
f1f00f9f6e Initialize ClassDef index to -1 instead of 0 in DexPool 2013-06-01 13:41:53 -07:00
Ben Gruver
2973f7a4af Fix issue in DexPool with blank parameter annotations 2013-06-01 13:06:04 -07:00
Ben Gruver
9ed12bac38 Add a common superclass for Annotation and AnnotationEncodedValue 2013-05-28 11:06:57 -07:00
Ben Gruver
13705697c2 Clean up how the classes are sorted before being disassembled 2013-05-18 17:36:25 -07:00
Ben Gruver
8987784d7d Update version to 2.0b4 2013-05-12 21:00:17 -07:00
Ben Gruver
0a7f00ccb1 Use Iterable<DexFile> instead of DexFile[] in ClassPath constructor 2013-05-12 20:59:50 -07:00
Ben Gruver
74436bdd2f Fix issues with initialization of bootClassPath and inlineResolver 2013-05-12 20:55:10 -07:00
Ben Gruver
60ab9b199c Update version to 2.0b3 2013-05-12 12:40:16 -07:00
Ben Gruver
dea5f8d544 Exit with non-zero status if any error occurred while running baksmali 2013-05-12 12:32:08 -07:00
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