170 Commits

Author SHA1 Message Date
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
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
1d3d657b7f Improve error recovery of arrow parsing 2015-02-26 09:41:55 -08:00
Ben Gruver
18ff2d8368 Fix SmaliMethodReference.getReturnType() on missing return type 2015-02-26 09:37:49 -08:00
Ben Gruver
bcc0d5fa64 Improve error handling for missing reference_type_descriptor 2015-02-26 09:37:16 -08:00
Ben Gruver
a0149307bd Fix some nullability problems in SmaliMethodReference 2015-02-26 09:04:01 -08:00
Ben Gruver
24b1063e50 Improve parsing error recovery for the end method directive 2015-02-26 08:58:37 -08:00
Ben Gruver
f35c18489b Improve error handling for subannotation parsing 2015-02-21 14:02:54 -08:00
Ben Gruver
4640cc9c5b Improve error handling for literal parsing 2015-02-21 14:02:12 -08:00
Ben Gruver
251d6073b9 Improve error handling for annotation element parsing 2015-02-21 12:43:13 -08:00
Ben Gruver
1325537f8a Improve the error handling of annotation parsing 2015-02-21 12:23:38 -08:00
Ben Gruver
cbde720efa Improve the parsing of a field type 2015-02-20 20:54:31 -08:00
Ben Gruver
01f8c7dc7b Improve how the field annotations/end field thing is parsed 2015-02-20 20:03:45 -08:00
Ben Gruver
d5b748f4f5 Minor improvement to how the colon is parsed for a field declaration 2015-02-20 19:04:44 -08:00
Ben Gruver
dd4e572d0b Ensure there's always a member name element for a field 2015-02-19 20:03:59 -08:00
Ben Gruver
7d0a6c3854 Get rid of recoverWithMarker
Instead, we can just do a mark() before calling recover. herp-a-derp.
2015-02-19 20:01:18 -08:00
Ben Gruver
3505b35057 Merge the empty modifier list with the access list 2015-02-18 20:04:58 -08:00
Ben Gruver
92352fa44c Convert SmaliClassStatement into a stub 2015-02-18 19:55:42 -08:00
Ben Gruver
eb1d98f063 Add a deserializeNullableString utility method to the base stub class 2015-02-16 13:03:08 -08:00
Ben Gruver
9423a7d7d0 Start improving the error resistance of field declarations 2015-02-16 12:57:49 -08:00
Ben Gruver
70693ff6bb Add new LightCodeInsightParsingTestCase
This is based on IDEA's ParsingTestCase, but extending
LightCodeInsightFixtureTestCase, in order to provide
more functionality
2015-02-16 12:37:06 -08:00
Ben Gruver
f47973006b Split out a separate class access list, to improve parsing 2015-02-16 10:45:26 -08:00
Ben Gruver
ea04d22ffd Don't try to analyze methods with errors 2015-02-15 14:11:40 -08:00
Ben Gruver
7f6afa6a25 Move the return type to the MethodPrototype stub 2015-02-15 14:09:05 -08:00
Ben Gruver
6a1d56f0f0 Replace some usages of getParent() with getStubOrPsiParent() 2015-02-15 13:15:19 -08:00
Ben Gruver
e0aff4bda5 Move some implementation from SmaliBaseReferenceList to its implementors 2015-02-15 13:05:52 -08:00