.version 49 0 .source Example.java .class super public Example .super java/lang/Object .method public <init> : ()V .limit stack 1 .limit locals 1 aload_0 invokespecial java/lang/Object <init> ()V return .end method .method static public main : ([Ljava/lang/String;)V .limit stack 2 .limit locals 1 goto first second: getstatic java/lang/System out Ljava/io/PrintStream; ldc 'Hello world' invokevirtual java/io/PrintStream println (Ljava/lang/String;)V goto third first: goto_w second third: return .end method
JD-GUI 1.4.0 public class Example { /* Error */ public static void main(String[] arg0) { // Byte code: // 0: goto +14 -> 14 // 3: getstatic 17 java/lang/System:out Ljava/io/PrintStream; // 6: ldc 1 // 8: invokevirtual 23 java/io/PrintStream:println (Ljava/lang/String;)V // 11: goto +8 -> 19 // 14: goto_w -1 -1 -1 -11 // 19: return } }
This may be addressed in a future release.
Procyon 0.5.26 (via Luyten) import java.lang.String; public class Example { public Example() { super(); } public static void main(final String[] p0); }

This is easily the most notorious of them all. It was discovered almost a year ago, I reported, and it was fixed.

CFR 0.105 /* * Decompiled with CFR 0_105. */ import java.io.PrintStream; public class Example { /* * Enabled force condition propagation * Lifted jumps to return sites */ public static void main(String[] arrstring) { System.out.println("Hello world"); } }
Fernflower @810818e public class Example { public static void main(String[] var0) { System.out.println("Hello world"); } }