1432 Commits

Author SHA1 Message Date
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
Ben Gruver
bc5ad6ab70 Bump version number to 2.0.5 2015-01-20 19:07:07 -08:00
Ben Gruver
a4dd1fd25b Make ClassFileNameHandler thread-safe 2015-01-20 19:01:39 -08:00
Ben Gruver
f5d3fc4a6d Switch the default for implicit references 2015-01-20 19:01:18 -08:00
Ben Gruver
39c77fa5bd Bump version number to 2.0.4 2015-01-20 08:55:16 -08:00
Ben Gruver
103e04a4a9 Add stringtemplate dependency to smali, because proguard. 2015-01-20 08:55:16 -08:00
Caleb Fenton
9546ddf95a Add registers directive so example will compile 2015-01-20 08:18:32 -08:00
Ben Gruver
e032f1d8c7 Refactor ClassFileNameHandler
This makes the logic quite a bit easier to follow, and fixes an issue
with the previous implementatation, where it didn't correctly handle
the case when were multiple long names that collided after being
shortened
2015-01-07 17:14:44 -08:00
Ben Gruver
e778f7b865 Make the checkPackagePrivateAccess functionality an option
This is only needed for 4.2.0, but not 4.2.1. Both are api 17, so we can't
tie this functionality to an api level.
2014-12-28 15:03:02 -08:00
Ben Gruver
83ec5cf9a3 Merge pull request #25 from yyjdelete/patch-1
checkPackagePrivateAccess only for API 17(4.2)
2014-12-28 14:49:44 -08:00
Ben Gruver
d83c439ce2 Fix some generics issues when compiling with java 8 2014-12-28 14:15:08 -08:00