Commit Graph
95 Commits
Author SHA1 Message Date
Roman Shevchenko a721490f62 IDEA-127182 (passing line number map to debugger) 2014-10-17 21:35:16 +02:00
Roman Shevchenko ce721c7acd java-decompiler: test fix 2014-10-17 20:14:28 +02:00
Roman Shevchenko 3199686543 Cleanup (formatting; typos) 2014-10-17 20:14:03 +02:00
Roman Shevchenko 08c4c683a1 java-decompiler: print mapping table only in unit test mode 2014-10-17 18:22:31 +02:00
Roman Shevchenko 2d36ea60eb Cleanup (formatting; typos) 2014-10-17 18:21:37 +02:00
Roman Shevchenko fdc75e3c80 java-decompiler: build script fixed to not fail too early 2014-10-17 15:22:59 +02:00
Roman Shevchenko b3681fe952 Cleanup (test extracted to make option setting per-class instead of per-test) 2014-10-16 13:52:44 +02:00
Roman Shevchenko 46b494f26f java-decompiler: do not indent log by unprinted messages 2014-10-14 18:33:37 +02:00
Roman Shevchenko 6889e7435a EA-41231 (omit synthetic inner class constructor parameter) 2014-10-14 18:32:15 +02:00
Roman Shevchenko 373ca99e37 Cleanup (formatting; naming) 2014-10-14 15:27:13 +02:00
Roman Shevchenko 848c420977 java-decompiler: line numbers matching test 2014-10-14 13:35:29 +02:00
Roman Shevchenko e0f22e6629 java-decompiler: test classes recompiled to match source line numbers 2014-10-09 18:54:16 +02:00
Roman Shevchenko ce2169f372 java-decompiler: base class extracted to allow decompiler customization in tests 2014-10-09 18:34:08 +02:00
Roman Shevchenko 41b8ab9299 java-decompiler: minor optimization 2014-10-08 13:27:11 +02:00
Roman Shevchenko 1e3d5276a8 java-decompiler: class name logging on non-fatal errors 2014-10-08 08:18:26 +02:00
Roman Shevchenko d96104bdec Cleanup (formatting) 2014-10-07 21:45:26 +02:00
Roman Shevchenko bef17b44fc java-decompiler: minor optimization (no more empty array creation) 2014-10-06 17:26:24 +02:00
Roman Shevchenko 8462998a86 java-decompiler: minor optimization 2014-10-06 12:34:49 +03:00
Roman Shevchenko 18a9c2851b Cleanup (formatting) 2014-10-06 12:32:02 +03:00
Roman Shevchenko 6d2b94910c java-decompiler: modules reorganized 2014-10-06 11:29:52 +03:00
Roman Shevchenko 07ca9cf062 java-decompiler: unwanted dependency dropped 2014-10-06 10:10:01 +03:00
Roman Shevchenko 512a08c13e tests: decompiler test data lookup fixed for particular build configuration 2014-10-02 13:58:48 +02:00
Roman Shevchenko 91c64c5a94 Cleanup (loop invariant optimization; formatting) 2014-09-29 17:16:42 +02:00
Roman Shevchenko 5349ad435b IDEA-130478 (optimization of 6fcac6a5: less short-lived objects) 2014-09-29 13:15:57 +02:00
Roman Shevchenko a4054817d2 EA-60512 (better logging) 2014-09-16 17:29:40 +04:00
Roman Shevchenko e1d1425f22 java-decompiler: fix for broken Git checkout on Windows 2014-09-12 19:26:15 +04:00
Roman Shevchenko e90f1de039 IDEA-129221 (tolerate invalid signature attributes) 2014-09-12 17:30:26 +04:00
Roman Shevchenko e2f7d09f37 java-decompiler: force decompiled test data to be text files 2014-09-12 13:31:19 +04:00
Roman Shevchenko 69dc786510 java-decompiler: NPE in test fixture; diagnostic 2014-09-12 12:51:55 +04:00
Roman Shevchenko e74977d467 IDEA-128685 (test added) 2014-09-12 10:29:13 +04:00
Roman Shevchenko 95cd67883e IDEA-128676 (test added) 2014-09-11 16:18:02 +04:00
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