History log of /external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5a5eafb818cc18baeef8bdae1940401da3735f25 11-Apr-2016 Ben Gruver <bgruv@google.com> Implement a new command line interface for baksmali
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
c456c55c40d0731edb9913fae73f16b9d94ac45b 24-Sep-2015 Alex Light <allight@google.com> Make smali respect order of implements

Previously smali would reorder implements directives to be
alphabetical in the dex file. In the Java 8 Language the order of
interfaces may affect the order of initializer invocation when using
default methods. Therefore we will preserve this order in
smali/baksmai.

Bug: 24338722

Change-Id: I6851b02a5402c7d4cd4b60af54052c320e48d0bf
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
d33fd6773cc3e527b4dbb79245796d556b7facde 20-Jul-2014 Ben Gruver <bgruv@google.com> Implement implicit method/field references in baksmali
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
4f2620415d505a35d2d14b866cde10a54b1b7c8c 05-Dec-2013 Ben Gruver <bgruv@google.com> Add better handling for various types of invalid instructions
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
44c5c07c5724e9448d803b3585c9ef47117c3d4e 29-Sep-2013 Ben Gruver <bgruv@google.com> Don't output parameter names when using the -b/--no-debug-info option
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
8979759556f31af324257fec9ebd47d3444cede0 14-Apr-2013 Ben Gruver <bgruv@google.com> Gracefully handle duplicate fields/methods in baksmali
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
0a18ea7f8b62e51945a79ac37802133a24c9a742 13-Apr-2013 Ben Gruver <bgruv@google.com> 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.
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
93aa50139c4641d931b05608f73af8879c0de1c2 08-Apr-2013 Ben Gruver <bgruv@google.com> Refactor the way the baksmali options are handled
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
e77b5a7354f99f417f8d80df629d528e02ef5f9c 29-Dec-2012 Ben Gruver <bgruv@google.com> Sort the interfaces before writing them, in baksmali
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
22c3185bb7c8618437eabe6c597549e0989ec4e6 18-Nov-2012 Ben Gruver <bgruv@google.com> Major cleanup of the interface and library in general
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
c6e54994a7be1bdbdd751ede7c96e07e7fb1c84f 12-Nov-2012 Ben Gruver <bgruv@google.com> Use collections of annotations, not lists.
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
4060490e85d1f9250f5e22c39c456920e19be317 10-Nov-2012 Ben Gruver <bgruv@google.com> Get rid of old commented code block for methods in ClassDefinition
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
60631f684fe900940670409c46b7752c5713ae51 10-Nov-2012 Ben Gruver <bgruv@google.com> Detect static final fields that are set in the static initializer
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
db389aa3a1d898d3a452f3f0b2220b334b23cb4c 05-Nov-2012 Ben Gruver <bgruv@google.com> Make ClassDef implement TypeReference
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
a8e05220c14778d93c97911044ff5124aadbd77c 04-Nov-2012 Ben Gruver <bgruv@google.com> Refactor how method/field/string/type references are handled
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
754b3c4dc009b7a02e39001560c3f0fd6a7cc2c0 28-Oct-2012 Ben Gruver <bgruv@google.com> Nearly full switch over to dexlib2 in baksmali

No odex handling/register analysis yet, and there are still a few minor
features that haven't been reimplemented yet.

Still lots of bugs :)
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
4e3124206a058ceb1be7b893d83b9201744db380 25-Oct-2012 Ben Gruver <bgruv@google.com> Improve how access flags are handled
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
7ccb5fcfec99e79a8a65c774900f680690406c01 25-Oct-2012 Ben Gruver <bgruv@google.com> Refactor annotations and encoded values in baksmali
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
8b1508ee58f4918835d8c01483725b508d21be29 22-Oct-2012 Ben Gruver <bgruv@google.com> Start switching baksmali over to dexlib2
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
9f1d05eb44d85183651753d9b83ae3115a8ea256 22-Oct-2012 Ben Gruver <bgruv@google.com> Move Utf8Utils to util module, and split out StringUtils
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
40c48da564efb8c95ed0599f0783b0fd676b6c1f 24-Sep-2012 Ben Gruver <bgruv@google.com> The great tab cleanup of 2012
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
4af666e4a6dbcff1a68ebc3bc64fe813decb5920 25-Aug-2012 Ben Gruver <bgruv@google.com> Remove support for the extended opcodes
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
3f70d08442fadd8f2af225f86ca2a41334182dec 15-May-2012 Ben Gruver <bgruv@google.com> Gracefully handle duplicate methods and fields in baksmali

