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/(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/(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 -- Main.MikeVanEmmerik - 12 Feb 2003