Commit Graph

77 Commits

Author SHA1 Message Date
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