Commit Graph

1722 Commits

Author SHA1 Message Date
9a1db48dc5 Flesh out SmaliAnnotation and related classes/methods 2015-01-21 09:32:00 -08:00
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
bc200776bc Implement extends and implements list
This also includes the relevant implementations in SmaliClass
2015-01-21 09:32:00 -08:00
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
f563e1d367 Add support for primitives and arrays in the NameUtils conversion methods 2015-01-21 09:32:00 -08:00
d91aabc5f9 Implement initial SmaliExtendsList and SmaliImplementsList 2015-01-21 09:32:00 -08:00
3bd51ea4e4 Implement SmaliAnnotation.getQualifiedName() and related tests 2015-01-21 09:32:00 -08:00
010b0fb998 Add PsiModifierList implementation
Also implement PsiModifierList-related methods in SmaliClass
2015-01-21 09:32:00 -08:00
056b1a6556 Add PsiClassOwner implementation to SmaliFile
Also add tests for implemented methods in SmaliFile and SmaliClass
2015-01-21 09:32:00 -08:00
649239bcce Add an initial stub implementation of PsiAnnotation 2015-01-21 09:32:00 -08:00
db1b08807f Implement PsiClass.getQualifiedName() 2015-01-21 09:32:00 -08:00
7106c64346 Add an initial stub implementation of PsiClass 2015-01-21 09:32:00 -08:00
be0914bc81 Implement initial SmaliCatchStatement and SmaliCatchAllStatement 2015-01-21 09:32:00 -08:00
4e834f8323 Implement initial SmaliVoidElementType 2015-01-21 09:32:00 -08:00
a85dc013f9 Implement initial SmaliArrayTypeElement 2015-01-21 09:32:00 -08:00
d05c6f0f2b Implement initial SmaliClassTypeElement 2015-01-21 09:32:00 -08:00
da998c529e Initially implement large chunk of remaining Psi types 2015-01-21 09:32:00 -08:00
a3d2e1581e Implement initial SmaliPrimitiveType 2015-01-21 09:32:00 -08:00
04ca67d3b2 Implement initial top level statements 2015-01-21 09:32:00 -08:00
7389cfbb7e Implement initial SmaliLiteral 2015-01-21 09:32:00 -08:00
65eecc51b2 Implement initial SmaliAnnotation 2015-01-21 09:32:00 -08:00
4a75c556bb Implement initial SmaliField and SmaliMethod 2015-01-21 09:32:00 -08:00
c9c5cd9d5b Implement initial SmaliClass 2015-01-21 09:32:00 -08:00
4be4005d61 Improve error recovery in the parser 2015-01-21 09:32:00 -08:00
076c60644f Implement a basic parser, generating a flat Psi tree 2015-01-21 09:32:00 -08:00
d11a702eea Add a color preference page for smali syntax highlighting 2015-01-21 09:32:00 -08:00
ae3fa54699 Implement initial token highlighting 2015-01-21 09:32:00 -08:00
bbc11c79e5 Add lexer implementation based on existing smali lexer 2015-01-21 09:32:00 -08:00
a669ed1f9d Register a new smali file type 2015-01-21 09:32:00 -08:00
5c14179d8b Create smalidea module 2015-01-21 09:31:59 -08:00
bc5ad6ab70 Bump version number to 2.0.5 2015-01-20 19:07:07 -08:00
a4dd1fd25b Make ClassFileNameHandler thread-safe 2015-01-20 19:01:39 -08:00
f5d3fc4a6d Switch the default for implicit references 2015-01-20 19:01:18 -08:00
39c77fa5bd Bump version number to 2.0.4 2015-01-20 08:55:16 -08:00
103e04a4a9 Add stringtemplate dependency to smali, because proguard. 2015-01-20 08:55:16 -08:00
9546ddf95a Add registers directive so example will compile 2015-01-20 08:18:32 -08:00
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
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
83ec5cf9a3 Merge pull request #25 from yyjdelete/patch-1
checkPackagePrivateAccess only for API 17(4.2)
2014-12-28 14:49:44 -08:00
d83c439ce2 Fix some generics issues when compiling with java 8 2014-12-28 14:15:08 -08:00
0b42b4f41e Disable doclint for java 8 2014-12-28 14:14:39 -08:00
aae58716e7 Fix some javadoc issues 2014-12-28 14:14:19 -08:00
d15e31526f Expose the various fixed-size item counts in DexBackedDexFile 2014-12-28 12:25:03 -08:00
7296c9e957 Refactor VariableSizeLookaheadIterator
Previously, when referencing instance fields from readNextItem,
the fields wouldn't have been initialized yet on the first call to
readNextItem
2014-12-28 12:15:17 -08:00
d1dbf6b14b Use options.checkPackagePrivateAccess 2014-11-14 21:59:08 +08:00
62c103d92a checkPackagePrivateAccess only for API 17(4.2)
Google revert this for compatibility.
see 7284c78e14 for details.

BTW, it seems that is also disabled for late 4.2
2014-11-14 20:50:13 +08:00
686cf35c8e Add some additional checks related to instruction size 2014-11-06 23:03:46 -08:00
20d4a3c2b4 Use dlerror() to clear any error before retrying with the mangled name
Thanks to Catalin Ontanu for reporting this, and then doing more
investigation to find and test the solution.
2014-11-06 23:03:46 -08:00
e6423bd1e1 Merge pull request #23 from iBotPeaches/master
Implement dex entry for non classes.dex files
2014-11-06 21:33:56 -08:00
6811d13935 Implement dex entry for non classes.dex files 2014-11-06 23:09:44 -06:00