This is the Jasmin (essentially Java "assembly language" source code for the optimised bytecode decompiler tests. It was created with
soot -s -O Main
where soot is a simple script containing
java -cp .:paths:to:soot:and:jasmin soot.Main $@=
Soot is a Java bytecode manipulation tool from Sable University; see http://www.sable.mcgill.ca/soot/


.method public static f(S)V
    .limit stack 3
    .limit locals 2
    iload_0
    bipush 10
    if_icmple label0
    new Rectangle
    astore_1
    aload_1
    iload_0
    iload_0
    invokespecial Rectangle/<init>(SS)V
    aload_1
    invokevirtual Rectangle/isFat()Z
    istore_0
    aload_1
    astore_1
    goto label1
label0:
    new Circle
    astore_1
    aload_1
    iload_0
    invokespecial Circle/<init>(I)V
    aload_1
    invokevirtual Circle/isFat()Z
    istore_0
    aload_1
    astore_1
label1:
    iload_0
    ifne label2
    aload_1
    invokeinterface Drawable/draw()V 1
label2:
    return
.end method

.method public static main([Ljava/lang/String;)V
    .limit stack 1
    .limit locals 1
    bipush 11
    invokestatic Main/f(S)V
    return
.end method
-- MikeVanEmmerik - 12 Feb 2003

Revision: r1.3 - 13 Feb 2003 - 22:17 - MikeVanEmmerik
Copyright © 1999-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback