Skylot
eb141ad12b
test: add tests for #474
2019-03-26 23:13:11 +03:00
Skylot
b446bf275c
refactor: move filesystem case sensitivity value to JadxArgs
2019-03-26 23:12:17 +03:00
Ahmed Ashour
b7109b1b2b
test: remove commented code and style fixes (PR #520 )
2019-03-26 21:04:22 +03:00
Ahmed Ashour
9557f04fe7
test: add test case for #202 (PR #519 )
2019-03-26 19:41:16 +03:00
Skylot
e026345a45
feat: new implementation for type inference approach and variable declaration
...
BREAKING CHANGE: some parts of jadx was rewritten from scratch
- type inference
- variable declaration
- `finish` block extraction
2019-03-26 16:16:54 +03:00
Ahmed Ashour
eb2a1734d3
fix: xor with boolean ( #409 ) (PR #516 )
2019-03-26 15:29:39 +03:00
skylot
aa8a7c03c3
style: enforce strict style rules with editorconfig (PR #510 )
2019-03-26 14:21:47 +03:00
Ahmed Ashour
36ee994eb8
test: add test case for "xor with boolean" ( #409 ) (PR #514 )
2019-03-25 19:53:59 +03:00
Ahmed Ashour
65544c64bf
test: warn about compiler not found, and gracefully report failure (PR #511 )
2019-03-25 16:09:15 +03:00
Skylot
29d3ce15a8
fix: rename parameters in annotations ( #504 )
2019-03-24 16:59:55 +03:00
Skylot
84cb6b9569
Merge branch 'master' into type-inference-wip
...
# Conflicts:
# jadx-core/src/main/java/jadx/core/codegen/NameGen.java
# jadx-core/src/main/java/jadx/core/dex/attributes/AttributeStorage.java
# jadx-core/src/main/java/jadx/core/dex/attributes/nodes/PhiListAttr.java
# jadx-core/src/main/java/jadx/core/dex/instructions/IndexInsnNode.java
# jadx-core/src/main/java/jadx/core/dex/instructions/InsnDecoder.java
# jadx-core/src/main/java/jadx/core/dex/instructions/args/ArgType.java
# jadx-core/src/main/java/jadx/core/dex/instructions/args/RegisterArg.java
# jadx-core/src/main/java/jadx/core/dex/instructions/args/SSAVar.java
# jadx-core/src/main/java/jadx/core/dex/regions/conditions/IfRegion.java
# jadx-core/src/main/java/jadx/core/dex/visitors/ModVisitor.java
# jadx-core/src/main/java/jadx/core/dex/visitors/blocksmaker/helpers/BlocksPair.java
# jadx-core/src/main/java/jadx/core/dex/visitors/blocksmaker/helpers/BlocksRemoveInfo.java
# jadx-core/src/main/java/jadx/core/dex/visitors/debuginfo/LocalVar.java
# jadx-core/src/main/java/jadx/core/dex/visitors/regions/ProcessVariables.java
# jadx-core/src/main/java/jadx/core/dex/visitors/shrink/CodeShrinkVisitor.java
# jadx-core/src/main/java/jadx/core/xmlgen/entry/EntryConfig.java
2019-03-24 12:38:20 +03:00
Skylot
a848eab407
Merge branch 'master''
2019-03-24 12:24:57 +03:00
Skylot
e1f4955286
Merge branch 'master' into type-inference-wip
...
# Conflicts:
# jadx-cli/src/main/java/jadx/cli/JadxCLIArgs.java
# jadx-core/src/main/java/jadx/core/Jadx.java
# jadx-core/src/main/java/jadx/core/dex/attributes/AFlag.java
# jadx-core/src/main/java/jadx/core/dex/attributes/AType.java
# jadx-core/src/main/java/jadx/core/dex/visitors/regions/LoopRegionVisitor.java
# jadx-core/src/main/java/jadx/core/dex/visitors/regions/RegionMakerVisitor.java
# jadx-core/src/test/java/jadx/tests/api/IntegrationTest.java
# jadx-core/src/test/java/jadx/tests/functional/TypeMergeTest.java
# jadx-core/src/test/java/jadx/tests/integration/TestFloatValue.java
# jadx-core/src/test/java/jadx/tests/integration/TestStringBuilderElimination2.java
# jadx-core/src/test/java/jadx/tests/integration/arith/TestArith.java
# jadx-core/src/test/java/jadx/tests/integration/arith/TestFieldIncrement2.java
# jadx-core/src/test/java/jadx/tests/integration/arrays/TestArrays3.java
# jadx-core/src/test/java/jadx/tests/integration/arrays/TestArrays4.java
# jadx-core/src/test/java/jadx/tests/integration/conditions/TestTernary2.java
# jadx-core/src/test/java/jadx/tests/integration/debuginfo/TestReturnSourceLine.java
# jadx-core/src/test/java/jadx/tests/integration/generics/TestGenerics2.java
# jadx-core/src/test/java/jadx/tests/integration/inline/TestInlineInLoop.java
# jadx-core/src/test/java/jadx/tests/integration/invoke/TestCastInOverloadedInvoke.java
# jadx-core/src/test/java/jadx/tests/integration/loops/TestArrayForEach2.java
# jadx-core/src/test/java/jadx/tests/integration/loops/TestIndexForLoop.java
# jadx-core/src/test/java/jadx/tests/integration/names/TestNameAssign2.java
# jadx-core/src/test/java/jadx/tests/integration/switches/TestSwitchBreak.java
# jadx-core/src/test/java/jadx/tests/integration/trycatch/TestFinallyExtract.java
# jadx-core/src/test/java/jadx/tests/integration/trycatch/TestTryCatchFinally8.java
2019-03-24 12:19:19 +03:00
Skylot
ca21ca5d81
test: rewrite Spock tests to JUnit 5
2019-03-24 11:23:24 +03:00
Ahmed Ashour
2399bfb784
test: add case for #504
2019-03-24 10:47:52 +03:00
Skylot
6e66dc25c8
fix: additional checks for loop exit edges and 'for' conversion ( #483 )
2019-03-23 23:58:05 +03:00
Ahmed Ashour
d3dbdb24af
test: use @NYI instead of commented TODO (PR #499 )
2019-03-23 10:26:44 +03:00
Ahmed Ashour
e585c4ec46
test: add MissingGenericsTypesTest (PR #498 )
2019-03-23 10:25:14 +03:00
Skylot
66421be942
test: add tests for some known issues
2019-03-22 21:00:34 +03:00
Ahmed Ashour
9695291e37
test: case for #62 (PR #497 )
2019-03-22 21:00:10 +03:00
Ahmed Ashour
b65c386b6a
test: migrate all assertions to JUnit5 (PR #496 )
2019-03-22 20:37:20 +03:00
Ahmed Ashour
cd6f6b7a83
test: add NotYetImplemented feature (PR #495 )
2019-03-22 20:11:36 +03:00
Skylot
5169dc52dd
fix: remove invalid chars from class names ( #488 )
2019-03-22 19:54:45 +03:00
Skylot
f72abb2867
test: add test methods for load and check classes from smali files
2019-03-22 19:51:29 +03:00
Skylot
2c0725390e
fix: check variable usage before convert indexed loop to for-each variant ( #483 )
2019-03-22 19:30:20 +03:00
Ahmed Ashour
16b6345c7f
test: migrate to JUnit 5 (PR #493 )
2019-03-22 17:36:13 +03:00
Ahmed Ashour
d5f4266283
fix: rename class with reserved java keywords ( #485 ) (PR #488 )
2019-03-22 10:55:44 +03:00
Ahmed Ashour
74562e6868
test: assertion already passes (PR #482 )
2019-03-21 17:14:00 +03:00
Ahmed Ashour
dd2e7e879b
fix: add missing import for class generics map (PR #480 )
...
* Fix missing import for class Generics map.
* Add import only when needed (in non-inner class declaration)
* Remove unneeded import
2019-03-21 17:11:56 +03:00
Skylot
365c1faf25
Merge branch 'master' into type-inference-wip
2019-03-20 14:36:20 +03:00
Ahmed Ashour
2b242b9109
style: remove unused imports (PR #475 )
2019-03-20 13:28:58 +03:00
Skylot
52deb48aac
fix: move instruction out of try/catch ( #468 )
2019-03-19 16:45:40 +03:00
Skylot
7654661b77
fix: inline desugared lambda classes ( #467 )
2019-03-15 22:19:43 +03:00
Skylot
cf79a519d3
refactor: move code shrink visitor to separate package and extract inner classes
2019-03-03 21:03:03 +03:00
Skylot
dd13edf262
fix: don't remove empty default constructor if other constructors exists ( #460 )
2019-03-02 17:31:12 +03:00
Skylot
cbdc2496fc
fix: check block before insert additional move instruction for type inference
2019-03-01 23:36:26 +03:00
Skylot
3de04cb638
refactor: use flags to mark registers with immutable type
2019-02-28 16:32:11 +03:00
Skylot
16d8d41baf
Merge branch 'master' into type-inference-wip
...
# Conflicts:
# jadx-core/src/main/java/jadx/core/dex/visitors/blocksmaker/BlockSplitter.java
# jadx-core/src/main/java/jadx/core/dex/visitors/ssa/EliminatePhiNodes.java
2019-02-26 20:04:35 +03:00
Skylot
7bd175220e
fix: add correct type propagation for check-cast and move instructions ( #401 )
2019-02-26 19:56:09 +03:00
Skylot
28d348b364
fix: additional checks for synthetic methods remove, rename and inline ( #452 )
2019-02-22 17:50:31 +03:00
Skylot
9856b6d3c5
fix: remove invalid chars from class names ( #453 )
2019-02-21 19:14:55 +03:00
Skylot
4197365131
fix: improve fallback mode dump (add types, remove label after if)
2019-02-19 21:11:15 +03:00
Skylot
389caf1825
fix: improve filled array detection
2019-02-18 23:57:53 +03:00
Skylot
5cee498e1d
Merge branch 'master' into type-inference-wip
2019-02-17 16:10:09 +03:00
Skylot
db1b027da2
fix: improve bridge methods renaming ( #397 )
2019-02-16 13:07:13 +03:00
Skylot
7f4e641860
fix: skip duplicated block in complex if ( #441 )
2019-02-15 16:27:43 +03:00
Skylot
b689efcc9f
fix: forbid to change types for methods arguments
2019-02-11 19:21:26 +03:00
Skylot
89563b624b
Merge branch 'master' into type-inference-wip
2019-02-11 15:02:52 +03:00
skylot
8c7140d6b8
fix: change not allowed access modifiers for methods ( #387 ) (PR #439 )
...
Fix visibility access modifies for methods (see discussions in #370 and #387 ):
* all virtual methods become public
* direct methods become private (instead constructors and static methods for now)
* such modifications perform by default and can be disabled by the option in preferences (`--respect-bytecode-access-modifiers` in jadx-cli)
* if changed to method added comment (`Access modifiers changed, original: private`)
2019-02-11 14:56:03 +03:00
Skylot
c892395089
fix: redone finally extract
2019-02-11 14:50:16 +03:00