I found what's supposed to be one of the best Java decompilers. Here's a list of the bugs:
Cannot reliably sort out the extra arguments added to class constructors by Java compiler. Can generate constructors with an incorrect number of arguments or can fail to declare some local variables as final.
ZIP and JAR files are not supported. However you can unzip those files and decompile the whole class tree.
In those rare cases when unable to fully decompile constructs like labeled blocks with breaks or nested loops with inter-loop break/continue statements it generates the source with labels and goto statements which reflects program's control flow and displays the message "Couldn't fully decompile method <name>". Also when unable to reconstruct all try-catch-finally statements it displays the message "Couldn't resolve all exception handlers in method <name>".
Ignores the contents of the Line Number Table Attribute and the Source File Attribute.
Makes no use of the Java class hierarchy information. Consequently, always chooses java.lang.Object as a common superclass of two different classes and inserts auxiliary casts where necessary.
Doesn't handle inlined functions well.
Maybe there are commercial decompilers that work better, but price would be a roadblock to some potential piraters.
I want to pile on as many layers of protection as I can, especially when they're free and easy, as a compiler would be.
In reply to Re^19: Perl 6 ... dead? (no, just convalescing)
by Wassercrats
in thread Perl 6 ... dead?
by hartwig
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |