Skylot
f66ec9168c
test: update test TestAnonymousInline
2020-03-09 22:44:30 +03:00
Skylot
37aecf72cb
Merge branch 'master' into rename
2020-03-09 19:43:40 +00:00
Bendegúz Ács
3c7be5e9be
fix: use super instead this when super member is shadowed (PR #878 )
...
* Added failing test for super member shadowing.
* Fixed new test containing incorrect variable names.
* Implemented marking super fields used in a subclass with super keyword.
* Renamed member variable in the example to reflect smali and test.
* Fixed formatting and imports.
2020-03-07 19:52:21 +03:00
Skylot
89dbae8f8e
fix: resolve NPE while compare outer generic types
2020-02-29 19:55:16 +00:00
Skylot
5eec8f754d
fix: class resolving issues ( #867 )
2020-02-29 19:24:01 +00:00
Skylot
49a82c8388
fix: method info cache error ( #868 )
2020-02-29 19:22:18 +00:00
Skylot
26bad4a1cd
fix: replace constants for arrays in annotations ( #831 )
2020-02-29 18:55:30 +00:00
Skylot
fa0a38d3aa
fix: don't use OS specific new line chars ( #861 )
2020-02-23 15:37:07 +00:00
Jan S
b56fd4d29a
chore: add inlined class name as comment (PR #865 )
...
* chore: add inlined class name as comment
* chore: adapt unit test for inlined class name as comment
2020-02-23 17:06:10 +03:00
Jan S
4520747167
fix: concurrent access may cause an java.lang.ClassCastException in JNodeCache (PR #864 )
2020-02-23 16:22:49 +03:00
Skylot
e444ecb2c7
fix: improve wildcard types compare ( #857 )
2020-02-17 19:31:13 +00:00
Skylot
1336c47d18
fix: speed up switch processing by skip not relevant exits ( #846 )
2020-02-16 15:50:02 +00:00
Skylot
519a74e8d2
fix: improve type inference for arrays ( #837 )
2020-02-16 17:12:31 +03:00
Skylot
dea7714ef3
feat: add methods information from standard library, improve generics and varargs restore ( #836 )
2020-02-16 17:12:31 +03:00
Skylot
74b88b407e
chore: add config for lgtm.com analysis
2020-02-14 19:29:24 +00:00
Skylot
57c28c61e0
fix: restore enum for several blocks in class init method
2020-02-14 18:08:37 +00:00
Skylot
87320348dd
chore: update all dependencies and gradle
2020-02-12 20:43:27 +00:00
Skylot
fcb70e69c1
fix: don't print commented case value if it is an instruction ( #850 )
2020-02-11 22:08:14 +03:00
Jan S
4859629850
fix: record inlined classes and generate Smali code for them (PR #851 , #848 )
...
* fix: additionally show smali code of all inlined classes (recursively)
* variable name corrected
2020-02-11 22:06:07 +03:00
Jan S
bd0d248fd0
fix: additionally show smali code of all inner classes (recursively) (PR #849 , #848 )
2020-02-10 22:00:32 +03:00
Skylot
c24a3edb44
fix: inline assignment instruction from same block ( #820 )
2020-02-09 14:40:27 +00:00
Skylot
d0f197ea3d
fix: shrink code if region maker add FORCE_ASSIGN_INLINE to insn ( #845 )
2020-02-09 14:36:59 +00:00
Skylot
5502d93cd5
fix: additional checks before insert move to help type inference ( #843 )
2020-02-04 18:45:27 +00:00
Skylot
073fd76aa2
chore: update actions/checkout in gradle wrapper validation ( #832 )
2020-02-04 17:19:16 +00:00
Yaroslav Yadrov
492a3f6928
feat(deobf): add classname parsing for Kotlin metadata (PR #842 , #758 )
2020-02-02 17:08:29 +03:00
Skylot
1ce8fa8bdd
fix: don't apply types if search failed ( #840 )
2020-01-28 20:07:58 +00:00
Skylot
1bb90233b9
test: NYI tests for #836 and #837
2020-01-27 19:23:35 +00:00
Skylot
49ce92f540
fix: remove move instructions with unused result ( #835 )
2020-01-24 17:37:53 +00:00
Skylot
2107da2e1a
fix: improve 'out' block detection in switch ( #826 )
2020-01-23 18:58:17 +00:00
S-trace
d98321026d
gui: RenameDialog: Unload classes in refreshTabs() before refreshing
...
This should fix possible problems with incorrect refresh for open classes.
2020-01-20 10:13:20 +03:00
S-trace
0b6fabbc71
gui: Perform classes unload in the background UnloadJob
...
This should improve interface responsibility if there are many classes
to refresh after rename.
2020-01-20 10:13:20 +03:00
Skylot
bb0fad2834
fix: resolve multi-threaded unloading
2020-01-20 10:13:20 +03:00
Skylot
08f9722e33
Merge branch 'master' into rename
2020-01-20 10:12:49 +03:00
Skylot
62ca30bbc6
fix: additional patterns to restore enum classes ( #830 )
2020-01-19 11:12:23 +00:00
S-trace
467403362d
core: ConstStorage: Use ConcurrentHashMap for values map in ValueStorage
...
Exception in thread "pool-9-thread-7" java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1445)
at java.util.HashMap$EntryIterator.next(HashMap.java:1479)
at java.util.HashMap$EntryIterator.next(HashMap.java:1477)
at jadx.core.dex.info.ConstStorage$ValueStorage.removeForCls(ConstStorage.java:61)
at jadx.core.dex.info.ConstStorage.removeForClass(ConstStorage.java:100)
at jadx.core.dex.nodes.ClassNode.deepUnload(ClassNode.java:290)
at jadx.core.dex.nodes.ClassNode.deepUnload(ClassNode.java:295)
at jadx.core.dex.nodes.ClassNode.reloadCode(ClassNode.java:284)
at jadx.api.JavaClass.refresh(JavaClass.java:62)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
2020-01-17 10:38:15 +03:00
S-trace
265a78cd23
core: ConstStorage: Do not remove values from duplicates set in removeForCls()
...
If the constant already got duplicates - it will have duplicates even after
class reload, won't it?
But removing this constant from duplicates may break constants replacing
(just imagine a class TestClass with public static final int TEST_CONSTANT = 1;
- after reloading TestClass each "(int) 1" litheral will be replaced to
"TEST_CONSTANT" reference in each reloaded class and trivial increments will
become werid expressions (int y = x + 1; will become
int y = x + TestClass.TEST_CONSTANT;)).
2020-01-17 10:38:15 +03:00
S-trace
a0e13d0481
gui: RenameDialog: Rename tmp deobf map file too
...
Fixes /tmp/deobf_tmp_*.txt temporary files accumulation on renames.
2020-01-17 10:38:15 +03:00
S-trace
77fc6435a0
core: ConstStorage: Don't put known duplicate value to ValueStorage.values map
...
This is a microoptimization, which remove unnecessary values.put() and
values.remove() pair of operations if ValueStorage.put() is called for a
known duplicated value.
2020-01-17 10:38:15 +03:00
Skylot
cd7e5bf020
Merge branch 'master' into rename
2020-01-17 10:37:43 +03:00
Skylot
5e7388f686
refactor: fix several issues reported by sonar
2020-01-16 12:16:32 +03:00
Skylot
1047e751e6
chore: fix github action for gradle wrapper validation
2020-01-16 10:47:31 +03:00
Jonathan Leitschuh
c598871764
chore: official Gradle Wrapper Validation GitHub Action (PR #832 )
...
See: https://github.com/gradle/wrapper-validation-action
2020-01-16 10:19:39 +03:00
Skylot
2921c66834
fix: replace constants inside annotations ( #831 )
2020-01-14 19:52:03 +00:00
Skylot
7bbb083c36
refactor: small changes to switch region and region debug print
2020-01-13 19:27:52 +00:00
Skylot
531650c9f2
refactor: allow to change temp dir using system property JADX_TMP_DIR
2020-01-13 15:32:32 +03:00
Skylot
f3098741c3
test: switch with fallthrough cases ( #826 )
2020-01-08 14:26:40 +00:00
Skylot
9dbffef140
fix: deep reload for inner classes, const values and anonymous classes
2020-01-05 22:12:13 +03:00
Jan S
c97e504686
fix: additionally show smali code of inner classes (PR #824 )
2020-01-05 12:46:07 +03:00
Skylot
0c4b807caa
fix: improve ClassNode reloading and revert some changes
2020-01-03 20:46:47 +03:00
S-trace
1eca2b6cb0
core: ClassInfo: Do not ignore setting alias to original class name
...
Fixes trouble with renaming class back to its original name.
2020-01-03 06:09:26 +03:00