Commit Graph

1037 Commits

Author SHA1 Message Date
Ahmed Ashour 2b242b9109 style: remove unused imports (PR #475) 2019-03-20 13:28:58 +03:00
Skylot 03ae3bcefa fix: process field init code in dependency collector (#467) 2019-03-19 16:45:40 +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 51a9c741a5 chore: update dependencies and gradle 2019-03-15 19:37:19 +03:00
tRuNKator a4a8b05ef0 fix: replace dot character with underscore in style resource name (PR #466) 2019-03-14 15:46:37 +03:00
Skylot 6116a75022 fix: rename R fields using resource names (#465) 2019-03-12 20:27:25 +03:00
Skylot 7243ab5cb6 fix: don't replace resources names with field names (#465) 2019-03-12 19:35:05 +03:00
Jan S 43538902a3 fix: restore support for AAR files (issue #95) (PR #464) 2019-03-09 17:20:34 +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 d069928613 fix: check if synthetic class not yet processed but must be removed (#450) 2019-03-02 19:09:31 +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 653bb2ac10 fix: hide first argument instead remove for constructor in inner class 2019-03-02 16:02:17 +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 68d074aecf fix: change type update collection to produce deterministic results 2019-02-27 19:03:05 +03:00
Skylot 28bcad202a refactor: resolve deprecation warning for TypeGen.literalToString method 2019-02-26 20:09:05 +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
Jan S 91691fbd6a fix: allow APK files without code (no contained dex files) (PR #455) 2019-02-22 17:45:21 +03:00
Skylot 9856b6d3c5 fix: remove invalid chars from class names (#453) 2019-02-21 19:14:55 +03:00
Skylot e1ca290424 fix: avoid ConcurrentModificationException in EliminatePhiNodes pass 2019-02-21 15:29:38 +03:00
Skylot 0fa19fb0ac fix: remove unreachable blocks (#451) 2019-02-21 15:24:18 +03:00
Skylot ab7b6fc29f refactor: don't use additional class for jadx warnings 2019-02-20 14:43:59 +03:00
Skylot f8acc31b0b fix(gui): remove output directories from persistent settings (#447) 2019-02-20 10:40:39 +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 710245d597 fix: replace recursive analysis algorithms with iterations to avoid StackOverflow on big methods (#441) 2019-02-14 21:17:31 +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
Skylot 4ce5cc8492 fix: use multi-variable type search algorithm if type propagation is failed 2019-02-04 18:34:36 +03:00
Skylot 9b091b7c08 fix: reimplement variable declaration visitor 2019-02-04 18:34:00 +03:00
Skylot 7b14e322d3 test: improve test checks 2019-02-04 16:22:50 +03:00
Skylot 21acaa8d37 fix: resolve mix up in SKIP and DONT_GENERATE flags 2019-02-04 16:22:11 +03:00
Skylot c705f8cbff Merge branch 'master' into type-inference-wip 2019-01-23 11:09:47 +03:00
Skylot 82d0d622a8 fix: refactor, improve performance and fix some issues in resource processing
fix(gui): instead gradle export was executed normal export
fix(gui): content of some resource files was not shown
perf: direct resource files saving without full length buffer in memory
perf(gui): line numbers will be disabled on big files due to performance issue
feat(gui): click on HeapUsageBar will run GC and update memory info
feat(gui): add more file types for syntax highlights
refactor: ResContainer class changed for support more types of data (added link to resource file)
2019-01-22 18:51:09 +03:00
Skylot aec986447e fix: support multi-exception catch blocks (#421) 2019-01-19 16:28:25 +03:00
Skylot da41efa3db fix: force rename by checks from RenameVisitor (#432) 2019-01-18 16:50:11 +03:00
Skylot d8b39c2698 Merge branch 'master' into type-inference-wip 2019-01-16 22:29:39 +03:00
Skylot 618b014b3d fix: rename method wrapped by synthetic only from same class (#430) 2019-01-16 22:27:50 +03:00
Skylot 4e990ae2b0 fix: safe SSA variables replacement in filled new array instruction (#399) 2019-01-16 19:03:47 +03:00
Skylot 41ee57a6f7 Merge branch 'master' into type-inference-wip 2019-01-15 14:18:31 +03:00
Jan S 72b2663949 fix: ArrayIndexOutOfBoundsException in string concatenation visitor (#427)
* fix: ArrayIndexOutOfBoundsException in string concatenation visitor
* fix: typo in comment
* fix: StringBuilder chain processing created wrong code
* test: simple JUnit test cases added for testing StringBuilder chain processing (chains that can be and that can't be simplified)
2019-01-12 21:12:28 +03:00
Skylot 727285e3df chore: update dependencies and gradle 2019-01-12 19:07:37 +03:00