Ben Gruver
07e6ade7fe
Add support for renaming/moving classes
2015-03-28 12:50:36 -07:00
Ben Gruver
50810d1f5b
Add usage type support for method usages
2015-03-25 19:45:31 -07:00
Ben Gruver
9bedfc8e3e
Add usage type support for field usages
2015-03-25 19:45:20 -07:00
Ben Gruver
9b86fcabff
Add usage type support for class usages
2015-03-24 22:09:37 -07:00
Ben Gruver
99d0803eda
Use createTypeFromText instead of createTypebyFQClassName
...
createTypeByFQClassName doesn't correctly handle primitive types
2015-03-21 13:39:58 -07:00
Ben Gruver
29a71371ad
Implement SmaliClass.isInheritor/isInheritorDeep
2015-03-21 11:09:58 -07:00
Ben Gruver
923f5a7d10
Fix a bounds check problem in IndentingWriter
2015-03-20 16:39:07 -07:00
Ben Gruver
b742c40263
Comment out unused switch payload instructions
2015-03-20 16:38:19 -07:00
Ben Gruver
aa4b0a0506
Remove completed TODO regarding PsiAnnotationMethods
2015-03-18 21:11:58 -07:00
Ben Gruver
75bef01d10
Merge branch 'master' into smalidea
2015-03-18 21:00:32 -07:00
Ben Gruver
2a0e4657ea
Don't wrap a large (>32k) register count in a register directive
2015-03-18 20:13:02 -07:00
Ben Gruver
bd6385f062
Duplicate a switch payload that is refered to multiple times
2015-03-18 20:01:49 -07:00
Ben Gruver
1aad736c20
Ensure that sparse switch items are written out in the correct order
2015-03-17 21:18:19 -07:00
Ben Gruver
32e76b181b
Fix up the whitespace normalization in TextUtils.normalizeWhitespace
...
Previously, all inter-line whitespace was being removed. And it now
normalizes trailing new lines as well
2015-03-17 21:16:36 -07:00
Ben Gruver
d4bce2e768
Don't propagate exceptions from RoundtripTest.runTest()
2015-03-17 21:14:24 -07:00
Ben Gruver
1e0677617c
Extract out a base RoundtripTest and IdenticalRoundtripTest class
2015-03-17 20:41:20 -07:00
Ben Gruver
0c982a02f1
Add Member and Annotatable interfaces
2015-03-16 20:52:55 -07:00
Ben Gruver
bf167c2f0e
Make sure the elements are sorted in an encoded annotation
2015-03-16 20:36:34 -07:00
Ben Gruver
b76dee7ebd
Don't assume dx is on-path. Rather, grab it from maven central
...
The version of dx in maven central seems to be fairly old, but it works
well enough for our purposes.
2015-03-16 19:54:57 -07:00
Ben Gruver
dd91dd1a71
Merge pull request #31 from iam/lambda_work
...
Add lambda experimental dalvik opcodes
2015-03-16 16:01:29 -07:00
Igor Murashkin
144951a9e9
Add lambda experimental dalvik opcodes
...
* Add new -X/--experimental flag to [dis]assemble opcodes not in art yet
* Add new opcodes liberate-variable, box-lambda, unbox-lambda,
capture-variable, create-lambda, invoke-lambda
* Add support for encoding 25x instructions
* Adds LambdaTest to check new opcodes assemble/disassemble properly
TODO: invoke-lambda-range
Change-Id: I5c8bcbfa8b6cb9a13ef2017fce2d1b7fda6e11c3
2015-03-16 11:40:58 -07:00
Ben Gruver
ddc7c35e1c
Add support for annotation element references
...
This adds support for both find usages and "go to definition"
functionality on an annotation element.
2015-03-15 14:55:57 -07:00
Ben Gruver
44a0c9091f
Implement PsiAnnotationMethod in SmaliMethod
2015-03-14 12:34:04 -07:00
Ben Gruver
87f3e0dc7b
Add support for finding field usages
2015-03-12 20:59:29 -07:00
Ben Gruver
6c99c3e111
Exclude nameless fields from SmaliClass.getFields()
...
Fields with a null or blank name tend to cause problems, so we'll just
exclude them until they have a name.
2015-03-12 20:59:02 -07:00
Ben Gruver
37d1612e2f
Add find usages support for methods
2015-03-12 20:16:25 -07:00
Ben Gruver
fd373aedb7
Refactor out a FindUsagesTest base test class
2015-03-11 22:58:42 -07:00
Ben Gruver
809b934012
Simplify SmaliFindUsagesProvider by extending JavaFindUsagesProvider
...
The Java version does exactly what we want in most cases
2015-03-11 22:58:19 -07:00
Ben Gruver
b945b043ab
Add tests for finding class usages
2015-03-11 22:58:17 -07:00
Ben Gruver
694fb7ca90
Add initial support for finding class usages in smali code
2015-03-11 22:28:46 -07:00
Ben Gruver
343ec04252
Associate the smali icon with the SmaliClass object
...
This ensures that the icon is shown next to the class in the project view
2015-03-06 20:00:16 -08:00
Ben Gruver
698b799e4f
Improve error recovery when missing an .end sparse-switch
2015-03-06 19:32:21 -08:00
Ben Gruver
3abee993db
Improve error recovery when missing an .end packed-switch
2015-03-06 19:27:46 -08:00
Ben Gruver
da28228d69
Improve error recovery when missing an .end array-data
2015-03-06 19:17:28 -08:00
Ben Gruver
f06f4312b4
Improve the error recovery for the local debug directive
2015-03-05 23:52:01 -08:00
Ben Gruver
87be840208
Improve the error recovery for parameter directives
2015-03-05 23:06:13 -08:00
Ben Gruver
bdbb235c6f
Improve error recovery for missing .. tokens
2015-03-05 21:22:12 -08:00
Ben Gruver
765f8d8a7d
Remove obsolete TODOs in the grammar
2015-03-05 20:19:13 -08:00
Ben Gruver
1c0611fe17
Remove the smalidea iml file
...
It can be generated with the gradle IDEA plugin now
2015-03-04 22:37:28 -08:00
Ben Gruver
0f49330183
Refactor how PARAM_LIST is parsed
2015-03-04 22:25:51 -08:00
Ben Gruver
c5cf51ac69
Fix up the gradle build
2015-03-04 20:58:22 -08:00
Ben Gruver
8c1d8ddef2
Merge branch 'master' into smalidea3
2015-03-04 20:58:14 -08:00
Ben Gruver
06d108d791
Refactor how the PARAM_LIST_OR_ID thing is parsed
...
This gets rids of the empty placeholder tokens, which cause errors
in IDEA's built-in lexer support code
2015-03-04 20:56:53 -08:00
Ben Gruver
ff7172c68d
Improve error recovery of colons in various places
2015-03-04 20:56:53 -08:00
Ben Gruver
16c154b96e
Improve error recovery for commas
2015-03-04 20:56:53 -08:00
Ben Gruver
0f597ae106
Add better error recovery for open/close braces
2015-03-04 20:56:53 -08:00
Ben Gruver
d7cd293904
Refactor open and close braces into the register_list/register_range rules
2015-03-04 20:56:53 -08:00
Ben Gruver
21d509aa6c
Add better error recovery for the type_descriptor rule
2015-03-04 20:56:53 -08:00
Ben Gruver
62958a7091
Improve some error recovery around open/close parens in method prototypes
2015-03-04 20:56:49 -08:00
Ben Gruver
f70084bdfe
Use [^] for the lexer's catch-all rule
...
[^] matches the entire character set, while . doesn't match new lines, etc.
2015-03-04 00:16:46 -08:00