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


.field private static int COUNTER

.field private static final float FIELD

.field private final int id


.method static void <clinit>()
  .max_stack 3
  .max_locals 2
  @LineNumberTable 12
  code00000000: fconst_0
  code00000001: fstore_0
  @LineNumberTable 13
  code00000002: iconst_0
  code00000003: istore_1
  code00000004: iload_1
  code00000005: iconst_5
  code00000006: if_icmpge code00000022:
  @LineNumberTable 14
  code00000009: fload_0
  code00000010: iload_1
  code00000011: iload_1
  code00000012: imul
  code00000013: i2f
  code00000014: fadd
  code00000015: fstore_0
  @LineNumberTable 13
  code00000016: iinc 1 1
  code00000019: goto code00000004:
  @LineNumberTable 16
  code00000022: fload_0
  code00000023: putstatic pack.TestDasm.FIELD:float
  @LineNumberTable 17
  code00000026: return
  .frame code00000004: append float int
  .frame code00000022: chop 1

.method public void <init>()
  .max_stack 4
  .max_locals 1
  @LineNumberTable 19
  code00000000: aload_0
  code00000001: invokespecial java.lang.Object.<init>():void
  @LineNumberTable 20
  code00000004: aload_0
  code00000005: getstatic pack.TestDasm.COUNTER:int
  code00000008: dup
  code00000009: iconst_1
  code00000010: iadd
  code00000011: putstatic pack.TestDasm.COUNTER:int
  code00000014: putfield pack.TestDasm.id:int
  @LineNumberTable 21
  code00000017: return

.method public static int f(boolean,int,float)
  .max_stack 2
  .max_locals 3
  @LineNumberTable 24
  code00000000: iload_0
  code00000001: ifeq code00000009:
  @LineNumberTable 25
  code00000004: iload_1
  code00000005: fload_2
  code00000006: f2i
  code00000007: isub
  code00000008: ireturn
  @LineNumberTable 27
  code00000009: iload_1
  code00000010: fload_2
  code00000011: f2i
  code00000012: iadd
  code00000013: ireturn
  .frame code00000009: same

.method public varargs int sum(int[])
  .max_stack 2
  .max_locals 7
  @LineNumberTable 37
  code00000000: iconst_0
  code00000001: istore_2
  @LineNumberTable 38
  code00000002: aload_1
  code00000003: astore_3
  code00000004: aload_3
  code00000005: arraylength
  code00000006: istore 4
  code00000008: iconst_0
  code00000009: istore 5
  code00000011: iload 5
  code00000013: iload 4
  code00000015: if_icmpge code00000035:
  code00000018: aload_3
  code00000019: iload 5
  code00000021: iaload
  code00000022: istore 6
  @LineNumberTable 39
  code00000024: iload_2
  code00000025: iload 6
  code00000027: iadd
  code00000028: istore_2
  @LineNumberTable 38
  code00000029: iinc 5 1
  code00000032: goto code00000011:
  @LineNumberTable 41
  code00000035: iload_2
  code00000036: ireturn
  .frame code00000011: full pack.TestDasm int[] int int[] int int ~ 
  .frame code00000035: chop 3

.method public long g(int)
  .max_stack 6
  .max_locals 2
  @LineNumberTable 32
  code00000000: getstatic java.lang.System.out:java.io.PrintStream
  code00000003: ldc "TestDasm.g(%d)\n"
  code00000005: iconst_1
  code00000006: anewarray java.lang.Object
  code00000009: dup
  code00000010: iconst_0
  code00000011: iload_1
  code00000012: invokestatic java.lang.Integer.valueOf(int):java.lang.Integer
  code00000015: aastore
  code00000016: invokevirtual java.io.PrintStream.printf(java.lang.String,java.lang.Object[]):java.io.PrintStream
  code00000019: pop
  @LineNumberTable 33
  code00000020: iconst_1
  code00000021: iload_1
  code00000022: fconst_1
  code00000023: invokestatic pack.TestDasm.f(boolean,int,float):int
  code00000026: i2l
  code00000027: lreturn

