.class public final super pack.Source
.extends java.lang.Object
  @SourceFile "Source.java"


.method public void <init>()
  .max_stack 1
  .max_locals 1
  @LineNumberTable 21
  code00000000: aload_0
  code00000001: invokespecial java.lang.Object.<init>():void
  code00000004: return
  .frame code00000000: full uninit_this ~ 

.method public static void main(java.lang.String[])
  .max_stack 0
  .max_locals 1
  @LineNumberTable 24
  code00000000: return
  .frame code00000000: full java.lang.String[] ~ 

.method public static void testConstruction()
  .max_stack 3
  .max_locals 0
  @LineNumberTable 69
  code00000000: getstatic java.lang.System.out:java.io.PrintStream
  code00000003: new java.lang.Object
  code00000006: dup
  code00000007: invokespecial java.lang.Object.<init>():void
  code00000010: invokevirtual java.io.PrintStream.println(java.lang.Object):void
  @LineNumberTable 70
  code00000013: return
  .frame code00000000: full  ~ 

.method public static java.lang.Object testDiff(boolean)
  .max_stack 3
  .max_locals 1
  @LineNumberTable 73
  code00000000: iload_0
  code00000001: ifeq code00000014:
  code00000004: new java.lang.Object
  code00000007: dup
  code00000008: invokespecial java.lang.Object.<init>():void
  code00000011: goto code00000023:
  code00000014: new java.lang.String
  code00000017: dup
  code00000018: ldc ""
  code00000020: invokespecial java.lang.String.<init>(java.lang.String):void
  code00000023: invokevirtual java.lang.Object.toString():java.lang.String
  code00000026: areturn
  .frame code00000000: full int ~ 
  .frame code00000004: same
  .frame code00000014: same
  .frame code00000023: same_locals java.lang.Object

.method public static double testDouble(int)
  .max_stack 4
  .max_locals 7
  @LineNumberTable 89
  code00000000: dconst_0
  code00000001: dstore_1
  @LineNumberTable 90
  code00000002: iconst_0
  code00000003: istore_3
  code00000004: iload_3
  code00000005: iload_0
  code00000006: if_icmpge code00000046:
  @LineNumberTable 91
  code00000009: dconst_0
  code00000010: dstore 4
  @LineNumberTable 92
  code00000012: iconst_0
  code00000013: istore 6
  code00000015: iload 6
  code00000017: iload_0
  code00000018: if_icmpge code00000035:
  @LineNumberTable 93
  code00000021: dload 4
  code00000023: iload 6
  code00000025: i2d
  code00000026: dadd
  code00000027: dstore 4
  @LineNumberTable 92
  code00000029: iinc 6 1
  code00000032: goto code00000015:
  @LineNumberTable 95
  code00000035: dload_1
  code00000036: dload 4
  code00000038: dadd
  code00000039: dstore_1
  @LineNumberTable 90
  code00000040: iinc 3 1
  code00000043: goto code00000004:
  @LineNumberTable 97
  code00000046: dload_1
  code00000047: dreturn
  .frame code00000000: full int ~ 
  .frame code00000004: append double int
  .frame code00000009: same
  .frame code00000015: append double int
  .frame code00000021: same
  .frame code00000035: same
  .frame code00000046: chop 2

.method public static int testFor(int)
  .max_stack 2
  .max_locals 3
  @LineNumberTable 35
  code00000000: iconst_0
  code00000001: istore_1
  @LineNumberTable 36
  code00000002: iconst_1
  code00000003: istore_2
  code00000004: iload_2
  code00000005: iload_0
  code00000006: if_icmpge code00000019:
  @LineNumberTable 37
  code00000009: iload_1
  code00000010: iload_2
  code00000011: iadd
  code00000012: istore_1
  @LineNumberTable 36
  code00000013: iinc 2 1
  code00000016: goto code00000004:
  @LineNumberTable 39
  code00000019: iload_1
  code00000020: ireturn
  .frame code00000000: full int ~ 
  .frame code00000004: append int int
  .frame code00000009: same
  .frame code00000019: same

.method public static int testIf(int)
  .max_stack 2
  .max_locals 1
  @LineNumberTable 27
  code00000000: iload_0
  code00000001: iconst_3
  code00000002: if_icmpge code00000007:
  @LineNumberTable 28
  code00000005: iconst_0
  code00000006: ireturn
  @LineNumberTable 30
  code00000007: iconst_1
  code00000008: ireturn
  .frame code00000000: full int ~ 
  .frame code00000005: same
  .frame code00000007: same

