public class WrapperGenerator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: WrapperGenerator
super_class: java.lang.Object
{
private static final java.util.logging.Logger log;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
boolean generateLog;
descriptor: Z
flags: (0x0000)
boolean wide;
descriptor: Z
flags: (0x0000)
private static java.nio.charset.Charset charset;
descriptor: Ljava/nio/charset/Charset;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
java.lang.String package_name;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.lang.String package_path;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.lang.String sizerFileName;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.lang.String defaultBaseClass;
descriptor: Ljava/lang/String;
flags: (0x0000)
java.lang.String compile_options;
descriptor: Ljava/lang/String;
flags: (0x0000)
static java.util.Hashtable symbolTable;
descriptor: Ljava/util/Hashtable;
flags: (0x0008) ACC_STATIC
static java.util.Hashtable sizeTable32bit;
descriptor: Ljava/util/Hashtable;
flags: (0x0008) ACC_STATIC
static java.util.Hashtable sizeTable64bit;
descriptor: Ljava/util/Hashtable;
flags: (0x0008) ACC_STATIC
static java.util.Hashtable knownSizes32;
descriptor: Ljava/util/Hashtable;
flags: (0x0008) ACC_STATIC
static java.util.Hashtable knownSizes64;
descriptor: Ljava/util/Hashtable;
flags: (0x0008) ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc "WrapperGenerator"
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
putstatic WrapperGenerator.log:Ljava/util/logging/Logger;
1: ldc "ISO-8859-15"
invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
putstatic WrapperGenerator.charset:Ljava/nio/charset/Charset;
2: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
3: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putstatic WrapperGenerator.sizeTable32bit:Ljava/util/Hashtable;
4: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putstatic WrapperGenerator.sizeTable64bit:Ljava/util/Hashtable;
5: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putstatic WrapperGenerator.knownSizes32:Ljava/util/Hashtable;
6: new java.util.Hashtable
dup
invokespecial java.util.Hashtable.<init>:()V
putstatic WrapperGenerator.knownSizes64:Ljava/util/Hashtable;
7: getstatic WrapperGenerator.knownSizes64:Ljava/util/Hashtable;
ldc "XComposeStatus"
bipush 16
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: getstatic WrapperGenerator.knownSizes64:Ljava/util/Hashtable;
ldc "XTimeCoord"
bipush 16
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic WrapperGenerator.knownSizes64:Ljava/util/Hashtable;
ldc "XExtData"
bipush 32
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: getstatic WrapperGenerator.knownSizes64:Ljava/util/Hashtable;
ldc "XWindowChanges"
bipush 40
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: getstatic WrapperGenerator.knownSizes64:Ljava/util/Hashtable;
ldc "XOMCharSetList"
bipush 16
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: getstatic WrapperGenerator.knownSizes64:Ljava/util/Hashtable;
ldc "XModifierKeymap"
bipush 16
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: getstatic WrapperGenerator.knownSizes32:Ljava/util/Hashtable;
ldc "XIMValuesList"
bipush 8
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: getstatic WrapperGenerator.knownSizes32:Ljava/util/Hashtable;
ldc "XGCValues"
bipush 92
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: return
LocalVariableTable:
Start End Slot Name Signature
public java.lang.String (java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: new java.util.StringTokenizer
dup
aload 1
ldc "\r\n"
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 2
start local 2 1: ldc ""
astore 3
start local 3 2: goto 4
3: StackMap locals: java.util.StringTokenizer java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 3
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "//"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 3
5: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this LWrapperGenerator;
0 6 1 str Ljava/lang/String;
1 6 2 st Ljava/util/StringTokenizer;
2 6 3 ret Ljava/lang/String;
MethodParameters:
Name Flags
str
public java.lang.String getJavaTypeForSize(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 1 - 8
1: 1
2: 2
3: 5
4: 3
5: 5
6: 5
7: 5
8: 4
default: 5
}
1: StackMap locals:
StackMap stack:
ldc "byte"
areturn
2: StackMap locals:
StackMap stack:
ldc "short"
areturn
3: StackMap locals:
StackMap stack:
ldc "int"
areturn
4: StackMap locals:
StackMap stack:
ldc "long"
areturn
5: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported size: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this LWrapperGenerator;
0 6 1 size I
MethodParameters:
Name Flags
size
public java.lang.String getOffsets(WrapperGenerator$StructType, WrapperGenerator$AtomicType, boolean);
descriptor: (LWrapperGenerator$StructType;LWrapperGenerator$AtomicType;Z)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.StringBuilder
dup
aload 1
invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 1: iload 3
ifeq 2
getstatic WrapperGenerator.sizeTable64bit:Ljava/util/Hashtable;
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: getstatic WrapperGenerator.sizeTable32bit:Ljava/util/Hashtable;
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
StackMap locals:
StackMap stack: java.lang.String
3: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this LWrapperGenerator;
0 4 1 stp LWrapperGenerator$StructType;
0 4 2 atp LWrapperGenerator$AtomicType;
0 4 3 wide Z
1 4 4 key Ljava/lang/String;
MethodParameters:
Name Flags
stp
atp
wide
public java.lang.String getStructSize(WrapperGenerator$StructType, boolean);
descriptor: (LWrapperGenerator$StructType;Z)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 1
getstatic WrapperGenerator.sizeTable64bit:Ljava/util/Hashtable;
aload 1
invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
goto 2
StackMap locals:
StackMap stack:
1: getstatic WrapperGenerator.sizeTable32bit:Ljava/util/Hashtable;
aload 1
invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this LWrapperGenerator;
0 3 1 stp LWrapperGenerator$StructType;
0 3 2 wide Z
MethodParameters:
Name Flags
stp
wide
public int getLongSize(boolean);
descriptor: (Z)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 1
getstatic WrapperGenerator.sizeTable64bit:Ljava/util/Hashtable;
ldc "long"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
goto 2
StackMap locals:
StackMap stack:
1: getstatic WrapperGenerator.sizeTable32bit:Ljava/util/Hashtable;
ldc "long"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
StackMap locals:
StackMap stack: java.lang.String
2: invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this LWrapperGenerator;
0 3 1 wide Z
MethodParameters:
Name Flags
wide
public int getPtrSize(boolean);
descriptor: (Z)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 1
getstatic WrapperGenerator.sizeTable64bit:Ljava/util/Hashtable;
ldc "ptr"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
goto 2
StackMap locals:
StackMap stack:
1: getstatic WrapperGenerator.sizeTable32bit:Ljava/util/Hashtable;
ldc "ptr"
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
StackMap locals:
StackMap stack: java.lang.String
2: invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this LWrapperGenerator;
0 3 1 wide Z
MethodParameters:
Name Flags
wide
public int getBoolSize(boolean);
descriptor: (Z)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "Bool"
iload 1
invokevirtual WrapperGenerator.getOrdinalSize:(Ljava/lang/String;Z)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this LWrapperGenerator;
0 1 1 wide Z
MethodParameters:
Name Flags
wide
public int getOrdinalSize(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 1
getstatic WrapperGenerator.sizeTable64bit:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
goto 2
StackMap locals:
StackMap stack:
1: getstatic WrapperGenerator.sizeTable32bit:Ljava/util/Hashtable;
aload 1
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
StackMap locals:
StackMap stack: java.lang.String
2: invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this LWrapperGenerator;
0 3 1 ordinal Ljava/lang/String;
0 3 2 wide Z
MethodParameters:
Name Flags
ordinal
wide
public void writeToString(WrapperGenerator$StructType, java.io.PrintWriter);
descriptor: (LWrapperGenerator$StructType;Ljava/io/PrintWriter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
new java.lang.StringBuilder
dup
ldc "\n\n\tString getName() {\n\t\treturn \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\"; \n\t}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
1: aload 2
new java.lang.StringBuilder
dup
ldc "\n\n\tString getFieldsAsString() {\n\t\tStringBuilder ret = new StringBuilder("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual WrapperGenerator$StructType.getNumFields:()I
bipush 40
imul
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ");\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
2: aload 1
invokevirtual WrapperGenerator$StructType.getMembers:()Ljava/util/Enumeration;
astore 4
start local 4 3: goto 27
4: StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter top java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast WrapperGenerator$AtomicType
astore 5
start local 5 5: aload 5
invokevirtual WrapperGenerator$AtomicType.getType:()I
istore 3
start local 3 6: aload 5
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
bipush 46
bipush 95
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 6
start local 6 7: aload 6
ifnull 27
aload 6
invokevirtual java.lang.String.length:()I
ifle 27
8: iload 3
bipush 12
if_icmpne 11
9: aload 2
new java.lang.StringBuilder
dup
ldc "\t\tret.append(\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " = \" ).append( XAtom.get(get_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "()) ).append(\", \");"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
10: goto 27
StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter int java.util.Enumeration WrapperGenerator$AtomicType java.lang.String
StackMap stack:
11: aload 6
ldc "type"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
12: aload 2
ldc "\t\tret.append(\"type = \").append( XlibWrapper.eventToString[get_type()] ).append(\", \");"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
13: goto 27
StackMap locals:
StackMap stack:
14: aload 6
ldc "window"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
15: aload 2
ldc "\t\tret.append(\"window = \" ).append( getWindow(get_window()) ).append(\", \");"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
16: goto 27
StackMap locals:
StackMap stack:
17: iload 3
bipush 10
if_icmpne 26
18: aload 2
ldc "\t\tret.append(\"{\")"
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
19: iconst_0
istore 7
start local 7 20: goto 23
21: StackMap locals: int
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
ldc "\n\t\t.append( get_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") ).append(\" \")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
22: iinc 7 1
StackMap locals:
StackMap stack:
23: iload 7
aload 5
invokevirtual WrapperGenerator$AtomicType.getArrayLength:()I
if_icmplt 21
end local 7 24: aload 2
ldc ".append( \"}\");"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
25: goto 27
26: StackMap locals:
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
ldc "\t\tret.append(\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " = \").append( get_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "() ).append(\", \");"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 6 end local 5 end local 3 27: StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter top java.util.Enumeration
StackMap stack:
aload 4
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 4
end local 4 28: aload 2
ldc "\t\treturn ret.toString();\n\t}\n\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
29: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this LWrapperGenerator;
0 30 1 stp LWrapperGenerator$StructType;
0 30 2 pw Ljava/io/PrintWriter;
6 27 3 type I
3 28 4 e Ljava/util/Enumeration;
5 27 5 tp LWrapperGenerator$AtomicType;
7 27 6 name Ljava/lang/String;
20 24 7 i I
MethodParameters:
Name Flags
stp
pw
public void writeStubs(WrapperGenerator$StructType, java.io.PrintWriter);
descriptor: (LWrapperGenerator$StructType;Ljava/io/PrintWriter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: ldc ""
astore 4
start local 4 1: aload 1
invokevirtual WrapperGenerator$StructType.getIsInterface:()Z
ifne 4
2: ldc "\t\tabstract "
astore 4
3: goto 5
4: StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter top java.lang.String
StackMap stack:
ldc "\t"
astore 4
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual WrapperGenerator$StructType.getMembers:()Ljava/util/Enumeration;
astore 5
start local 5 6: goto 18
7: StackMap locals: java.util.Enumeration
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast WrapperGenerator$AtomicType
astore 6
start local 6 8: aload 6
invokevirtual WrapperGenerator$AtomicType.getType:()I
istore 3
start local 3 9: aload 6
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
bipush 46
bipush 95
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 7
start local 7 10: aload 7
ifnull 18
aload 7
invokevirtual java.lang.String.length:()I
ifle 18
11: iload 3
bipush 10
if_icmpne 16
12: aload 2
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "long get_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "();"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
13: aload 2
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " get_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "(int index);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
14: aload 2
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "void set_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "(int index, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " v);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
15: goto 18
16: StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter int java.lang.String java.util.Enumeration WrapperGenerator$AtomicType java.lang.String
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " get_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "();"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
17: iload 3
bipush 9
if_icmpeq 18
aload 2
new java.lang.StringBuilder
dup
aload 4
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "void set_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " v);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 7 end local 6 end local 3 18: StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter top java.lang.String java.util.Enumeration
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 7
end local 5 19: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this LWrapperGenerator;
0 20 1 stp LWrapperGenerator$StructType;
0 20 2 pw Ljava/io/PrintWriter;
9 18 3 type I
1 20 4 prefix Ljava/lang/String;
6 19 5 e Ljava/util/Enumeration;
8 18 6 tp LWrapperGenerator$AtomicType;
10 18 7 name Ljava/lang/String;
MethodParameters:
Name Flags
stp
pw
private int padSize(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
bipush 8
idiv
istore 3
start local 3 1: iload 1
iload 3
iconst_2
idiv
iadd
iload 3
idiv
iload 3
imul
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this LWrapperGenerator;
0 2 1 size I
0 2 2 wordLength I
1 2 3 bytesPerWord I
MethodParameters:
Name Flags
size
wordLength
public void writeAccessorImpls(WrapperGenerator$StructType, java.io.PrintWriter);
descriptor: (LWrapperGenerator$StructType;Ljava/io/PrintWriter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=19, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_0
invokevirtual WrapperGenerator.getStructSize:(LWrapperGenerator$StructType;Z)Ljava/lang/String;
astore 4
start local 4 1: aload 0
aload 1
iconst_1
invokevirtual WrapperGenerator.getStructSize:(LWrapperGenerator$StructType;Z)Ljava/lang/String;
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: iconst_0
istore 7
start local 7 4: aload 0
getfield WrapperGenerator.generateLog:Z
ifeq 5
ldc "log.finest(\"\");"
goto 6
StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter top java.lang.String java.lang.String int int
StackMap stack:
5: ldc ""
StackMap locals:
StackMap stack: java.lang.String
6: astore 8
start local 8 7: aload 1
invokevirtual WrapperGenerator$StructType.getMembers:()Ljava/util/Enumeration;
astore 9
start local 9 8: goto 58
9: StackMap locals: java.lang.String java.util.Enumeration
StackMap stack:
aload 9
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast WrapperGenerator$AtomicType
astore 10
start local 10 10: aload 10
invokevirtual WrapperGenerator$AtomicType.getType:()I
istore 3
start local 3 11: aload 10
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
bipush 46
bipush 95
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 11
start local 11 12: ldc "\tpublic "
astore 12
start local 12 13: aload 11
ifnull 58
aload 11
invokevirtual java.lang.String.length:()I
ifle 58
14: aload 10
invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
astore 13
start local 13 15: aload 10
iconst_0
invokevirtual WrapperGenerator$AtomicType.getJavaAccess:(Z)Ljava/lang/String;
astore 14
start local 14 16: aload 10
iconst_1
invokevirtual WrapperGenerator$AtomicType.getJavaAccess:(Z)Ljava/lang/String;
astore 15
start local 15 17: aload 14
invokestatic WrapperGenerator$AtomicType.getNativeSizeForAccess:(Ljava/lang/String;)I
istore 16
start local 16 18: aload 15
invokestatic WrapperGenerator$AtomicType.getNativeSizeForAccess:(Ljava/lang/String;)I
istore 17
start local 17 19: aload 10
invokevirtual WrapperGenerator$AtomicType.getItemSize:()Ljava/lang/String;
astore 18
start local 18 20: iload 3
bipush 10
if_icmpne 35
21: iload 6
iload 16
aload 10
invokevirtual WrapperGenerator$AtomicType.getArrayLength:()I
imul
iadd
istore 6
22: iload 7
iload 17
aload 10
invokevirtual WrapperGenerator$AtomicType.getArrayLength:()I
imul
iadd
istore 7
23: aload 2
new java.lang.StringBuilder
dup
aload 12
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " get_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "(int index) { "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "return "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: aload 10
new java.lang.StringBuilder
dup
aload 1
aload 10
invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "+index*"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 18
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
invokevirtual WrapperGenerator$AtomicType.getJavaResult:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "; }"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
26: aload 10
invokevirtual WrapperGenerator$AtomicType.getReferencedType:()LWrapperGenerator$BaseType;
instanceof WrapperGenerator$AtomicType
ifeq 33
27: aload 2
new java.lang.StringBuilder
dup
aload 12
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "void set_{0}(int index, {1} v) '{' {3} {2}; '}'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
28: iconst_4
anewarray java.lang.Object
dup
iconst_0
29: aload 11
aastore
dup
iconst_1
aload 13
aastore
dup
iconst_2
30: aload 10
new java.lang.StringBuilder
dup
ldc "pData+"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
aload 10
invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " + index*"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 18
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "v"
invokevirtual WrapperGenerator$AtomicType.getJavaConversion:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
aastore
dup
iconst_3
31: aload 8
aastore
32: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
33: StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter int java.lang.String java.lang.String int int java.lang.String java.util.Enumeration WrapperGenerator$AtomicType java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String int int java.lang.String
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
aload 12
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "long get_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "() { "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "return pData+"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
aload 10
invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "; }"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
34: goto 58
StackMap locals:
StackMap stack:
35: iload 3
bipush 6
if_icmpne 49
36: aload 2
new java.lang.StringBuilder
dup
aload 12
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "{0} get_{1}(int index) '{' {3} return {2}; '}'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
37: iconst_4
anewarray java.lang.Object
dup
iconst_0
38: aload 13
aastore
dup
iconst_1
aload 11
aastore
dup
iconst_2
39: aload 10
new java.lang.StringBuilder
dup
ldc "index*"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 18
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
new java.lang.StringBuilder
dup
ldc "Native.getLong(pData+"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
aload 10
invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual WrapperGenerator$AtomicType.getJavaResult:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
aastore
dup
iconst_3
40: aload 8
aastore
41: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
42: aload 2
new java.lang.StringBuilder
dup
aload 12
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "long get_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "() { "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "return Native.getLong(pData+"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
aload 10
invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "); }"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
43: aload 2
new java.lang.StringBuilder
dup
aload 12
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "void set_{0}({1} v) '{' {3} {2}; '}'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
44: iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 11
aastore
dup
iconst_1
ldc "long"
aastore
dup
iconst_2
new java.lang.StringBuilder
dup
ldc "Native.putLong(pData + "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
aload 10
invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", v)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_3
aload 8
aastore
45: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
46: iload 6
iload 16
iadd
istore 6
47: iload 7
iload 17
iadd
istore 7
48: goto 58
49: StackMap locals:
StackMap stack:
iload 6
iload 16
iadd
istore 6
50: iload 7
iload 17
iadd
istore 7
51: aload 2
new java.lang.StringBuilder
dup
aload 12
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " get_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
52: ldc "() { "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "return "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 10
aload 1
aload 10
invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
aconst_null
invokevirtual WrapperGenerator$AtomicType.getJavaResult:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "; }"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
53: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
54: iload 3
bipush 9
if_icmpeq 58
55: aload 2
new java.lang.StringBuilder
dup
aload 12
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "void set_{0}({1} v) '{' {3} {2}; '}'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
56: iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 11
aastore
dup
iconst_1
aload 13
aastore
dup
iconst_2
aload 10
new java.lang.StringBuilder
dup
ldc "pData+"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
aload 10
invokevirtual WrapperGenerator$StructType.getOffset:(LWrapperGenerator$AtomicType;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
ldc "v"
invokevirtual WrapperGenerator$AtomicType.getJavaConversion:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
aastore
dup
iconst_3
aload 8
aastore
57: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 3 58: StackMap locals: WrapperGenerator WrapperGenerator$StructType java.io.PrintWriter top java.lang.String java.lang.String int int java.lang.String java.util.Enumeration
StackMap stack:
aload 9
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 9
end local 9 59: aload 4
ifnull 65
aload 4
iload 6
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 65
60: getstatic WrapperGenerator.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 70
61: getstatic WrapperGenerator.log:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
ldc "32 bits: The size of the structure "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
62: ldc " is not equal to the accumulated size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " of the fields"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
63: invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
64: goto 70
StackMap locals:
StackMap stack:
65: aload 5
ifnull 70
aload 5
iload 7
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 70
66: getstatic WrapperGenerator.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 70
67: getstatic WrapperGenerator.log:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
ldc "64 bits: The size of the structure "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
68: ldc " is not equal to the accumulated size "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " of the fields"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
69: invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
70: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 71 0 this LWrapperGenerator;
0 71 1 stp LWrapperGenerator$StructType;
0 71 2 pw Ljava/io/PrintWriter;
11 58 3 type I
1 71 4 s_size_32 Ljava/lang/String;
2 71 5 s_size_64 Ljava/lang/String;
3 71 6 acc_size_32 I
4 71 7 acc_size_64 I
7 71 8 s_log Ljava/lang/String;
8 59 9 e Ljava/util/Enumeration;
10 58 10 tp LWrapperGenerator$AtomicType;
12 58 11 name Ljava/lang/String;
13 58 12 pref Ljava/lang/String;
15 58 13 jt Ljava/lang/String;
16 58 14 ja_32 Ljava/lang/String;
17 58 15 ja_64 Ljava/lang/String;
18 58 16 elemSize_32 I
19 58 17 elemSize_64 I
20 58 18 elemSize Ljava/lang/String;
MethodParameters:
Name Flags
stp
pw
public void writeWrapperSubclass(WrapperGenerator$StructType, java.io.PrintWriter, boolean);
descriptor: (LWrapperGenerator$StructType;Ljava/io/PrintWriter;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
new java.lang.StringBuilder
dup
ldc "class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual WrapperGenerator$StructType.getJavaClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "AccessorImpl"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " extends "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual WrapperGenerator$StructType.getJavaClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "Accessor {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
1: aload 2
new java.lang.StringBuilder
dup
ldc "/*\nThis class serves as a Wrapper for the following X Struct \nsThe offsets here are calculated based on actual compiler.\n\n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual WrapperGenerator$StructType.getDescription:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n\n */"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
2: aload 0
aload 1
aload 2
invokevirtual WrapperGenerator.writeAccessorImpls:(LWrapperGenerator$StructType;Ljava/io/PrintWriter;)V
3: aload 2
ldc "\n\n } \n\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this LWrapperGenerator;
0 5 1 stp LWrapperGenerator$StructType;
0 5 2 pw Ljava/io/PrintWriter;
0 5 3 wide Z
MethodParameters:
Name Flags
stp
pw
wide
public void writeWrapper(java.lang.String, WrapperGenerator$StructType);
descriptor: (Ljava/lang/String;LWrapperGenerator$StructType;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual WrapperGenerator$StructType.getNumFields:()I
ifle 57
1: new java.io.FileOutputStream
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual WrapperGenerator$StructType.getJavaClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".java"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
astore 3
start local 3 2: new java.io.PrintWriter
dup
aload 3
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
astore 4
start local 4 3: aload 4
ldc "// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
4: aload 4
new java.lang.StringBuilder
dup
ldc "package "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield WrapperGenerator.package_name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
5: aload 4
ldc "import sun.misc.*;\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
6: aload 4
ldc "import sun.util.logging.PlatformLogger;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
7: aload 2
invokevirtual WrapperGenerator$StructType.getBaseClass:()Ljava/lang/String;
astore 5
start local 5 8: aload 5
ifnonnull 10
9: aload 0
getfield WrapperGenerator.defaultBaseClass:Ljava/lang/String;
astore 5
10: StackMap locals: java.io.FileOutputStream java.io.PrintWriter java.lang.String
StackMap stack:
aload 2
invokevirtual WrapperGenerator$StructType.getIsInterface:()Z
ifeq 14
11: aload 4
ldc "public interface "
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
12: aload 4
aload 2
invokevirtual WrapperGenerator$StructType.getJavaClassName:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
13: goto 16
14: StackMap locals:
StackMap stack:
aload 4
ldc "public class "
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
15: aload 4
new java.lang.StringBuilder
dup
aload 2
invokevirtual WrapperGenerator$StructType.getJavaClassName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " extends "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
16: StackMap locals:
StackMap stack:
aload 2
invokevirtual WrapperGenerator$StructType.getInterfaces:()Ljava/lang/String;
ifnull 18
17: aload 4
new java.lang.StringBuilder
dup
ldc " implements "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual WrapperGenerator$StructType.getInterfaces:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
aload 4
ldc " { "
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
19: aload 2
invokevirtual WrapperGenerator$StructType.getIsInterface:()Z
ifne 49
20: aload 4
ldc "\tprivate Unsafe unsafe = XlibWrapper.unsafe; "
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
21: aload 4
ldc "\tprivate final boolean should_free_memory;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
22: aload 4
new java.lang.StringBuilder
dup
ldc "\tpublic static int getSize() { return "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual WrapperGenerator$StructType.getSize:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "; }"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
23: aload 4
ldc "\tpublic int getDataSize() { return getSize(); }"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
24: aload 4
ldc "\n\tlong pData;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
25: aload 4
ldc "\n\tpublic long getPData() { return pData; }"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
26: aload 4
new java.lang.StringBuilder
dup
ldc "\n\n\tpublic "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual WrapperGenerator$StructType.getJavaClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "(long addr) {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
27: aload 0
getfield WrapperGenerator.generateLog:Z
ifeq 29
28: aload 4
ldc "\t\tlog.finest(\"Creating\");"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
29: StackMap locals:
StackMap stack:
aload 4
ldc "\t\tpData=addr;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
30: aload 4
ldc "\t\tshould_free_memory = false;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
31: aload 4
ldc "\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
32: aload 4
new java.lang.StringBuilder
dup
ldc "\n\n\tpublic "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual WrapperGenerator$StructType.getJavaClassName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "() {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
33: aload 0
getfield WrapperGenerator.generateLog:Z
ifeq 35
34: aload 4
ldc "\t\tlog.finest(\"Creating\");"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
35: StackMap locals:
StackMap stack:
aload 4
ldc "\t\tpData = unsafe.allocateMemory(getSize());"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
36: aload 4
ldc "\t\tshould_free_memory = true;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
37: aload 4
ldc "\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
38: aload 4
ldc "\n\n\tpublic void dispose() {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
39: aload 0
getfield WrapperGenerator.generateLog:Z
ifeq 41
40: aload 4
ldc "\t\tlog.finest(\"Disposing\");"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
41: StackMap locals:
StackMap stack:
aload 4
ldc "\t\tif (should_free_memory) {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
42: aload 0
getfield WrapperGenerator.generateLog:Z
ifeq 44
43: aload 4
ldc "\t\t\tlog.finest(\"freeing memory\");"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
44: StackMap locals:
StackMap stack:
aload 4
ldc "\t\t\tunsafe.freeMemory(pData); \n\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
45: aload 4
ldc "\t\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
46: aload 0
aload 2
aload 4
invokevirtual WrapperGenerator.writeAccessorImpls:(LWrapperGenerator$StructType;Ljava/io/PrintWriter;)V
47: aload 0
aload 2
aload 4
invokevirtual WrapperGenerator.writeToString:(LWrapperGenerator$StructType;Ljava/io/PrintWriter;)V
48: goto 52
49: StackMap locals:
StackMap stack:
aload 4
ldc "\n\n\tvoid dispose();"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
50: aload 4
ldc "\n\tlong getPData();"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
51: aload 0
aload 2
aload 4
invokevirtual WrapperGenerator.writeStubs:(LWrapperGenerator$StructType;Ljava/io/PrintWriter;)V
52: StackMap locals:
StackMap stack:
aload 4
ldc "}\n\n\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
53: aload 4
invokevirtual java.io.PrintWriter.close:()V
end local 5 end local 4 end local 3 54: goto 57
55: StackMap locals: WrapperGenerator java.lang.String WrapperGenerator$StructType
StackMap stack: java.lang.Exception
astore 3
start local 3 56: aload 3
invokevirtual java.lang.Exception.printStackTrace:()V
end local 3 57: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this LWrapperGenerator;
0 58 1 outputDir Ljava/lang/String;
0 58 2 stp LWrapperGenerator$StructType;
2 54 3 fs Ljava/io/FileOutputStream;
3 54 4 pw Ljava/io/PrintWriter;
8 54 5 baseClass Ljava/lang/String;
56 57 3 e Ljava/lang/Exception;
Exception table:
from to target type
1 54 55 Class java.lang.Exception
MethodParameters:
Name Flags
outputDir
stp
private boolean readSizeInfo(java.io.InputStream, boolean);
descriptor: (Ljava/io/InputStream;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
aload 1
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 5
start local 5 1: goto 8
start local 3 2: StackMap locals: WrapperGenerator java.io.InputStream int java.lang.String top java.io.BufferedReader
StackMap stack:
aload 3
ldc "\\p{Space}"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 3: aload 4
arraylength
iconst_2
if_icmpne 8
4: iload 2
ifeq 7
5: getstatic WrapperGenerator.sizeTable64bit:Ljava/util/Hashtable;
aload 4
iconst_0
aaload
aload 4
iconst_1
aaload
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: goto 8
7: StackMap locals: WrapperGenerator java.io.InputStream int java.lang.String java.lang.String[] java.io.BufferedReader
StackMap stack:
getstatic WrapperGenerator.sizeTable32bit:Ljava/util/Hashtable;
aload 4
iconst_0
aaload
aload 4
iconst_1
aaload
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 end local 3 8: StackMap locals: WrapperGenerator java.io.InputStream int top top java.io.BufferedReader
StackMap stack:
aload 5
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 3
start local 3 9: ifnonnull 2
10: iconst_1
ireturn
end local 3 11: StackMap locals:
StackMap stack: java.lang.Exception
astore 6
start local 6 12: aload 6
invokevirtual java.lang.Exception.printStackTrace:()V
13: iconst_0
ireturn
end local 6 end local 5 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this LWrapperGenerator;
0 14 1 is Ljava/io/InputStream;
0 14 2 wide Z
2 8 3 line Ljava/lang/String;
9 11 3 line Ljava/lang/String;
3 8 4 splits [Ljava/lang/String;
1 14 5 in Ljava/io/BufferedReader;
12 14 6 e Ljava/lang/Exception;
Exception table:
from to target type
1 10 11 Class java.lang.Exception
MethodParameters:
Name Flags
is
wide
public void writeFunctionCallWrapper(java.lang.String, WrapperGenerator$FunctionType);
descriptor: (Ljava/lang/String;LWrapperGenerator$FunctionType;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: new java.io.FileOutputStream
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual WrapperGenerator$FunctionType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".java"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
astore 3
start local 3 1: new java.io.PrintWriter
dup
aload 3
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
astore 4
start local 4 2: aload 4
ldc "// This file is an automatically generated file, please do not edit this file, modify the WrapperGenerator.java file instead !\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
3: aload 4
new java.lang.StringBuilder
dup
ldc "package "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield WrapperGenerator.package_name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
4: aload 4
ldc "import sun.misc.Unsafe;\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
5: aload 4
new java.lang.StringBuilder
dup
ldc "class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual WrapperGenerator$FunctionType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
6: aload 4
ldc "\tprivate static Unsafe unsafe = XlibWrapper.unsafe;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
7: aload 4
ldc "\tprivate boolean __executed = false;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
8: aload 4
ldc "\tprivate boolean __disposed = false;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
9: aload 2
invokevirtual WrapperGenerator$FunctionType.getArguments:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
start local 5 10: goto 16
11: StackMap locals: java.io.FileOutputStream java.io.PrintWriter java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast WrapperGenerator$AtomicType
astore 6
start local 6 12: aload 6
invokevirtual WrapperGenerator$AtomicType.isIn:()Z
ifeq 15
13: aload 4
new java.lang.StringBuilder
dup
ldc "\t"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " _"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
14: goto 16
15: StackMap locals: WrapperGenerator$AtomicType
StackMap stack:
aload 4
new java.lang.StringBuilder
dup
ldc "\tlong "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "_ptr = unsafe.allocateMemory(Native.get"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokevirtual WrapperGenerator$AtomicType.getTypeUpperCase:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "Size());"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 6 16: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
17: aload 4
new java.lang.StringBuilder
dup
ldc "\tpublic "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual WrapperGenerator$FunctionType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
18: aload 2
invokevirtual WrapperGenerator$FunctionType.getArguments:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
19: iconst_1
istore 6
start local 6 20: goto 27
21: StackMap locals: int
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast WrapperGenerator$AtomicType
astore 7
start local 7 22: aload 7
invokevirtual WrapperGenerator$AtomicType.isIn:()Z
ifne 23
aload 7
invokevirtual WrapperGenerator$AtomicType.isInOut:()Z
ifeq 27
23: StackMap locals: WrapperGenerator$AtomicType
StackMap stack:
iload 6
ifne 25
24: aload 4
ldc ","
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
iconst_0
istore 6
26: aload 4
new java.lang.StringBuilder
dup
ldc "\t\t"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
end local 7 27: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
28: aload 4
ldc "\t)"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
29: aload 4
ldc "\t{"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
30: aload 2
invokevirtual WrapperGenerator$FunctionType.getArguments:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
31: goto 35
32: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast WrapperGenerator$AtomicType
astore 7
start local 7 33: aload 7
invokevirtual WrapperGenerator$AtomicType.isIn:()Z
ifne 34
aload 7
invokevirtual WrapperGenerator$AtomicType.isInOut:()Z
ifeq 35
34: StackMap locals: WrapperGenerator$AtomicType
StackMap stack:
aload 4
new java.lang.StringBuilder
dup
ldc "\t\tset_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ");"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 7 35: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
36: aload 4
ldc "\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
37: aload 4
new java.lang.StringBuilder
dup
ldc "\tpublic "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual WrapperGenerator$FunctionType.getReturnType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " execute() {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
38: aload 2
invokevirtual WrapperGenerator$FunctionType.isVoid:()Z
ifeq 41
39: aload 4
ldc "\t\texecute(null);"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
40: goto 42
41: StackMap locals:
StackMap stack:
aload 4
ldc "\t\treturn execute(null);"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
42: StackMap locals:
StackMap stack:
aload 4
ldc "\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
43: aload 4
new java.lang.StringBuilder
dup
ldc "\tpublic "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual WrapperGenerator$FunctionType.getReturnType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " execute(XToolkit.XErrorHandler errorHandler) {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
44: aload 4
ldc "\t\tif (__disposed) {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
45: aload 4
ldc "\t\t throw new IllegalStateException(\"Disposed\");"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
46: aload 4
ldc "\t\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
47: aload 4
ldc "\t\tXToolkit.awtLock();"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
48: aload 4
ldc "\t\ttry {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
49: aload 4
ldc "\t\t\tif (__executed) {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
50: aload 4
ldc "\t\t\t throw new IllegalStateException(\"Already executed\");"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
51: aload 4
ldc "\t\t\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
52: aload 4
ldc "\t\t\t__executed = true;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
53: aload 4
ldc "\t\t\tif (errorHandler != null) {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
54: aload 4
ldc "\t\t\t XErrorHandlerUtil.WITH_XERROR_HANDLER(errorHandler);"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
55: aload 4
ldc "\t\t\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
56: aload 2
invokevirtual WrapperGenerator$FunctionType.getArguments:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
57: goto 61
58: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast WrapperGenerator$AtomicType
astore 7
start local 7 59: aload 7
invokevirtual WrapperGenerator$AtomicType.isIn:()Z
ifne 61
aload 7
invokevirtual WrapperGenerator$AtomicType.isAutoFree:()Z
ifeq 61
60: aload 4
new java.lang.StringBuilder
dup
ldc "\t\t\tNative.put"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual WrapperGenerator$AtomicType.getTypeUpperCase:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "_ptr, 0);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 7 61: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 58
62: aload 2
invokevirtual WrapperGenerator$FunctionType.isVoid:()Z
ifne 64
63: aload 4
new java.lang.StringBuilder
dup
ldc "\t\t\t"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual WrapperGenerator$FunctionType.getReturnType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " status = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
64: StackMap locals:
StackMap stack:
aload 4
new java.lang.StringBuilder
dup
ldc "\t\t\tXlibWrapper."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual WrapperGenerator$FunctionType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "(XToolkit.getDisplay(), "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
65: aload 2
invokevirtual WrapperGenerator$FunctionType.getArguments:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
66: iconst_1
istore 6
67: goto 76
68: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast WrapperGenerator$AtomicType
astore 7
start local 7 69: iload 6
ifne 71
70: aload 4
ldc ","
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
71: StackMap locals: WrapperGenerator$AtomicType
StackMap stack:
iconst_0
istore 6
72: aload 7
invokevirtual WrapperGenerator$AtomicType.isIn:()Z
ifeq 75
73: aload 4
new java.lang.StringBuilder
dup
ldc "\t\t\t\tget_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
74: goto 76
75: StackMap locals:
StackMap stack:
aload 4
new java.lang.StringBuilder
dup
ldc "\t\t\t\t"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "_ptr"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
end local 7 76: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 68
77: aload 4
ldc "\t\t\t);"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
78: aload 4
ldc "\t\t\tif (errorHandler != null) {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
79: aload 4
ldc "\t\t\t XErrorHandlerUtil.RESTORE_XERROR_HANDLER();"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
80: aload 4
ldc "\t\t\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
81: aload 2
invokevirtual WrapperGenerator$FunctionType.isVoid:()Z
ifne 83
82: aload 4
ldc "\t\t\treturn status;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
83: StackMap locals:
StackMap stack:
aload 4
ldc "\t\t} finally {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
84: aload 4
ldc "\t\t XToolkit.awtUnlock();"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
85: aload 4
ldc "\t\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
86: aload 4
ldc "\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
87: aload 4
ldc "\tpublic boolean isExecuted() {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
88: aload 4
ldc "\t return __executed;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
89: aload 4
ldc "\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
90: aload 4
ldc "\t"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
91: aload 4
ldc "\tpublic boolean isDisposed() {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
92: aload 4
ldc "\t return __disposed;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
93: aload 4
ldc "\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
94: aload 4
ldc "\tpublic void finalize() {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
95: aload 4
ldc "\t dispose();"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
96: aload 4
ldc "\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
97: aload 4
ldc "\tpublic void dispose() {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
98: aload 4
ldc "\t\tXToolkit.awtLock();"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
99: aload 4
ldc "\t\ttry {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
100: aload 4
ldc "\t\tif (__disposed || !__executed) {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
101: aload 4
ldc "\t\t return;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
102: aload 4
ldc "\t\t} finally {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
103: aload 4
ldc "\t\t XToolkit.awtUnlock();"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
104: aload 4
ldc "\t\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
105: aload 4
ldc "\t\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
106: aload 2
invokevirtual WrapperGenerator$FunctionType.getArguments:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
107: goto 115
108: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast WrapperGenerator$AtomicType
astore 7
start local 7 109: aload 7
invokevirtual WrapperGenerator$AtomicType.isIn:()Z
ifne 115
110: aload 7
invokevirtual WrapperGenerator$AtomicType.isAutoFree:()Z
ifeq 114
111: aload 4
new java.lang.StringBuilder
dup
ldc "\t\tif (__executed && get_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "()!= 0) {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
112: aload 4
new java.lang.StringBuilder
dup
ldc "\t\t\tXlibWrapper.XFree(get_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "());"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
113: aload 4
ldc "\t\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
114: StackMap locals: WrapperGenerator$AtomicType
StackMap stack:
aload 4
new java.lang.StringBuilder
dup
ldc "\t\tunsafe.freeMemory("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "_ptr);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 7 115: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 108
116: aload 4
ldc "\t\t__disposed = true;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
117: aload 4
ldc "\t\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
118: aload 4
ldc "\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
119: aload 2
invokevirtual WrapperGenerator$FunctionType.getArguments:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
120: goto 140
121: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast WrapperGenerator$AtomicType
astore 7
start local 7 122: aload 4
new java.lang.StringBuilder
dup
ldc "\tpublic "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " get_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "() {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
123: aload 4
ldc "\t\tif (__disposed) {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
124: aload 4
ldc "\t\t throw new IllegalStateException(\"Disposed\");"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
125: aload 4
ldc "\t\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
126: aload 4
ldc "\t\tif (!__executed) {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
127: aload 4
ldc "\t\t throw new IllegalStateException(\"Not executed\");"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
128: aload 4
ldc "\t\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
129: aload 7
invokevirtual WrapperGenerator$AtomicType.isIn:()Z
ifeq 132
130: aload 4
new java.lang.StringBuilder
dup
ldc "\t\treturn _"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
131: goto 133
132: StackMap locals: WrapperGenerator$AtomicType
StackMap stack:
aload 4
new java.lang.StringBuilder
dup
ldc "\t\treturn Native.get"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual WrapperGenerator$AtomicType.getTypeUpperCase:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "_ptr);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
133: StackMap locals:
StackMap stack:
aload 4
ldc "\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
134: aload 4
new java.lang.StringBuilder
dup
ldc "\tpublic void set_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual WrapperGenerator$AtomicType.getJavaType:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " data) {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
135: aload 7
invokevirtual WrapperGenerator$AtomicType.isIn:()Z
ifeq 138
136: aload 4
new java.lang.StringBuilder
dup
ldc "\t\t_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " = data;"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
137: goto 139
138: StackMap locals:
StackMap stack:
aload 4
new java.lang.StringBuilder
dup
ldc "\t\tNative.put"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual WrapperGenerator$AtomicType.getTypeUpperCase:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "_ptr, data);"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
139: StackMap locals:
StackMap stack:
aload 4
ldc "\t}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 7 140: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 121
141: aload 4
ldc "}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
142: aload 4
invokevirtual java.io.PrintWriter.close:()V
end local 6 end local 5 end local 4 end local 3 143: goto 146
StackMap locals: WrapperGenerator java.lang.String WrapperGenerator$FunctionType
StackMap stack: java.lang.Exception
144: astore 3
start local 3 145: aload 3
invokevirtual java.lang.Exception.printStackTrace:()V
end local 3 146: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 147 0 this LWrapperGenerator;
0 147 1 outputDir Ljava/lang/String;
0 147 2 ft LWrapperGenerator$FunctionType;
1 143 3 fs Ljava/io/FileOutputStream;
2 143 4 pw Ljava/io/PrintWriter;
10 143 5 iter Ljava/util/Iterator;
12 16 6 at LWrapperGenerator$AtomicType;
20 143 6 first Z
22 27 7 at LWrapperGenerator$AtomicType;
33 35 7 at LWrapperGenerator$AtomicType;
59 61 7 at LWrapperGenerator$AtomicType;
69 76 7 at LWrapperGenerator$AtomicType;
109 115 7 at LWrapperGenerator$AtomicType;
122 140 7 at LWrapperGenerator$AtomicType;
145 146 3 e Ljava/lang/Exception;
Exception table:
from to target type
0 143 144 Class java.lang.Exception
MethodParameters:
Name Flags
outputDir
ft
public void writeJavaWrapperClass(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.elements:()Ljava/util/Enumeration;
astore 2
start local 2 1: goto 9
2: StackMap locals: java.util.Enumeration
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast WrapperGenerator$BaseType
astore 3
start local 3 3: aload 3
instanceof WrapperGenerator$StructType
ifeq 7
4: aload 3
checkcast WrapperGenerator$StructType
astore 4
start local 4 5: aload 0
aload 1
aload 4
invokevirtual WrapperGenerator.writeWrapper:(Ljava/lang/String;LWrapperGenerator$StructType;)V
end local 4 6: goto 9
StackMap locals: WrapperGenerator$BaseType
StackMap stack:
7: aload 3
instanceof WrapperGenerator$FunctionType
ifeq 9
8: aload 0
aload 1
aload 3
checkcast WrapperGenerator$FunctionType
invokevirtual WrapperGenerator.writeFunctionCallWrapper:(Ljava/lang/String;LWrapperGenerator$FunctionType;)V
end local 3 9: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 2
end local 2 10: goto 13
11: StackMap locals: WrapperGenerator java.lang.String
StackMap stack: java.lang.Exception
astore 2
start local 2 12: aload 2
invokevirtual java.lang.Exception.printStackTrace:()V
end local 2 13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this LWrapperGenerator;
0 14 1 outputDir Ljava/lang/String;
1 10 2 e Ljava/util/Enumeration;
3 9 3 tp LWrapperGenerator$BaseType;
5 6 4 st LWrapperGenerator$StructType;
12 13 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 10 11 Class java.lang.Exception
MethodParameters:
Name Flags
outputDir
public void writeNativeSizer(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: new java.io.FileOutputStream
dup
aload 1
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
astore 6
start local 6 2: new java.io.PrintWriter
dup
aload 6
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
astore 7
start local 7 3: aload 7
ldc "/* This file is an automatically generated file, please do not edit this file, modify the XlibParser.java file instead !*/\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
4: aload 7
ldc "#include <X11/Xlib.h>\n#include <X11/Xutil.h>\n#include <X11/Xos.h>\n#include <X11/Xatom.h>\n#include <stdio.h>\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
5: aload 7
ldc "#include <X11/extensions/Xdbe.h>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
6: aload 7
ldc "#include <X11/XKBlib.h>"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
7: aload 7
ldc "#include \"awt_p.h\""
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
8: aload 7
ldc "#include \"color.h\""
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
9: aload 7
ldc "#include \"colordata.h\""
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
10: aload 7
ldc "\ntypedef struct\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
11: aload 7
ldc "{\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
12: aload 7
ldc " unsigned long flags;\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
13: aload 7
ldc " unsigned long functions;\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
14: aload 7
ldc " unsigned long decorations;\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
15: aload 7
ldc " long inputMode;\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
16: aload 7
ldc " unsigned long status;\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
17: aload 7
ldc "} PropMwmHints;\n"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
18: aload 7
ldc "\n\nint main(){"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
19: iconst_0
istore 2
20: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.elements:()Ljava/util/Enumeration;
astore 5
start local 5 21: goto 28
22: StackMap locals: WrapperGenerator java.lang.String int top top java.util.Enumeration java.io.FileOutputStream java.io.PrintWriter
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast WrapperGenerator$BaseType
astore 3
start local 3 23: aload 3
instanceof WrapperGenerator$StructType
ifeq 28
24: aload 3
checkcast WrapperGenerator$StructType
astore 4
start local 4 25: aload 4
invokevirtual WrapperGenerator$StructType.getIsInterface:()Z
ifne 28
26: aload 7
new java.lang.StringBuilder
dup
aload 4
invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " temp"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ";\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
27: iinc 2 1
end local 4 end local 3 28: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 22
29: iconst_0
istore 2
30: aload 7
ldc "printf(\"long\t%d\\n\",(int)sizeof(long));"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
31: aload 7
ldc "printf(\"int\t%d\\n\",(int)sizeof(int));"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
32: aload 7
ldc "printf(\"short\t%d\\n\",(int)sizeof(short));"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
33: aload 7
ldc "printf(\"ptr\t%d\\n\",(int)sizeof(void *));"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
34: aload 7
ldc "printf(\"Bool\t%d\\n\",(int)sizeof(Bool));"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
35: aload 7
ldc "printf(\"Atom\t%d\\n\",(int)sizeof(Atom));"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
36: aload 7
ldc "printf(\"Window\t%d\\n\",(int)sizeof(Window));"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
37: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
invokevirtual java.util.Hashtable.elements:()Ljava/util/Enumeration;
astore 5
goto 53
38: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast WrapperGenerator$BaseType
astore 3
start local 3 39: aload 3
instanceof WrapperGenerator$StructType
ifeq 53
40: aload 3
checkcast WrapperGenerator$StructType
astore 4
start local 4 41: aload 4
invokevirtual WrapperGenerator$StructType.getIsInterface:()Z
ifeq 43
42: goto 53
43: StackMap locals: WrapperGenerator java.lang.String int WrapperGenerator$BaseType WrapperGenerator$StructType java.util.Enumeration java.io.FileOutputStream java.io.PrintWriter
StackMap stack:
aload 4
invokevirtual WrapperGenerator$StructType.getMembers:()Ljava/util/Enumeration;
astore 8
start local 8 44: goto 50
45: StackMap locals: java.util.Enumeration
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast WrapperGenerator$AtomicType
astore 9
start local 9 46: aload 9
invokevirtual WrapperGenerator$AtomicType.isAlias:()Z
ifeq 47
goto 50
47: StackMap locals: WrapperGenerator$AtomicType
StackMap stack:
aload 7
new java.lang.StringBuilder
dup
ldc "printf(\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\t%d\\n\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
48: ldc ",(int)((unsigned long ) &temp"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual WrapperGenerator$AtomicType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "- (unsigned long ) &temp"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ") );"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
49: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 9 50: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 45
end local 8 51: aload 7
new java.lang.StringBuilder
dup
ldc "printf(\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\t%d\\n\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ",(int)sizeof(temp"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "));"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
52: iinc 2 1
end local 4 end local 3 53: StackMap locals: WrapperGenerator java.lang.String int top top java.util.Enumeration java.io.FileOutputStream java.io.PrintWriter
StackMap stack:
aload 5
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 38
54: aload 7
ldc "return 0;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
55: aload 7
ldc "}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
56: aload 7
invokevirtual java.io.PrintWriter.close:()V
end local 7 end local 6 57: goto 60
end local 5 58: StackMap locals: WrapperGenerator java.lang.String int
StackMap stack: java.lang.Exception
astore 6
start local 6 59: aload 6
invokevirtual java.lang.Exception.printStackTrace:()V
end local 6 60: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 61 0 this LWrapperGenerator;
0 61 1 file Ljava/lang/String;
1 61 2 j I
23 28 3 tp LWrapperGenerator$BaseType;
39 53 3 tp LWrapperGenerator$BaseType;
25 28 4 stp LWrapperGenerator$StructType;
41 53 4 stp LWrapperGenerator$StructType;
21 58 5 eo Ljava/util/Enumeration;
2 57 6 fs Ljava/io/FileOutputStream;
3 57 7 pw Ljava/io/PrintWriter;
44 51 8 e Ljava/util/Enumeration;
46 50 9 atp LWrapperGenerator$AtomicType;
59 60 6 e Ljava/lang/Exception;
Exception table:
from to target type
1 57 58 Class java.lang.Exception
MethodParameters:
Name Flags
file
private void initTypes();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=1, args_size=1
start local 0 0: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
ldc "int"
new WrapperGenerator$AtomicType
dup
iconst_0
ldc ""
ldc "int"
invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
ldc "short"
new WrapperGenerator$AtomicType
dup
bipush 7
ldc ""
ldc "short"
invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
ldc "long"
new WrapperGenerator$AtomicType
dup
iconst_2
ldc ""
ldc "long"
invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
ldc "float"
new WrapperGenerator$AtomicType
dup
iconst_5
ldc ""
ldc "float"
invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
ldc "double"
new WrapperGenerator$AtomicType
dup
iconst_4
ldc ""
ldc "double"
invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
ldc "Bool"
new WrapperGenerator$AtomicType
dup
bipush 8
ldc ""
ldc "Bool"
invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
ldc "char"
new WrapperGenerator$AtomicType
dup
iconst_1
ldc ""
ldc "char"
invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
ldc "byte"
new WrapperGenerator$AtomicType
dup
bipush 11
ldc ""
ldc "byte"
invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
ldc "pointer"
new WrapperGenerator$AtomicType
dup
bipush 6
ldc ""
ldc "pointer"
invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
ldc "longlong"
new WrapperGenerator$AtomicType
dup
iconst_3
ldc ""
ldc "longlong"
invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
ldc "Atom"
new WrapperGenerator$AtomicType
dup
bipush 12
ldc ""
ldc "Atom"
invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
ldc "ulong"
new WrapperGenerator$AtomicType
dup
bipush 13
ldc ""
ldc "ulong"
invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this LWrapperGenerator;
public void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield WrapperGenerator.generateLog:Z
2: aload 0
ldc "sun.awt.X11"
putfield WrapperGenerator.package_name:Ljava/lang/String;
3: aload 0
ldc "sun/awt/X11"
putfield WrapperGenerator.package_path:Ljava/lang/String;
4: aload 0
ldc "sizer.c"
putfield WrapperGenerator.sizerFileName:Ljava/lang/String;
5: aload 0
ldc "XWrapperBase"
putfield WrapperGenerator.defaultBaseClass:Ljava/lang/String;
6: aload 0
ldc "-lX11"
putfield WrapperGenerator.compile_options:Ljava/lang/String;
7: aload 0
invokevirtual WrapperGenerator.initTypes:()V
8: new java.io.BufferedReader
dup
new java.io.FileReader
dup
aload 2
invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 3
start local 3 9: aconst_null
astore 6
start local 6 10: goto 51
start local 4 11: StackMap locals: WrapperGenerator java.lang.String java.lang.String java.io.BufferedReader java.lang.String top WrapperGenerator$BaseType
StackMap stack:
aload 4
ldc "//"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 7
start local 7 12: iload 7
iflt 14
13: aload 4
iconst_0
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
14: StackMap locals: int
StackMap stack:
ldc ""
aload 4
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
15: goto 51
16: StackMap locals:
StackMap stack:
aload 4
ldc "\\p{Space}+"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 5
start local 5 17: aload 5
arraylength
iconst_2
if_icmplt 38
18: aload 6
invokevirtual WrapperGenerator$BaseType.getName:()Ljava/lang/String;
astore 8
start local 8 19: aload 5
iconst_1
aaload
astore 9
start local 9 20: aload 5
iconst_2
aaload
astore 10
start local 10 21: aload 6
astore 11
start local 11 22: aload 10
invokestatic WrapperGenerator$AtomicType.getTypeForString:(Ljava/lang/String;)I
istore 12
start local 12 23: aconst_null
astore 13
start local 13 24: aload 11
ifnull 35
iload 12
iconst_m1
if_icmpeq 35
25: new WrapperGenerator$AtomicType
dup
iload 12
aload 9
aload 10
invokespecial WrapperGenerator$AtomicType.<init>:(ILjava/lang/String;Ljava/lang/String;)V
astore 13
26: aload 5
arraylength
iconst_3
if_icmple 28
27: aload 13
aload 5
invokevirtual WrapperGenerator$AtomicType.setAttributes:([Ljava/lang/String;)V
28: StackMap locals: WrapperGenerator java.lang.String java.lang.String java.io.BufferedReader java.lang.String java.lang.String[] WrapperGenerator$BaseType int java.lang.String java.lang.String java.lang.String WrapperGenerator$BaseType int WrapperGenerator$AtomicType
StackMap stack:
aload 11
instanceof WrapperGenerator$StructType
ifeq 32
29: aload 11
checkcast WrapperGenerator$StructType
astore 14
start local 14 30: aload 14
aload 13
invokevirtual WrapperGenerator$StructType.addMember:(LWrapperGenerator$BaseType;)V
end local 14 31: goto 51
StackMap locals:
StackMap stack:
32: aload 11
instanceof WrapperGenerator$FunctionType
ifeq 51
33: aload 11
checkcast WrapperGenerator$FunctionType
aload 13
invokevirtual WrapperGenerator$FunctionType.addArgument:(LWrapperGenerator$BaseType;)V
34: goto 51
35: StackMap locals:
StackMap stack:
aload 11
ifnonnull 51
36: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Cannot find "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 37: goto 51
38: StackMap locals: WrapperGenerator java.lang.String java.lang.String java.io.BufferedReader java.lang.String java.lang.String[] WrapperGenerator$BaseType int
StackMap stack:
aload 4
ifnull 51
39: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
aload 4
invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast WrapperGenerator$BaseType
astore 8
start local 8 40: aload 8
ifnonnull 51
41: aload 4
ldc "!"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 47
42: new WrapperGenerator$FunctionType
dup
aload 4
invokespecial WrapperGenerator$FunctionType.<init>:(Ljava/lang/String;)V
astore 9
start local 9 43: aload 9
aload 4
invokevirtual WrapperGenerator$FunctionType.setName:(Ljava/lang/String;)V
44: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
aload 9
invokevirtual WrapperGenerator$FunctionType.getName:()Ljava/lang/String;
aload 9
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
45: aload 9
astore 6
end local 9 46: goto 51
47: StackMap locals: WrapperGenerator$BaseType
StackMap stack:
new WrapperGenerator$StructType
dup
aload 4
invokespecial WrapperGenerator$StructType.<init>:(Ljava/lang/String;)V
astore 9
start local 9 48: aload 9
aload 4
invokevirtual WrapperGenerator$StructType.setName:(Ljava/lang/String;)V
49: aload 9
astore 6
50: getstatic WrapperGenerator.symbolTable:Ljava/util/Hashtable;
aload 9
invokevirtual WrapperGenerator$StructType.getName:()Ljava/lang/String;
aload 9
invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 end local 8 end local 7 end local 5 end local 4 51: StackMap locals: WrapperGenerator java.lang.String java.lang.String java.io.BufferedReader top top WrapperGenerator$BaseType
StackMap stack:
aload 3
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 4
start local 4 52: ifnonnull 11
53: aload 3
invokevirtual java.io.BufferedReader.close:()V
end local 6 end local 4 end local 3 54: goto 57
55: StackMap locals: WrapperGenerator java.lang.String java.lang.String
StackMap stack: java.lang.Exception
astore 3
start local 3 56: aload 3
invokevirtual java.lang.Exception.printStackTrace:()V
end local 3 57: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this LWrapperGenerator;
0 58 1 outputDir Ljava/lang/String;
0 58 2 xlibFilename Ljava/lang/String;
9 54 3 in Ljava/io/BufferedReader;
11 51 4 line Ljava/lang/String;
52 54 4 line Ljava/lang/String;
17 51 5 splits [Ljava/lang/String;
10 54 6 curType LWrapperGenerator$BaseType;
12 51 7 commentStart I
19 37 8 struct_name Ljava/lang/String;
20 37 9 field_name Ljava/lang/String;
21 37 10 s_type Ljava/lang/String;
22 37 11 bt LWrapperGenerator$BaseType;
23 37 12 type I
24 37 13 atp LWrapperGenerator$AtomicType;
30 31 14 stp LWrapperGenerator$StructType;
40 51 8 bt LWrapperGenerator$BaseType;
43 46 9 ft LWrapperGenerator$FunctionType;
48 51 9 stp LWrapperGenerator$StructType;
56 57 3 e Ljava/lang/Exception;
Exception table:
from to target type
8 54 55 Class java.lang.Exception
MethodParameters:
Name Flags
outputDir
xlibFilename
private void makeSizer(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield WrapperGenerator.wide:Z
ifeq 3
1: aload 0
ldc "sizer.64.c"
putfield WrapperGenerator.sizerFileName:Ljava/lang/String;
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
ldc "sizer.32.c"
putfield WrapperGenerator.sizerFileName:Ljava/lang/String;
4: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 1
aload 0
getfield WrapperGenerator.sizerFileName:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 2
start local 2 5: aload 0
aload 2
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual WrapperGenerator.writeNativeSizer:(Ljava/lang/String;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this LWrapperGenerator;
0 7 1 outputDir Ljava/lang/String;
5 7 2 fp Ljava/io/File;
MethodParameters:
Name Flags
outputDir
private boolean readSizeInfo(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: new java.io.File
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".32"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 2
start local 2 1: iconst_1
istore 3
start local 3 2: aconst_null
astore 4
start local 4 3: aload 2
invokevirtual java.io.File.exists:()Z
ifeq 7
4: new java.io.FileInputStream
dup
aload 2
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 4
5: aload 0
aload 4
iconst_0
invokevirtual WrapperGenerator.readSizeInfo:(Ljava/io/InputStream;Z)Z
istore 3
6: aload 4
invokevirtual java.io.FileInputStream.close:()V
7: StackMap locals: java.io.File int java.io.FileInputStream
StackMap stack:
new java.io.File
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".64"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 2
8: aload 2
invokevirtual java.io.File.exists:()Z
ifeq 12
9: new java.io.FileInputStream
dup
aload 2
invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
astore 4
10: iload 3
aload 0
aload 4
iconst_1
invokevirtual WrapperGenerator.readSizeInfo:(Ljava/io/InputStream;Z)Z
iand
istore 3
11: aload 4
invokevirtual java.io.FileInputStream.close:()V
12: StackMap locals:
StackMap stack:
iload 3
13: ireturn
end local 4 end local 3 end local 2 14: StackMap locals: WrapperGenerator java.lang.String
StackMap stack: java.lang.Exception
astore 2
start local 2 15: aload 2
invokevirtual java.lang.Exception.printStackTrace:()V
16: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this LWrapperGenerator;
0 17 1 sizeInfo Ljava/lang/String;
1 14 2 f Ljava/io/File;
2 14 3 res Z
3 14 4 fis Ljava/io/FileInputStream;
15 17 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 13 14 Class java.lang.Exception
MethodParameters:
Name Flags
sizeInfo
private void startGeneration(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual WrapperGenerator.readSizeInfo:(Ljava/lang/String;)Z
ifeq 3
1: aload 0
aload 1
invokevirtual WrapperGenerator.writeJavaWrapperClass:(Ljava/lang/String;)V
2: goto 4
3: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Error calculating offsets"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this LWrapperGenerator;
0 5 1 outputDir Ljava/lang/String;
0 5 2 sizeInfo Ljava/lang/String;
MethodParameters:
Name Flags
outputDir
sizeInfo
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
arraylength
iconst_4
if_icmpge 5
1: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Usage:\nWrapperGenerator <output_dir> <xlibtypes.txt> <action> [<platform> | <sizes info file>]"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Where <action>: gen, sizer"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " <platform>: 32, 64"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: iconst_1
invokestatic java.lang.System.exit:(I)V
5: StackMap locals:
StackMap stack:
new WrapperGenerator
dup
aload 0
iconst_0
aaload
aload 0
iconst_1
aaload
invokespecial WrapperGenerator.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 1
start local 1 6: aload 0
iconst_2
aaload
ldc "sizer"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
7: aload 1
aload 0
iconst_3
aaload
ldc "64"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
putfield WrapperGenerator.wide:Z
8: aload 1
aload 0
iconst_0
aaload
invokevirtual WrapperGenerator.makeSizer:(Ljava/lang/String;)V
9: goto 12
StackMap locals: WrapperGenerator
StackMap stack:
10: aload 0
iconst_2
aaload
ldc "gen"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
11: aload 1
aload 0
iconst_0
aaload
aload 0
iconst_3
aaload
invokevirtual WrapperGenerator.startGeneration:(Ljava/lang/String;Ljava/lang/String;)V
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 args [Ljava/lang/String;
6 13 1 xparser LWrapperGenerator;
MethodParameters:
Name Flags
args
}
SourceFile: "WrapperGenerator.java"
NestMembers:
WrapperGenerator$AtomicType WrapperGenerator$BaseType WrapperGenerator$FunctionType WrapperGenerator$StructType
InnerClasses:
private AtomicType = WrapperGenerator$AtomicType of WrapperGenerator
private abstract BaseType = WrapperGenerator$BaseType of WrapperGenerator
private FunctionType = WrapperGenerator$FunctionType of WrapperGenerator
private StructType = WrapperGenerator$StructType of WrapperGenerator