181 Commits

Author SHA1 Message Date
JesusFreke@JesusFreke.com
a950eddc2a Added a flag and logic to preserve the signed leb128 encoded registers in the debug info, for dumping purposes
git-svn-id: https://smali.googlecode.com/svn/trunk@182 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 21:34:51 +00:00
JesusFreke@JesusFreke.com
4517100574 removed unneeded values in the ItemType enumeration
git-svn-id: https://smali.googlecode.com/svn/trunk@181 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:30:57 +00:00
JesusFreke@JesusFreke.com
8c568e2b37 - added logic to set the offset and index of items when reading them in, in order to support an immediate write without having to call place (for dumping)
- moved the logic in MapItem that sorts the items for the various sections from writeTo() to place(), so that the order of items aren't changed when doing a read then immediate write (for dumping)
- changed the logic in makeBlankMapItem to get the map values from the MapValue enum, instead of hard coded values
- added logic to the OffsettedSection so that it sorts the item list by offset after reading it in, so that they items are in the same order as in the file it just read in (for dumping)

git-svn-id: https://smali.googlecode.com/svn/trunk@180 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:30:12 +00:00
JesusFreke@JesusFreke.com
1401347994 removed superfluous methods
git-svn-id: https://smali.googlecode.com/svn/trunk@179 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:24:21 +00:00
JesusFreke@JesusFreke.com
1af01ba107 changed the logic that reads in the sections to read them in a specific order, because some sections depend on others being read in first (i.e. several things depend on the string data)
git-svn-id: https://smali.googlecode.com/svn/trunk@178 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:23:12 +00:00
JesusFreke@JesusFreke.com
4ec387882d changed the logic that generates escaped strings to always use the /uxxxx format, instead of the 3 digital octal escape
git-svn-id: https://smali.googlecode.com/svn/trunk@177 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:14:15 +00:00
JesusFreke@JesusFreke.com
78314beef2 - Fixed an issue with debug info decoding, when it encountered an "end local" instruction for a register/local that hadn't been declared previously by a .local directive. This assumably happens when "ending" a parameter, in order to reuse that register for something else
git-svn-id: https://smali.googlecode.com/svn/trunk@176 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:13:10 +00:00
JesusFreke@JesusFreke.com
8bb1d77b66 - Fixed an issue when decoding the index for instructions that contain an indexed item references
git-svn-id: https://smali.googlecode.com/svn/trunk@175 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:02:58 +00:00
JesusFreke@JesusFreke.com
1c9fcdee6d - Fixed an issue where smali didn't support class, method or field declarations with no access flags
- Added support for "null" encoded value literals

git-svn-id: https://smali.googlecode.com/svn/trunk@174 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 20:00:29 +00:00
JesusFreke@JesusFreke.com
57b919fdf2 Fixed issue when reading an array-data pseudo instruction whose data ended in the middle of a 2-byte word
git-svn-id: https://smali.googlecode.com/svn/trunk@173 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-20 19:57:29 +00:00
JesusFreke@JesusFreke.com
3c9013f9c0 Added support for parameter names and annotations
git-svn-id: https://smali.googlecode.com/svn/trunk@172 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-19 05:40:35 +00:00
JesusFreke@JesusFreke.com
b6547e8fd5 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
2009-06-19 03:55:27 +00:00
JesusFreke@JesusFreke.com
a0850c8d2a Added a utility class to decode debug information
git-svn-id: https://smali.googlecode.com/svn/trunk@170 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-19 03:52:08 +00:00
JesusFreke@JesusFreke.com
b3fde8be30 Added various acccessors
git-svn-id: https://smali.googlecode.com/svn/trunk@169 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-19 03:42:12 +00:00
JesusFreke@JesusFreke.com
45b5a1d0e3 Added support for the .catchall directive
git-svn-id: https://smali.googlecode.com/svn/trunk@168 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-19 03:14:06 +00:00
JesusFreke@JesusFreke.com
dc4bcbe0c0 Fixed issue decoding signed ints and shorts
git-svn-id: https://smali.googlecode.com/svn/trunk@167 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-19 00:38:14 +00:00
JesusFreke@JesusFreke.com
fa07a1972e Implemented class and method annotations
git-svn-id: https://smali.googlecode.com/svn/trunk@166 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-18 06:52:02 +00:00
JesusFreke@JesusFreke.com
1080561460 Implemented annotation encoded values
git-svn-id: https://smali.googlecode.com/svn/trunk@165 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-18 04:19:05 +00:00
JesusFreke@JesusFreke.com
8c8cec655d Implemented enum encoded values
git-svn-id: https://smali.googlecode.com/svn/trunk@164 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-18 03:48:44 +00:00
JesusFreke@JesusFreke.com
fe93559624 Implemented array encoded values
git-svn-id: https://smali.googlecode.com/svn/trunk@163 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-18 03:42:30 +00:00
JesusFreke@JesusFreke.com
5e28c634e7 Implemented field and method encoded values, and redid how string and type encoded values are handled
git-svn-id: https://smali.googlecode.com/svn/trunk@162 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-18 02:31:38 +00:00
JesusFreke@JesusFreke.com
5f50a1a8b3 Cleaned up imports
git-svn-id: https://smali.googlecode.com/svn/trunk@161 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-18 01:56:53 +00:00
JesusFreke@JesusFreke.com
8543d8b626 Cleaned up imports
git-svn-id: https://smali.googlecode.com/svn/trunk@160 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-18 01:53:21 +00:00
JesusFreke@JesusFreke.com
2c5df648d0 Added support for string and type encoded values
git-svn-id: https://smali.googlecode.com/svn/trunk@159 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-18 01:50:18 +00:00
JesusFreke@JesusFreke.com
6ef13753e7 - 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
2009-06-18 01:15:36 +00:00
JesusFreke@JesusFreke.com
28d9b18a0e - Added tests to exercise static field initializers
git-svn-id: https://smali.googlecode.com/svn/trunk@157 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-18 01:11:59 +00:00
JesusFreke@JesusFreke.com
5118f3aa29 - Added accessors for encoded arrays
- Fixes a couple of issues with the way static field initializers were being handled


