-
Notifications
You must be signed in to change notification settings - Fork 261
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Incorrect decompilation for anonymous class with parameter #50
Comments
Oh, that's nice. The synthetic inner class is actually static, it's supposed to have a static marker, but it doesn't, which is entirely valid. I wonder what compiler generated that..... |
Oh, I incorrectly reported that is was compiled with javac, but it was actually compiled with eclipse jdt. (More precisely with maven plugin plexus-compiler-eclipse version 2.8.4) |
Ah, nice. JDT does all sorts of horrible and weird things (and outputs unsafe code in places). Still, I really need to compile up my entire test set using JDT - one to add to https://github.com/leibnitz27/cfr_tests/blob/master/pom.xml |
Oh, I forgot - jdk also does this since java 9. (doesn't mark static anonymous inners as static). Makes sense. The fix as committed is useful to have anyway! |
Hello,
I might have found a bug where cfr-0.148 decompiles a synthetic field in an anonymous class a bit too literally:
Original java code (from junit4)
is decompiled (by cfr-0.148) as
When compiling the original sources with javac, the parameter
runner
is put in a synthetic field in the anonymous class.Disassembled bytecode of the anonymous class:
Bytecode beeing decompiled:
Request.zip
The text was updated successfully, but these errors were encountered: