Commit Graph
100 Commits
Author SHA1 Message Date
Egor Ushakov a0a8f0a8dd IDEA-208443 Java decompiler not correctly decompiling string concatenation with recent Java 2019-03-06 14:23:11 +03:00
Egor Ushakov 2c2b00b369 cleanup: remove redundant casts 2018-12-18 19:48:02 +03:00
Egor Ushakov ccc203e92b IDEA-197665 Decompiler decompiles references to static fields inside class incorrectly 2018-12-18 17:33:20 +03:00
Egor Ushakov ca01d9877b IDEA-174243 Decompiler Switch-Enum Sugaring Doesn't Support Obfuscated Code 2018-12-17 16:30:53 +03:00
Egor Ushakov f320e3abd4 IDEA-204223 Decompiler doesn't add mandatory narrowing cast on integer type 2018-12-14 17:57:35 +03:00
Egor Ushakov 290eae5218 cleanup: use typed attribute keys 2018-09-27 15:38:04 +03:00
Egor Ushakov 0a29a0a8df cleanup: use hasModifier 2018-09-12 14:29:32 +03:00
Egor Ushakov c5a0dc3acb more descriptive exception for IDEA-CR-32210 2018-05-21 16:07:46 +03:00
Egor Ushakov c4f23b9a16 cleanup: spelling 2018-05-21 15:50:54 +03:00
Egor Ushakov ba0e24955d inverted option for IDEA-CR-32210 2018-05-17 19:12:39 +03:00
Egor Ushakov 8be977e76c decompiler: do not fail on the invalid bytecode in IDEA 2018-04-27 15:05:22 +03:00
Egor Ushakov 8415f8e6f5 cleanup: use putIfAbsent 2018-02-16 21:03:13 +03:00
Egor Ushakov 7310e9e989 fixed line numbers when replacing nested access 2018-02-16 20:20:28 +03:00
Egor Ushakov 0bb1f6801c fixed synthetic params 2018-01-11 11:24:21 +03:00
Egor Ushakov 6715ecf53d IDEA-184560 Java decompiler doesn't use stored parameter names - fixed param idx 2018-01-10 16:44:01 +03:00
Egor Ushakov 8b9687ed20 IDEA-184560 Java decompiler doesn't use stored parameter names 2018-01-10 16:28:43 +03:00
Egor Ushakov 97ff04b51c fixed line numbers in case of decompile error 2017-10-25 21:13:29 +03:00
Egor.Ushakov adbf29f8ce IDEA-149077 Default decompiler is chosen for several classes instead of Fernflower - tests 2017-05-10 17:03:48 +03:00
Egor.Ushakov 1f0d42ba0d stabilize tests 2017-05-10 17:03:47 +03:00
Egor.Ushakov 4da62061d9 do not fail on clinit decompile error 2017-05-10 17:03:47 +03:00
Egor.Ushakov 17d4894848 IDEA-172200 Decompiler switch-on-enum multiple switches in same class generates wrong cases for all but the first switch-on-enum 2017-05-05 13:20:07 +03:00
Egor.Ushakov bbc76e7cb4 IDEA-127533 int field is displayed as char - show \n etc as chars 2017-05-04 14:41:36 +03:00
Egor.Ushakov 844177d33e IDEA-127533 int field is displayed as char - show only reasonable ascii as chars 2017-05-04 12:53:29 +03:00
Egor.Ushakov 1c0cad79c6 minor optimization 2017-05-04 12:53:29 +03:00
Egor.Ushakov e9ab081201 speedup: cache zip files in fixture 2017-05-04 12:53:29 +03:00
Egor.Ushakov 601cae8cf8 IDEA-149077 Default decompiler is chosen for several classes instead of Fernflower - fixes for IDEA-CR-20517 2017-05-03 15:23:37 +03:00
Egor.Ushakov 6354fc1211 create less trash objects 2017-05-02 11:50:21 +03:00
Egor.Ushakov af80a017ae minor cleanup 2017-05-02 11:50:21 +03:00
Egor.Ushakov 790027c779 test for super default method call 2017-04-28 12:19:11 +03:00
Egor.Ushakov 645b38d638 test for already used var 2017-04-28 12:19:11 +03:00
Egor.Ushakov 4de826363f (byte) type cast in constructor calls 2017-04-27 15:34:31 +03:00
Egor.Ushakov 997a7747d6 more tests (disabled for now) 2017-04-27 15:34:31 +03:00
Egor.Ushakov e44ba9905e IDEA-127533 int field is displayed as char 2017-04-26 21:13:00 +03:00
Egor.Ushakov 195dabf6e6 test for union types 2017-04-26 20:32:39 +03:00
Egor.Ushakov 478e6896e9 fixed static interface methods 2017-04-26 20:32:39 +03:00
Egor.Ushakov 6a7763922b fixed lambda parameter names already used in the context 2017-04-26 20:32:39 +03:00
Egor.Ushakov d40f673689 test for class extending a class with a private constructor 2017-04-26 20:32:38 +03:00
Egor.Ushakov 8c440e281c fixed incorrect constructor method reference 2017-04-26 13:57:24 +03:00
Egor.Ushakov 7575bb57de removed unneeded boxing 2017-04-26 13:57:24 +03:00
Egor.Ushakov a62cc3f709 IDEA-127499 Decompiler doesn't support switch over enums 2017-04-25 17:42:09 +03:00
Egor.Ushakov 2e9dfd2437 copyright 2017-04-25 17:42:09 +03:00
Egor.Ushakov 538418e84a headexprent is always single-element 2017-04-25 12:39:26 +03:00
Egor.Ushakov cba10744d8 toString for debugging 2017-04-25 12:39:25 +03:00
Egor.Ushakov 5b634ecb4d do not collect field names into a separate set 2017-04-25 12:39:25 +03:00
Egor.Ushakov 2fab291fe1 minor cleanup: avoid creating empty arrays and unneeded boxing 2017-04-25 12:39:25 +03:00
Egor.Ushakov d149b53799 minor cleanup and formatting 2017-04-24 15:13:13 +03:00
Egor.Ushakov 0b442fc64b do not process vars if there were errors in the method 2017-04-21 19:18:06 +03:00
Egor.Ushakov 7041accfe9 reduced memory usage - use HashMap for attributes 2017-04-21 12:12:17 +03:00
Egor.Ushakov 234073efb2 specify the exact collection size when we know 2017-04-21 12:12:17 +03:00
Egor.Ushakov 6fc7ae736a speedup descriptors parsing, avoid using regexp split 2017-04-21 12:12:17 +03:00
Egor.Ushakov 7868c0e83a avoid string concat in a loop 2017-04-20 12:40:31 +03:00
Egor.Ushakov 4beda48cf8 IDEABKL-7547 Decompiler fails to rename class which consists of digits only 2017-04-13 20:06:46 +03:00
Egor.Ushakov d706718b1b added spaces after if and inside the ternary operator 2017-04-04 17:05:24 +03:00
Egor.Ushakov e09e303e71 IDEA-169534 Decompiler overuses ternary operation 2017-04-03 17:16:24 +03:00
Egor.Ushakov f53a873116 IDEA-167346 Do not escape single quote in strings 2017-02-07 17:52:08 +03:00
Egor.Ushakov 45384fb8c5 fixed access to private outer class methods with params 2017-01-23 18:40:08 +03:00
Egor.Ushakov 85f61bee81 fixed IdeaDecompilerTest.testStubCompatibility 2017-01-17 21:38:48 +03:00
Egor.Ushakov 6713b9c495 test for anonymous class with params 2017-01-17 21:02:20 +03:00
Egor.Ushakov 9ee45b3f5a cleanup: use streams 2017-01-17 21:02:19 +03:00
Egor.Ushakov f466a2bc55 more correct variable name in cases where definition is not inside debug name offsets 2017-01-13 21:02:36 +03:00
Egor.Ushakov 0684264b3a IDEA-166073 Extended Width (long, double) constructors cause issues with anonymous classes 2017-01-13 17:58:51 +03:00
Egor.Ushakov abbf2daf30 use known list size 2017-01-13 17:58:51 +03:00
Egor.Ushakov 5e45e5ac40 IDEA-130708 Incorrect locals names 2017-01-12 16:30:41 +03:00
Egor.Ushakov 6a09fe2524 avoid stream to array copying 2017-01-11 15:14:36 +03:00
Egor.Ushakov 0255eb3ba5 IDEA-149813 Decompiler has lost generic parameter - fixed incorrect warning for lambdas 2017-01-10 18:50:16 +03:00
Egor.Ushakov cb133af01e IDEA-166363 Support LocalVariableTypeTable attribute 2017-01-10 18:50:16 +03:00
Egor.Ushakov 1d331ddd6d cleanup - use Comparator 2017-01-10 18:50:16 +03:00
Egor.Ushakov 32693c314a IDEA-149813 Decompiler has lost generic parameter 2017-01-10 12:09:26 +03:00
Egor.Ushakov fe5260df8a IDEA-166101 Imports Added for Classes in Same Package 2017-01-09 17:59:31 +03:00
Egor.Ushakov 7bdec4ffc7 decompiler: a test for the pull request #394 2016-10-14 18:29:00 +03:00
Egor.Ushakov 75e251e427 Merge branch 'assert_throw_in_else_clause' of https://github.com/droid666/intellij-community 2016-10-14 18:23:25 +03:00
Egor.Ushakov ee83b25d1d IDEA-162579 "Unrecognized invocation of <init>" when decompiling kotlin bytecode 2016-10-14 14:41:26 +03:00
Egor.Ushakov 7628ddfd2c toString impls for debug 2016-05-26 13:54:15 +03:00
Egor.Ushakov 404783c874 decompiler: Setup increment/decrement test properly #376 2016-03-29 17:52:59 +03:00
Egor.Ushakov 6b5cd853c0 replaced constants with enum 2016-03-28 14:00:25 +03:00
Egor.Ushakov 95215dc2e2 replace increment / decrement synthetic access method, pull-request #373 2016-03-28 14:00:25 +03:00
Egor.Ushakov 081a208a6a reasonalble toString for easier debugging 2016-03-28 14:00:25 +03:00
Egor.Ushakov 876740dd0e decompiler: fixed incorrect method references from single letter classes 2016-03-02 20:45:46 +03:00
Egor.Ushakov 1b23240c84 decompiler: fixed SOE if referenced method name is the same as current 2016-03-02 18:28:39 +03:00
Egor.Ushakov cb72744cdb removed misplaced test file 2016-03-02 15:42:37 +03:00
Egor.Ushakov 4724fd78a6 IDEA-151950 Decompiler doesn't work for classes from JDK 9 - support java 9 string concatenation 2016-03-01 18:07:55 +03:00
Egor.Ushakov f128515325 IDEA-151950 Decompiler doesn't work for classes from JDK 9 2016-02-29 16:22:42 +03:00
Egor.Ushakov ec51c10d08 decompiler: support java 9 bytecode version 2016-02-29 16:22:42 +03:00
Egor.Ushakov 022d552b30 IDEA-140321 Wrong current line highlighting when debugging synchronized block in decompiled code 2015-05-18 18:41:21 +03:00
Egor.Ushakov 44ba5816f2 IDEA-138578 Debugger spuriously jumps to decompiled method signature 2015-04-14 12:33:52 +03:00
Egor.Ushakov 262d580ccc decompiler: cleanup 2015-03-27 12:58:33 +03:00
Egor.Ushakov d5e22fe0c9 decompiler: map line number for catch statement 2015-03-26 16:03:59 +03:00
Egor.Ushakov ca7e2dfa1c decompiler: cleanup - marked const fields final 2015-03-26 15:28:13 +03:00
Egor.Ushakov 9ec79b5701 decompiler: line mapping for break and continue 2015-03-25 19:53:52 +03:00
Egor.Ushakov ce31439c20 decompiler: removeLast helper to avoid possible errors 2015-03-25 19:53:50 +03:00
Egor.Ushakov 5770d25e59 decompiler: create less thrown away objects - pt.2 2015-03-25 19:53:49 +03:00
Egor.Ushakov 7e30facd33 decompiler: generate line number matching for return and some other statements 2015-03-25 14:00:10 +03:00
Egor.Ushakov f3af4dd681 decompiler: create less thrown away objects 2015-03-25 14:00:09 +03:00
Egor.Ushakov 917c680276 decompiler: better line matching for single block methods 2015-03-25 12:30:07 +03:00
Egor.Ushakov 500f8b12d8 decompiler: map dummy return line to the method closing bracket 2015-03-24 17:58:08 +03:00
Egor.Ushakov ae2c64a157 tests for IDEA-135314 Inner classes constructors calls decompiled incorrectly 2015-03-02 21:00:57 +03:00
Egor.Ushakov 0488e1b937 fixed decompiler tests 2015-03-02 12:16:42 +03:00
Egor.Ushakov 635c94f023 decompiler: read sourceFile attribute 2015-01-26 21:10:14 +03:00
Egor.Ushakov 535d971c5d decompiler: dump classname in warning 2015-01-26 21:10:13 +03:00
Egor.Ushakov 5702e5dfdd decompiler: check method names for invalid symbols (mostly for groovy) 2015-01-26 12:05:21 +03:00