Ben Gruver
bbc11c79e5
Add lexer implementation based on existing smali lexer
2015-01-21 09:32:00 -08:00
Ben Gruver
a4dd1fd25b
Make ClassFileNameHandler thread-safe
2015-01-20 19:01:39 -08:00
Ben Gruver
e032f1d8c7
Refactor ClassFileNameHandler
...
This makes the logic quite a bit easier to follow, and fixes an issue
with the previous implementatation, where it didn't correctly handle
the case when were multiple long names that collided after being
shortened
2015-01-07 17:14:44 -08:00
Ben Gruver
aae58716e7
Fix some javadoc issues
2014-12-28 14:14:19 -08:00
Ben Gruver
d33fd6773c
Implement implicit method/field references in baksmali
2014-07-19 20:26:50 -07:00
Ben Gruver
3b5d84c3ae
Truncate filenames based on their utf-8 length
2014-02-01 14:43:54 -08:00
Ben Gruver
1d28b32ff5
Refactor the maven upload build stuff
...
This also adds the required javadoc jars
2014-01-18 11:33:39 -08:00
Ben Gruver
5b411f3447
Add gradle configuration for uploading smali artifacts to maven
2014-01-17 02:04:07 -08:00
Ben Gruver
68564258a3
occured -> occurred
2013-12-08 17:44:15 -08:00
Ben Gruver
6cd686fbf5
Make windows reserved filename detection more robust
...
This checks for more reserved filenames than just aux
2013-09-14 11:35:53 -07:00
Ben Gruver
d868692e33
Truncate the filename for overly long class names
2013-09-14 11:33:18 -07:00
Ben Gruver
5ff4ee9a3f
Add missing copyright/license headers
2013-09-14 00:43:41 -07:00
Ben Gruver
99b46173c5
Generify the IO requirements for writing a dex file
...
The DexWriter implementations now write to a generic "DexDataStore", instead
of writing directly to a file.
Also, writing of the DebugItems and CodeItems are linked, with the code
items being written to a temporary location, and then the entire code item
section is written as a batch after the debug item section.
2013-09-08 15:30:58 -07:00
Ben Gruver
7e25c35df7
Make baksmali thread safe, and add -j option
2013-05-12 12:31:24 -07:00
Ben Gruver
d38f3a7983
Fix up line number handling to be unsigned int safe
2013-05-03 19:35:47 -07:00
Ben Gruver
936cc551f7
Clean up some TODOs
2013-04-30 21:57:08 -07:00
Ben Gruver
1bf6f23245
Implementation of new generificationified writer functionality
2013-04-27 22:23:30 -07:00
Ben Gruver
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
Ben Gruver
d9c50f3f36
Fix IndentingWriter.printUnsignedLongAsHex and printSignedIntAsDec
...
A previous change had introduced a regression where they were printing
numbers backwards.
2013-04-16 00:26:24 -07:00
Ben Gruver
ec28400394
Switch to new parameter syntax
...
The new syntax is:
.param p1, firstParamName
which is closer to the existing local syntax:
.local v0, someLocal:I
2013-04-16 00:24:46 -07:00
Ben Gruver
7e58d497ef
Improve the performance of the IndentingWriter
2013-04-09 17:42:33 -07:00
Ben Gruver
ffe82bdcb5
Fully remove the dependency on the old dexlib from baksmali
2013-04-08 00:09:15 -07:00
Ben Gruver
9531284b1b
Port MethodAnalyzer and various dependencies from dexlib
2013-03-30 16:36:27 -07:00
Ben Gruver
31d87776c4
Refactor/rewrite the AnnotatedBytes class and helpers
...
This allows annotations to be added out-of-order, rather than the previous
requirement of forward-only annotating
2013-03-03 18:00:53 -08:00
Ben Gruver
46cefa3d5b
Factor out dependency versions, and upgrade to gradle 14.0
2013-03-03 17:58:02 -08:00
Ben Gruver
60d834f951
Annotate StringDataItems
2013-03-02 15:21:33 -08:00
Ben Gruver
6d607ebe1d
Annotate CodeItems
2013-03-02 14:04:51 -08:00
Ben Gruver
373ff22ec6
Beginning of annotated dump implementation
2013-02-24 15:58:24 -08:00
Ben Gruver
bfd74a869e
Create AbstractForwardSequentialList util class
2013-02-24 15:30:25 -08:00
Ben Gruver
7d5439950f
Fix various issues related to comparing method references.
2012-12-29 14:50:15 -08:00
Ben Gruver
3d0419c963
Track and seek to the current position in RandomAccessFileOutputStream
2012-12-28 17:40:46 -08:00
Ben Gruver
7dff6ada5e
Add tests for DexWriter (and fixes to DexWriter, to make said tests pass)
2012-12-28 16:37:41 -08:00
Ben Gruver
9a90c5560c
Refactor DexWriter to write to a generic OutputStream
2012-12-28 16:28:35 -08:00
Ben Gruver
4ffbfa2e71
Initial commit of writer functionality
...
It's not fully functional yet, but the structure is there, and it's
got most item types
2012-11-18 14:33:32 -08:00
Ben Gruver
22c3185bb7
Major cleanup of the interface and library in general
2012-11-17 17:51:36 -08:00
Ben Gruver
2d7e111135
Add sorted interface and immutable implementations
2012-11-12 22:55:06 -08:00
Ben Gruver
ddf2021942
Add @Nonnull for ImmutableListConverter methods
2012-11-12 22:25:15 -08:00
Ben Gruver
07cf2064e6
Fix logic that determine if an immutable list needs to be copied
2012-11-12 22:20:39 -08:00
Ben Gruver
b0383884fa
Add and use ImmutabeleListUtils.nullToEmptyList()
2012-11-04 13:53:41 -08:00
Ben Gruver
8ae711cf3b
Get rid of the vestigal commented out code in IndentingWriter
2012-11-03 01:08:04 -07:00
Ben Gruver
08840432d4
Use an iterable rather than a list for debug items
2012-10-27 22:39:07 -07:00
Ben Gruver
e593a563ae
Add utf8BytesWithUtf16LengthToString method to Utf8Utils
2012-10-21 21:19:43 -07:00
Ben Gruver
09e6d003cb
Use thread local storage for the temporary buffer in Utf8Utils
2012-10-21 21:19:43 -07:00
Ben Gruver
9f1d05eb44
Move Utf8Utils to util module, and split out StringUtils
2012-10-21 21:19:39 -07:00
Ben Gruver
337dc0ea26
Move AlignmentUtils to Util library
2012-10-19 18:04:00 -07:00
Ben Gruver
064d77c3ad
Implement reading instructions
2012-10-18 18:59:41 -07:00
Ben Gruver
e8665c7a91
Add string formatting functionality to ExceptionWithContext
2012-10-15 22:44:15 -07:00
Ben Gruver
22eede870f
Change ImmutableList.convert to return an empty list rather than null
2012-10-15 22:13:19 -07:00
Ben Gruver
bf95959ae4
Move ExceptionWithContext to Util module
2012-10-15 20:23:01 -07:00
Ben Gruver
cc15feab69
Add AbstractListIterator and ImmutableListConverter classes to util module
2012-10-14 22:50:03 -07:00