baksmali will emit duplicate methods and fields as commented blocks, when it
is safe to do so.
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
cf01f5db09da2b597e280f8ac8ef8a3fedbeb2f7 06-Jun-2012 Ben Gruver <bgruv@google.com> Refactor ClassDefItem

This primarily adds nullable/nonnull annotations, and fixes a few related issues
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
10ebad1205b6c2407233ebf9805e4e2db29c251b 06-Jun-2012 Ben Gruver <bgruv@google.com> Refactor the ClassDataItem interface

This improves the usability and makes the nullness (or nonnullness) for
various things explicit.
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
e5466fee2396e262fe2823f5f5d90ff7e39dd3a7 06-Jun-2012 Ben Gruver <bgruv@google.com> Add annotation lookup functionality to AnnotationDirectoryItem
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
b71c12967b9c5c133c46c5edb6c128e78f1baf2c 05-Jun-2012 Ben Gruver <bgruv@google.com> Refactor the interface of AnnotationDirectoryItem

This makes it easier to use, and fixes a few null safeness issues.
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
d863324ffb94f70dbb59f1dab4dabd2ce1b39cfd 18-Nov-2011 Ben Gruver <bgruv@google.com> Add support for Format41c (field references)
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
baa030c201f558c274d74dc1511f2c982b87ae74 03-Jun-2011 jesusfreke@jesusfreke.com <jesusfreke@jesusfreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Correctly escape any special characters in the value of the .source directive

git-svn-id: https://smali.googlecode.com/svn/trunk@811 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
4b72225e9d81201838f387171a68a832486903f9 17-Aug-2010 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Move the IndentingWriter class to the util project

git-svn-id: https://smali.googlecode.com/svn/trunk@788 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
9c79173818622c2cab6f29a60c5bea61c69e8602 23-Jun-2010 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Incorporate the null check from the previous commit into the containing if statement

git-svn-id: https://smali.googlecode.com/svn/trunk@763 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
ecc73ab3f5d1d323f640a3283768ed007d315d81 23-Jun-2010 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Fix an NPE when there is a <clinit> with no codeItem

git-svn-id: https://smali.googlecode.com/svn/trunk@762 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
fbea4e751fa6f1748ded4379a4b64601cb53ba7b 16-Apr-2010 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Cleaned up imports

git-svn-id: https://smali.googlecode.com/svn/trunk@709 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
c1cc0e093492722e7eecb20455b5242176ca63db 04-Apr-2010 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Add better support for the case when an odex file has missing classes

git-svn-id: https://smali.googlecode.com/svn/trunk@693 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
0b2f7d6a57e90424b3ee455c041aab3996c05f2c 04-Apr-2010 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> delete IndentingPrintWriter and refactor everything to use IndentingWriter directly

git-svn-id: https://smali.googlecode.com/svn/trunk@688 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
6eae34831fee1f116f3a453bdc5e143d68e05e03 04-Apr-2010 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Refactor dexlib so that the output is generated directly, instead of using the StringTemplate library

git-svn-id: https://smali.googlecode.com/svn/trunk@681 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
00fc68adf2e39aeb9fed35293f2576bbe729ec4b 22-Feb-2010 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Update copyright notices

git-svn-id: https://smali.googlecode.com/svn/trunk@644 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
c9be5e13034da9827b5598a6257376164745b827 11-Feb-2010 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Tons of fixes related to getting "verbose register info"/type analysis to work

git-svn-id: https://smali.googlecode.com/svn/trunk@621 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
b2e1e2067d5179b0ec38c76a5191909f5a7dc1cc 12-Jan-2010 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> deodex refactoring part 1

Significantly simplified how instructions are handled in baksmali. Normal
disassembly seems to be working, deodexing definitely not.

git-svn-id: https://smali.googlecode.com/svn/trunk@561 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
22296e7f8366b81b37191f9e37ae9e8cee343492 31-Dec-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Added assertion+comment, to clarify a misleading null check

