Commit Graph

98 Commits

Author SHA1 Message Date
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
Roman Shevchenko
310058e6eb single "extends Object" omitted for type parameters 2014-05-20 20:59:12 +04:00
Roman Shevchenko
6c2cc096fb deprecation comments generation fixed 2014-05-19 22:24:10 +04:00
Roman Shevchenko
e1efc66c86 content supplying method exposed 2014-05-19 21:46:03 +04:00
Roman Shevchenko
ea3c37a8c2 preserve debug information 2014-05-19 21:45:00 +04:00
Roman Shevchenko
ddffcf6f94 bulid file updated
- compilation step included (main module only) to allow command-line build
- Apple JDK support added to obfuscator step
- main targets grouped at file start for better readability
2014-05-19 17:01:18 +04:00
Roman Shevchenko
78ef309b3e project cleanup
- test classes (src/test/*) moved to separate root
- stray .class files dropped
- binary files (bin/, dist/full/, dist/obfuscated/) excluded from the repo
- .classpath and .gitignore updated accordingly
- invalid import statements removed
2014-05-19 15:04:06 +04:00
Stiver
4d48812ad0 updating readme with new options 2014-04-01 15:21:37 +02:00
Stiver
988a7b935a resolving naming conflicts with local variables used in lambda
expressions
2014-03-27 16:14:29 +01:00
Stiver
bd99d3eb2f lambda expressions (Java 8) 2014-03-26 20:53:06 +01:00
Stiver
96379678e6 - method attribute 'default' (Java 8)
- instruction 'invokedynamic' (Java 7)
- bugfixing
2014-03-13 23:02:30 +01:00
Stiver
c9c426ded7 Annotation parsing (Java 8) 2014-03-06 17:13:07 +01:00
Stiver
4f879b36b4 testing git... 2014-03-04 15:23:12 +01:00
Stiver
e2d0f5d9c3 initial commit 2014-03-04 15:13:11 +01:00