Roman Shevchenko
ccd7b93497
Cleanup (test)
2014-09-09 21:48:38 +04:00
Roman Shevchenko
cf72873535
IDEA-127466 (test added)
2014-09-07 16:44:22 +04:00
Roman Shevchenko
7a8097321f
java-decompiler: bulk decompilation test added
2014-09-07 16:13:52 +04:00
Roman Shevchenko
ff382a6fdf
java-decompiler: fixes and cleanups
...
- console decompiler: resource closing, lookup instead of scan, error reporting
- logger interface reworked
- saver interface renamed
- bytecode provider returns byte array (to reduce stream leakage)
- extra level of context unit avoided
- unneeded exceptions, dead code, formatting
2014-09-07 14:35:39 +04:00
Roman Shevchenko
4e79d160ca
java-decompiler: code attributes reading restored
2014-09-04 19:02:10 +04:00
Roman Shevchenko
686b5abef9
java-decompiler: optimization (empty lists allocation avoided)
2014-09-04 18:41:39 +04:00
Roman Shevchenko
1cea85e49a
java-decompiler: optimization (less string buffer allocations on generating text)
2014-09-04 14:33:34 +04:00
Roman Shevchenko
f4f9e8be28
java-decompiler: cleanups
...
- better signatures
- accurate suppression
- unused symbols
- typos
2014-09-03 13:21:31 +04:00
Roman Shevchenko
646f1c3f21
java-decompiler: hide synthetic field assignment
2014-09-03 12:52:55 +04:00
Roman Shevchenko
2df49d32a7
java-decompiler: fixes and cleanups
...
- unified attribute loading code
- common methods for checking member flags
- verifying skip()
- correct resource closing
- typos
2014-09-03 11:39:32 +04:00
Roman Shevchenko
c0c83126a6
java-decompiler: post-import cleanup (test sources reformatted)
2014-09-01 20:01:55 +04:00
Roman Shevchenko
e629738a46
java-decompiler: tests moved
2014-09-01 18:54:33 +04:00
Roman Shevchenko
d5fe121d1d
java-decompiler: post-import cleanup (OS-dependent line separator)
2014-09-01 16:19:31 +04:00
Roman Shevchenko
984af2e7d0
java-decompiler: post-import cleanup (typos)
2014-09-01 16:08:53 +04:00
Roman Shevchenko
3104531729
java-decompiler: post-import cleanup (explicit defaults for all preferences)
2014-09-01 15:58:46 +04:00
Roman Shevchenko
3854b67daa
java-decompiler: post-import cleanup (tests reorganized)
2014-09-01 15:11:41 +04:00
Roman Shevchenko
1a4e48d11d
java-decompiler: post-import cleanup (obsolete copyright option dropped)
2014-08-31 12:57:31 +04:00
Roman Shevchenko
8ef7bcb2ad
java-decompiler: post-import cleanup (readme and build file updated)
2014-08-31 12:21:32 +04:00
Roman Shevchenko
f5431c3bb1
java-decompiler: post-import cleanup (common fixes and optimizations)
2014-08-29 21:58:12 +04:00
Roman Shevchenko
63b8d35d08
java-decompiler: post-import cleanup (dead code dropped)
2014-08-29 21:57:50 +04:00
Roman Shevchenko
84ea54eb1e
java-decompiler: post-import cleanup (code style issues)
2014-08-29 14:57:29 +04:00
Roman Shevchenko
076e4393f2
java-decompiler: post-import cleanup (formatting and copyright)
2014-08-28 21:34:19 +04:00
Roman Shevchenko
663631f045
java-decompiler: post-import cleanup (classes moved)
2014-08-28 20:52:43 +04:00
Roman Shevchenko
f864084061
java-decompiler: post-import cleanup (root package renamed)
2014-08-28 20:50:00 +04:00
Roman Shevchenko
270a3f6e22
java-decompiler: post-import cleanup (unneeded files dropped)
2014-08-28 20:31:35 +04:00
Roman Shevchenko
58427deb49
missing parentheses on default constructor invocation
2014-07-18 19:34:54 +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
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
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