git-svn-id: https://smali.googlecode.com/svn/trunk@536 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
7d9b1b10f03035153829553ae372947b75e17f70 31-Dec-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> use createTemplate and createReference instead of makeTemplate and makeReference

git-svn-id: https://smali.googlecode.com/svn/trunk@534 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
fda2e631ac0b1ca092973b7fff4b2f38d2c23437 23-Dec-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Refactor instructions to store individual pieces of data instead of just using an offset into a buffer

Also included is a partial implementation of the logic needed to automatically fix various types of issues

git-svn-id: https://smali.googlecode.com/svn/trunk@502 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
090e553f34a176bc558f0d70392181c0fbd83fe8 19-Sep-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> check if a static final field is set within the static constructor, and if so, add a comment stating such if it makes sense to do so (for primitive types, or reference/array types that have a non-null initializer)

git-svn-id: https://smali.googlecode.com/svn/trunk@481 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
05c9404ecde123f9c965d4d99967850b74f943f2 19-Sep-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> set the SparseArrays even if classDataItem is null

git-svn-id: https://smali.googlecode.com/svn/trunk@480 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
29f49465ca358613486bd6bc61a1b9a5fa3bd1c1 19-Sep-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Use a SparseArray instead of a HashMap, and add get*Count methods to AnnotationDirectoryItem so we can initialize the SparseArrays with the correct capacity

git-svn-id: https://smali.googlecode.com/svn/trunk@478 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
7885a819a0dc52568fedd60f7d8d0f0a9ca352e9 07-Aug-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> refactor ClassDefinition to use template attributes instead of object parameters

git-svn-id: https://smali.googlecode.com/svn/trunk@371 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
7ab77bc90be62b0688c97d4476e3bd219eace0da 06-Aug-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Refactoring baksmali so that the template attributes are passed in, instead of relying on reflection to get attributes from an object

git-svn-id: https://smali.googlecode.com/svn/trunk@366 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
630a384c6bb90358cc64c7fcbec6884fdac8f50d 04-Aug-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Check for null source file

git-svn-id: https://smali.googlecode.com/svn/trunk@344 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
cf6729c1ee64e732f28eb40386ecc69d4fb6b401 03-Aug-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Lots of misc cleanup/refactoring to work with the new dexlib

git-svn-id: https://smali.googlecode.com/svn/trunk@336 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
69c3abb483d8a6329f38fb3c30afa3d138d3adc0 25-Jun-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> - fixed an issue where java.lang.Object from core.jar couldn't be re-assembled, because it has no superclass

git-svn-id: https://smali.googlecode.com/svn/trunk@221 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
bf4ca730cc857f76ee703e9efa73ad3e408c6c37 21-Jun-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Misc cleanup/refactoring

git-svn-id: https://smali.googlecode.com/svn/trunk@204 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
3c9013f9c08fa8effc9f6d4dc58212c68eb21742 19-Jun-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Added support for parameter names and annotations

git-svn-id: https://smali.googlecode.com/svn/trunk@172 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
b6547e8fd56242dde90275d9b0ba6f3639083a61 19-Jun-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Added support for field annotations
Added support for try blocks
Added support for most types of debug info (no parameter names yet)

git-svn-id: https://smali.googlecode.com/svn/trunk@171 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
fa07a1972e3cff56d5615c18a8797ff58fc9f739 18-Jun-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Implemented class and method annotations

git-svn-id: https://smali.googlecode.com/svn/trunk@166 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
5f50a1a8b32b8fa81916c7f2d5b3c2d1b266995f 18-Jun-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> Cleaned up imports

git-svn-id: https://smali.googlecode.com/svn/trunk@161 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java
6ef13753e78bb7abc7e7683d5e533c3395d4a9b6 18-Jun-2009 JesusFreke@JesusFreke.com <JesusFreke@JesusFreke.com@55b6fa8a-2a1e-11de-a435-ffa8d773f76a> - some directory/packages renaming
- started adding support for encoded values and static initializers

git-svn-id: https://smali.googlecode.com/svn/trunk@158 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
/external/smali/baksmali/src/main/java/org/jf/baksmali/Adaptors/ClassDefinition.java