Commit Graph

163 Commits

Author SHA1 Message Date
Stiver e098fbf669 Unified the types of 'case' values in a switch statement 2014-08-17 19:09:28 +02:00
Stiver 929056d727 Fixed ' IDEA-128685: Incorrectly typed assignment expression' 2014-08-16 15:31:53 +02:00
Stiver c672e5bc83 Fixed 'IDEA-128676: Initializer in a nested class disappears' 2014-08-15 18:58:55 +02:00
Stiver 887c093afd Unit tests updated 2014-08-13 22:17:21 +02:00
Stiver 04b5c9abb1 Fixed 'IDEA-128595: Variable name set to "this"' 2014-08-13 22:08:06 +02:00
Stiver a2fa99e3a2 Fixed 'IDEA-128591: Infinite loop ignored' 2014-08-13 22:06:28 +02:00
Stiver 53ad2b920e Fixed 'IDEA-128593: Wrong order of switch cases' 2014-08-13 22:04:51 +02:00
Stiver de249340fc Fixed 'IDEA-128594: Variable type incorrectly set to boolean' 2014-08-13 22:03:09 +02:00
Stiver 70bf7f3f69 A couple of unit tests 2014-08-09 17:34:24 +02:00
Stiver 3b9b180d94 Fixed hang-up issue on ObjectOutputStream 2014-08-04 20:44:23 +02:00
Stiver 55beef6b7e Fixed 'IDEA-127301: NPE in decompiler' - a couple of issues with lambda processing 2014-07-28 20:13:30 +02:00
Stiver 7f116b6eb5 IDEA-127301: handling of static method references 2014-07-23 22:49:29 +02:00
Stiver 6606a474bf Fixed 'IDEA-127466: dup_x1 semantics broken' 2014-07-21 14:28:40 +02:00
Roman Shevchenko 58427deb49 missing parentheses on default constructor invocation 2014-07-18 19:34:54 +02:00
Stiver b3a1c41244 Handling of certain loop types in a finally block 2014-07-08 23:50:14 +02:00
Roman Shevchenko b668038ed9 check for code presence 2014-07-03 16:21:09 +02:00
Roman Shevchenko ef85e779c6 context cleaning 2014-07-03 15:21:11 +02:00
Roman Shevchenko 84d16304db cleanup (commented build options; formatting) 2014-06-30 11:49:42 +02:00
Roman Shevchenko 3bdda752cb cleanup (unused old class) 2014-06-30 11:49:17 +02:00
Roman Shevchenko 059cb0ff4e prefix obfuscated classes to avoid namespace pollution 2014-06-30 11:41:40 +02:00
Roman Shevchenko 9ae885c9ec escape non-printable Unicode characters in literals 2014-06-27 13:55:49 +02:00
Roman Shevchenko 4df7866a5c "ascii" option documented and used for both string and character literals 2014-06-26 15:52:47 +02:00
Roman Shevchenko b13dee2567 null check added 2014-06-26 14:09:36 +02:00
Roman Shevchenko 95476dc36b better filtering of synthetic inner classes 2014-06-26 12:42:49 +02:00
Roman Shevchenko 879330b555 minor optimization (o == this in equals) 2014-06-25 17:23:07 +02:00
Roman Shevchenko e39ae1e71d repeatable nameless class names 2014-06-25 13:37:41 +02:00
Roman Shevchenko 6e303d8592 false signatures consistency warning on enums 2014-06-25 12:40:11 +02:00
Roman Shevchenko ed04ea2d69 minor cleanup 2014-06-24 19:49:30 +02:00
Roman Shevchenko 776bb79a9c minor optimization 2014-06-24 19:48:57 +02:00
Roman Shevchenko 5e68e6346c writing line separators fixed 2014-06-23 13:17:22 +02:00
Roman Shevchenko c5c596b164 interface class renamed 2014-06-20 16:03:00 +02:00
Stiver 781a2e1cc8 removed spurious warning about 'Heavily obfuscated exception ranges' in
a loop at the beginning of a method
2014-06-11 14:55:08 +02:00
Stiver 7d44f73cb9 fixed IndexOutOfBoundsException when decompiling
StandardVariableNamesInspectionBase
2014-06-01 15:34:28 +02:00
Roman Shevchenko 7189d18bfe adjustable indentation 2014-05-30 15:44:27 +04:00
Roman Shevchenko 0a5a2c671e NPE fixed 2014-05-29 21:47:34 +04:00
Stiver c286d42c5b - fixed the IndexOutOfBoundsException exception when decompiling
FastStringBuffer   
- fixed typo in LITERALS_AS_IS definition
- some helper stuff
2014-05-29 18:13:17 +02:00
Roman Shevchenko 1119499562 accept inonsistent anonymous classes (with warning)
E.g. Groovy-compiled anonymouses extend both parent class and GroovyObject.
2014-05-28 21:56:57 +04:00
Roman Shevchenko 4996a16139 class literals in annotation attributes supported 2014-05-28 20:49:06 +04:00
Roman Shevchenko 0a66fa8925 option to pass numeric literals undecoded 2014-05-28 19:42:51 +04:00
Roman Shevchenko 5c8ad60f12 method parameter annotations fixed
(annotations table doesn't count implicit parameters)
2014-05-27 22:19:42 +04:00
Roman Shevchenko 25bd28a290 logging reworked
- implementation-specific method removed from the API
- internal exceptions handling incapsulated
2014-05-26 21:47:04 +04:00
Roman Shevchenko f221cd1c55 single "extends Object" omitted for type parameters (ultimate fix)
- sole "extends Object" ignored
- correct decompilation of <T extends I> vs. <T exends Object & I> cases
2014-05-26 20:03:22 +04:00
Roman Shevchenko e5a9687c94 Ant warning suppressed 2014-05-26 15:49:53 +04:00
Roman Shevchenko 27f08da5cb deprecation comments generation changed once again
new behavior:
- depreaction comment (/** @deprecated */) is added always
- @Deprecated annotation is added only when presented in .class file

rationale:
- both deprecation comment and @Deprecated anno produce "Deprecated" attribute
- adding annotation to members deprecated by comment (old behavior) is actually incorrect
- adding comment to members deprecated by annotation may be incorrect but is acceptable (there is no way to tell if a member was deprecated by sole annotation or both by annotation and comment)
- additional configuration option is therefore no longer needed
2014-05-26 15:49:53 +04:00
Roman Shevchenko 9e231a7e2e "Deprecated" attribute recognized 2014-05-26 15:49:53 +04:00
Roman Shevchenko 0bbab47a73 "Synthetic" attribute recognized 2014-05-24 20:54:37 +04:00
Roman Shevchenko 495589a815 natural enum formatting (injected constructor parameters omitted) 2014-05-24 14:00:22 +04:00
Roman Shevchenko 290c3ae066 leading "extends Object" omitted for type parameters 2014-05-21 12:38:35 +04:00
Roman Shevchenko c23845ae4a incorrect line separator trimming fixed 2014-05-20 22:41:10 +04:00
Roman Shevchenko 634b1faa5b order of inner classes preserved 2014-05-20 20:59:18 +04:00