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
4a9e7df53e
Fix some warnings in the debugger code
2015-02-08 16:15:26 -08:00
Ben Gruver
6649a75532
Add some required runReadAction wrappers in SmaliCodeFragmentFactory
2015-02-01 20:16:39 -08:00
Ben Gruver
e6da8cd564
Massage the tries before using them for method analysis
2015-02-01 20:14:37 -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
a06ac49b6b
Fix the array data SmalideaMethod test
2015-01-27 19:27:48 -08:00
Ben Gruver
0a5f278d5f
Start adding better support for invalid classes/methods
...
This tweaks the nullability of various methods/parameters, and ensures
they are accessed appropriately
2015-01-25 18:36:54 -08:00
Ben Gruver
a227c0b142
Add and fix the InvalidClassDirective test
2015-01-25 14:02:29 -08:00
Ben Gruver
2d39ef6337
Add and fix a parser test for a blank file
2015-01-25 14:02:25 -08:00
Ben Gruver
0f8017e16a
Remove stale license noticeds from NOTICE file
2015-01-22 16:50:49 -08:00
Ben Gruver
a5efca6fe6
Add support for evaluating pNN style registers
2015-01-22 09:42:48 -08:00
Ben Gruver
0a2debe4e6
Add support for the payload instructions while calculating offsets
2015-01-21 09:32:01 -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
9b97cfdf48
Implement try blocks in SmalideaMethod
2015-01-21 09:32:01 -08:00
Ben Gruver
762bf07e35
Add tests for the dexlib2 adapters
2015-01-21 09:32:01 -08:00
Ben Gruver
4645cc437d
Implement parsing for escaped strings
2015-01-21 09:32:01 -08:00
Ben Gruver
1570315fcf
Implement advanced/multi resolve for SmaliClassTypeElement
2015-01-21 09:32:01 -08:00
Ben Gruver
a28e8f2363
Add a CodeFragmentFactory to allow evaluation of arbitrary registers
2015-01-21 09:32:01 -08:00
Ben Gruver
cbd87b904e
Create a psi-backed dexlib2 Method implementation
2015-01-21 09:32:01 -08:00
Ben Gruver
5897c08299
Implement reference functionality for SmaliFieldReference
2015-01-21 09:32:01 -08:00
Ben Gruver
81d77d0dab
Implement reference functionality for SmaliMethodReference
2015-01-21 09:32:01 -08:00
Ben Gruver
60c41a3b14
Fix some warnings in SmaliCompositeElement
2015-01-21 09:32:01 -08:00
Ben Gruver
ec63d20bb8
Implement reference functionality for label references
2015-01-21 09:32:01 -08:00
Ben Gruver
190ce57ab6
Add findNext and findPrevSiblingByClass to SmaliCompositeElement
2015-01-21 09:32:01 -08:00
Ben Gruver
6513dc0124
Implement initial debugging support
2015-01-21 09:32:01 -08:00
Ben Gruver
d61e3c2947
junit.framework.Assert -> org.junit.Assert
2015-01-21 09:32:01 -08:00
Ben Gruver
a788ab1dc3
Implement basic support for instruction offsets
2015-01-21 09:32:01 -08:00
Ben Gruver
2ab03ae212
Don't modify modifier outside of a write command
2015-01-21 09:32:01 -08:00
Ben Gruver
145cd6d518
Fix up the test configuration
2015-01-21 09:32:00 -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
3048a6c897
Extract out some of the common TypeElement implementation
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
b4b9c6c387
Get qualifiedName from stub in when possible in SmaliClass
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
6d81598612
Implement SmaliClass.getName()
...
This is the remaining piece to allow references to smali types from java
code
2015-01-21 09:32:00 -08:00
Ben Gruver
bc200776bc
Implement extends and implements list
...
This also includes the relevant implementations in SmaliClass
2015-01-21 09:32:00 -08:00
Ben Gruver
31aad6b5cd
Implement SmaliClassType and SmaliClassTypeElement
...
This implements enough plumbing to get basic class references working
from within smali files.
2015-01-21 09:32:00 -08:00
Ben Gruver
f563e1d367
Add support for primitives and arrays in the NameUtils conversion 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
3bd51ea4e4
Implement SmaliAnnotation.getQualifiedName() and related tests
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
056b1a6556
Add PsiClassOwner implementation to SmaliFile
...
Also add tests for implemented methods in SmaliFile and SmaliClass
2015-01-21 09:32:00 -08:00
Ben Gruver
649239bcce
Add an initial stub implementation of PsiAnnotation
2015-01-21 09:32:00 -08:00
Ben Gruver
db1b08807f
Implement PsiClass.getQualifiedName()
2015-01-21 09:32:00 -08:00
Ben Gruver
7106c64346
Add an initial stub implementation of PsiClass
2015-01-21 09:32:00 -08:00