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 0: iconst_m1
istore 1
start local 1 1: aload 0
ldc "int"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: iconst_0
istore 1
goto 30
3: StackMap locals: int
StackMap stack:
aload 0
ldc "long"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_2
istore 1
goto 30
5: StackMap locals:
StackMap stack:
aload 0
ldc "byte"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: bipush 11
istore 1
goto 30
7: StackMap locals:
StackMap stack:
aload 0
ldc "char"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: iconst_1
istore 1
goto 30
9: StackMap locals:
StackMap stack:
aload 0
ldc "long long"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 11
10: iconst_3
istore 1
goto 30
11: StackMap locals:
StackMap stack:
aload 0
ldc "double"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
12: iconst_4
istore 1
goto 30
13: StackMap locals:
StackMap stack:
aload 0
ldc "float"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
14: iconst_5
istore 1
goto 30
15: StackMap locals:
StackMap stack:
aload 0
ldc "pointer"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
16: bipush 6
istore 1
goto 30
17: StackMap locals:
StackMap stack:
aload 0
ldc "short"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
18: bipush 7
istore 1
goto 30
19: StackMap locals:
StackMap stack:
aload 0
ldc "Bool"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 21
20: bipush 8
istore 1
goto 30
21: StackMap locals:
StackMap stack:
aload 0
ldc "struct"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
22: bipush 9
istore 1
goto 30
23: StackMap locals:
StackMap stack:
aload 0
ldc "Atom"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 25
24: bipush 12
istore 1
goto 30
25: StackMap locals:
StackMap stack:
aload 0
ldc "array"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
26: bipush 10
istore 1
goto 30
27: StackMap locals:
StackMap stack:
aload 0
ldc "ulong"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 29
28: bipush 13
istore 1
goto 30
29: 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
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: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 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 0: aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
ifnull 4
1: aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
instanceof WrapperGenerator$AtomicType
ifeq 3
2: aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
checkcast WrapperGenerator$AtomicType
invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
invokevirtual WrapperGenerator$BaseType.getName:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield WrapperGenerator$AtomicType.type:I
invokestatic WrapperGenerator$AtomicType.getJavaTypeForType:(I)Ljava/lang/String;
areturn
end local 0 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 0: iload 0
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: StackMap locals:
StackMap stack:
ldc "int"
areturn
2: StackMap locals:
StackMap stack:
ldc "char"
areturn
3: StackMap locals:
StackMap stack:
ldc "byte"
areturn
4: StackMap locals:
StackMap stack:
ldc "long"
areturn
5: StackMap locals:
StackMap stack:
ldc "double"
areturn
6: StackMap locals:
StackMap stack:
ldc "float"
areturn
7: StackMap locals:
StackMap stack:
ldc "short"
areturn
8: StackMap locals:
StackMap stack:
ldc "boolean"
areturn
9: StackMap locals:
StackMap stack:
ldc "long"
areturn
10: 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
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 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 0: aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
ifnull 4
1: aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
instanceof WrapperGenerator$StructType
ifeq 3
2: aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
checkcast WrapperGenerator$StructType
invokevirtual WrapperGenerator$StructType.getSize:()Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
checkcast WrapperGenerator$AtomicType
invokevirtual WrapperGenerator$AtomicType.getItemSize:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual WrapperGenerator$AtomicType.getJavaAccess:(Z)Ljava/lang/String;
invokestatic WrapperGenerator$AtomicType.getNativeSizeForAccess:(Ljava/lang/String;)I
istore 1
start local 1 5: aload 0
iconst_1
invokevirtual WrapperGenerator$AtomicType.getJavaAccess:(Z)Ljava/lang/String;
invokestatic WrapperGenerator$AtomicType.getNativeSizeForAccess:(Ljava/lang/String;)I
istore 2
start local 2 6: iload 1
iload 2
if_icmpeq 8
7: new java.lang.StringBuilder
dup
ldc "Native.get"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
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: StackMap locals: int int
StackMap stack:
iload 1
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
getfield WrapperGenerator$AtomicType.type:I
tableswitch { // 6 - 10
6: 4
7: 22
8: 22
9: 2
10: 13
default: 22
}
2: 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
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
3: goto 25
4: StackMap locals:
StackMap stack:
aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
ifnull 5
aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
instanceof WrapperGenerator$StructType
ifeq 7
5: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
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
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
6: goto 25
StackMap locals:
StackMap stack:
7: aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
instanceof WrapperGenerator$AtomicType
ifeq 25
8: ldc "Native.get{0}({1})"
9: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
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: new java.lang.StringBuilder
dup
aload 2
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
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
11: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 3
12: goto 25
13: StackMap locals:
StackMap stack:
aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
instanceof WrapperGenerator$StructType
ifeq 16
14: new java.lang.StringBuilder
dup
ldc "pData + "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
15: goto 25
StackMap locals:
StackMap stack:
16: aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
instanceof WrapperGenerator$AtomicType
ifeq 25
17: ldc "Native.get{0}(pData + {1})"
18: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
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: aload 1
aastore
20: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 3
21: goto 25
22: StackMap locals:
StackMap stack:
ldc "(Native.get{0}(pData+{1}))"
23: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual WrapperGenerator$AtomicType.getNativeAccess:()Ljava/lang/String;
aastore
dup
iconst_1
aload 1
aastore
24: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 3
25: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 2
invokevirtual WrapperGenerator$AtomicType.getJavaResultConversion:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 0: aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
ifnull 6
1: aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
instanceof WrapperGenerator$StructType
ifeq 5
2: aload 0
getfield WrapperGenerator$AtomicType.type:I
bipush 6
if_icmpne 4
3: ldc "({2} != 0)?(new {0}({1})):(null)"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
invokevirtual WrapperGenerator$BaseType.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
ldc "new {0}({1})"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
invokevirtual WrapperGenerator$BaseType.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 1
aastore
invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
5: StackMap locals:
StackMap stack:
aload 1
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield WrapperGenerator$AtomicType.type:I
aload 1
invokestatic WrapperGenerator$AtomicType.getJavaResultConversionForType:(ILjava/lang/String;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 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 start local 1 0: aload 1
areturn
end local 1 end local 0 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 0: aload 0
getfield WrapperGenerator$AtomicType.type:I
invokestatic WrapperGenerator$AtomicType.getNativeAccessForType:(I)Ljava/lang/String;
areturn
end local 0 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 start local 1 0: aload 0
getfield WrapperGenerator$AtomicType.type:I
iload 1
invokestatic WrapperGenerator$AtomicType.getJavaAccessForType:(IZ)Ljava/lang/String;
areturn
end local 1 end local 0 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 start local 1 0: iload 0
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: StackMap locals:
StackMap stack:
ldc "Int"
areturn
2: StackMap locals:
StackMap stack:
ldc "Char"
areturn
3: StackMap locals:
StackMap stack:
ldc "Byte"
areturn
4: StackMap locals:
StackMap stack:
iload 1
ifeq 5
ldc "Long"
goto 6
StackMap locals:
StackMap stack:
5: ldc "Int"
StackMap locals:
StackMap stack: java.lang.String
6: areturn
7: StackMap locals:
StackMap stack:
ldc "Long"
areturn
8: StackMap locals:
StackMap stack:
iload 1
ifeq 9
ldc "ULong"
goto 10
StackMap locals:
StackMap stack:
9: ldc "UInt"
StackMap locals:
StackMap stack: java.lang.String
10: areturn
11: StackMap locals:
StackMap stack:
ldc "Double"
areturn
12: StackMap locals:
StackMap stack:
ldc "Float"
areturn
13: StackMap locals:
StackMap stack:
ldc "Short"
areturn
14: StackMap locals:
StackMap stack:
ldc "Int"
areturn
15: 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
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 end local 0 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 0: iload 0
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: StackMap locals:
StackMap stack:
ldc "Int"
areturn
2: StackMap locals:
StackMap stack:
ldc "Char"
areturn
3: StackMap locals:
StackMap stack:
ldc "Byte"
areturn
4: StackMap locals:
StackMap stack:
ldc "Long"
areturn
5: StackMap locals:
StackMap stack:
ldc "Long"
areturn
6: StackMap locals:
StackMap stack:
ldc "ULong"
areturn
7: StackMap locals:
StackMap stack:
ldc "Double"
areturn
8: StackMap locals:
StackMap stack:
ldc "Float"
areturn
9: StackMap locals:
StackMap stack:
ldc "Short"
areturn
10: StackMap locals:
StackMap stack:
ldc "Bool"
areturn
11: StackMap locals:
StackMap stack:
ldc "Long"
areturn
12: 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
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 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 0: aload 0
ldc "Int"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 1
iconst_4
ireturn
1: StackMap locals:
StackMap stack:
aload 0
ldc "Byte"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 2
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
ldc "Long"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
bipush 8
ireturn
3: StackMap locals:
StackMap stack:
aload 0
ldc "Double"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
bipush 8
ireturn
4: StackMap locals:
StackMap stack:
aload 0
ldc "Float"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
iconst_4
ireturn
5: StackMap locals:
StackMap stack:
aload 0
ldc "Char"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
iconst_2
ireturn
6: StackMap locals:
StackMap stack:
aload 0
ldc "Short"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
iconst_2
ireturn
7: StackMap locals:
StackMap stack:
aload 0
ldc "ULong"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
bipush 8
ireturn
8: StackMap locals:
StackMap stack:
aload 0
ldc "UInt"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
iconst_4
ireturn
9: 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
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 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 start local 1 start local 2 0: aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
ifnull 6
1: aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
instanceof WrapperGenerator$StructType
ifeq 3
2: bipush 6
aload 1
new java.lang.StringBuilder
dup
aload 2
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: StackMap locals:
StackMap stack:
aload 0
getfield WrapperGenerator$AtomicType.type:I
bipush 10
if_icmpne 5
4: aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
checkcast WrapperGenerator$AtomicType
getfield WrapperGenerator$AtomicType.type:I
aload 1
aload 2
invokestatic WrapperGenerator$AtomicType.getJavaConversionForType:(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
5: StackMap locals:
StackMap stack:
bipush 6
aload 1
aload 2
invokestatic WrapperGenerator$AtomicType.getJavaConversionForType:(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield WrapperGenerator$AtomicType.type:I
aload 1
aload 2
invokestatic WrapperGenerator$AtomicType.getJavaConversionForType:(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 0: ldc "Native.put{0}({2}, {1})"
iconst_3
anewarray java.lang.Object
dup
iconst_0
iload 0
invokestatic WrapperGenerator$AtomicType.getNativeAccessForType:(I)Ljava/lang/String;
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 1
aastore
invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
invokespecial WrapperGenerator$BaseType.<init>:()V
1: aload 0
iconst_m1
putfield WrapperGenerator$AtomicType.arrayLength:I
2: aload 0
iconst_0
putfield WrapperGenerator$AtomicType.autoFree:Z
3: aload 0
aload 2
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: aload 0
getfield WrapperGenerator$AtomicType.name:Ljava/lang/String;
ldc "["
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpne 5
aload 0
getfield WrapperGenerator$AtomicType.name:Ljava/lang/String;
ldc "]"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmpeq 6
5: StackMap locals: WrapperGenerator$AtomicType int java.lang.String java.lang.String
StackMap stack:
aload 0
aload 0
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: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield WrapperGenerator$AtomicType.type:I
7: aload 0
aload 3
putfield WrapperGenerator$AtomicType.real_type:Ljava/lang/String;
8: aload 0
getfield WrapperGenerator$AtomicType.real_type:Ljava/lang/String;
ifnonnull 10
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " real type is null"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 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 0: aload 0
getfield WrapperGenerator$AtomicType.direction:I
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 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 0: aload 0
getfield WrapperGenerator$AtomicType.direction:I
iconst_1
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 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 0: aload 0
getfield WrapperGenerator$AtomicType.direction:I
iconst_2
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 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 0: aload 0
getfield WrapperGenerator$AtomicType.autoFree:Z
ireturn
end local 0 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 start local 1 0: aload 1
iconst_3
aaload
astore 2
start local 2 1: ldc "in"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
2: aload 0
iconst_0
putfield WrapperGenerator$AtomicType.direction:I
3: goto 24
StackMap locals: java.lang.String
StackMap stack:
4: ldc "out"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
5: aload 0
iconst_1
putfield WrapperGenerator$AtomicType.direction:I
6: aload 1
arraylength
iconst_4
if_icmple 24
ldc "free"
aload 1
iconst_4
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
7: aload 0
iconst_1
putfield WrapperGenerator$AtomicType.autoFree:Z
8: goto 24
StackMap locals:
StackMap stack:
9: ldc "inout"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
10: aload 0
iconst_2
putfield WrapperGenerator$AtomicType.direction:I
11: goto 24
StackMap locals:
StackMap stack:
12: ldc "alias"
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
13: aload 0
iconst_1
putfield WrapperGenerator$AtomicType.alias:Z
14: aload 0
aload 1
iconst_4
aaload
putfield WrapperGenerator$AtomicType.aliasName:Ljava/lang/String;
15: goto 24
StackMap locals:
StackMap stack:
16: aload 0
getfield WrapperGenerator$AtomicType.type:I
bipush 10
if_icmpeq 17
aload 0
getfield WrapperGenerator$AtomicType.type:I
bipush 6
if_icmpeq 17
aload 0
getfield WrapperGenerator$AtomicType.type:I
bipush 9
if_icmpne 24
17: StackMap locals:
StackMap stack:
aload 0
getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
aload 2
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast WrapperGenerator$BaseType
putfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
18: aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
ifnonnull 20
19: 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
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: StackMap locals:
StackMap stack:
aload 1
arraylength
iconst_4
if_icmple 24
21: aload 0
aload 1
iconst_4
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
putfield WrapperGenerator$AtomicType.arrayLength:I
22: goto 24
StackMap locals:
StackMap stack: java.lang.Exception
23: pop
24: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 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 0: aload 0
getfield WrapperGenerator$AtomicType.referencedType:LWrapperGenerator$BaseType;
areturn
end local 0 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 0: aload 0
getfield WrapperGenerator$AtomicType.arrayLength:I
ireturn
end local 0 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 start local 1 0: aload 0
iload 1
putfield WrapperGenerator$AtomicType.offset:I
1: return
end local 1 end local 0 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 0: aload 0
getfield WrapperGenerator$AtomicType.type:I
ireturn
end local 0 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 0: aload 0
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: StackMap locals:
StackMap stack:
ldc "Int"
areturn
2: StackMap locals:
StackMap stack:
ldc "Char"
areturn
3: StackMap locals:
StackMap stack:
ldc "Byte"
areturn
4: StackMap locals:
StackMap stack:
ldc "Long"
areturn
5: StackMap locals:
StackMap stack:
ldc "Double"
areturn
6: StackMap locals:
StackMap stack:
ldc "Float"
areturn
7: StackMap locals:
StackMap stack:
ldc "Short"
areturn
8: StackMap locals:
StackMap stack:
ldc "Int"
areturn
9: StackMap locals:
StackMap stack:
ldc "Long"
areturn
10: StackMap locals:
StackMap stack:
ldc "ULong"
areturn
11: 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 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 0: aload 0
getfield WrapperGenerator$AtomicType.offset:I
ireturn
end local 0 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 0: aload 0
getfield WrapperGenerator$AtomicType.alias:Z
ireturn
end local 0 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 0: aload 0
getfield WrapperGenerator$AtomicType.aliasName:Ljava/lang/String;
areturn
end local 0 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