.method public static long testLong(int)
  .max_stack 4
  .max_locals 7
  @LineNumberTable 77
  code00000000: lconst_0
  code00000001: lstore_1
  @LineNumberTable 78
  code00000002: iconst_0
  code00000003: istore_3
  code00000004: iload_3
  code00000005: iload_0
  code00000006: if_icmpge code00000046:
  @LineNumberTable 79
  code00000009: lconst_0
  code00000010: lstore 4
  @LineNumberTable 80
  code00000012: iconst_0
  code00000013: istore 6
  code00000015: iload 6
  code00000017: iload_0
  code00000018: if_icmpge code00000035:
  @LineNumberTable 81
  code00000021: lload 4
  code00000023: iload 6
  code00000025: i2l
  code00000026: ladd
  code00000027: lstore 4
  @LineNumberTable 80
  code00000029: iinc 6 1
  code00000032: goto code00000015:
  @LineNumberTable 83
  code00000035: lload_1
  code00000036: lload 4
  code00000038: ladd
  code00000039: lstore_1
  @LineNumberTable 78
  code00000040: iinc 3 1
  code00000043: goto code00000004:
  @LineNumberTable 85
  code00000046: lload_1
  code00000047: lreturn
  .frame code00000000: full int ~ 
  .frame code00000004: append long int
  .frame code00000009: same
  .frame code00000015: append long int
  .frame code00000021: same
  .frame code00000035: same
  .frame code00000046: chop 2

.method public static java.lang.String testSwitch(int)
  .max_stack 1
  .max_locals 1
  @LineNumberTable 60
  code00000000: iload_0
  code00000001: tableswitch code00000037: 0 2
    => code00000028:
    => code00000031:
    => code00000034:
  @LineNumberTable 61
  code00000028: ldc "never"
  code00000030: areturn
  @LineNumberTable 62
  code00000031: ldc "once"
  code00000033: areturn
  @LineNumberTable 63
  code00000034: ldc "twice"
  code00000036: areturn
  @LineNumberTable 64
  code00000037: ldc "many"
  code00000039: areturn
  .frame code00000000: full int ~ 
  .frame code00000028: same
  .frame code00000031: same
  .frame code00000034: same
  .frame code00000037: same

.method public static int testTry(java.lang.String)
  .max_stack 1
  .max_locals 2
  @LineNumberTable 53
  code00000000: aload_0
  code00000001: invokestatic java.lang.Integer.parseInt(java.lang.String):int
  code00000004: ireturn
  @LineNumberTable 54
  code00000005: astore_1
  @LineNumberTable 55
  code00000006: iconst_0
  code00000007: ireturn
  .catch code00000000: code00000004: code00000005: java.lang.Throwable
  .frame code00000000: full java.lang.String ~ 
  .frame code00000004: same_locals int
  .frame code00000005: same_locals java.lang.Throwable

.method public static int testWhile(java.lang.Object[])
  .max_stack 2
  .max_locals 3
  @LineNumberTable 43
  code00000000: aload_0
  code00000001: arraylength
  code00000002: istore_1
  @LineNumberTable 44
  code00000003: iconst_0
  code00000004: istore_2
  @LineNumberTable 45
  code00000005: iload_2
  code00000006: iload_1
  code00000007: if_icmpge code00000022:
  code00000010: aload_0
  code00000011: iload_2
  code00000012: aaload
  code00000013: ifnull code00000022:
  @LineNumberTable 46
  code00000016: iinc 2 1
  code00000019: goto code00000005:
  @LineNumberTable 48
  code00000022: iload_2
  code00000023: ireturn
  .frame code00000000: full java.lang.Object[] ~ 
  .frame code00000005: append int int
  .frame code00000010: same
  .frame code00000016: same
  .frame code00000022: same

.method public java.lang.String testInstance(int)
  .max_stack 2
  .max_locals 4
  @LineNumberTable 101
  code00000000: new java.lang.StringBuffer
  code00000003: dup
  code00000004: invokespecial java.lang.StringBuffer.<init>():void
  code00000007: astore_2
  @LineNumberTable 102
  code00000008: iconst_0
  code00000009: istore_3
  code00000010: iload_3
  code00000011: iload_1
  code00000012: if_icmpge code00000030:
  @LineNumberTable 103
  code00000015: aload_2
  code00000016: aload_0
  code00000017: invokevirtual java.lang.Object.toString():java.lang.String
  code00000020: invokevirtual java.lang.StringBuffer.append(java.lang.String):java.lang.StringBuffer
  code00000023: pop
  @LineNumberTable 102
  code00000024: iinc 3 1
  code00000027: goto code00000010:
  @LineNumberTable 105
  code00000030: aload_2
  code00000031: invokevirtual java.lang.StringBuffer.toString():java.lang.String
  code00000034: areturn
  .frame code00000000: full pack.Source int ~ 
  .frame code00000010: append java.lang.StringBuffer int
  .frame code00000015: same
  .frame code00000030: same

