.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
This may be addressed in a future release.
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
}
}
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");
}
}