git-svn-id: https://smali.googlecode.com/svn/trunk@156 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-18 01:11:30 +00:00
JesusFreke@JesusFreke.com
ec90e0d1a4 Fixed the way default values are created for encoded values
git-svn-id: https://smali.googlecode.com/svn/trunk@155 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-18 01:07:37 +00:00
JesusFreke@JesusFreke.com
9bc4978139 Implemented all opcodes for baksmali
git-svn-id: https://smali.googlecode.com/svn/trunk@154 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-16 06:11:56 +00:00
JesusFreke@JesusFreke.com
2fb16c8f4b Fixed an issue with alignment for the pseudo opcodes, and a test to exercise the issue
git-svn-id: https://smali.googlecode.com/svn/trunk@153 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-16 03:31:44 +00:00
JesusFreke@JesusFreke.com
acf2ddb67e Fixed an issue when reading a nop
git-svn-id: https://smali.googlecode.com/svn/trunk@152 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-16 03:27:01 +00:00
JesusFreke@JesusFreke.com
a99ae3ba2b Split up the ANTLR executions again, so each file is in a seperate execute of the ANTLR plugin. This makes it possible to turn on debugging for just one file.
git-svn-id: https://smali.googlecode.com/svn/trunk@151 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-15 06:04:47 +00:00
JesusFreke@JesusFreke.com
3a76e6904b Changed the implementation of the sparse and packed switch directives, so that they don't required the base offset label. Instead, it looks for and uses the offset of the first packed/sparse switch instruction that references it, to calculate the offset for each target
git-svn-id: https://smali.googlecode.com/svn/trunk@150 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-15 06:02:49 +00:00
JesusFreke@JesusFreke.com
5a0f83d156 fixed up whitespace
git-svn-id: https://smali.googlecode.com/svn/trunk@149 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-14 01:28:32 +00:00
JesusFreke@JesusFreke.com
ad1085e32a - Added the plumbing to be able to handle the various types of "things" contained in a method (instructions, labels, debug info, etc.)
- Added wrappers for a few instruction formats
- Added wrappers for item references

git-svn-id: https://smali.googlecode.com/svn/trunk@148 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-14 01:28:07 +00:00
JesusFreke@JesusFreke.com
119ddb0805 Added misc accessors, and a utility method to return an escaped string
git-svn-id: https://smali.googlecode.com/svn/trunk@147 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-14 01:21:43 +00:00
JesusFreke@JesusFreke.com
5e1b14a4a8 Added initial template for baksmali
git-svn-id: https://smali.googlecode.com/svn/trunk@146 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-13 20:24:47 +00:00
JesusFreke@JesusFreke.com
8735bff7e1 Added some accessors to CodeItem
git-svn-id: https://smali.googlecode.com/svn/trunk@145 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-13 05:55:06 +00:00
JesusFreke@JesusFreke.com
a2714398fc Added baksmali module to the main pom
git-svn-id: https://smali.googlecode.com/svn/trunk@144 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-13 05:54:38 +00:00
JesusFreke@JesusFreke.com
36836121d7 Adding initial sources for baksmali
git-svn-id: https://smali.googlecode.com/svn/trunk@143 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-13 05:53:07 +00:00
JesusFreke@JesusFreke.com
d82bf813d7 - Adding initial structure for baksmali
git-svn-id: https://smali.googlecode.com/svn/trunk@142 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-13 05:48:31 +00:00
JesusFreke@JesusFreke.com
e88fd028fb Added the maven-smali-plugin and smali-integration-tests modules to the parent pom
git-svn-id: https://smali.googlecode.com/svn/trunk@141 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-13 05:01:25 +00:00
JesusFreke@JesusFreke.com
c64dcce4e3 Moved smali test sources to correct location
git-svn-id: https://smali.googlecode.com/svn/trunk@140 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-13 04:50:33 +00:00
JesusFreke@JesusFreke.com
9a24119f62 further refactoring
added the beginnings of a smali plugin for maven



git-svn-id: https://smali.googlecode.com/svn/trunk@139 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-13 04:46:22 +00:00
JesusFreke@JesusFreke.com
57b5423285 Refactoring project
git-svn-id: https://smali.googlecode.com/svn/trunk@138 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-12 01:40:03 +00:00
JesusFreke@JesusFreke.com
67a4c3cbb2 Redid how instructions are handled
git-svn-id: https://smali.googlecode.com/svn/trunk@137 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-11 06:11:11 +00:00
JesusFreke@JesusFreke.com
0e91ee0cc2 Added various accessors
git-svn-id: https://smali.googlecode.com/svn/trunk@136 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-10 05:53:13 +00:00
JesusFreke@JesusFreke.com
2dd12d91e9 Added a TODO
git-svn-id: https://smali.googlecode.com/svn/trunk@135 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-10 05:51:49 +00:00
JesusFreke@JesusFreke.com
a72588321d Changed util/AccessFlags to be an enum, and added a utility method to return a list of AccessFlags enum values for a given composite access flag int.
git-svn-id: https://smali.googlecode.com/svn/trunk@134 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-09 02:13:12 +00:00
JesusFreke@JesusFreke.com
34abe5bddf remove duplicate method
git-svn-id: https://smali.googlecode.com/svn/trunk@133 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-08 06:36:25 +00:00