.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: full int ~ 
  .frame code00000014: full int ~ 
  .frame code00000023: full int ~ java.lang.Object

.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: full int int int ~ 
  .frame code00000009: full int int int ~ 
  .frame code00000019: full int int int ~ 

.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: full int ~ 
  .frame code00000007: full int ~ 

.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: full int ~ 
  .frame code00000031: full int ~ 
  .frame code00000034: full int ~ 
  .frame code00000037: full int ~ 

.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: full java.lang.String ~ int
  .frame code00000005: full java.lang.String ~ 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: full java.lang.Object[] int int ~ 
  .frame code00000010: full java.lang.Object[] int int ~ 
  .frame code00000016: full java.lang.Object[] int int ~ 
  .frame code00000022: full java.lang.Object[] int int ~ 

.method public java.lang.String testInstance(int)
  .max_stack 2
  .max_locals 4
  @LineNumberTable 77
  code00000000: new java.lang.StringBuffer
  code00000003: dup
  code00000004: invokespecial java.lang.StringBuffer.<init>():void
  code00000007: astore_2
  @LineNumberTable 78
  code00000008: iconst_0
  code00000009: istore_3
  code00000010: iload_3
  code00000011: iload_1
  code00000012: if_icmpge code00000030:
  @LineNumberTable 79
  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 78
  code00000024: iinc 3 1
  code00000027: goto code00000010:
  @LineNumberTable 81
  code00000030: aload_2
  code00000031: invokevirtual java.lang.StringBuffer.toString():java.lang.String
  code00000034: areturn
  .frame code00000000: full pack.Source int ~ 
  .frame code00000010: full pack.Source int java.lang.StringBuffer int ~ 
  .frame code00000015: full pack.Source int java.lang.StringBuffer int ~ 
  .frame code00000030: full pack.Source int java.lang.StringBuffer int ~ 

