224 Commits

Author SHA1 Message Date
Ben Gruver
dd77ba20f4 Git rid of some warnings in smali's main.java 2013-05-12 12:31:31 -07:00
Ben Gruver
2a91095e8c Fix up proguard configuration 2013-05-07 00:05:34 -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
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
1bf6f23245 Implementation of new generificationified writer functionality 2013-04-27 22:23:30 -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
Ben Gruver
e591eaf779 Fix issue with .param directive when there are parameters of type D 2013-04-16 22:55:40 -07:00
Ben Gruver
450cdd6c7a Tweak the syntax for the .array-data structure
Now each number is an individual element, instead of the weird
"re-interpret numbers as bytes, concatenate, and then re-interpret
as numbers based on element width" thing that was going on before

Also, only element widths 1, 2, 4 and 8 are allowed
2013-04-16 22:47:21 -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
4a2b9ef40c Change totalmethodRegisters and methodParameterRegisters to scoped method attributes 2013-04-15 22:05:07 -07:00
Ben Gruver
dcd5df117a Add token+text for I_LINE imaginary token 2013-04-15 22:05:07 -07:00
Ben Gruver
feed0d1b84 Change syntax of const/high16 and const-wide/16
The literal is now specified as the post-shifted literal value, rather
than the pre-shifted 16 bits
2013-04-15 22:05:03 -07:00
Ben Gruver
38d0921bbb Fix the line number on instruction errors 2013-04-15 21:03:57 -07:00
Ben Gruver
87c1c0e054 Split out the build rule for the parser and tree walker 2013-04-15 20:47:53 -07:00
Ben Gruver
0dceb148f3 Update to latest antlr3/string template 2013-04-15 20:47:53 -07:00
Ben Gruver
6c15046f2b Refactor smali to use dexlib2
Array data instructions aren't working yet
2013-04-15 20:47:00 -07:00
Ben Gruver
46cefa3d5b Factor out dependency versions, and upgrade to gradle 14.0 2013-03-03 17:58:02 -08:00
Ben Gruver
50ef7eda3f Create smali.jar/baksmali.jar symlinks after building jars 2013-02-24 15:38:12 -08:00
Ben Gruver
8b5490919c Merge branch 'master' into dexlib_redesign 2012-10-30 22:13:19 -07:00
Ben Gruver
3a96d5d432 Change how release vs. non-release is detected
This allows the smali/baksmali builds to be simplified a bit
2012-10-29 21:42:29 -07:00
Ben Gruver
6dd026a0bd Fix the build. doh. 2012-10-27 19:31:15 -07:00
Ben Gruver
06bff592f8 Fix the build. doh. 2012-10-27 19:23:58 -07:00
Ben Gruver
05089d5f35 Merge branch 'master' into dexlib_redesign 2012-10-27 16:37:39 -07:00
Ben Gruver
3079b05e9a Clean up the smali gradle build a bit 2012-10-27 16:37:04 -07:00
Ben Gruver
9f1d05eb44 Move Utf8Utils to util module, and split out StringUtils 2012-10-21 21:19:39 -07:00
Ben Gruver
b3ed2aa7d3 Prevent newline normalization on windows for smali tests 2012-10-06 16:51:47 -07:00
Ben Gruver
671e5c7ea5 Revert "Fix newline issue for smali tests on Windows"
This reverts commit 097b40531b24f197436b4b1f51d586332cfe1fda.
2012-10-06 12:42:09 -07:00
Ben Gruver
d317a0679d Print verbose errors in the tree walker 2012-09-25 19:56:35 -07:00
Ben Gruver
097b40531b Fix newline issue for smali tests on Windows 2012-09-24 21:03:28 -07:00
Ben Gruver
a8be1b4c80 Fix NullPointerException if source file is not set in lexer 2012-09-24 18:22:02 -07:00
Ben Gruver
a3dce1f48c Move parseFloat and parseDouble to LiteralTools 2012-09-24 18:17:39 -07:00
Ben Gruver
de3a5f95ae Fix how the classpath is set for JavaExec gradle tasks 2012-09-24 00:20:30 -07:00
Ben Gruver
40c48da564 The great tab cleanup of 2012 2012-09-23 21:16:21 -07:00
Ben Gruver
8d299c0222 Generate separate POSITIVE/NEGATIVE_INTEGER_LITERAL tokens 2012-09-23 18:14:59 -07:00
Ben Gruver
48d5b73027 Remove ANTLR lexer 2012-09-23 18:14:03 -07:00
Ben Gruver
181c04c839 Add copyright/license for build scripts 2012-09-16 00:03:44 -07:00
Ben Gruver
9382ba8591 Use JavaExec instead of ant.java 2012-09-15 23:17:12 -07:00
Ben Gruver
c9afead1a9 Implement proguard support 2012-09-15 22:56:10 -07:00
Ben Gruver
5cf9fe7c0a Generate fat jars for smali and baksmali 2012-09-15 19:21:34 -07:00
Ben Gruver
7d1263a4ff Implement versioning in the gradle build 2012-09-15 19:21:30 -07:00
Ben Gruver
480c79aeea gradleize smali project 2012-09-15 19:20:12 -07:00
Ben Gruver
ee54115485 Refactor the instruction rule in the tree walker 2012-08-24 17:22:03 -07:00
Ben Gruver
4af666e4a6 Remove support for the extended opcodes 2012-08-24 16:54:05 -07:00
Ben Gruver
47873da1c5 Refactor the instruction rule in the parser 2012-08-24 15:17:33 -07:00
Ben Gruver
5f2ad8bd13 Suppress some warnings when doing the proguard thing 2012-06-20 22:22:11 -07:00