45 Commits

Author SHA1 Message Date
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
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
c9c5cd9d5b Implement initial SmaliClass 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
Ben Gruver
d11a702eea Add a color preference page for smali syntax highlighting 2015-01-21 09:32:00 -08:00
Ben Gruver
ae3fa54699 Implement initial token highlighting 2015-01-21 09:32:00 -08:00
Ben Gruver
bbc11c79e5 Add lexer implementation based on existing smali lexer 2015-01-21 09:32:00 -08:00
Ben Gruver
a669ed1f9d Register a new smali file type 2015-01-21 09:32:00 -08:00
Ben Gruver
5c14179d8b Create smalidea module 2015-01-21 09:31:59 -08:00