public class WrapperGenerator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: WrapperGenerator
  super_class: java.lang.Object
{
  private static final java.util.logging.Logger log;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  boolean generateLog;
    descriptor: Z
    flags: (0x0000) 

  boolean wide;
    descriptor: Z
    flags: (0x0000) 

  private static java.nio.charset.Charset charset;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  java.lang.String package_name;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String package_path;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String sizerFileName;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String defaultBaseClass;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String compile_options;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  static java.util.Hashtable symbolTable;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0008) ACC_STATIC

  static java.util.Hashtable sizeTable32bit;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0008) ACC_STATIC

  static java.util.Hashtable sizeTable64bit;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0008) ACC_STATIC

  static java.util.Hashtable knownSizes32;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0008) ACC_STATIC

  static java.util.Hashtable knownSizes64;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 37
            ldc "WrapperGenerator"
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
            putstatic WrapperGenerator.log:Ljava/util/logging/Logger;
         1: .line 40
            ldc "ISO-8859-15"
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            putstatic WrapperGenerator.charset:Ljava/nio/charset/Charset;
         2: .line 48
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
         3: .line 49
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putstatic WrapperGenerator.sizeTable32bit:Ljava/util/Hashtable;
         4: .line 50
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putstatic WrapperGenerator.sizeTable64bit:Ljava/util/Hashtable;
         5: .line 51
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putstatic WrapperGenerator.knownSizes32:Ljava/util/Hashtable;
         6: .line 52
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putstatic WrapperGenerator.knownSizes64:Ljava/util/Hashtable;
         7: .line 58
            getstatic WrapperGenerator.knownSizes64:Ljava/util/Hashtable;
            ldc "XComposeStatus"
            bipush 16
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 59
            getstatic WrapperGenerator.knownSizes64:Ljava/util/Hashtable;
            ldc "XTimeCoord"
            bipush 16
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 60
            getstatic WrapperGenerator.knownSizes64:Ljava/util/Hashtable;
            ldc "XExtData"
            bipush 32
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 61
            getstatic WrapperGenerator.knownSizes64:Ljava/util/Hashtable;
            ldc "XWindowChanges"
            bipush 40
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 62
            getstatic WrapperGenerator.knownSizes64:Ljava/util/Hashtable;
            ldc "XOMCharSetList"
            bipush 16
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 63
            getstatic WrapperGenerator.knownSizes64:Ljava/util/Hashtable;
            ldc "XModifierKeymap"
            bipush 16
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 64
            getstatic WrapperGenerator.knownSizes32:Ljava/util/Hashtable;
            ldc "XIMValuesList"
            bipush 8
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 65
            getstatic WrapperGenerator.knownSizes32:Ljava/util/Hashtable;
            ldc "XGCValues"
            bipush 92
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 67
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.String makeComment(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // WrapperGenerator this
        start local 1 // java.lang.String str
         0: .line 631
            new java.util.StringTokenizer
            dup
            aload 1 /* str */
            ldc "\r\n"
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* st */
        start local 2 // java.util.StringTokenizer st
         1: .line 632
            ldc ""
            astore 3 /* ret */
        start local 3 // java.lang.String ret
         2: .line 634
            goto 4
         3: .line 636
      StackMap locals: java.util.StringTokenizer java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* ret */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "//"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* ret */
         4: .line 634
      StackMap locals:
      StackMap stack:
            aload 2 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 3
         5: .line 639
            aload 3 /* ret */
            areturn
        end local 3 // java.lang.String ret
        end local 2 // java.util.StringTokenizer st
        end local 1 // java.lang.String str
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  LWrapperGenerator;
            0    6     1   str  Ljava/lang/String;
            1    6     2    st  Ljava/util/StringTokenizer;
            2    6     3   ret  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      str   

  public java.lang.String getJavaTypeForSize(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // WrapperGenerator this
        start local 1 // int size
         0: .line 643
            iload 1 /* size */
            tableswitch { // 1 - 8
                    1: 1
                    2: 2
                    3: 5
                    4: 3
                    5: 5
                    6: 5
                    7: 5
                    8: 4
              default: 5
          }
         1: .line 644
      StackMap locals:
      StackMap stack:
            ldc "byte"
            areturn
         2: .line 645
      StackMap locals:
      StackMap stack:
            ldc "short"
            areturn
         3: .line 646
      StackMap locals:
      StackMap stack:
            ldc "int"
            areturn
         4: .line 647
      StackMap locals:
      StackMap stack:
            ldc "long"
            areturn
         5: .line 648
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* size */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int size
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  LWrapperGenerator;
            0    6     1  size  I
    MethodParameters:
      Name  Flags
      size  

  public java.lang.String getOffsets(WrapperGenerator$StructType, WrapperGenerator$AtomicType, boolean);
    descriptor: (LWrapperGenerator$StructType;LWrapperGenerator$AtomicType;Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // WrapperGenerator this
        start local 1 // WrapperGenerator$StructType stp
        start local 2 // WrapperGenerator$AtomicType atp
        start local 3 // boolean wide
         0: .line 653
            new java.lang.StringBuilder
            dup
            aload 1 /* stp */
            invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* atp */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* key */
        start local 4 // java.lang.String key
         1: .line 654
            iload 3 /* wide */
            ifeq 2
            getstatic WrapperGenerator.sizeTable64bit:Ljava/util/Hashtable;
            aload 4 /* key */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: getstatic WrapperGenerator.sizeTable32bit:Ljava/util/Hashtable;
            aload 4 /* key */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 4 // java.lang.String key
        end local 3 // boolean wide
        end local 2 // WrapperGenerator$AtomicType atp
        end local 1 // WrapperGenerator$StructType stp
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  LWrapperGenerator;
            0    4     1   stp  LWrapperGenerator$StructType;
            0    4     2   atp  LWrapperGenerator$AtomicType;
            0    4     3  wide  Z
            1    4     4   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      stp   
      atp   
      wide  

  public java.lang.String getStructSize(WrapperGenerator$StructType, boolean);
    descriptor: (LWrapperGenerator$StructType;Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // WrapperGenerator this
        start local 1 // WrapperGenerator$StructType stp
        start local 2 // boolean wide
         0: .line 659
            iload 2 /* wide */
            ifeq 1
            getstatic WrapperGenerator.sizeTable64bit:Ljava/util/Hashtable;
            aload 1 /* stp */
            invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic WrapperGenerator.sizeTable32bit:Ljava/util/Hashtable;
            aload 1 /* stp */
            invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 2 // boolean wide
        end local 1 // WrapperGenerator$StructType stp
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  LWrapperGenerator;
            0    3     1   stp  LWrapperGenerator$StructType;
            0    3     2  wide  Z
    MethodParameters:
      Name  Flags
      stp   
      wide  

  public int getLongSize(boolean);
    descriptor: (Z)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // WrapperGenerator this
        start local 1 // boolean wide
         0: .line 664
            iload 1 /* wide */
            ifeq 1
            getstatic WrapperGenerator.sizeTable64bit:Ljava/util/Hashtable;
            ldc "long"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic WrapperGenerator.sizeTable32bit:Ljava/util/Hashtable;
            ldc "long"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
      StackMap locals:
      StackMap stack: java.lang.String
         2: invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            ireturn
        end local 1 // boolean wide
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  LWrapperGenerator;
            0    3     1  wide  Z
    MethodParameters:
      Name  Flags
      wide  

  public int getPtrSize(boolean);
    descriptor: (Z)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // WrapperGenerator this
        start local 1 // boolean wide
         0: .line 669
            iload 1 /* wide */
            ifeq 1
            getstatic WrapperGenerator.sizeTable64bit:Ljava/util/Hashtable;
            ldc "ptr"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic WrapperGenerator.sizeTable32bit:Ljava/util/Hashtable;
            ldc "ptr"
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
      StackMap locals:
      StackMap stack: java.lang.String
         2: invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            ireturn
        end local 1 // boolean wide
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  LWrapperGenerator;
            0    3     1  wide  Z
    MethodParameters:
      Name  Flags
      wide  

  public int getBoolSize(boolean);
    descriptor: (Z)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // WrapperGenerator this
        start local 1 // boolean wide
         0: .line 672
            aload 0 /* this */
            ldc "Bool"
            iload 1 /* wide */
            invokevirtual WrapperGenerator.getOrdinalSize:(Ljava/lang/String;Z)I
            ireturn
        end local 1 // boolean wide
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  LWrapperGenerator;
            0    1     1  wide  Z
    MethodParameters:
      Name  Flags
      wide  

  public int getOrdinalSize(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // WrapperGenerator this
        start local 1 // java.lang.String ordinal
        start local 2 // boolean wide
         0: .line 675
            iload 2 /* wide */
            ifeq 1
            getstatic WrapperGenerator.sizeTable64bit:Ljava/util/Hashtable;
            aload 1 /* ordinal */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic WrapperGenerator.sizeTable32bit:Ljava/util/Hashtable;
            aload 1 /* ordinal */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
      StackMap locals:
      StackMap stack: java.lang.String
         2: invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            ireturn
        end local 2 // boolean wide
        end local 1 // java.lang.String ordinal
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  LWrapperGenerator;
            0    3     1  ordinal  Ljava/lang/String;
            0    3     2     wide  Z
    MethodParameters:
         Name  Flags
      ordinal  
      wide     

  public void writeToString(WrapperGenerator$StructType, java.io.PrintWriter);
    descriptor: (LWrapperGenerator$StructType;Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // WrapperGenerator this
        start local 1 // WrapperGenerator$StructType stp
        start local 2 // java.io.PrintWriter pw
         0: .line 680
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\n\n\tString getName() {\n\t\treturn \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* stp */
            invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\"; \n\t}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 681
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\n\n\tString getFieldsAsString() {\n\t\tStringBuilder ret = new StringBuilder("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* stp */
            invokevirtual WrapperGenerator$StructType.getNumFields:()I
            bipush 40
            imul
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ");\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 683
            aload 1 /* stp */
            invokevirtual WrapperGenerator$StructType.getMembers:()Ljava/util/Enumeration;
            astore 4 /* e */
        start local 4 // java.util.Enumeration e
         3: goto 27
         4: .line 684
      StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter top java.util.Enumeration
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast WrapperGenerator$AtomicType
            astore 5 /* tp */
        start local 5 // WrapperGenerator$AtomicType tp
         5: .line 686
            aload 5 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getType:()I
            istore 3 /* type */
        start local 3 // int type
         6: .line 687
            aload 5 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            bipush 46
            bipush 95
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         7: .line 688
            aload 6 /* name */
            ifnull 27
            aload 6 /* name */
            invokevirtual java.lang.String.length:()I
            ifle 27
         8: .line 690
            iload 3 /* type */
            bipush 12
            if_icmpne 11
         9: .line 691
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\tret.append(\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " = \" ).append( XAtom.get(get_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "()) ).append(\", \");"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        10: .line 692
            goto 27
      StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter int java.util.Enumeration WrapperGenerator$AtomicType java.lang.String
      StackMap stack:
        11: aload 6 /* name */
            ldc "type"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 693
            aload 2 /* pw */
            ldc "\t\tret.append(\"type = \").append( XlibWrapper.eventToString[get_type()] ).append(\", \");"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        13: .line 694
            goto 27
      StackMap locals:
      StackMap stack:
        14: aload 6 /* name */
            ldc "window"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        15: .line 695
            aload 2 /* pw */
            ldc "\t\tret.append(\"window = \" ).append( getWindow(get_window()) ).append(\", \");"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        16: .line 696
            goto 27
      StackMap locals:
      StackMap stack:
        17: iload 3 /* type */
            bipush 10
            if_icmpne 26
        18: .line 697
            aload 2 /* pw */
            ldc "\t\tret.append(\"{\")"
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        19: .line 698
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        20: goto 23
        21: .line 699
      StackMap locals: int
      StackMap stack:
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\n\t\t.append( get_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 7 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") ).append(\" \")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        22: .line 698
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 7 /* i */
            aload 5 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getArrayLength:()I
            if_icmplt 21
        end local 7 // int i
        24: .line 701
            aload 2 /* pw */
            ldc ".append( \"}\");"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        25: .line 702
            goto 27
        26: .line 703
      StackMap locals:
      StackMap stack:
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\tret.append(\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " = \").append( get_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "() ).append(\", \");"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 6 // java.lang.String name
        end local 5 // WrapperGenerator$AtomicType tp
        end local 3 // int type
        27: .line 683
      StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter top java.util.Enumeration
      StackMap stack:
            aload 4 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 4
        end local 4 // java.util.Enumeration e
        28: .line 708
            aload 2 /* pw */
            ldc "\t\treturn ret.toString();\n\t}\n\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        29: .line 709
            return
        end local 2 // java.io.PrintWriter pw
        end local 1 // WrapperGenerator$StructType stp
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   30     0  this  LWrapperGenerator;
            0   30     1   stp  LWrapperGenerator$StructType;
            0   30     2    pw  Ljava/io/PrintWriter;
            6   27     3  type  I
            3   28     4     e  Ljava/util/Enumeration;
            5   27     5    tp  LWrapperGenerator$AtomicType;
            7   27     6  name  Ljava/lang/String;
           20   24     7     i  I
    MethodParameters:
      Name  Flags
      stp   
      pw    

  public void writeStubs(WrapperGenerator$StructType, java.io.PrintWriter);
    descriptor: (LWrapperGenerator$StructType;Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // WrapperGenerator this
        start local 1 // WrapperGenerator$StructType stp
        start local 2 // java.io.PrintWriter pw
         0: .line 713
            ldc ""
            astore 4 /* prefix */
        start local 4 // java.lang.String prefix
         1: .line 714
            aload 1 /* stp */
            invokevirtual WrapperGenerator$StructType.getIsInterface:()Z
            ifne 4
         2: .line 715
            ldc "\t\tabstract "
            astore 4 /* prefix */
         3: .line 716
            goto 5
         4: .line 717
      StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter top java.lang.String
      StackMap stack:
            ldc "\t"
            astore 4 /* prefix */
         5: .line 719
      StackMap locals:
      StackMap stack:
            aload 1 /* stp */
            invokevirtual WrapperGenerator$StructType.getMembers:()Ljava/util/Enumeration;
            astore 5 /* e */
        start local 5 // java.util.Enumeration e
         6: goto 18
         7: .line 720
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 5 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast WrapperGenerator$AtomicType
            astore 6 /* tp */
        start local 6 // WrapperGenerator$AtomicType tp
         8: .line 722
            aload 6 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getType:()I
            istore 3 /* type */
        start local 3 // int type
         9: .line 723
            aload 6 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            bipush 46
            bipush 95
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
        10: .line 724
            aload 7 /* name */
            ifnull 18
            aload 7 /* name */
            invokevirtual java.lang.String.length:()I
            ifle 18
        11: .line 726
            iload 3 /* type */
            bipush 10
            if_icmpne 16
        12: .line 728
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            aload 4 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "long get_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "();"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        13: .line 730
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            aload 4 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " get_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "(int index);"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        14: .line 731
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            aload 4 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "void set_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "(int index, "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " v);"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        15: .line 732
            goto 18
        16: .line 733
      StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter int java.lang.String java.util.Enumeration WrapperGenerator$AtomicType java.lang.String
      StackMap stack:
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            aload 4 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " get_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "();"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        17: .line 734
            iload 3 /* type */
            bipush 9
            if_icmpeq 18
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            aload 4 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "void set_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " v);"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 7 // java.lang.String name
        end local 6 // WrapperGenerator$AtomicType tp
        end local 3 // int type
        18: .line 719
      StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter top java.lang.String java.util.Enumeration
      StackMap stack:
            aload 5 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 7
        end local 5 // java.util.Enumeration e
        19: .line 738
            return
        end local 4 // java.lang.String prefix
        end local 2 // java.io.PrintWriter pw
        end local 1 // WrapperGenerator$StructType stp
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  LWrapperGenerator;
            0   20     1     stp  LWrapperGenerator$StructType;
            0   20     2      pw  Ljava/io/PrintWriter;
            9   18     3    type  I
            1   20     4  prefix  Ljava/lang/String;
            6   19     5       e  Ljava/util/Enumeration;
            8   18     6      tp  LWrapperGenerator$AtomicType;
           10   18     7    name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      stp   
      pw    

  private int padSize(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // WrapperGenerator this
        start local 1 // int size
        start local 2 // int wordLength
         0: .line 741
            iload 2 /* wordLength */
            bipush 8
            idiv
            istore 3 /* bytesPerWord */
        start local 3 // int bytesPerWord
         1: .line 743
            iload 1 /* size */
            iload 3 /* bytesPerWord */
            iconst_2
            idiv
            iadd
            iload 3 /* bytesPerWord */
            idiv
            iload 3 /* bytesPerWord */
            imul
            ireturn
        end local 3 // int bytesPerWord
        end local 2 // int wordLength
        end local 1 // int size
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  LWrapperGenerator;
            0    2     1          size  I
            0    2     2    wordLength  I
            1    2     3  bytesPerWord  I
    MethodParameters:
            Name  Flags
      size        
      wordLength  

  public void writeAccessorImpls(WrapperGenerator$StructType, java.io.PrintWriter);
    descriptor: (LWrapperGenerator$StructType;Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=19, args_size=3
        start local 0 // WrapperGenerator this
        start local 1 // WrapperGenerator$StructType stp
        start local 2 // java.io.PrintWriter pw
         0: .line 749
            aload 0 /* this */
            aload 1 /* stp */
            iconst_0
            invokevirtual WrapperGenerator.getStructSize:(LWrapperGenerator$StructType;Z)Ljava/lang/String;
            astore 4 /* s_size_32 */
        start local 4 // java.lang.String s_size_32
         1: .line 750
            aload 0 /* this */
            aload 1 /* stp */
            iconst_1
            invokevirtual WrapperGenerator.getStructSize:(LWrapperGenerator$StructType;Z)Ljava/lang/String;
            astore 5 /* s_size_64 */
        start local 5 // java.lang.String s_size_64
         2: .line 751
            iconst_0
            istore 6 /* acc_size_32 */
        start local 6 // int acc_size_32
         3: .line 752
            iconst_0
            istore 7 /* acc_size_64 */
        start local 7 // int acc_size_64
         4: .line 753
            aload 0 /* this */
            getfield WrapperGenerator.generateLog:Z
            ifeq 5
            ldc "log.finest(\"\");"
            goto 6
      StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter top java.lang.String java.lang.String int int
      StackMap stack:
         5: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         6: astore 8 /* s_log */
        start local 8 // java.lang.String s_log
         7: .line 754
            aload 1 /* stp */
            invokevirtual WrapperGenerator$StructType.getMembers:()Ljava/util/Enumeration;
            astore 9 /* e */
        start local 9 // java.util.Enumeration e
         8: goto 58
         9: .line 755
      StackMap locals: java.lang.String java.util.Enumeration
      StackMap stack:
            aload 9 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast WrapperGenerator$AtomicType
            astore 10 /* tp */
        start local 10 // WrapperGenerator$AtomicType tp
        10: .line 757
            aload 10 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getType:()I
            istore 3 /* type */
        start local 3 // int type
        11: .line 758
            aload 10 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            bipush 46
            bipush 95
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 11 /* name */
        start local 11 // java.lang.String name
        12: .line 759
            ldc "\tpublic "
            astore 12 /* pref */
        start local 12 // java.lang.String pref
        13: .line 760
            aload 11 /* name */
            ifnull 58
            aload 11 /* name */
            invokevirtual java.lang.String.length:()I
            ifle 58
        14: .line 762
            aload 10 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
            astore 13 /* jt */
        start local 13 // java.lang.String jt
        15: .line 763
            aload 10 /* tp */
            iconst_0
            invokevirtual WrapperGenerator$AtomicType.getJavaAccess:(Z)Ljava/lang/String;
            astore 14 /* ja_32 */
        start local 14 // java.lang.String ja_32
        16: .line 764
            aload 10 /* tp */
            iconst_1
            invokevirtual WrapperGenerator$AtomicType.getJavaAccess:(Z)Ljava/lang/String;
            astore 15 /* ja_64 */
        start local 15 // java.lang.String ja_64
        17: .line 766
            aload 14 /* ja_32 */
            invokestatic WrapperGenerator$AtomicType.getNativeSizeForAccess:(Ljava/lang/String;)I
            istore 16 /* elemSize_32 */
        start local 16 // int elemSize_32
        18: .line 767
            aload 15 /* ja_64 */
            invokestatic WrapperGenerator$AtomicType.getNativeSizeForAccess:(Ljava/lang/String;)I
            istore 17 /* elemSize_64 */
        start local 17 // int elemSize_64
        19: .line 768
            aload 10 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getItemSize:()Ljava/lang/String;
            astore 18 /* elemSize */
        start local 18 // java.lang.String elemSize
        20: .line 769
            iload 3 /* type */
            bipush 10
            if_icmpne 35
        21: .line 770
            iload 6 /* acc_size_32 */
            iload 16 /* elemSize_32 */
            aload 10 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getArrayLength:()I
            imul
            iadd
            istore 6 /* acc_size_32 */
        22: .line 771
            iload 7 /* acc_size_64 */
            iload 17 /* elemSize_64 */
            aload 10 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getArrayLength:()I
            imul
            iadd
            istore 7 /* acc_size_64 */
        23: .line 772
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            aload 12 /* pref */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " get_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "(int index) { "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* s_log */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "return "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        24: .line 773
            aload 10 /* tp */
            new java.lang.StringBuilder
            dup
            aload 1 /* stp */
            aload 10 /* tp */
            invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "+index*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 18 /* elemSize */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aconst_null
            invokevirtual WrapperGenerator$AtomicType.getJavaResult:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; }"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 772
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        26: .line 774
            aload 10 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getReferencedType:()LWrapperGenerator$BaseType;
            instanceof WrapperGenerator$AtomicType
            ifeq 33
        27: .line 775
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            aload 12 /* pref */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "void set_{0}(int index, {1} v) '{' {3} {2}; '}'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 776
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        29: .line 777
            aload 11 /* name */
            aastore
            dup
            iconst_1
            aload 13 /* jt */
            aastore
            dup
            iconst_2
        30: .line 778
            aload 10 /* tp */
            new java.lang.StringBuilder
            dup
            ldc "pData+"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* stp */
            aload 10 /* tp */
            invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " + index*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 18 /* elemSize */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "v"
            invokevirtual WrapperGenerator$AtomicType.getJavaConversion:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_3
        31: .line 779
            aload 8 /* s_log */
            aastore
        32: .line 775
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        33: .line 782
      StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter int java.lang.String java.lang.String int int java.lang.String java.util.Enumeration WrapperGenerator$AtomicType java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int int java.lang.String
      StackMap stack:
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            aload 12 /* pref */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "long get_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "() { "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* s_log */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "return pData+"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* stp */
            aload 10 /* tp */
            invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; }"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        34: .line 783
            goto 58
      StackMap locals:
      StackMap stack:
        35: iload 3 /* type */
            bipush 6
            if_icmpne 49
        36: .line 784
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            aload 12 /* pref */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "{0} get_{1}(int index) '{' {3} return {2}; '}'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        37: .line 785
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        38: .line 786
            aload 13 /* jt */
            aastore
            dup
            iconst_1
            aload 11 /* name */
            aastore
            dup
            iconst_2
        39: .line 787
            aload 10 /* tp */
            new java.lang.StringBuilder
            dup
            ldc "index*"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 18 /* elemSize */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            ldc "Native.getLong(pData+"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* stp */
            aload 10 /* tp */
            invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual WrapperGenerator$AtomicType.getJavaResult:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_3
        40: .line 788
            aload 8 /* s_log */
            aastore
        41: .line 784
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        42: .line 790
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            aload 12 /* pref */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "long get_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "() { "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* s_log */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "return Native.getLong(pData+"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* stp */
            aload 10 /* tp */
            invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "); }"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        43: .line 791
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            aload 12 /* pref */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "void set_{0}({1} v) '{' {3} {2}; '}'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        44: .line 792
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* name */
            aastore
            dup
            iconst_1
            ldc "long"
            aastore
            dup
            iconst_2
            new java.lang.StringBuilder
            dup
            ldc "Native.putLong(pData + "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* stp */
            aload 10 /* tp */
            invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", v)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 8 /* s_log */
            aastore
        45: .line 791
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        46: .line 793
            iload 6 /* acc_size_32 */
            iload 16 /* elemSize_32 */
            iadd
            istore 6 /* acc_size_32 */
        47: .line 794
            iload 7 /* acc_size_64 */
            iload 17 /* elemSize_64 */
            iadd
            istore 7 /* acc_size_64 */
        48: .line 795
            goto 58
        49: .line 796
      StackMap locals:
      StackMap stack:
            iload 6 /* acc_size_32 */
            iload 16 /* elemSize_32 */
            iadd
            istore 6 /* acc_size_32 */
        50: .line 797
            iload 7 /* acc_size_64 */
            iload 17 /* elemSize_64 */
            iadd
            istore 7 /* acc_size_64 */
        51: .line 798
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            aload 12 /* pref */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* tp */
            invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " get_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        52: .line 799
            ldc "() { "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* s_log */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "return "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* tp */
            aload 1 /* stp */
            aload 10 /* tp */
            invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
            aconst_null
            invokevirtual WrapperGenerator$AtomicType.getJavaResult:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; }"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        53: .line 798
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        54: .line 800
            iload 3 /* type */
            bipush 9
            if_icmpeq 58
        55: .line 801
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            aload 12 /* pref */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "void set_{0}({1} v) '{' {3} {2}; '}'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        56: .line 802
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 11 /* name */
            aastore
            dup
            iconst_1
            aload 13 /* jt */
            aastore
            dup
            iconst_2
            aload 10 /* tp */
            new java.lang.StringBuilder
            dup
            ldc "pData+"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* stp */
            aload 10 /* tp */
            invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "v"
            invokevirtual WrapperGenerator$AtomicType.getJavaConversion:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 8 /* s_log */
            aastore
        57: .line 801
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 18 // java.lang.String elemSize
        end local 17 // int elemSize_64
        end local 16 // int elemSize_32
        end local 15 // java.lang.String ja_64
        end local 14 // java.lang.String ja_32
        end local 13 // java.lang.String jt
        end local 12 // java.lang.String pref
        end local 11 // java.lang.String name
        end local 10 // WrapperGenerator$AtomicType tp
        end local 3 // int type
        58: .line 754
      StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter top java.lang.String java.lang.String int int java.lang.String java.util.Enumeration
      StackMap stack:
            aload 9 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 9
        end local 9 // java.util.Enumeration e
        59: .line 808
            aload 4 /* s_size_32 */
            ifnull 65
            aload 4 /* s_size_32 */
            iload 6 /* acc_size_32 */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 65
        60: .line 809
            getstatic WrapperGenerator.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 70
        61: .line 810
            getstatic WrapperGenerator.log:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "32 bits: The size of the structure "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* stp */
            invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* s_size_32 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        62: .line 811
            ldc " is not equal to the accumulated size "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* acc_size_32 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " of the fields"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        63: .line 810
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        64: .line 813
            goto 70
      StackMap locals:
      StackMap stack:
        65: aload 5 /* s_size_64 */
            ifnull 70
            aload 5 /* s_size_64 */
            iload 7 /* acc_size_64 */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 70
        66: .line 814
            getstatic WrapperGenerator.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 70
        67: .line 815
            getstatic WrapperGenerator.log:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "64 bits: The size of the structure "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* stp */
            invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* s_size_64 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        68: .line 816
            ldc " is not equal to the accumulated size "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 7 /* acc_size_64 */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " of the fields"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        69: .line 815
            invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
        70: .line 819
      StackMap locals:
      StackMap stack:
            return
        end local 8 // java.lang.String s_log
        end local 7 // int acc_size_64
        end local 6 // int acc_size_32
        end local 5 // java.lang.String s_size_64
        end local 4 // java.lang.String s_size_32
        end local 2 // java.io.PrintWriter pw
        end local 1 // WrapperGenerator$StructType stp
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   71     0         this  LWrapperGenerator;
            0   71     1          stp  LWrapperGenerator$StructType;
            0   71     2           pw  Ljava/io/PrintWriter;
           11   58     3         type  I
            1   71     4    s_size_32  Ljava/lang/String;
            2   71     5    s_size_64  Ljava/lang/String;
            3   71     6  acc_size_32  I
            4   71     7  acc_size_64  I
            7   71     8        s_log  Ljava/lang/String;
            8   59     9            e  Ljava/util/Enumeration;
           10   58    10           tp  LWrapperGenerator$AtomicType;
           12   58    11         name  Ljava/lang/String;
           13   58    12         pref  Ljava/lang/String;
           15   58    13           jt  Ljava/lang/String;
           16   58    14        ja_32  Ljava/lang/String;
           17   58    15        ja_64  Ljava/lang/String;
           18   58    16  elemSize_32  I
           19   58    17  elemSize_64  I
           20   58    18     elemSize  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      stp   
      pw    

  public void writeWrapperSubclass(WrapperGenerator$StructType, java.io.PrintWriter, boolean);
    descriptor: (LWrapperGenerator$StructType;Ljava/io/PrintWriter;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // WrapperGenerator this
        start local 1 // WrapperGenerator$StructType stp
        start local 2 // java.io.PrintWriter pw
        start local 3 // boolean wide
         0: .line 824
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* stp */
            invokevirtual WrapperGenerator$StructType.getJavaClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "AccessorImpl"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " extends "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* stp */
            invokevirtual WrapperGenerator$StructType.getJavaClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "Accessor  {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         1: .line 825
            aload 2 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "/*\nThis class serves as a Wrapper for the following X Struct \nsThe offsets here are calculated based on actual compiler.\n\n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* stp */
            invokevirtual WrapperGenerator$StructType.getDescription:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\n\n */"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 827
            aload 0 /* this */
            aload 1 /* stp */
            aload 2 /* pw */
            invokevirtual WrapperGenerator.writeAccessorImpls:(LWrapperGenerator$StructType;Ljava/io/PrintWriter;)V
         3: .line 829
            aload 2 /* pw */
            ldc "\n\n } \n\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         4: .line 830
            return
        end local 3 // boolean wide
        end local 2 // java.io.PrintWriter pw
        end local 1 // WrapperGenerator$StructType stp
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  LWrapperGenerator;
            0    5     1   stp  LWrapperGenerator$StructType;
            0    5     2    pw  Ljava/io/PrintWriter;
            0    5     3  wide  Z
    MethodParameters:
      Name  Flags
      stp   
      pw    
      wide  

  public void writeWrapper(java.lang.String, WrapperGenerator$StructType);
    descriptor: (Ljava/lang/String;LWrapperGenerator$StructType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // WrapperGenerator this
        start local 1 // java.lang.String outputDir
        start local 2 // WrapperGenerator$StructType stp
         0: .line 834
            aload 2 /* stp */
            invokevirtual WrapperGenerator$StructType.getNumFields:()I
            ifle 57
         1: .line 837
            new java.io.FileOutputStream
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* outputDir */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* stp */
            invokevirtual WrapperGenerator$StructType.getJavaClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".java"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            astore 3 /* fs */
        start local 3 // java.io.FileOutputStream fs
         2: .line 838
            new java.io.PrintWriter
            dup
            aload 3 /* fs */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 4 /* pw */
        start local 4 // java.io.PrintWriter pw
         3: .line 839
            aload 4 /* pw */
            ldc "// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         4: .line 841
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "package "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield WrapperGenerator.package_name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         5: .line 842
            aload 4 /* pw */
            ldc "import sun.misc.*;\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         6: .line 843
            aload 4 /* pw */
            ldc "import sun.util.logging.PlatformLogger;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         7: .line 844
            aload 2 /* stp */
            invokevirtual WrapperGenerator$StructType.getBaseClass:()Ljava/lang/String;
            astore 5 /* baseClass */
        start local 5 // java.lang.String baseClass
         8: .line 845
            aload 5 /* baseClass */
            ifnonnull 10
         9: .line 846
            aload 0 /* this */
            getfield WrapperGenerator.defaultBaseClass:Ljava/lang/String;
            astore 5 /* baseClass */
        10: .line 848
      StackMap locals: java.io.FileOutputStream java.io.PrintWriter java.lang.String
      StackMap stack:
            aload 2 /* stp */
            invokevirtual WrapperGenerator$StructType.getIsInterface:()Z
            ifeq 14
        11: .line 849
            aload 4 /* pw */
            ldc "public interface "
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        12: .line 850
            aload 4 /* pw */
            aload 2 /* stp */
            invokevirtual WrapperGenerator$StructType.getJavaClassName:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        13: .line 851
            goto 16
        14: .line 852
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            ldc "public class "
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        15: .line 853
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            aload 2 /* stp */
            invokevirtual WrapperGenerator$StructType.getJavaClassName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " extends "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* baseClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        16: .line 855
      StackMap locals:
      StackMap stack:
            aload 2 /* stp */
            invokevirtual WrapperGenerator$StructType.getInterfaces:()Ljava/lang/String;
            ifnull 18
        17: .line 856
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc " implements "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* stp */
            invokevirtual WrapperGenerator$StructType.getInterfaces:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        18: .line 858
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            ldc " { "
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        19: .line 859
            aload 2 /* stp */
            invokevirtual WrapperGenerator$StructType.getIsInterface:()Z
            ifne 49
        20: .line 860
            aload 4 /* pw */
            ldc "\tprivate Unsafe unsafe = XlibWrapper.unsafe; "
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        21: .line 861
            aload 4 /* pw */
            ldc "\tprivate final boolean should_free_memory;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        22: .line 862
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\tpublic static int getSize() { return "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* stp */
            invokevirtual WrapperGenerator$StructType.getSize:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "; }"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        23: .line 863
            aload 4 /* pw */
            ldc "\tpublic int getDataSize() { return getSize(); }"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        24: .line 864
            aload 4 /* pw */
            ldc "\n\tlong pData;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        25: .line 865
            aload 4 /* pw */
            ldc "\n\tpublic long getPData() { return pData; }"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        26: .line 867
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\n\n\tpublic "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* stp */
            invokevirtual WrapperGenerator$StructType.getJavaClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "(long addr) {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        27: .line 868
            aload 0 /* this */
            getfield WrapperGenerator.generateLog:Z
            ifeq 29
        28: .line 869
            aload 4 /* pw */
            ldc "\t\tlog.finest(\"Creating\");"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        29: .line 871
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            ldc "\t\tpData=addr;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        30: .line 872
            aload 4 /* pw */
            ldc "\t\tshould_free_memory = false;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        31: .line 873
            aload 4 /* pw */
            ldc "\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        32: .line 874
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\n\n\tpublic "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* stp */
            invokevirtual WrapperGenerator$StructType.getJavaClassName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "() {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        33: .line 875
            aload 0 /* this */
            getfield WrapperGenerator.generateLog:Z
            ifeq 35
        34: .line 876
            aload 4 /* pw */
            ldc "\t\tlog.finest(\"Creating\");"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        35: .line 878
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            ldc "\t\tpData = unsafe.allocateMemory(getSize());"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        36: .line 879
            aload 4 /* pw */
            ldc "\t\tshould_free_memory = true;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        37: .line 880
            aload 4 /* pw */
            ldc "\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        38: .line 882
            aload 4 /* pw */
            ldc "\n\n\tpublic void dispose() {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        39: .line 883
            aload 0 /* this */
            getfield WrapperGenerator.generateLog:Z
            ifeq 41
        40: .line 884
            aload 4 /* pw */
            ldc "\t\tlog.finest(\"Disposing\");"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        41: .line 886
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            ldc "\t\tif (should_free_memory) {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        42: .line 887
            aload 0 /* this */
            getfield WrapperGenerator.generateLog:Z
            ifeq 44
        43: .line 888
            aload 4 /* pw */
            ldc "\t\t\tlog.finest(\"freeing memory\");"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        44: .line 890
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            ldc "\t\t\tunsafe.freeMemory(pData); \n\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        45: .line 891
            aload 4 /* pw */
            ldc "\t\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        46: .line 892
            aload 0 /* this */
            aload 2 /* stp */
            aload 4 /* pw */
            invokevirtual WrapperGenerator.writeAccessorImpls:(LWrapperGenerator$StructType;Ljava/io/PrintWriter;)V
        47: .line 893
            aload 0 /* this */
            aload 2 /* stp */
            aload 4 /* pw */
            invokevirtual WrapperGenerator.writeToString:(LWrapperGenerator$StructType;Ljava/io/PrintWriter;)V
        48: .line 894
            goto 52
        49: .line 895
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            ldc "\n\n\tvoid dispose();"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        50: .line 896
            aload 4 /* pw */
            ldc "\n\tlong getPData();"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        51: .line 897
            aload 0 /* this */
            aload 2 /* stp */
            aload 4 /* pw */
            invokevirtual WrapperGenerator.writeStubs:(LWrapperGenerator$StructType;Ljava/io/PrintWriter;)V
        52: .line 901
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            ldc "}\n\n\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        53: .line 902
            aload 4 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
        end local 5 // java.lang.String baseClass
        end local 4 // java.io.PrintWriter pw
        end local 3 // java.io.FileOutputStream fs
        54: .line 903
            goto 57
        55: .line 904
      StackMap locals: WrapperGenerator java.lang.String WrapperGenerator$StructType
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        56: .line 906
            aload 3 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 3 // java.lang.Exception e
        57: .line 909
      StackMap locals:
      StackMap stack:
            return
        end local 2 // WrapperGenerator$StructType stp
        end local 1 // java.lang.String outputDir
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   58     0       this  LWrapperGenerator;
            0   58     1  outputDir  Ljava/lang/String;
            0   58     2        stp  LWrapperGenerator$StructType;
            2   54     3         fs  Ljava/io/FileOutputStream;
            3   54     4         pw  Ljava/io/PrintWriter;
            8   54     5  baseClass  Ljava/lang/String;
           56   57     3          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    54      55  Class java.lang.Exception
    MethodParameters:
           Name  Flags
      outputDir  
      stp        

  private boolean readSizeInfo(java.io.InputStream, boolean);
    descriptor: (Ljava/io/InputStream;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // WrapperGenerator this
        start local 1 // java.io.InputStream is
        start local 2 // boolean wide
         0: .line 914
            new java.io.BufferedReader
            dup
            new java.io.InputStreamReader
            dup
            aload 1 /* is */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 5 /* in */
        start local 5 // java.io.BufferedReader in
         1: .line 916
            goto 8
        start local 3 // java.lang.String line
         2: .line 918
      StackMap locals: WrapperGenerator java.io.InputStream int java.lang.String top java.io.BufferedReader
      StackMap stack:
            aload 3 /* line */
            ldc "\\p{Space}"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* splits */
        start local 4 // java.lang.String[] splits
         3: .line 919
            aload 4 /* splits */
            arraylength
            iconst_2
            if_icmpne 8
         4: .line 921
            iload 2 /* wide */
            ifeq 7
         5: .line 922
            getstatic WrapperGenerator.sizeTable64bit:Ljava/util/Hashtable;
            aload 4 /* splits */
            iconst_0
            aaload
            aload 4 /* splits */
            iconst_1
            aaload
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 923
            goto 8
         7: .line 924
      StackMap locals: WrapperGenerator java.io.InputStream int java.lang.String java.lang.String[] java.io.BufferedReader
      StackMap stack:
            getstatic WrapperGenerator.sizeTable32bit:Ljava/util/Hashtable;
            aload 4 /* splits */
            iconst_0
            aaload
            aload 4 /* splits */
            iconst_1
            aaload
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String[] splits
        end local 3 // java.lang.String line
         8: .line 916
      StackMap locals: WrapperGenerator java.io.InputStream int top top java.io.BufferedReader
      StackMap stack:
            aload 5 /* in */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 3 /* line */
        start local 3 // java.lang.String line
         9: ifnonnull 2
        10: .line 928
            iconst_1
            ireturn
        end local 3 // java.lang.String line
        11: .line 929
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        12: .line 930
            aload 6 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        13: .line 931
            iconst_0
            ireturn
        end local 6 // java.lang.Exception e
        end local 5 // java.io.BufferedReader in
        end local 2 // boolean wide
        end local 1 // java.io.InputStream is
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  LWrapperGenerator;
            0   14     1      is  Ljava/io/InputStream;
            0   14     2    wide  Z
            2    8     3    line  Ljava/lang/String;
            9   11     3    line  Ljava/lang/String;
            3    8     4  splits  [Ljava/lang/String;
            1   14     5      in  Ljava/io/BufferedReader;
           12   14     6       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    10      11  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      is    
      wide  

  public void writeFunctionCallWrapper(java.lang.String, WrapperGenerator$FunctionType);
    descriptor: (Ljava/lang/String;LWrapperGenerator$FunctionType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // WrapperGenerator this
        start local 1 // java.lang.String outputDir
        start local 2 // WrapperGenerator$FunctionType ft
         0: .line 937
            new java.io.FileOutputStream
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* outputDir */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".java"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            astore 3 /* fs */
        start local 3 // java.io.FileOutputStream fs
         1: .line 938
            new java.io.PrintWriter
            dup
            aload 3 /* fs */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 4 /* pw */
        start local 4 // java.io.PrintWriter pw
         2: .line 939
            aload 4 /* pw */
            ldc "// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         3: .line 941
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "package "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield WrapperGenerator.package_name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         4: .line 942
            aload 4 /* pw */
            ldc "import sun.misc.Unsafe;\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         5: .line 943
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "class "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         6: .line 944
            aload 4 /* pw */
            ldc "\tprivate static Unsafe unsafe = XlibWrapper.unsafe;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         7: .line 945
            aload 4 /* pw */
            ldc "\tprivate boolean __executed = false;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         8: .line 946
            aload 4 /* pw */
            ldc "\tprivate boolean __disposed = false;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         9: .line 947
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.getArguments:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5 /* iter */
        start local 5 // java.util.Iterator iter
        10: .line 948
            goto 16
        11: .line 949
      StackMap locals: java.io.FileOutputStream java.io.PrintWriter java.util.Iterator
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast WrapperGenerator$AtomicType
            astore 6 /* at */
        start local 6 // WrapperGenerator$AtomicType at
        12: .line 950
            aload 6 /* at */
            invokevirtual WrapperGenerator$AtomicType.isIn:()Z
            ifeq 15
        13: .line 951
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* at */
            invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " _"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        14: .line 952
            goto 16
        15: .line 953
      StackMap locals: WrapperGenerator$AtomicType
      StackMap stack:
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\tlong "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_ptr = unsafe.allocateMemory(Native.get"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* at */
            invokevirtual WrapperGenerator$AtomicType.getTypeUpperCase:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "Size());"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 6 // WrapperGenerator$AtomicType at
        16: .line 948
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        17: .line 956
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\tpublic "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        18: .line 957
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.getArguments:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5 /* iter */
        19: .line 958
            iconst_1
            istore 6 /* first */
        start local 6 // boolean first
        20: .line 959
            goto 27
        21: .line 960
      StackMap locals: int
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast WrapperGenerator$AtomicType
            astore 7 /* at */
        start local 7 // WrapperGenerator$AtomicType at
        22: .line 961
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.isIn:()Z
            ifne 23
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.isInOut:()Z
            ifeq 27
        23: .line 962
      StackMap locals: WrapperGenerator$AtomicType
      StackMap stack:
            iload 6 /* first */
            ifne 25
        24: .line 963
            aload 4 /* pw */
            ldc ","
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        25: .line 965
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* first */
        26: .line 966
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        end local 7 // WrapperGenerator$AtomicType at
        27: .line 959
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        28: .line 969
            aload 4 /* pw */
            ldc "\t)"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        29: .line 970
            aload 4 /* pw */
            ldc "\t{"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        30: .line 971
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.getArguments:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5 /* iter */
        31: .line 972
            goto 35
        32: .line 973
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast WrapperGenerator$AtomicType
            astore 7 /* at */
        start local 7 // WrapperGenerator$AtomicType at
        33: .line 974
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.isIn:()Z
            ifne 34
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.isInOut:()Z
            ifeq 35
        34: .line 975
      StackMap locals: WrapperGenerator$AtomicType
      StackMap stack:
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\tset_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ");"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 7 // WrapperGenerator$AtomicType at
        35: .line 972
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        36: .line 978
            aload 4 /* pw */
            ldc "\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        37: .line 980
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\tpublic "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.getReturnType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " execute() {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        38: .line 981
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.isVoid:()Z
            ifeq 41
        39: .line 982
            aload 4 /* pw */
            ldc "\t\texecute(null);"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        40: .line 983
            goto 42
        41: .line 984
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            ldc "\t\treturn execute(null);"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        42: .line 986
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            ldc "\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        43: .line 988
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\tpublic "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.getReturnType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " execute(XToolkit.XErrorHandler errorHandler) {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        44: .line 989
            aload 4 /* pw */
            ldc "\t\tif (__disposed) {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        45: .line 990
            aload 4 /* pw */
            ldc "\t\t    throw new IllegalStateException(\"Disposed\");"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        46: .line 991
            aload 4 /* pw */
            ldc "\t\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        47: .line 992
            aload 4 /* pw */
            ldc "\t\tXToolkit.awtLock();"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        48: .line 993
            aload 4 /* pw */
            ldc "\t\ttry {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        49: .line 994
            aload 4 /* pw */
            ldc "\t\t\tif (__executed) {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        50: .line 995
            aload 4 /* pw */
            ldc "\t\t\t    throw new IllegalStateException(\"Already executed\");"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        51: .line 996
            aload 4 /* pw */
            ldc "\t\t\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        52: .line 997
            aload 4 /* pw */
            ldc "\t\t\t__executed = true;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        53: .line 998
            aload 4 /* pw */
            ldc "\t\t\tif (errorHandler != null) {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        54: .line 999
            aload 4 /* pw */
            ldc "\t\t\t    XErrorHandlerUtil.WITH_XERROR_HANDLER(errorHandler);"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        55: .line 1000
            aload 4 /* pw */
            ldc "\t\t\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        56: .line 1001
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.getArguments:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5 /* iter */
        57: .line 1002
            goto 61
        58: .line 1003
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast WrapperGenerator$AtomicType
            astore 7 /* at */
        start local 7 // WrapperGenerator$AtomicType at
        59: .line 1004
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.isIn:()Z
            ifne 61
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.isAutoFree:()Z
            ifeq 61
        60: .line 1005
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\t\tNative.put"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getTypeUpperCase:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_ptr, 0);"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 7 // WrapperGenerator$AtomicType at
        61: .line 1002
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 58
        62: .line 1008
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.isVoid:()Z
            ifne 64
        63: .line 1009
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\t\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.getReturnType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " status = "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        64: .line 1011
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\t\tXlibWrapper."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "(XToolkit.getDisplay(), "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        65: .line 1012
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.getArguments:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5 /* iter */
        66: .line 1013
            iconst_1
            istore 6 /* first */
        67: .line 1014
            goto 76
        68: .line 1015
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast WrapperGenerator$AtomicType
            astore 7 /* at */
        start local 7 // WrapperGenerator$AtomicType at
        69: .line 1016
            iload 6 /* first */
            ifne 71
        70: .line 1017
            aload 4 /* pw */
            ldc ","
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        71: .line 1019
      StackMap locals: WrapperGenerator$AtomicType
      StackMap stack:
            iconst_0
            istore 6 /* first */
        72: .line 1020
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.isIn:()Z
            ifeq 75
        73: .line 1021
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\t\t\tget_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "()"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        74: .line 1022
            goto 76
        75: .line 1023
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\t\t\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_ptr"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
        end local 7 // WrapperGenerator$AtomicType at
        76: .line 1014
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 68
        77: .line 1026
            aload 4 /* pw */
            ldc "\t\t\t);"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        78: .line 1027
            aload 4 /* pw */
            ldc "\t\t\tif (errorHandler != null) {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        79: .line 1028
            aload 4 /* pw */
            ldc "\t\t\t    XErrorHandlerUtil.RESTORE_XERROR_HANDLER();"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        80: .line 1029
            aload 4 /* pw */
            ldc "\t\t\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        81: .line 1030
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.isVoid:()Z
            ifne 83
        82: .line 1031
            aload 4 /* pw */
            ldc "\t\t\treturn status;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        83: .line 1033
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            ldc "\t\t} finally {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        84: .line 1034
            aload 4 /* pw */
            ldc "\t\t    XToolkit.awtUnlock();"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        85: .line 1035
            aload 4 /* pw */
            ldc "\t\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        86: .line 1036
            aload 4 /* pw */
            ldc "\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        87: .line 1038
            aload 4 /* pw */
            ldc "\tpublic boolean isExecuted() {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        88: .line 1039
            aload 4 /* pw */
            ldc "\t    return __executed;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        89: .line 1040
            aload 4 /* pw */
            ldc "\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        90: .line 1041
            aload 4 /* pw */
            ldc "\t"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        91: .line 1042
            aload 4 /* pw */
            ldc "\tpublic boolean isDisposed() {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        92: .line 1043
            aload 4 /* pw */
            ldc "\t    return __disposed;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        93: .line 1044
            aload 4 /* pw */
            ldc "\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        94: .line 1045
            aload 4 /* pw */
            ldc "\tpublic void finalize() {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        95: .line 1046
            aload 4 /* pw */
            ldc "\t    dispose();"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        96: .line 1047
            aload 4 /* pw */
            ldc "\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        97: .line 1049
            aload 4 /* pw */
            ldc "\tpublic void dispose() {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        98: .line 1050
            aload 4 /* pw */
            ldc "\t\tXToolkit.awtLock();"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        99: .line 1051
            aload 4 /* pw */
            ldc "\t\ttry {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       100: .line 1052
            aload 4 /* pw */
            ldc "\t\tif (__disposed || !__executed) {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       101: .line 1053
            aload 4 /* pw */
            ldc "\t\t    return;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       102: .line 1054
            aload 4 /* pw */
            ldc "\t\t} finally {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       103: .line 1055
            aload 4 /* pw */
            ldc "\t\t    XToolkit.awtUnlock();"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       104: .line 1056
            aload 4 /* pw */
            ldc "\t\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       105: .line 1057
            aload 4 /* pw */
            ldc "\t\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       106: .line 1059
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.getArguments:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5 /* iter */
       107: .line 1060
            goto 115
       108: .line 1061
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast WrapperGenerator$AtomicType
            astore 7 /* at */
        start local 7 // WrapperGenerator$AtomicType at
       109: .line 1062
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.isIn:()Z
            ifne 115
       110: .line 1063
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.isAutoFree:()Z
            ifeq 114
       111: .line 1064
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\tif (__executed && get_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "()!= 0) {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       112: .line 1065
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\t\tXlibWrapper.XFree(get_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "());"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       113: .line 1066
            aload 4 /* pw */
            ldc "\t\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       114: .line 1068
      StackMap locals: WrapperGenerator$AtomicType
      StackMap stack:
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\tunsafe.freeMemory("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_ptr);"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 7 // WrapperGenerator$AtomicType at
       115: .line 1060
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 108
       116: .line 1071
            aload 4 /* pw */
            ldc "\t\t__disposed = true;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       117: .line 1072
            aload 4 /* pw */
            ldc "\t\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       118: .line 1073
            aload 4 /* pw */
            ldc "\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       119: .line 1075
            aload 2 /* ft */
            invokevirtual WrapperGenerator$FunctionType.getArguments:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5 /* iter */
       120: .line 1076
            goto 140
       121: .line 1077
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast WrapperGenerator$AtomicType
            astore 7 /* at */
        start local 7 // WrapperGenerator$AtomicType at
       122: .line 1078
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\tpublic "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " get_"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "() {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       123: .line 1080
            aload 4 /* pw */
            ldc "\t\tif (__disposed) {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       124: .line 1081
            aload 4 /* pw */
            ldc "\t\t    throw new IllegalStateException(\"Disposed\");"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       125: .line 1082
            aload 4 /* pw */
            ldc "\t\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       126: .line 1083
            aload 4 /* pw */
            ldc "\t\tif (!__executed) {"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       127: .line 1084
            aload 4 /* pw */
            ldc "\t\t    throw new IllegalStateException(\"Not executed\");"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       128: .line 1085
            aload 4 /* pw */
            ldc "\t\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       129: .line 1087
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.isIn:()Z
            ifeq 132
       130: .line 1088
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\treturn _"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ";"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       131: .line 1089
            goto 133
       132: .line 1090
      StackMap locals: WrapperGenerator$AtomicType
      StackMap stack:
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\treturn Native.get"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getTypeUpperCase:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_ptr);"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       133: .line 1092
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            ldc "\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       134: .line 1094
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\tpublic void set_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " data) {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       135: .line 1095
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.isIn:()Z
            ifeq 138
       136: .line 1096
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\t_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " = data;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       137: .line 1097
            goto 139
       138: .line 1098
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "\t\tNative.put"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getTypeUpperCase:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* at */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "_ptr, data);"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       139: .line 1100
      StackMap locals:
      StackMap stack:
            aload 4 /* pw */
            ldc "\t}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 7 // WrapperGenerator$AtomicType at
       140: .line 1076
      StackMap locals:
      StackMap stack:
            aload 5 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 121
       141: .line 1102
            aload 4 /* pw */
            ldc "}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
       142: .line 1103
            aload 4 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
        end local 6 // boolean first
        end local 5 // java.util.Iterator iter
        end local 4 // java.io.PrintWriter pw
        end local 3 // java.io.FileOutputStream fs
       143: .line 1104
            goto 146
      StackMap locals: WrapperGenerator java.lang.String WrapperGenerator$FunctionType
      StackMap stack: java.lang.Exception
       144: astore 3 /* e */
        start local 3 // java.lang.Exception e
       145: .line 1105
            aload 3 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 3 // java.lang.Exception e
       146: .line 1107
      StackMap locals:
      StackMap stack:
            return
        end local 2 // WrapperGenerator$FunctionType ft
        end local 1 // java.lang.String outputDir
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  147     0       this  LWrapperGenerator;
            0  147     1  outputDir  Ljava/lang/String;
            0  147     2         ft  LWrapperGenerator$FunctionType;
            1  143     3         fs  Ljava/io/FileOutputStream;
            2  143     4         pw  Ljava/io/PrintWriter;
           10  143     5       iter  Ljava/util/Iterator;
           12   16     6         at  LWrapperGenerator$AtomicType;
           20  143     6      first  Z
           22   27     7         at  LWrapperGenerator$AtomicType;
           33   35     7         at  LWrapperGenerator$AtomicType;
           59   61     7         at  LWrapperGenerator$AtomicType;
           69   76     7         at  LWrapperGenerator$AtomicType;
          109  115     7         at  LWrapperGenerator$AtomicType;
          122  140     7         at  LWrapperGenerator$AtomicType;
          145  146     3          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0   143     144  Class java.lang.Exception
    MethodParameters:
           Name  Flags
      outputDir  
      ft         

  public void writeJavaWrapperClass(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // WrapperGenerator this
        start local 1 // java.lang.String outputDir
         0: .line 1112
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.elements:()Ljava/util/Enumeration;
            astore 2 /* e */
        start local 2 // java.util.Enumeration e
         1: goto 9
         2: .line 1113
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast WrapperGenerator$BaseType
            astore 3 /* tp */
        start local 3 // WrapperGenerator$BaseType tp
         3: .line 1114
            aload 3 /* tp */
            instanceof WrapperGenerator$StructType
            ifeq 7
         4: .line 1115
            aload 3 /* tp */
            checkcast WrapperGenerator$StructType
            astore 4 /* st */
        start local 4 // WrapperGenerator$StructType st
         5: .line 1116
            aload 0 /* this */
            aload 1 /* outputDir */
            aload 4 /* st */
            invokevirtual WrapperGenerator.writeWrapper:(Ljava/lang/String;LWrapperGenerator$StructType;)V
        end local 4 // WrapperGenerator$StructType st
         6: .line 1117
            goto 9
      StackMap locals: WrapperGenerator$BaseType
      StackMap stack:
         7: aload 3 /* tp */
            instanceof WrapperGenerator$FunctionType
            ifeq 9
         8: .line 1118
            aload 0 /* this */
            aload 1 /* outputDir */
            aload 3 /* tp */
            checkcast WrapperGenerator$FunctionType
            invokevirtual WrapperGenerator.writeFunctionCallWrapper:(Ljava/lang/String;LWrapperGenerator$FunctionType;)V
        end local 3 // WrapperGenerator$BaseType tp
         9: .line 1112
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 2
        end local 2 // java.util.Enumeration e
        10: .line 1121
            goto 13
        11: .line 1122
      StackMap locals: WrapperGenerator java.lang.String
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        12: .line 1123
            aload 2 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 2 // java.lang.Exception e
        13: .line 1125
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String outputDir
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  LWrapperGenerator;
            0   14     1  outputDir  Ljava/lang/String;
            1   10     2          e  Ljava/util/Enumeration;
            3    9     3         tp  LWrapperGenerator$BaseType;
            5    6     4         st  LWrapperGenerator$StructType;
           12   13     2          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0    10      11  Class java.lang.Exception
    MethodParameters:
           Name  Flags
      outputDir  

  public void writeNativeSizer(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // WrapperGenerator this
        start local 1 // java.lang.String file
         0: .line 1132
            iconst_0
            istore 2 /* j */
        start local 2 // int j
         1: .line 1140
            new java.io.FileOutputStream
            dup
            aload 1 /* file */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
            astore 6 /* fs */
        start local 6 // java.io.FileOutputStream fs
         2: .line 1141
            new java.io.PrintWriter
            dup
            aload 6 /* fs */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 7 /* pw */
        start local 7 // java.io.PrintWriter pw
         3: .line 1143
            aload 7 /* pw */
            ldc "/* This file is an automatically generated file, please do not edit this file, modify the XlibParser.java file instead !*/\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         4: .line 1144
            aload 7 /* pw */
            ldc "#include <X11/Xlib.h>\n#include <X11/Xutil.h>\n#include <X11/Xos.h>\n#include <X11/Xatom.h>\n#include <stdio.h>\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         5: .line 1145
            aload 7 /* pw */
            ldc "#include <X11/extensions/Xdbe.h>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         6: .line 1146
            aload 7 /* pw */
            ldc "#include <X11/XKBlib.h>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         7: .line 1147
            aload 7 /* pw */
            ldc "#include \"awt_p.h\""
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         8: .line 1148
            aload 7 /* pw */
            ldc "#include \"color.h\""
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         9: .line 1149
            aload 7 /* pw */
            ldc "#include \"colordata.h\""
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        10: .line 1150
            aload 7 /* pw */
            ldc "\ntypedef struct\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        11: .line 1151
            aload 7 /* pw */
            ldc "{\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        12: .line 1152
            aload 7 /* pw */
            ldc "    unsigned long flags;\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        13: .line 1153
            aload 7 /* pw */
            ldc "    unsigned long functions;\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        14: .line 1154
            aload 7 /* pw */
            ldc "    unsigned long decorations;\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        15: .line 1155
            aload 7 /* pw */
            ldc "    long inputMode;\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        16: .line 1156
            aload 7 /* pw */
            ldc "    unsigned long status;\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        17: .line 1157
            aload 7 /* pw */
            ldc "} PropMwmHints;\n"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        18: .line 1160
            aload 7 /* pw */
            ldc "\n\nint main(){"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        19: .line 1161
            iconst_0
            istore 2 /* j */
        20: .line 1162
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.elements:()Ljava/util/Enumeration;
            astore 5 /* eo */
        start local 5 // java.util.Enumeration eo
        21: goto 28
        22: .line 1163
      StackMap locals: WrapperGenerator java.lang.String int top top java.util.Enumeration java.io.FileOutputStream java.io.PrintWriter
      StackMap stack:
            aload 5 /* eo */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast WrapperGenerator$BaseType
            astore 3 /* tp */
        start local 3 // WrapperGenerator$BaseType tp
        23: .line 1164
            aload 3 /* tp */
            instanceof WrapperGenerator$StructType
            ifeq 28
        24: .line 1166
            aload 3 /* tp */
            checkcast WrapperGenerator$StructType
            astore 4 /* stp */
        start local 4 // WrapperGenerator$StructType stp
        25: .line 1167
            aload 4 /* stp */
            invokevirtual WrapperGenerator$StructType.getIsInterface:()Z
            ifne 28
        26: .line 1168
            aload 7 /* pw */
            new java.lang.StringBuilder
            dup
            aload 4 /* stp */
            invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "  temp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* j */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ";\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        27: .line 1169
            iinc 2 /* j */ 1
        end local 4 // WrapperGenerator$StructType stp
        end local 3 // WrapperGenerator$BaseType tp
        28: .line 1162
      StackMap locals:
      StackMap stack:
            aload 5 /* eo */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 22
        29: .line 1173
            iconst_0
            istore 2 /* j */
        30: .line 1175
            aload 7 /* pw */
            ldc "printf(\"long\t%d\\n\",(int)sizeof(long));"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        31: .line 1176
            aload 7 /* pw */
            ldc "printf(\"int\t%d\\n\",(int)sizeof(int));"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        32: .line 1177
            aload 7 /* pw */
            ldc "printf(\"short\t%d\\n\",(int)sizeof(short));"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        33: .line 1178
            aload 7 /* pw */
            ldc "printf(\"ptr\t%d\\n\",(int)sizeof(void *));"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        34: .line 1179
            aload 7 /* pw */
            ldc "printf(\"Bool\t%d\\n\",(int)sizeof(Bool));"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        35: .line 1180
            aload 7 /* pw */
            ldc "printf(\"Atom\t%d\\n\",(int)sizeof(Atom));"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        36: .line 1181
            aload 7 /* pw */
            ldc "printf(\"Window\t%d\\n\",(int)sizeof(Window));"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        37: .line 1184
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.elements:()Ljava/util/Enumeration;
            astore 5 /* eo */
            goto 53
        38: .line 1187
      StackMap locals:
      StackMap stack:
            aload 5 /* eo */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast WrapperGenerator$BaseType
            astore 3 /* tp */
        start local 3 // WrapperGenerator$BaseType tp
        39: .line 1188
            aload 3 /* tp */
            instanceof WrapperGenerator$StructType
            ifeq 53
        40: .line 1190
            aload 3 /* tp */
            checkcast WrapperGenerator$StructType
            astore 4 /* stp */
        start local 4 // WrapperGenerator$StructType stp
        41: .line 1191
            aload 4 /* stp */
            invokevirtual WrapperGenerator$StructType.getIsInterface:()Z
            ifeq 43
        42: .line 1192
            goto 53
        43: .line 1194
      StackMap locals: WrapperGenerator java.lang.String int WrapperGenerator$BaseType WrapperGenerator$StructType java.util.Enumeration java.io.FileOutputStream java.io.PrintWriter
      StackMap stack:
            aload 4 /* stp */
            invokevirtual WrapperGenerator$StructType.getMembers:()Ljava/util/Enumeration;
            astore 8 /* e */
        start local 8 // java.util.Enumeration e
        44: goto 50
        45: .line 1195
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 8 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast WrapperGenerator$AtomicType
            astore 9 /* atp */
        start local 9 // WrapperGenerator$AtomicType atp
        46: .line 1196
            aload 9 /* atp */
            invokevirtual WrapperGenerator$AtomicType.isAlias:()Z
            ifeq 47
            goto 50
        47: .line 1197
      StackMap locals: WrapperGenerator$AtomicType
      StackMap stack:
            aload 7 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "printf(\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* stp */
            invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* atp */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\t%d\\n\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        48: .line 1198
            ldc ",(int)((unsigned long ) &temp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* j */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 9 /* atp */
            invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "- (unsigned long ) &temp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* j */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")  );"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        49: .line 1197
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        end local 9 // WrapperGenerator$AtomicType atp
        50: .line 1194
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 45
        end local 8 // java.util.Enumeration e
        51: .line 1204
            aload 7 /* pw */
            new java.lang.StringBuilder
            dup
            ldc "printf(\""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* stp */
            invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\t%d\\n\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ",(int)sizeof(temp"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* j */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "));"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        52: .line 1206
            iinc 2 /* j */ 1
        end local 4 // WrapperGenerator$StructType stp
        end local 3 // WrapperGenerator$BaseType tp
        53: .line 1184
      StackMap locals: WrapperGenerator java.lang.String int top top java.util.Enumeration java.io.FileOutputStream java.io.PrintWriter
      StackMap stack:
            aload 5 /* eo */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 38
        54: .line 1210
            aload 7 /* pw */
            ldc "return 0;"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        55: .line 1211
            aload 7 /* pw */
            ldc "}"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
        56: .line 1212
            aload 7 /* pw */
            invokevirtual java.io.PrintWriter.close:()V
        end local 7 // java.io.PrintWriter pw
        end local 6 // java.io.FileOutputStream fs
        57: .line 1214
            goto 60
        end local 5 // java.util.Enumeration eo
        58: .line 1215
      StackMap locals: WrapperGenerator java.lang.String int
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        59: .line 1217
            aload 6 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 6 // java.lang.Exception e
        60: .line 1219
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int j
        end local 1 // java.lang.String file
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   61     0  this  LWrapperGenerator;
            0   61     1  file  Ljava/lang/String;
            1   61     2     j  I
           23   28     3    tp  LWrapperGenerator$BaseType;
           39   53     3    tp  LWrapperGenerator$BaseType;
           25   28     4   stp  LWrapperGenerator$StructType;
           41   53     4   stp  LWrapperGenerator$StructType;
           21   58     5    eo  Ljava/util/Enumeration;
            2   57     6    fs  Ljava/io/FileOutputStream;
            3   57     7    pw  Ljava/io/PrintWriter;
           44   51     8     e  Ljava/util/Enumeration;
           46   50     9   atp  LWrapperGenerator$AtomicType;
           59   60     6     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    57      58  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      file  

  private void initTypes();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // WrapperGenerator this
         0: .line 1222
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            ldc "int"
            new WrapperGenerator$AtomicType
            dup
            iconst_0
            ldc ""
            ldc "int"
            invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1223
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            ldc "short"
            new WrapperGenerator$AtomicType
            dup
            bipush 7
            ldc ""
            ldc "short"
            invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1224
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            ldc "long"
            new WrapperGenerator$AtomicType
            dup
            iconst_2
            ldc ""
            ldc "long"
            invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1225
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            ldc "float"
            new WrapperGenerator$AtomicType
            dup
            iconst_5
            ldc ""
            ldc "float"
            invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 1226
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            ldc "double"
            new WrapperGenerator$AtomicType
            dup
            iconst_4
            ldc ""
            ldc "double"
            invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1227
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            ldc "Bool"
            new WrapperGenerator$AtomicType
            dup
            bipush 8
            ldc ""
            ldc "Bool"
            invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 1228
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            ldc "char"
            new WrapperGenerator$AtomicType
            dup
            iconst_1
            ldc ""
            ldc "char"
            invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 1229
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            ldc "byte"
            new WrapperGenerator$AtomicType
            dup
            bipush 11
            ldc ""
            ldc "byte"
            invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 1230
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            ldc "pointer"
            new WrapperGenerator$AtomicType
            dup
            bipush 6
            ldc ""
            ldc "pointer"
            invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 1231
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            ldc "longlong"
            new WrapperGenerator$AtomicType
            dup
            iconst_3
            ldc ""
            ldc "longlong"
            invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1232
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            ldc "Atom"
            new WrapperGenerator$AtomicType
            dup
            bipush 12
            ldc ""
            ldc "Atom"
            invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 1233
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            ldc "ulong"
            new WrapperGenerator$AtomicType
            dup
            bipush 13
            ldc ""
            ldc "ulong"
            invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 1234
            return
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  LWrapperGenerator;

  public void <init>(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=15, args_size=3
        start local 0 // WrapperGenerator this
        start local 1 // java.lang.String outputDir
        start local 2 // java.lang.String xlibFilename
         0: .line 1235
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 38
            aload 0 /* this */
            iconst_1
            putfield WrapperGenerator.generateLog:Z
         2: .line 42
            aload 0 /* this */
            ldc "sun.awt.X11"
            putfield WrapperGenerator.package_name:Ljava/lang/String;
         3: .line 43
            aload 0 /* this */
            ldc "sun/awt/X11"
            putfield WrapperGenerator.package_path:Ljava/lang/String;
         4: .line 44
            aload 0 /* this */
            ldc "sizer.c"
            putfield WrapperGenerator.sizerFileName:Ljava/lang/String;
         5: .line 45
            aload 0 /* this */
            ldc "XWrapperBase"
            putfield WrapperGenerator.defaultBaseClass:Ljava/lang/String;
         6: .line 47
            aload 0 /* this */
            ldc "-lX11"
            putfield WrapperGenerator.compile_options:Ljava/lang/String;
         7: .line 1236
            aload 0 /* this */
            invokevirtual WrapperGenerator.initTypes:()V
         8: .line 1238
            new java.io.BufferedReader
            dup
            new java.io.FileReader
            dup
            aload 2 /* xlibFilename */
            invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 3 /* in */
        start local 3 // java.io.BufferedReader in
         9: .line 1241
            aconst_null
            astore 6 /* curType */
        start local 6 // WrapperGenerator$BaseType curType
        10: .line 1242
            goto 51
        start local 4 // java.lang.String line
        11: .line 1244
      StackMap locals: WrapperGenerator java.lang.String java.lang.String java.io.BufferedReader java.lang.String top WrapperGenerator$BaseType
      StackMap stack:
            aload 4 /* line */
            ldc "//"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 7 /* commentStart */
        start local 7 // int commentStart
        12: .line 1245
            iload 7 /* commentStart */
            iflt 14
        13: .line 1247
            aload 4 /* line */
            iconst_0
            iload 7 /* commentStart */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* line */
        14: .line 1250
      StackMap locals: int
      StackMap stack:
            ldc ""
            aload 4 /* line */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 1252
            goto 51
        16: .line 1255
      StackMap locals:
      StackMap stack:
            aload 4 /* line */
            ldc "\\p{Space}+"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 5 /* splits */
        start local 5 // java.lang.String[] splits
        17: .line 1256
            aload 5 /* splits */
            arraylength
            iconst_2
            if_icmplt 38
        18: .line 1258
            aload 6 /* curType */
            invokevirtual WrapperGenerator$BaseType.getName:()Ljava/lang/String;
            astore 8 /* struct_name */
        start local 8 // java.lang.String struct_name
        19: .line 1259
            aload 5 /* splits */
            iconst_1
            aaload
            astore 9 /* field_name */
        start local 9 // java.lang.String field_name
        20: .line 1260
            aload 5 /* splits */
            iconst_2
            aaload
            astore 10 /* s_type */
        start local 10 // java.lang.String s_type
        21: .line 1261
            aload 6 /* curType */
            astore 11 /* bt */
        start local 11 // WrapperGenerator$BaseType bt
        22: .line 1262
            aload 10 /* s_type */
            invokestatic WrapperGenerator$AtomicType.getTypeForString:(Ljava/lang/String;)I
            istore 12 /* type */
        start local 12 // int type
        23: .line 1263
            aconst_null
            astore 13 /* atp */
        start local 13 // WrapperGenerator$AtomicType atp
        24: .line 1264
            aload 11 /* bt */
            ifnull 35
            iload 12 /* type */
            iconst_m1
            if_icmpeq 35
        25: .line 1265
            new WrapperGenerator$AtomicType
            dup
            iload 12 /* type */
            aload 9 /* field_name */
            aload 10 /* s_type */
            invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            astore 13 /* atp */
        26: .line 1266
            aload 5 /* splits */
            arraylength
            iconst_3
            if_icmple 28
        27: .line 1267
            aload 13 /* atp */
            aload 5 /* splits */
            invokevirtual WrapperGenerator$AtomicType.setAttributes:([Ljava/lang/String;)V
        28: .line 1269
      StackMap locals: WrapperGenerator java.lang.String java.lang.String java.io.BufferedReader java.lang.String java.lang.String[] WrapperGenerator$BaseType int java.lang.String java.lang.String java.lang.String WrapperGenerator$BaseType int WrapperGenerator$AtomicType
      StackMap stack:
            aload 11 /* bt */
            instanceof WrapperGenerator$StructType
            ifeq 32
        29: .line 1270
            aload 11 /* bt */
            checkcast WrapperGenerator$StructType
            astore 14 /* stp */
        start local 14 // WrapperGenerator$StructType stp
        30: .line 1271
            aload 14 /* stp */
            aload 13 /* atp */
            invokevirtual WrapperGenerator$StructType.addMember:(LWrapperGenerator$BaseType;)V
        end local 14 // WrapperGenerator$StructType stp
        31: .line 1272
            goto 51
      StackMap locals:
      StackMap stack:
        32: aload 11 /* bt */
            instanceof WrapperGenerator$FunctionType
            ifeq 51
        33: .line 1273
            aload 11 /* bt */
            checkcast WrapperGenerator$FunctionType
            aload 13 /* atp */
            invokevirtual WrapperGenerator$FunctionType.addArgument:(LWrapperGenerator$BaseType;)V
        34: .line 1275
            goto 51
        35: .line 1276
      StackMap locals:
      StackMap stack:
            aload 11 /* bt */
            ifnonnull 51
        36: .line 1277
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Cannot find "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* struct_name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 13 // WrapperGenerator$AtomicType atp
        end local 12 // int type
        end local 11 // WrapperGenerator$BaseType bt
        end local 10 // java.lang.String s_type
        end local 9 // java.lang.String field_name
        end local 8 // java.lang.String struct_name
        37: .line 1280
            goto 51
        38: .line 1281
      StackMap locals: WrapperGenerator java.lang.String java.lang.String java.io.BufferedReader java.lang.String java.lang.String[] WrapperGenerator$BaseType int
      StackMap stack:
            aload 4 /* line */
            ifnull 51
        39: .line 1282
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            aload 4 /* line */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast WrapperGenerator$BaseType
            astore 8 /* bt */
        start local 8 // WrapperGenerator$BaseType bt
        40: .line 1283
            aload 8 /* bt */
            ifnonnull 51
        41: .line 1284
            aload 4 /* line */
            ldc "!"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 47
        42: .line 1285
            new WrapperGenerator$FunctionType
            dup
            aload 4 /* line */
            invokespecial WrapperGenerator$FunctionType.<init>:(Ljava/lang/String;)V
            astore 9 /* ft */
        start local 9 // WrapperGenerator$FunctionType ft
        43: .line 1286
            aload 9 /* ft */
            aload 4 /* line */
            invokevirtual WrapperGenerator$FunctionType.setName:(Ljava/lang/String;)V
        44: .line 1287
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            aload 9 /* ft */
            invokevirtual WrapperGenerator$FunctionType.getName:()Ljava/lang/String;
            aload 9 /* ft */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        45: .line 1288
            aload 9 /* ft */
            astore 6 /* curType */
        end local 9 // WrapperGenerator$FunctionType ft
        46: .line 1289
            goto 51
        47: .line 1290
      StackMap locals: WrapperGenerator$BaseType
      StackMap stack:
            new WrapperGenerator$StructType
            dup
            aload 4 /* line */
            invokespecial WrapperGenerator$StructType.<init>:(Ljava/lang/String;)V
            astore 9 /* stp */
        start local 9 // WrapperGenerator$StructType stp
        48: .line 1291
            aload 9 /* stp */
            aload 4 /* line */
            invokevirtual WrapperGenerator$StructType.setName:(Ljava/lang/String;)V
        49: .line 1292
            aload 9 /* stp */
            astore 6 /* curType */
        50: .line 1293
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            aload 9 /* stp */
            invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
            aload 9 /* stp */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // WrapperGenerator$StructType stp
        end local 8 // WrapperGenerator$BaseType bt
        end local 7 // int commentStart
        end local 5 // java.lang.String[] splits
        end local 4 // java.lang.String line
        51: .line 1242
      StackMap locals: WrapperGenerator java.lang.String java.lang.String java.io.BufferedReader top top WrapperGenerator$BaseType
      StackMap stack:
            aload 3 /* in */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            dup
            astore 4 /* line */
        start local 4 // java.lang.String line
        52: ifnonnull 11
        53: .line 1299
            aload 3 /* in */
            invokevirtual java.io.BufferedReader.close:()V
        end local 6 // WrapperGenerator$BaseType curType
        end local 4 // java.lang.String line
        end local 3 // java.io.BufferedReader in
        54: .line 1300
            goto 57
        55: .line 1301
      StackMap locals: WrapperGenerator java.lang.String java.lang.String
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        56: .line 1302
            aload 3 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 3 // java.lang.Exception e
        57: .line 1305
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String xlibFilename
        end local 1 // java.lang.String outputDir
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   58     0          this  LWrapperGenerator;
            0   58     1     outputDir  Ljava/lang/String;
            0   58     2  xlibFilename  Ljava/lang/String;
            9   54     3            in  Ljava/io/BufferedReader;
           11   51     4          line  Ljava/lang/String;
           52   54     4          line  Ljava/lang/String;
           17   51     5        splits  [Ljava/lang/String;
           10   54     6       curType  LWrapperGenerator$BaseType;
           12   51     7  commentStart  I
           19   37     8   struct_name  Ljava/lang/String;
           20   37     9    field_name  Ljava/lang/String;
           21   37    10        s_type  Ljava/lang/String;
           22   37    11            bt  LWrapperGenerator$BaseType;
           23   37    12          type  I
           24   37    13           atp  LWrapperGenerator$AtomicType;
           30   31    14           stp  LWrapperGenerator$StructType;
           40   51     8            bt  LWrapperGenerator$BaseType;
           43   46     9            ft  LWrapperGenerator$FunctionType;
           48   51     9           stp  LWrapperGenerator$StructType;
           56   57     3             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           8    54      55  Class java.lang.Exception
    MethodParameters:
              Name  Flags
      outputDir     
      xlibFilename  

  private void makeSizer(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // WrapperGenerator this
        start local 1 // java.lang.String outputDir
         0: .line 1307
            aload 0 /* this */
            getfield WrapperGenerator.wide:Z
            ifeq 3
         1: .line 1308
            aload 0 /* this */
            ldc "sizer.64.c"
            putfield WrapperGenerator.sizerFileName:Ljava/lang/String;
         2: .line 1309
            goto 4
         3: .line 1310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "sizer.32.c"
            putfield WrapperGenerator.sizerFileName:Ljava/lang/String;
         4: .line 1312
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 1 /* outputDir */
            aload 0 /* this */
            getfield WrapperGenerator.sizerFileName:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* fp */
        start local 2 // java.io.File fp
         5: .line 1313
            aload 0 /* this */
            aload 2 /* fp */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual WrapperGenerator.writeNativeSizer:(Ljava/lang/String;)V
         6: .line 1314
            return
        end local 2 // java.io.File fp
        end local 1 // java.lang.String outputDir
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  LWrapperGenerator;
            0    7     1  outputDir  Ljava/lang/String;
            5    7     2         fp  Ljava/io/File;
    MethodParameters:
           Name  Flags
      outputDir  

  private boolean readSizeInfo(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // WrapperGenerator this
        start local 1 // java.lang.String sizeInfo
         0: .line 1317
            new java.io.File
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* sizeInfo */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".32"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* f */
        start local 2 // java.io.File f
         1: .line 1318
            iconst_1
            istore 3 /* res */
        start local 3 // boolean res
         2: .line 1319
            aconst_null
            astore 4 /* fis */
        start local 4 // java.io.FileInputStream fis
         3: .line 1320
            aload 2 /* f */
            invokevirtual java.io.File.exists:()Z
            ifeq 7
         4: .line 1321
            new java.io.FileInputStream
            dup
            aload 2 /* f */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 4 /* fis */
         5: .line 1322
            aload 0 /* this */
            aload 4 /* fis */
            iconst_0
            invokevirtual WrapperGenerator.readSizeInfo:(Ljava/io/InputStream;Z)Z
            istore 3 /* res */
         6: .line 1323
            aload 4 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
         7: .line 1325
      StackMap locals: java.io.File int java.io.FileInputStream
      StackMap stack:
            new java.io.File
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* sizeInfo */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".64"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* f */
         8: .line 1326
            aload 2 /* f */
            invokevirtual java.io.File.exists:()Z
            ifeq 12
         9: .line 1327
            new java.io.FileInputStream
            dup
            aload 2 /* f */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 4 /* fis */
        10: .line 1328
            iload 3 /* res */
            aload 0 /* this */
            aload 4 /* fis */
            iconst_1
            invokevirtual WrapperGenerator.readSizeInfo:(Ljava/io/InputStream;Z)Z
            iand
            istore 3 /* res */
        11: .line 1329
            aload 4 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        12: .line 1331
      StackMap locals:
      StackMap stack:
            iload 3 /* res */
        13: ireturn
        end local 4 // java.io.FileInputStream fis
        end local 3 // boolean res
        end local 2 // java.io.File f
        14: .line 1332
      StackMap locals: WrapperGenerator java.lang.String
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        15: .line 1333
            aload 2 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        16: .line 1334
            iconst_0
            ireturn
        end local 2 // java.lang.Exception e
        end local 1 // java.lang.String sizeInfo
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  LWrapperGenerator;
            0   17     1  sizeInfo  Ljava/lang/String;
            1   14     2         f  Ljava/io/File;
            2   14     3       res  Z
            3   14     4       fis  Ljava/io/FileInputStream;
           15   17     2         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0    13      14  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      sizeInfo  

  private void startGeneration(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // WrapperGenerator this
        start local 1 // java.lang.String outputDir
        start local 2 // java.lang.String sizeInfo
         0: .line 1339
            aload 0 /* this */
            aload 2 /* sizeInfo */
            invokevirtual WrapperGenerator.readSizeInfo:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 1341
            aload 0 /* this */
            aload 1 /* outputDir */
            invokevirtual WrapperGenerator.writeJavaWrapperClass:(Ljava/lang/String;)V
         2: .line 1342
            goto 4
         3: .line 1344
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Error calculating offsets"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 1346
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String sizeInfo
        end local 1 // java.lang.String outputDir
        end local 0 // WrapperGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  LWrapperGenerator;
            0    5     1  outputDir  Ljava/lang/String;
            0    5     2   sizeInfo  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      outputDir  
      sizeInfo   

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 1350
            aload 0 /* args */
            arraylength
            iconst_4
            if_icmpge 5
         1: .line 1351
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Usage:\nWrapperGenerator <output_dir> <xlibtypes.txt> <action> [<platform> | <sizes info file>]"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 1352
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Where <action>: gen, sizer"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 1353
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "      <platform>: 32, 64"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 1354
            iconst_1
            invokestatic java.lang.System.exit:(I)V
         5: .line 1357
      StackMap locals:
      StackMap stack:
            new WrapperGenerator
            dup
            aload 0 /* args */
            iconst_0
            aaload
            aload 0 /* args */
            iconst_1
            aaload
            invokespecial WrapperGenerator.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* xparser */
        start local 1 // WrapperGenerator xparser
         6: .line 1358
            aload 0 /* args */
            iconst_2
            aaload
            ldc "sizer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         7: .line 1359
            aload 1 /* xparser */
            aload 0 /* args */
            iconst_3
            aaload
            ldc "64"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            putfield WrapperGenerator.wide:Z
         8: .line 1360
            aload 1 /* xparser */
            aload 0 /* args */
            iconst_0
            aaload
            invokevirtual WrapperGenerator.makeSizer:(Ljava/lang/String;)V
         9: .line 1361
            goto 12
      StackMap locals: WrapperGenerator
      StackMap stack:
        10: aload 0 /* args */
            iconst_2
            aaload
            ldc "gen"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 1362
            aload 1 /* xparser */
            aload 0 /* args */
            iconst_0
            aaload
            aload 0 /* args */
            iconst_3
            aaload
            invokevirtual WrapperGenerator.startGeneration:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 1364
      StackMap locals:
      StackMap stack:
            return
        end local 1 // WrapperGenerator xparser
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     args  [Ljava/lang/String;
            6   13     1  xparser  LWrapperGenerator;
    MethodParameters:
      Name  Flags
      args  
}
SourceFile: "WrapperGenerator.java"
NestMembers:
  WrapperGenerator$AtomicType  WrapperGenerator$BaseType  WrapperGenerator$FunctionType  WrapperGenerator$StructType
InnerClasses:
  private AtomicType = WrapperGenerator$AtomicType of WrapperGenerator
  private abstract BaseType = WrapperGenerator$BaseType of WrapperGenerator
  private FunctionType = WrapperGenerator$FunctionType of WrapperGenerator
  private StructType = WrapperGenerator$StructType of WrapperGenerator