Commit Graph
64 Commits
Author SHA1 Message Date
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