JesusFreke@JesusFreke.com
3ca2a39dea
Deleted old examples
...
git-svn-id: https://smali.googlecode.com/svn/trunk@86 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-04 05:57:24 +00:00
JesusFreke@JesusFreke.com
e69c8af0ef
Fix up how the padding is handled for the special opcodes
...
git-svn-id: https://smali.googlecode.com/svn/trunk@85 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-04 05:55:36 +00:00
JesusFreke@JesusFreke.com
9c5bb815a0
removed TODO
...
git-svn-id: https://smali.googlecode.com/svn/trunk@84 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-04 05:55:06 +00:00
JesusFreke@JesusFreke.com
1834b365d6
- changed the comment char from ; to #
...
- updated the tests and examples to use the new comment style
- changed the lexer error messages to include the source file path
git-svn-id: https://smali.googlecode.com/svn/trunk@83 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-04 05:54:34 +00:00
JesusFreke@JesusFreke.com
e53f5ae41b
rename the AnnotationTypes example
...
git-svn-id: https://smali.googlecode.com/svn/trunk@82 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-04 05:02:24 +00:00
JesusFreke@JesusFreke.com
3c0207bddd
re-add the AnnotationTypes example
...
git-svn-id: https://smali.googlecode.com/svn/trunk@81 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-04 05:01:55 +00:00
JesusFreke@JesusFreke.com
baf5a9205b
whitespace
...
git-svn-id: https://smali.googlecode.com/svn/trunk@80 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-04 04:57:47 +00:00
JesusFreke@JesusFreke.com
c2b3b1457a
moved the examples
...
git-svn-id: https://smali.googlecode.com/svn/trunk@79 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-04 04:39:25 +00:00
JesusFreke@JesusFreke.com
20f261138f
Added the junit-tests directory, which contains a junit "Suite" class, and a couple of initial tests
...
git-svn-id: https://smali.googlecode.com/svn/trunk@78 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-04 04:25:24 +00:00
JesusFreke@JesusFreke.com
2c5bb6ddf8
Changed how the "UnsupportedEncodingException" is handled
...
git-svn-id: https://smali.googlecode.com/svn/trunk@77 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-04 04:18:55 +00:00
JesusFreke@JesusFreke.com
5eb3d80d87
Fix up how the padding is handled for the special opcodes
...
git-svn-id: https://smali.googlecode.com/svn/trunk@76 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-04 04:11:09 +00:00
JesusFreke@JesusFreke.com
a7266ebdce
redid .equals() for CachedIntegerValueField
...
git-svn-id: https://smali.googlecode.com/svn/trunk@75 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-04 02:48:06 +00:00
JesusFreke@JesusFreke.com
4561355e99
Changed SignedLeb128 for the register fields to Leb128
...
git-svn-id: https://smali.googlecode.com/svn/trunk@74 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-04 02:41:26 +00:00
JesusFreke@JesusFreke.com
89063e593b
Removed TODO
...
git-svn-id: https://smali.googlecode.com/svn/trunk@73 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-04 02:39:27 +00:00
JesusFreke@JesusFreke.com
608ed0ef87
Removed the old HelloWorld example
...
git-svn-id: https://smali.googlecode.com/svn/trunk@72 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-03 07:06:29 +00:00
JesusFreke@JesusFreke.com
d54c635f84
- Added support for enum literals
...
- added "Enums" example, that shows how to construct an enum class
- added an enum value to the AnnotationValues example, to show how enum values are specified in an annotation
git-svn-id: https://smali.googlecode.com/svn/trunk@71 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-03 07:05:59 +00:00
JesusFreke@JesusFreke.com
361fa2548e
Removed the debugging output in the lexer that printed out each token
...
git-svn-id: https://smali.googlecode.com/svn/trunk@70 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-03 06:09:39 +00:00
JesusFreke@JesusFreke.com
bd85442b25
Added a junit4 dependency to the Maven pom
...
git-svn-id: https://smali.googlecode.com/svn/trunk@69 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-03 05:10:27 +00:00
JesusFreke@JesusFreke.com
dbfce409d4
Added the "RecursiveAnnotation" example, which shows a humerous example of an annotation that references itself recursively, causing a stack overflow.
...
git-svn-id: https://smali.googlecode.com/svn/trunk@68 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-03 05:08:58 +00:00
JesusFreke@JesusFreke.com
cf396faa1a
Added the "AnnotationTypes" example, which gives some examples of how to create and retrieve the various types of annotations (class, method, field, parameter)
...
git-svn-id: https://smali.googlecode.com/svn/trunk@67 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-03 05:05:52 +00:00
JesusFreke@JesusFreke.com
e391894f1b
Added the "AnnotationValues" example, that gives some examples of how to specify values in an annotation
...
git-svn-id: https://smali.googlecode.com/svn/trunk@66 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-03 05:03:11 +00:00
JesusFreke@JesusFreke.com
302f64499a
Fixed up the HelloWorld example to use the new field and member syntax
...
git-svn-id: https://smali.googlecode.com/svn/trunk@65 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-03 04:59:59 +00:00
JesusFreke@JesusFreke.com
4250768620
- made the .registers directive optional. it defaults to .registers 0 if not present
...
- added logic to avoid creating an empty code_item (i.e. for abstract methods)
- changed the field and parameter syntax so that there is a colon instead of a whitespace between the field/local name and the following type
- changed the member name syntax, so that the initial class is specified with the preceeding 'L' and folling ';', and changed the seperator between the class name and the member name to '->' instead of just another '/'
- added the ability to specify members and fields as constants for static fields or annotations (note: dalvik doesn't seem to like embedded field references)
- fixed the short and byte literals in the parser (they were mistakenly using the _EMIT token)
- fixed an issue with char literals where the value was always a single quote
- renamed the CLASS_OR_ARRAY_TYPE_DESCRIPTOR token and related rules to REFERENCE_TYPE_DESCRIPTOR
- renamed the FIELD_TYPE_DESCRIPTOR token and related rules to NONVOID_TYPE_DESCRIPTOR
git-svn-id: https://smali.googlecode.com/svn/trunk@64 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-03 04:58:54 +00:00
JesusFreke@JesusFreke.com
5cf0028e73
fixed the name of the "field name" field, used for dumping
...
git-svn-id: https://smali.googlecode.com/svn/trunk@63 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-03 04:47:30 +00:00
JesusFreke@JesusFreke.com
63098c01c4
- fix the getValueArg() calculation for several types of encoded value sub fields
...
- change the placement logic in encoded value to get the value arg from the sub field's getValueArg(), instead of calculating it itself
- fixed FloatEncodedValueSubField's getValueType() to return VALUE_FLOAT instead of VALUE_LONG
git-svn-id: https://smali.googlecode.com/svn/trunk@62 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-03 04:45:59 +00:00
JesusFreke@JesusFreke.com
c7a1ff2452
Sort the individual name/value pairs in an annotation by name
...
git-svn-id: https://smali.googlecode.com/svn/trunk@61 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-03 04:42:37 +00:00
JesusFreke@JesusFreke.com
9b649b5efc
Fixed test to use getTypeDescriptor() instead of toString()
...
git-svn-id: https://smali.googlecode.com/svn/trunk@60 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-03 04:40:20 +00:00
JesusFreke@JesusFreke.com
b0b76a1924
Fixed an issue where the AnnotationSetRefList section didn't have a corresponding map entry
...
git-svn-id: https://smali.googlecode.com/svn/trunk@59 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-02 07:58:50 +00:00
JesusFreke@JesusFreke.com
76ec9bbc90
Fixed up and moved the basic HelloWorld example, so that it is a console app instead of an android app
...
git-svn-id: https://smali.googlecode.com/svn/trunk@58 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-02 05:57:20 +00:00
JesusFreke@JesusFreke.com
56c3e45ad4
Fixed an issue with generated dex files that have no field references
...
git-svn-id: https://smali.googlecode.com/svn/trunk@57 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-02 05:52:15 +00:00
JesusFreke@JesusFreke.com
4fd96cb22d
Added the "assembly" plugin to the pom.xml, to allow building a self-contained executable jar, with "mvn assembly:assembly"
...
git-svn-id: https://smali.googlecode.com/svn/trunk@56 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-02 03:51:59 +00:00
JesusFreke@JesusFreke.com
74c7bd5600
Added a "real" command line front-end, instead of the crappy 1-file test harness I had been using
...
git-svn-id: https://smali.googlecode.com/svn/trunk@55 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-02 03:50:57 +00:00
JesusFreke@JesusFreke.com
68f6ce0460
Fixed an issue when a .smali file had no class level .source directive
...
git-svn-id: https://smali.googlecode.com/svn/trunk@54 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-02 03:48:16 +00:00
JesusFreke@JesusFreke.com
219d93dffc
added the "annotation" access spec for classes
...
git-svn-id: https://smali.googlecode.com/svn/trunk@53 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-02 03:47:26 +00:00
JesusFreke@JesusFreke.com
78af43d299
fixed an issue in the AnnotationDirectoryItem construction (was checking the wrong objects - automated refactoring flub most likely)
...
git-svn-id: https://smali.googlecode.com/svn/trunk@52 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-02 03:45:47 +00:00
JesusFreke@JesusFreke.com
31bb6ff4e7
fixed an issue in the placement of the map section
...
git-svn-id: https://smali.googlecode.com/svn/trunk@51 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-06-02 03:42:13 +00:00
JesusFreke@JesusFreke.com
35329727a4
- Added the ability to dexlib to do an annotated dump of the dex file as it is writing it (similiar to the --dump-to functionality in dx)
...
- Other misc refactoring and cleanup in dexlib
git-svn-id: https://smali.googlecode.com/svn/trunk@50 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-05-31 07:08:04 +00:00
JesusFreke@JesusFreke.com
dbdfc6f468
Added missing AnnotationVisibility.java file, which was missed in the previous commit
...
git-svn-id: https://smali.googlecode.com/svn/trunk@49 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-05-30 02:12:29 +00:00
JesusFreke@JesusFreke.com
6cbfb8b875
Added support for annotations
...
git-svn-id: https://smali.googlecode.com/svn/trunk@48 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-05-28 00:44:20 +00:00
JesusFreke@JesusFreke.com
0d16dfbfcc
- add support for the .end local directive
...
- add support for the .restart local directive
- add support for the .prologue directive
- add support for the .epilogue directive
- add support for the "extended" .local directive (i.e. the optional signature)
- add support for the .source directive
git-svn-id: https://smali.googlecode.com/svn/trunk@47 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-05-23 07:57:13 +00:00
JesusFreke@JesusFreke.com
f175e1d987
- changed the syntax for the .catch directive, to get rid of "from", "to" and "using" (too visual basicy)
...
- added support for the .local directive, which allows you to define a local variable in the debug info (no way to undefine it until ".end local" is implemented)
git-svn-id: https://smali.googlecode.com/svn/trunk@46 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-05-22 06:04:14 +00:00
JesusFreke@JesusFreke.com
66a23e6ecc
- Added support for parameter name debug info
...
- Changed the grammar so that the .registers directive can appear anywhere in the .method, instead of requiring it to be the first thing
git-svn-id: https://smali.googlecode.com/svn/trunk@45 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-05-22 00:42:12 +00:00
JesusFreke@JesusFreke.com
aa7e507bac
Added initial support for method level debug info (currently line info only)
...
git-svn-id: https://smali.googlecode.com/svn/trunk@44 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-05-18 06:45:09 +00:00
JesusFreke@JesusFreke.com
51b326d5a6
Fixed a bug in the logic to read in an EncodedValue
...
git-svn-id: https://smali.googlecode.com/svn/trunk@43 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-05-18 01:21:00 +00:00
JesusFreke@JesusFreke.com
74a8772861
Only allow a single class level source directive
...
git-svn-id: https://smali.googlecode.com/svn/trunk@42 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-05-17 21:42:39 +00:00
JesusFreke@JesusFreke.com
73d29aa52f
- Added support for .implements directive, to declare interfaces that a class implements
...
- Added support for the class level .source directive, to set the source file string for the class
- Changed the parser so that the top level directives (.class, .super, .implements, etc.) can appear anywhere in the file in any order, instead of requiring them to be at the front of the file in a specific order
- Added some better error reporting to the parser, and changed the lexer to immediately exit on an error
git-svn-id: https://smali.googlecode.com/svn/trunk@41 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-05-17 21:24:50 +00:00
JesusFreke@JesusFreke.com
05700838d7
Changed the functionality of TryListBuilder so that when adding a catch-all handler, existing catch-all handlers take priority over the catch-all handler being added.
...
git-svn-id: https://smali.googlecode.com/svn/trunk@40 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-05-16 18:04:50 +00:00
JesusFreke@JesusFreke.com
a77aba807f
Added tests for TryListBuilder and fixed several bugs in TryListBuilder
...
git-svn-id: https://smali.googlecode.com/svn/trunk@39 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-05-16 06:39:25 +00:00
JesusFreke@JesusFreke.com
698a11d2c0
- Added differentiated parsing for the 3 different types of access flags (class, method, field)
...
- Added support for nearly all access flags (except for the class access flags that are only applicable to inner class annotations)
- Added support for try/catch blocks
git-svn-id: https://smali.googlecode.com/svn/trunk@38 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-05-14 02:02:52 +00:00
JesusFreke@JesusFreke.com
edb11ae910
Cleaned up various TODO comments
...
git-svn-id: https://smali.googlecode.com/svn/trunk@37 55b6fa8a-2a1e-11de-a435-ffa8d773f76a
2009-05-11 00:44:19 +00:00