class WrapperGenerator$AtomicType extends WrapperGenerator$BaseType
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: WrapperGenerator$AtomicType
  super_class: WrapperGenerator$BaseType
{
  private boolean alias;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String aliasName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  static final int TYPE_INT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int TYPE_CHAR;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int TYPE_LONG;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int TYPE_LONG_LONG;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final int TYPE_DOUBLE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final int TYPE_FLOAT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static final int TYPE_PTR;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final int TYPE_SHORT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  static final int TYPE_BOOL;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  static final int TYPE_STRUCT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  static final int TYPE_ARRAY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  static final int TYPE_BYTE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  static final int TYPE_ATOM;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  static final int TYPE_ULONG;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 13

  int type;
    descriptor: I
    flags: (0x0000) 

  int offset;
    descriptor: I
    flags: (0x0000) 

  int direction;
    descriptor: I
    flags: (0x0000) 

  WrapperGenerator$BaseType referencedType;
    descriptor: LWrapperGenerator$BaseType;
    flags: (0x0000) 

  int arrayLength;
    descriptor: I
    flags: (0x0000) 

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

  static int getTypeForString(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String str
         0: .line 107
            iconst_m1
            istore 1 /* type */
        start local 1 // int type
         1: .line 108
            aload 0 /* str */
            ldc "int"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 109
            iconst_0
            istore 1 /* type */
            goto 30
         3: .line 110
      StackMap locals: int
      StackMap stack:
            aload 0 /* str */
            ldc "long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 111
            iconst_2
            istore 1 /* type */
            goto 30
         5: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            ldc "byte"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 113
            bipush 11
            istore 1 /* type */
            goto 30
         7: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            ldc "char"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 115
            iconst_1
            istore 1 /* type */
            goto 30
         9: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            ldc "long long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 117
            iconst_3
            istore 1 /* type */
            goto 30
        11: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            ldc "double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 119
            iconst_4
            istore 1 /* type */
            goto 30
        13: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            ldc "float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 121
            iconst_5
            istore 1 /* type */
            goto 30
        15: .line 122
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            ldc "pointer"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 123
            bipush 6
            istore 1 /* type */
            goto 30
        17: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            ldc "short"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 125
            bipush 7
            istore 1 /* type */
            goto 30
        19: .line 126
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            ldc "Bool"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        20: .line 127
            bipush 8
            istore 1 /* type */
            goto 30
        21: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            ldc "struct"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        22: .line 129
            bipush 9
            istore 1 /* type */
            goto 30
        23: .line 130
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            ldc "Atom"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        24: .line 131
            bipush 12
            istore 1 /* type */
            goto 30
        25: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            ldc "array"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 27
        26: .line 133
            bipush 10
            istore 1 /* type */
            goto 30
        27: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* str */
            ldc "ulong"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        28: .line 135
            bipush 13
            istore 1 /* type */
            goto 30
        29: .line 136
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Uknown type string: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* str */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 138
      StackMap locals:
      StackMap stack:
            iload 1 /* type */
            ireturn
        end local 1 // int type
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   31     0   str  Ljava/lang/String;
            1   31     1  type  I
    MethodParameters:
      Name  Flags
      str   

  java.lang.String getJavaType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // WrapperGenerator$AtomicType this
         0: .line 141
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            ifnull 4
         1: .line 142
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            instanceof WrapperGenerator$AtomicType
            ifeq 3
         2: .line 143
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            checkcast WrapperGenerator$AtomicType
            invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
            areturn
         3: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            invokevirtual WrapperGenerator$BaseType.getName:()Ljava/lang/String;
            areturn
         4: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.type:I
            invokestatic WrapperGenerator$AtomicType.getJavaTypeForType:(I)Ljava/lang/String;
            areturn
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  LWrapperGenerator$AtomicType;

  static java.lang.String getJavaTypeForType(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int type
         0: .line 152
            iload 0 /* type */
            tableswitch { // 0 - 13
                    0: 1
                    1: 2
                    2: 4
                    3: 4
                    4: 5
                    5: 6
                    6: 4
                    7: 7
                    8: 8
                    9: 10
                   10: 10
                   11: 3
                   12: 9
                   13: 4
              default: 10
          }
         1: .line 154
      StackMap locals:
      StackMap stack:
            ldc "int"
            areturn
         2: .line 156
      StackMap locals:
      StackMap stack:
            ldc "char"
            areturn
         3: .line 158
      StackMap locals:
      StackMap stack:
            ldc "byte"
            areturn
         4: .line 163
      StackMap locals:
      StackMap stack:
            ldc "long"
            areturn
         5: .line 165
      StackMap locals:
      StackMap stack:
            ldc "double"
            areturn
         6: .line 167
      StackMap locals:
      StackMap stack:
            ldc "float"
            areturn
         7: .line 169
      StackMap locals:
      StackMap stack:
            ldc "short"
            areturn
         8: .line 171
      StackMap locals:
      StackMap stack:
            ldc "boolean"
            areturn
         9: .line 173
      StackMap locals:
      StackMap stack:
            ldc "long"
            areturn
        10: .line 175
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  type  I
    MethodParameters:
      Name  Flags
      type  

  java.lang.String getItemSize();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // WrapperGenerator$AtomicType this
         0: .line 179
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            ifnull 4
         1: .line 180
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            instanceof WrapperGenerator$StructType
            ifeq 3
         2: .line 181
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            checkcast WrapperGenerator$StructType
            invokevirtual WrapperGenerator$StructType.getSize:()Ljava/lang/String;
            areturn
         3: .line 183
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            checkcast WrapperGenerator$AtomicType
            invokevirtual WrapperGenerator$AtomicType.getItemSize:()Ljava/lang/String;
            areturn
         4: .line 186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual WrapperGenerator$AtomicType.getJavaAccess:(Z)Ljava/lang/String;
            invokestatic WrapperGenerator$AtomicType.getNativeSizeForAccess:(Ljava/lang/String;)I
            istore 1 /* i32 */
        start local 1 // int i32
         5: .line 187
            aload 0 /* this */
            iconst_1
            invokevirtual WrapperGenerator$AtomicType.getJavaAccess:(Z)Ljava/lang/String;
            invokestatic WrapperGenerator$AtomicType.getNativeSizeForAccess:(Ljava/lang/String;)I
            istore 2 /* i64 */
        start local 2 // int i64
         6: .line 188
            iload 1 /* i32 */
            iload 2 /* i64 */
            if_icmpeq 8
         7: .line 189
            new java.lang.StringBuilder
            dup
            ldc "Native.get"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual WrapperGenerator$AtomicType.getNativeAccess:()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;
            areturn
         8: .line 191
      StackMap locals: int int
      StackMap stack:
            iload 1 /* i32 */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            areturn
        end local 2 // int i64
        end local 1 // int i32
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  LWrapperGenerator$AtomicType;
            5    9     1   i32  I
            6    9     2   i64  I

  java.lang.String getJavaResult(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // WrapperGenerator$AtomicType this
        start local 1 // java.lang.String offset
        start local 2 // java.lang.String base
         0: .line 197
            aconst_null
            astore 3 /* res */
        start local 3 // java.lang.String res
         1: .line 198
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.type:I
            tableswitch { // 6 - 10
                    6: 4
                    7: 22
                    8: 22
                    9: 2
                   10: 13
              default: 22
          }
         2: .line 200
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "pData + "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* offset */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* res */
         3: .line 201
            goto 25
         4: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            ifnull 5
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            instanceof WrapperGenerator$StructType
            ifeq 7
         5: .line 204
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* base */
            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 1 /* offset */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* res */
         6: .line 205
            goto 25
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            instanceof WrapperGenerator$AtomicType
            ifeq 25
         8: .line 206
            ldc "Native.get{0}({1})"
         9: .line 207
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            checkcast WrapperGenerator$AtomicType
            getfield WrapperGenerator$AtomicType.type:I
            invokestatic WrapperGenerator$AtomicType.getNativeAccessForType:(I)Ljava/lang/String;
            aastore
            dup
            iconst_1
        10: .line 208
            new java.lang.StringBuilder
            dup
            aload 2 /* base */
            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 1 /* offset */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        11: .line 206
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* res */
        12: .line 210
            goto 25
        13: .line 212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            instanceof WrapperGenerator$StructType
            ifeq 16
        14: .line 213
            new java.lang.StringBuilder
            dup
            ldc "pData + "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* offset */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* res */
        15: .line 214
            goto 25
      StackMap locals:
      StackMap stack:
        16: aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            instanceof WrapperGenerator$AtomicType
            ifeq 25
        17: .line 215
            ldc "Native.get{0}(pData + {1})"
        18: .line 216
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            checkcast WrapperGenerator$AtomicType
            getfield WrapperGenerator$AtomicType.type:I
            invokestatic WrapperGenerator$AtomicType.getNativeAccessForType:(I)Ljava/lang/String;
            aastore
            dup
            iconst_1
        19: .line 217
            aload 1 /* offset */
            aastore
        20: .line 215
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* res */
        21: .line 219
            goto 25
        22: .line 221
      StackMap locals:
      StackMap stack:
            ldc "(Native.get{0}(pData+{1}))"
        23: .line 222
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual WrapperGenerator$AtomicType.getNativeAccess:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* offset */
            aastore
        24: .line 221
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* res */
        25: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* res */
            aload 2 /* base */
            invokevirtual WrapperGenerator$AtomicType.getJavaResultConversion:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String res
        end local 2 // java.lang.String base
        end local 1 // java.lang.String offset
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   26     0    this  LWrapperGenerator$AtomicType;
            0   26     1  offset  Ljava/lang/String;
            0   26     2    base  Ljava/lang/String;
            1   26     3     res  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      offset  
      base    

  java.lang.String getJavaResultConversion(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // WrapperGenerator$AtomicType this
        start local 1 // java.lang.String value
        start local 2 // java.lang.String base
         0: .line 227
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            ifnull 6
         1: .line 228
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            instanceof WrapperGenerator$StructType
            ifeq 5
         2: .line 229
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.type:I
            bipush 6
            if_icmpne 4
         3: .line 230
            ldc "({2} != 0)?(new {0}({1})):(null)"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            invokevirtual WrapperGenerator$BaseType.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* value */
            aastore
            dup
            iconst_2
            aload 2 /* base */
            aastore
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
         4: .line 232
      StackMap locals:
      StackMap stack:
            ldc "new {0}({1})"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            invokevirtual WrapperGenerator$BaseType.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* value */
            aastore
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
         5: .line 235
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            areturn
         6: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.type:I
            aload 1 /* value */
            invokestatic WrapperGenerator$AtomicType.getJavaResultConversionForType:(ILjava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String base
        end local 1 // java.lang.String value
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  LWrapperGenerator$AtomicType;
            0    7     1  value  Ljava/lang/String;
            0    7     2   base  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  
      base   

  static java.lang.String getJavaResultConversionForType(int, java.lang.String);
    descriptor: (ILjava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // int type
        start local 1 // java.lang.String value
         0: .line 242
            aload 1 /* value */
            areturn
        end local 1 // java.lang.String value
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   type  I
            0    1     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      type   
      value  

  java.lang.String getNativeAccess();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // WrapperGenerator$AtomicType this
         0: .line 245
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.type:I
            invokestatic WrapperGenerator$AtomicType.getNativeAccessForType:(I)Ljava/lang/String;
            areturn
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  LWrapperGenerator$AtomicType;

  java.lang.String getJavaAccess(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // WrapperGenerator$AtomicType this
        start local 1 // boolean wide
         0: .line 248
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.type:I
            iload 1 /* wide */
            invokestatic WrapperGenerator$AtomicType.getJavaAccessForType:(IZ)Ljava/lang/String;
            areturn
        end local 1 // boolean wide
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  LWrapperGenerator$AtomicType;
            0    1     1  wide  Z
    MethodParameters:
      Name  Flags
      wide  

  static java.lang.String getJavaAccessForType(int, boolean);
    descriptor: (IZ)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // int type
        start local 1 // boolean wide
         0: .line 251
            iload 0 /* type */
            tableswitch { // 0 - 13
                    0: 1
                    1: 2
                    2: 4
                    3: 7
                    4: 11
                    5: 12
                    6: 4
                    7: 13
                    8: 14
                    9: 4
                   10: 4
                   11: 3
                   12: 4
                   13: 8
              default: 15
          }
         1: .line 253
      StackMap locals:
      StackMap stack:
            ldc "Int"
            areturn
         2: .line 255
      StackMap locals:
      StackMap stack:
            ldc "Char"
            areturn
         3: .line 257
      StackMap locals:
      StackMap stack:
            ldc "Byte"
            areturn
         4: .line 263
      StackMap locals:
      StackMap stack:
            iload 1 /* wide */
            ifeq 5
            ldc "Long"
            goto 6
      StackMap locals:
      StackMap stack:
         5: ldc "Int"
      StackMap locals:
      StackMap stack: java.lang.String
         6: areturn
         7: .line 265
      StackMap locals:
      StackMap stack:
            ldc "Long"
            areturn
         8: .line 267
      StackMap locals:
      StackMap stack:
            iload 1 /* wide */
            ifeq 9
            ldc "ULong"
            goto 10
      StackMap locals:
      StackMap stack:
         9: ldc "UInt"
      StackMap locals:
      StackMap stack: java.lang.String
        10: areturn
        11: .line 269
      StackMap locals:
      StackMap stack:
            ldc "Double"
            areturn
        12: .line 271
      StackMap locals:
      StackMap stack:
            ldc "Float"
            areturn
        13: .line 273
      StackMap locals:
      StackMap stack:
            ldc "Short"
            areturn
        14: .line 275
      StackMap locals:
      StackMap stack:
            ldc "Int"
            areturn
        15: .line 277
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // boolean wide
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  type  I
            0   16     1  wide  Z
    MethodParameters:
      Name  Flags
      type  
      wide  

  static java.lang.String getNativeAccessForType(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int type
         0: .line 281
            iload 0 /* type */
            tableswitch { // 0 - 13
                    0: 1
                    1: 2
                    2: 4
                    3: 5
                    4: 7
                    5: 8
                    6: 4
                    7: 9
                    8: 10
                    9: 4
                   10: 4
                   11: 3
                   12: 11
                   13: 6
              default: 12
          }
         1: .line 283
      StackMap locals:
      StackMap stack:
            ldc "Int"
            areturn
         2: .line 285
      StackMap locals:
      StackMap stack:
            ldc "Char"
            areturn
         3: .line 287
      StackMap locals:
      StackMap stack:
            ldc "Byte"
            areturn
         4: .line 292
      StackMap locals:
      StackMap stack:
            ldc "Long"
            areturn
         5: .line 294
      StackMap locals:
      StackMap stack:
            ldc "Long"
            areturn
         6: .line 296
      StackMap locals:
      StackMap stack:
            ldc "ULong"
            areturn
         7: .line 298
      StackMap locals:
      StackMap stack:
            ldc "Double"
            areturn
         8: .line 300
      StackMap locals:
      StackMap stack:
            ldc "Float"
            areturn
         9: .line 302
      StackMap locals:
      StackMap stack:
            ldc "Short"
            areturn
        10: .line 304
      StackMap locals:
      StackMap stack:
            ldc "Bool"
            areturn
        11: .line 306
      StackMap locals:
      StackMap stack:
            ldc "Long"
            areturn
        12: .line 308
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  type  I
    MethodParameters:
      Name  Flags
      type  

  static int getNativeSizeForAccess(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // java.lang.String access
         0: .line 313
            aload 0 /* access */
            ldc "Int"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_4
            ireturn
         1: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* access */
            ldc "Byte"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
            iconst_1
            ireturn
         2: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* access */
            ldc "Long"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
            bipush 8
            ireturn
         3: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* access */
            ldc "Double"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
            bipush 8
            ireturn
         4: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* access */
            ldc "Float"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
            iconst_4
            ireturn
         5: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* access */
            ldc "Char"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
            iconst_2
            ireturn
         6: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* access */
            ldc "Short"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
            iconst_2
            ireturn
         7: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* access */
            ldc "ULong"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
            bipush 8
            ireturn
         8: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* access */
            ldc "UInt"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
            iconst_4
            ireturn
         9: .line 322
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknow access type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* access */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String access
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0  access  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      access  

  java.lang.String getJavaConversion(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // WrapperGenerator$AtomicType this
        start local 1 // java.lang.String offset
        start local 2 // java.lang.String value
         0: .line 326
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            ifnull 6
         1: .line 327
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            instanceof WrapperGenerator$StructType
            ifeq 3
         2: .line 328
            bipush 6
            aload 1 /* offset */
            new java.lang.StringBuilder
            dup
            aload 2 /* value */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".pData"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic WrapperGenerator$AtomicType.getJavaConversionForType:(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
         3: .line 330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.type:I
            bipush 10
            if_icmpne 5
         4: .line 331
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            checkcast WrapperGenerator$AtomicType
            getfield WrapperGenerator$AtomicType.type:I
            aload 1 /* offset */
            aload 2 /* value */
            invokestatic WrapperGenerator$AtomicType.getJavaConversionForType:(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
         5: .line 333
      StackMap locals:
      StackMap stack:
            bipush 6
            aload 1 /* offset */
            aload 2 /* value */
            invokestatic WrapperGenerator$AtomicType.getJavaConversionForType:(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
         6: .line 337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.type:I
            aload 1 /* offset */
            aload 2 /* value */
            invokestatic WrapperGenerator$AtomicType.getJavaConversionForType:(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String value
        end local 1 // java.lang.String offset
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  LWrapperGenerator$AtomicType;
            0    7     1  offset  Ljava/lang/String;
            0    7     2   value  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      offset  
      value   

  static java.lang.String getJavaConversionForType(int, java.lang.String, java.lang.String);
    descriptor: (ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // int type
        start local 1 // java.lang.String offset
        start local 2 // java.lang.String value
         0: .line 341
            ldc "Native.put{0}({2}, {1})"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            iload 0 /* type */
            invokestatic WrapperGenerator$AtomicType.getNativeAccessForType:(I)Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* value */
            aastore
            dup
            iconst_2
            aload 1 /* offset */
            aastore
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String value
        end local 1 // java.lang.String offset
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    type  I
            0    1     1  offset  Ljava/lang/String;
            0    1     2   value  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      type    
      offset  
      value   

  public void <init>(int, java.lang.String, java.lang.String);
    descriptor: (ILjava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // WrapperGenerator$AtomicType this
        start local 1 // int _type
        start local 2 // java.lang.String _name
        start local 3 // java.lang.String _real_type
         0: .line 351
            aload 0 /* this */
            invokespecial WrapperGenerator$BaseType.<init>:()V
         1: .line 349
            aload 0 /* this */
            iconst_m1
            putfield WrapperGenerator$AtomicType.arrayLength:I
         2: .line 350
            aload 0 /* this */
            iconst_0
            putfield WrapperGenerator$AtomicType.autoFree:Z
         3: .line 352
            aload 0 /* this */
            aload 2 /* _name */
            ldc "[* \t]"
            ldc ""
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield WrapperGenerator$AtomicType.name:Ljava/lang/String;
         4: .line 353
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.name:Ljava/lang/String;
            ldc "["
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpne 5
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.name:Ljava/lang/String;
            ldc "]"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 6
         5: .line 355
      StackMap locals: WrapperGenerator$AtomicType int java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.name:Ljava/lang/String;
            ldc "\\[.*\\]"
            ldc ""
            invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield WrapperGenerator$AtomicType.name:Ljava/lang/String;
         6: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* _type */
            putfield WrapperGenerator$AtomicType.type:I
         7: .line 358
            aload 0 /* this */
            aload 3 /* _real_type */
            putfield WrapperGenerator$AtomicType.real_type:Ljava/lang/String;
         8: .line 359
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.real_type:Ljava/lang/String;
            ifnonnull 10
         9: .line 361
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc " real type is null"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 364
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String _real_type
        end local 2 // java.lang.String _name
        end local 1 // int _type
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  LWrapperGenerator$AtomicType;
            0   11     1       _type  I
            0   11     2       _name  Ljava/lang/String;
            0   11     3  _real_type  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      _type       
      _name       
      _real_type  

  public boolean isIn();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // WrapperGenerator$AtomicType this
         0: .line 366
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.direction:I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  LWrapperGenerator$AtomicType;

  public boolean isOut();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // WrapperGenerator$AtomicType this
         0: .line 369
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.direction:I
            iconst_1
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  LWrapperGenerator$AtomicType;

  public boolean isInOut();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // WrapperGenerator$AtomicType this
         0: .line 372
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.direction:I
            iconst_2
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  LWrapperGenerator$AtomicType;

  public boolean isAutoFree();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // WrapperGenerator$AtomicType this
         0: .line 375
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.autoFree:Z
            ireturn
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  LWrapperGenerator$AtomicType;

  public void setAttributes(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // WrapperGenerator$AtomicType this
        start local 1 // java.lang.String[] attributes
         0: .line 378
            aload 1 /* attributes */
            iconst_3
            aaload
            astore 2 /* mod */
        start local 2 // java.lang.String mod
         1: .line 379
            ldc "in"
            aload 2 /* mod */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 380
            aload 0 /* this */
            iconst_0
            putfield WrapperGenerator$AtomicType.direction:I
         3: .line 381
            goto 24
      StackMap locals: java.lang.String
      StackMap stack:
         4: ldc "out"
            aload 2 /* mod */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         5: .line 382
            aload 0 /* this */
            iconst_1
            putfield WrapperGenerator$AtomicType.direction:I
         6: .line 383
            aload 1 /* attributes */
            arraylength
            iconst_4
            if_icmple 24
            ldc "free"
            aload 1 /* attributes */
            iconst_4
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
         7: .line 384
            aload 0 /* this */
            iconst_1
            putfield WrapperGenerator$AtomicType.autoFree:Z
         8: .line 386
            goto 24
      StackMap locals:
      StackMap stack:
         9: ldc "inout"
            aload 2 /* mod */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 387
            aload 0 /* this */
            iconst_2
            putfield WrapperGenerator$AtomicType.direction:I
        11: .line 388
            goto 24
      StackMap locals:
      StackMap stack:
        12: ldc "alias"
            aload 2 /* mod */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        13: .line 389
            aload 0 /* this */
            iconst_1
            putfield WrapperGenerator$AtomicType.alias:Z
        14: .line 390
            aload 0 /* this */
            aload 1 /* attributes */
            iconst_4
            aaload
            putfield WrapperGenerator$AtomicType.aliasName:Ljava/lang/String;
        15: .line 391
            goto 24
      StackMap locals:
      StackMap stack:
        16: aload 0 /* this */
            getfield WrapperGenerator$AtomicType.type:I
            bipush 10
            if_icmpeq 17
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.type:I
            bipush 6
            if_icmpeq 17
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.type:I
            bipush 9
            if_icmpne 24
        17: .line 392
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
            aload 2 /* mod */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast WrapperGenerator$BaseType
            putfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
        18: .line 393
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            ifnonnull 20
        19: .line 394
            getstatic WrapperGenerator.log:Ljava/util/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Can't find type for name "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* mod */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
        20: .line 396
      StackMap locals:
      StackMap stack:
            aload 1 /* attributes */
            arraylength
            iconst_4
            if_icmple 24
        21: .line 398
            aload 0 /* this */
            aload 1 /* attributes */
            iconst_4
            aaload
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield WrapperGenerator$AtomicType.arrayLength:I
        22: .line 399
            goto 24
      StackMap locals:
      StackMap stack: java.lang.Exception
        23: pop
        24: .line 403
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String mod
        end local 1 // java.lang.String[] attributes
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   25     0        this  LWrapperGenerator$AtomicType;
            0   25     1  attributes  [Ljava/lang/String;
            1   25     2         mod  Ljava/lang/String;
      Exception table:
        from    to  target  type
          21    22      23  Class java.lang.Exception
    MethodParameters:
            Name  Flags
      attributes  

  public WrapperGenerator$BaseType getReferencedType();
    descriptor: ()LWrapperGenerator$BaseType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // WrapperGenerator$AtomicType this
         0: .line 405
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
            areturn
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  LWrapperGenerator$AtomicType;

  public int getArrayLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // WrapperGenerator$AtomicType this
         0: .line 408
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.arrayLength:I
            ireturn
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  LWrapperGenerator$AtomicType;

  public void setOffset(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // WrapperGenerator$AtomicType this
        start local 1 // int o
         0: .line 412
            aload 0 /* this */
            iload 1 /* o */
            putfield WrapperGenerator$AtomicType.offset:I
         1: .line 413
            return
        end local 1 // int o
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  LWrapperGenerator$AtomicType;
            0    2     1     o  I
    MethodParameters:
      Name  Flags
      o     

  public int getType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // WrapperGenerator$AtomicType this
         0: .line 415
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.type:I
            ireturn
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  LWrapperGenerator$AtomicType;

  public java.lang.String getTypeUpperCase();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // WrapperGenerator$AtomicType this
         0: .line 418
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.type:I
            tableswitch { // 0 - 13
                    0: 1
                    1: 2
                    2: 4
                    3: 4
                    4: 5
                    5: 6
                    6: 4
                    7: 7
                    8: 8
                    9: 11
                   10: 11
                   11: 3
                   12: 9
                   13: 10
              default: 11
          }
         1: .line 420
      StackMap locals:
      StackMap stack:
            ldc "Int"
            areturn
         2: .line 422
      StackMap locals:
      StackMap stack:
            ldc "Char"
            areturn
         3: .line 424
      StackMap locals:
      StackMap stack:
            ldc "Byte"
            areturn
         4: .line 428
      StackMap locals:
      StackMap stack:
            ldc "Long"
            areturn
         5: .line 430
      StackMap locals:
      StackMap stack:
            ldc "Double"
            areturn
         6: .line 432
      StackMap locals:
      StackMap stack:
            ldc "Float"
            areturn
         7: .line 434
      StackMap locals:
      StackMap stack:
            ldc "Short"
            areturn
         8: .line 436
      StackMap locals:
      StackMap stack:
            ldc "Int"
            areturn
         9: .line 438
      StackMap locals:
      StackMap stack:
            ldc "Long"
            areturn
        10: .line 440
      StackMap locals:
      StackMap stack:
            ldc "ULong"
            areturn
        11: .line 441
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Uknown type"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  LWrapperGenerator$AtomicType;

  public int getOffset();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // WrapperGenerator$AtomicType this
         0: .line 446
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.offset:I
            ireturn
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  LWrapperGenerator$AtomicType;

  public boolean isAlias();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // WrapperGenerator$AtomicType this
         0: .line 449
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.alias:Z
            ireturn
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  LWrapperGenerator$AtomicType;

  public java.lang.String getAliasName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // WrapperGenerator$AtomicType this
         0: .line 452
            aload 0 /* this */
            getfield WrapperGenerator$AtomicType.aliasName:Ljava/lang/String;
            areturn
        end local 0 // WrapperGenerator$AtomicType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  LWrapperGenerator$AtomicType;
}
SourceFile: "WrapperGenerator.java"
NestHost: WrapperGenerator
InnerClasses:
  private AtomicType = WrapperGenerator$AtomicType of WrapperGenerator
  private abstract BaseType = WrapperGenerator$BaseType of WrapperGenerator
  private StructType = WrapperGenerator$StructType of WrapperGenerator