It looks like fernflower
and JD Java Decompiler are producing decompiled code that is as good as is possible for this particular testcase. The other two aren't doing a good job, IMO.
What do you think, what code to write to test decompilers?
- Write more complicated code using all available constructs.
- Try them out on some real code.
- Try them out on some real code that has been obfuscated.
When trying out code that you compile from source, experiment with different "-g" options, and with different Java compilers.