Ben Gruver
1d3d657b7f
Improve error recovery of arrow parsing
2015-02-26 09:41:55 -08:00
Ben Gruver
bcc0d5fa64
Improve error handling for missing reference_type_descriptor
2015-02-26 09:37:16 -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
9423a7d7d0
Start improving the error resistance of field declarations
2015-02-16 12:57:49 -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
6a520231e7
Implement an empty throws list
2015-02-15 12:08:03 -08:00
Ben Gruver
d733304122
Make sure we always get a method prototype and method param list
2015-02-14 20:29:05 -08:00
Ben Gruver
aa06a4c782
Improve parsing of an invalid SmaliMethod with no .end method
...
This ensures that we still generate a SmaliMethod in this case, instead
of erroring out when not matching the END_METHOD_DIRECTIVE and aborting
the main SmaliMethod mark.
2015-02-14 18:09:29 -08:00
Ben Gruver
78bd9c29a9
Improve error handling around method parameter lists
2015-01-31 10:27:09 -08:00
Ben Gruver
3b7332192b
Improve error handling for single-token productions
2015-01-30 18:46:11 -08:00
Ben Gruver
7e6f050bac
Refactor how errors are handled throughout the parser
2015-01-27 19:28:36 -08:00
Ben Gruver
a227c0b142
Add and fix the InvalidClassDirective test
2015-01-25 14:02:29 -08:00
Ben Gruver
a7f77ff8d0
Add support for array-data
2015-01-21 09:32:01 -08:00
Ben Gruver
0dd228064d
Add support for sparse/packed switch instructions
2015-01-21 09:32:01 -08:00
Ben Gruver
56d5befed4
Implement non-code/body parts of SmaliMethod and related functionality
2015-01-21 09:32:00 -08:00
Ben Gruver
12b3579577
Implement some of the initial .register and register reference stuff
2015-01-21 09:32:00 -08:00
Ben Gruver
5844bd6dd0
Flesh out SmaliField and related methods
2015-01-21 09:32:00 -08:00
Ben Gruver
2fd677db88
Tweak how array descriptors are parsed
...
This is needed to allow smalidea to have an outer array type element to
represent the type as a whole, and an inner class type element for the
actual element type
2015-01-21 09:32:00 -08:00
Ben Gruver
9a1db48dc5
Flesh out SmaliAnnotation and related classes/methods
2015-01-21 09:32:00 -08:00
Ben Gruver
d91aabc5f9
Implement initial SmaliExtendsList and SmaliImplementsList
2015-01-21 09:32:00 -08:00
Ben Gruver
010b0fb998
Add PsiModifierList implementation
...
Also implement PsiModifierList-related methods in SmaliClass
2015-01-21 09:32:00 -08:00
Ben Gruver
be0914bc81
Implement initial SmaliCatchStatement and SmaliCatchAllStatement
2015-01-21 09:32:00 -08:00
Ben Gruver
4e834f8323
Implement initial SmaliVoidElementType
2015-01-21 09:32:00 -08:00
Ben Gruver
a85dc013f9
Implement initial SmaliArrayTypeElement
2015-01-21 09:32:00 -08:00
Ben Gruver
d05c6f0f2b
Implement initial SmaliClassTypeElement
2015-01-21 09:32:00 -08:00
Ben Gruver
da998c529e
Initially implement large chunk of remaining Psi types
2015-01-21 09:32:00 -08:00
Ben Gruver
a3d2e1581e
Implement initial SmaliPrimitiveType
2015-01-21 09:32:00 -08:00
Ben Gruver
04ca67d3b2
Implement initial top level statements
2015-01-21 09:32:00 -08:00
Ben Gruver
7389cfbb7e
Implement initial SmaliLiteral
2015-01-21 09:32:00 -08:00
Ben Gruver
65eecc51b2
Implement initial SmaliAnnotation
2015-01-21 09:32:00 -08:00
Ben Gruver
4a75c556bb
Implement initial SmaliField and SmaliMethod
2015-01-21 09:32:00 -08:00
Ben Gruver
4be4005d61
Improve error recovery in the parser
2015-01-21 09:32:00 -08:00
Ben Gruver
076c60644f
Implement a basic parser, generating a flat Psi tree
2015-01-21 09:32:00 -08:00