public class com.sun.tools.javah.LLNI extends com.sun.tools.javah.Gen
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.javah.LLNI
super_class: com.sun.tools.javah.Gen
{
protected final char innerDelim;
descriptor: C
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
ConstantValue: 36
protected java.util.Set<java.lang.String> doneHandleTypes;
descriptor: Ljava/util/Set;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/Set<Ljava/lang/String;>;
java.util.List<javax.lang.model.element.VariableElement> fields;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Ljavax/lang/model/element/VariableElement;>;
java.util.List<javax.lang.model.element.ExecutableElement> methods;
descriptor: Ljava/util/List;
flags: (0x0000)
Signature: Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
private boolean doubleAlign;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int padFieldNum;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final boolean isWindows;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$javax$lang$model$type$TypeKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "os.name"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
ldc "Windows"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
1: putstatic com.sun.tools.javah.LLNI.isWindows:Z
2: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(boolean, com.sun.tools.javah.Util);
descriptor: (ZLcom/sun/tools/javah/Util;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokespecial com.sun.tools.javah.Gen.<init>:(Lcom/sun/tools/javah/Util;)V
1: aload 0
bipush 36
putfield com.sun.tools.javah.LLNI.innerDelim:C
2: aload 0
iconst_0
putfield com.sun.tools.javah.LLNI.padFieldNum:I
3: aload 0
iload 1
putfield com.sun.tools.javah.LLNI.doubleAlign:Z
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javah/LLNI;
0 5 1 doubleAlign Z
0 5 2 util Lcom/sun/tools/javah/Util;
MethodParameters:
Name Flags
doubleAlign
util
protected java.lang.String getIncludes();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc ""
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javah/LLNI;
protected void write(java.io.OutputStream, javax.lang.model.element.TypeElement);
descriptor: (Ljava/io/OutputStream;Ljavax/lang/model/element/TypeElement;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javah.LLNI.mangleClassName:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 1: aload 0
aload 1
invokevirtual com.sun.tools.javah.LLNI.wrapWriter:(Ljava/io/OutputStream;)Ljava/io/PrintWriter;
astore 4
start local 4 2: aload 0
aload 2
invokeinterface javax.lang.model.element.TypeElement.getEnclosedElements:()Ljava/util/List;
invokestatic javax.lang.model.util.ElementFilter.fieldsIn:(Ljava/lang/Iterable;)Ljava/util/List;
putfield com.sun.tools.javah.LLNI.fields:Ljava/util/List;
3: aload 0
aload 2
invokeinterface javax.lang.model.element.TypeElement.getEnclosedElements:()Ljava/util/List;
invokestatic javax.lang.model.util.ElementFilter.methodsIn:(Ljava/lang/Iterable;)Ljava/util/List;
putfield com.sun.tools.javah.LLNI.methods:Ljava/util/List;
4: aload 0
aload 4
aload 2
aload 3
invokevirtual com.sun.tools.javah.LLNI.generateDeclsForClass:(Ljava/io/PrintWriter;Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)V
end local 4 end local 3 5: goto 8
StackMap locals:
StackMap stack: com.sun.tools.javah.TypeSignature$SignatureException
6: astore 3
start local 3 7: aload 0
getfield com.sun.tools.javah.LLNI.util:Lcom/sun/tools/javah/Util;
ldc "llni.sigerror"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
invokevirtual com.sun.tools.javah.TypeSignature$SignatureException.getMessage:()Ljava/lang/String;
aastore
invokevirtual com.sun.tools.javah.Util.error:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 3 8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javah/LLNI;
0 9 1 o Ljava/io/OutputStream;
0 9 2 clazz Ljavax/lang/model/element/TypeElement;
1 5 3 cname Ljava/lang/String;
2 5 4 pw Ljava/io/PrintWriter;
7 8 3 e Lcom/sun/tools/javah/TypeSignature$SignatureException;
Exception table:
from to target type
0 5 6 Class com.sun.tools.javah.TypeSignature$SignatureException
Exceptions:
throws com.sun.tools.javah.Util$Exit
MethodParameters:
Name Flags
o
clazz
protected void generateDeclsForClass(java.io.PrintWriter, javax.lang.model.element.TypeElement, java.lang.String);
descriptor: (Ljava/io/PrintWriter;Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.sun.tools.javah.LLNI.doneHandleTypes:Ljava/util/Set;
1: aload 0
aconst_null
ldc "java.lang.Class"
invokevirtual com.sun.tools.javah.LLNI.genHandleType:(Ljava/io/PrintWriter;Ljava/lang/String;)V
2: aload 0
aconst_null
ldc "java.lang.ClassLoader"
invokevirtual com.sun.tools.javah.LLNI.genHandleType:(Ljava/io/PrintWriter;Ljava/lang/String;)V
3: aload 0
aconst_null
ldc "java.lang.Object"
invokevirtual com.sun.tools.javah.LLNI.genHandleType:(Ljava/io/PrintWriter;Ljava/lang/String;)V
4: aload 0
aconst_null
ldc "java.lang.String"
invokevirtual com.sun.tools.javah.LLNI.genHandleType:(Ljava/io/PrintWriter;Ljava/lang/String;)V
5: aload 0
aconst_null
ldc "java.lang.Thread"
invokevirtual com.sun.tools.javah.LLNI.genHandleType:(Ljava/io/PrintWriter;Ljava/lang/String;)V
6: aload 0
aconst_null
ldc "java.lang.ThreadGroup"
invokevirtual com.sun.tools.javah.LLNI.genHandleType:(Ljava/io/PrintWriter;Ljava/lang/String;)V
7: aload 0
aconst_null
ldc "java.lang.Throwable"
invokevirtual com.sun.tools.javah.LLNI.genHandleType:(Ljava/io/PrintWriter;Ljava/lang/String;)V
8: aload 1
new java.lang.StringBuilder
dup
ldc "/* LLNI Header for class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " */"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.javah.LLNI.lineSep: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.println:(Ljava/lang/String;)V
9: aload 1
new java.lang.StringBuilder
dup
ldc "#ifndef _Included_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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: aload 1
new java.lang.StringBuilder
dup
ldc "#define _Included_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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
11: aload 1
ldc "#include \"typedefs.h\""
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
12: aload 1
ldc "#include \"llni.h\""
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
13: aload 1
new java.lang.StringBuilder
dup
ldc "#include \"jni.h\""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.javah.LLNI.lineSep: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.println:(Ljava/lang/String;)V
14: aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javah.LLNI.forwardDecls:(Ljava/io/PrintWriter;Ljavax/lang/model/element/TypeElement;)V
15: aload 0
aload 1
aload 2
aload 3
invokevirtual com.sun.tools.javah.LLNI.structSectionForClass:(Ljava/io/PrintWriter;Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)V
16: aload 0
aload 1
aload 2
aload 3
invokevirtual com.sun.tools.javah.LLNI.methodSectionForClass:(Ljava/io/PrintWriter;Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)V
17: aload 1
ldc "#endif"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
18: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/tools/javah/LLNI;
0 19 1 pw Ljava/io/PrintWriter;
0 19 2 clazz Ljavax/lang/model/element/TypeElement;
0 19 3 cname Ljava/lang/String;
Exceptions:
throws com.sun.tools.javah.TypeSignature$SignatureException, com.sun.tools.javah.Util$Exit
MethodParameters:
Name Flags
pw
clazz
cname
protected void genHandleType(java.io.PrintWriter, java.lang.String);
descriptor: (Ljava/io/PrintWriter;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual com.sun.tools.javah.LLNI.mangleClassName:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 1: aload 0
getfield com.sun.tools.javah.LLNI.doneHandleTypes:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 8
2: aload 0
getfield com.sun.tools.javah.LLNI.doneHandleTypes:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
3: aload 1
ifnull 8
4: aload 1
new java.lang.StringBuilder
dup
ldc "#ifndef DEFINED_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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 1
new java.lang.StringBuilder
dup
ldc " #define DEFINED_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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 1
new java.lang.StringBuilder
dup
ldc " GEN_HANDLE_TYPES("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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
7: aload 1
new java.lang.StringBuilder
dup
ldc "#endif"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.javah.LLNI.lineSep: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.println:(Ljava/lang/String;)V
8: StackMap locals: java.lang.String
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javah/LLNI;
0 9 1 pw Ljava/io/PrintWriter;
0 9 2 clazzname Ljava/lang/String;
1 9 3 cname Ljava/lang/String;
MethodParameters:
Name Flags
pw
clazzname
protected java.lang.String mangleClassName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
bipush 46
bipush 95
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
1: bipush 47
bipush 95
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
2: bipush 36
bipush 95
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javah/LLNI;
0 4 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
protected void forwardDecls(java.io.PrintWriter, javax.lang.model.element.TypeElement);
descriptor: (Ljava/io/PrintWriter;Ljavax/lang/model/element/TypeElement;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javah.LLNI.elems:Ljavax/lang/model/util/Elements;
ldc "java.lang.Object"
invokeinterface javax.lang.model.util.Elements.getTypeElement:(Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
astore 3
start local 3 1: aload 2
aload 3
invokeinterface javax.lang.model.element.TypeElement.equals:(Ljava/lang/Object;)Z
ifeq 3
2: return
3: StackMap locals: javax.lang.model.element.TypeElement
StackMap stack:
aload 0
aload 1
aload 2
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javah.LLNI.genHandleType:(Ljava/io/PrintWriter;Ljava/lang/String;)V
4: aload 0
getfield com.sun.tools.javah.LLNI.types:Ljavax/lang/model/util/Types;
aload 2
invokeinterface javax.lang.model.element.TypeElement.getSuperclass:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.util.Types.asElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
astore 4
start local 4 5: aload 4
ifnull 8
6: aload 4
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
pop
7: aload 0
aload 1
aload 4
invokevirtual com.sun.tools.javah.LLNI.forwardDecls:(Ljava/io/PrintWriter;Ljavax/lang/model/element/TypeElement;)V
8: StackMap locals: javax.lang.model.element.TypeElement
StackMap stack:
aload 0
getfield com.sun.tools.javah.LLNI.fields:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 17
StackMap locals: com.sun.tools.javah.LLNI java.io.PrintWriter javax.lang.model.element.TypeElement javax.lang.model.element.TypeElement javax.lang.model.element.TypeElement top java.util.Iterator
StackMap stack:
9: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 5
start local 5 10: aload 5
invokeinterface javax.lang.model.element.VariableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 17
11: aload 0
getfield com.sun.tools.javah.LLNI.types:Ljavax/lang/model/util/Types;
aload 5
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.util.Types.erasure:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
astore 7
start local 7 12: new com.sun.tools.javah.TypeSignature
dup
aload 0
getfield com.sun.tools.javah.LLNI.elems:Ljavax/lang/model/util/Elements;
invokespecial com.sun.tools.javah.TypeSignature.<init>:(Ljavax/lang/model/util/Elements;)V
astore 8
start local 8 13: aload 8
aload 7
invokevirtual com.sun.tools.javah.TypeSignature.qualifiedTypeName:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
astore 9
start local 9 14: aload 8
aload 9
invokevirtual com.sun.tools.javah.TypeSignature.getTypeSignature:(Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 15: aload 10
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpeq 17
16: aload 0
aload 1
aload 10
invokevirtual com.sun.tools.javah.LLNI.forwardDeclsFromSig:(Ljava/io/PrintWriter;Ljava/lang/String;)V
end local 10 end local 9 end local 8 end local 7 end local 5 17: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
18: aload 0
getfield com.sun.tools.javah.LLNI.methods:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 27
StackMap locals:
StackMap stack:
19: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 5
start local 5 20: aload 5
invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.NATIVE:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 27
21: aload 0
getfield com.sun.tools.javah.LLNI.types:Ljavax/lang/model/util/Types;
aload 5
invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.util.Types.erasure:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
astore 7
start local 7 22: aload 0
aload 5
invokevirtual com.sun.tools.javah.LLNI.signature:(Ljavax/lang/model/element/ExecutableElement;)Ljava/lang/String;
astore 8
start local 8 23: new com.sun.tools.javah.TypeSignature
dup
aload 0
getfield com.sun.tools.javah.LLNI.elems:Ljavax/lang/model/util/Elements;
invokespecial com.sun.tools.javah.TypeSignature.<init>:(Ljavax/lang/model/util/Elements;)V
astore 9
start local 9 24: aload 9
aload 8
aload 7
invokevirtual com.sun.tools.javah.TypeSignature.getTypeSignature:(Ljava/lang/String;Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
astore 10
start local 10 25: aload 10
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 91
if_icmpeq 27
26: aload 0
aload 1
aload 10
invokevirtual com.sun.tools.javah.LLNI.forwardDeclsFromSig:(Ljava/io/PrintWriter;Ljava/lang/String;)V
end local 10 end local 9 end local 8 end local 7 end local 5 27: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
28: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/sun/tools/javah/LLNI;
0 29 1 pw Ljava/io/PrintWriter;
0 29 2 clazz Ljavax/lang/model/element/TypeElement;
1 29 3 object Ljavax/lang/model/element/TypeElement;
5 29 4 superClass Ljavax/lang/model/element/TypeElement;
10 17 5 field Ljavax/lang/model/element/VariableElement;
12 17 7 t Ljavax/lang/model/type/TypeMirror;
13 17 8 newTypeSig Lcom/sun/tools/javah/TypeSignature;
14 17 9 tname Ljava/lang/String;
15 17 10 sig Ljava/lang/String;
20 27 5 method Ljavax/lang/model/element/ExecutableElement;
22 27 7 retType Ljavax/lang/model/type/TypeMirror;
23 27 8 typesig Ljava/lang/String;
24 27 9 newTypeSig Lcom/sun/tools/javah/TypeSignature;
25 27 10 sig Ljava/lang/String;
Exceptions:
throws com.sun.tools.javah.TypeSignature$SignatureException
MethodParameters:
Name Flags
pw
clazz
protected void forwardDeclsFromSig(java.io.PrintWriter, java.lang.String);
descriptor: (Ljava/io/PrintWriter;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.lang.String.length:()I
istore 3
start local 3 1: aload 2
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 40
if_icmpne 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 4
start local 4 4: goto 14
5: StackMap locals: int
StackMap stack:
aload 2
iload 4
invokevirtual java.lang.String.charAt:(I)C
bipush 76
if_icmpne 13
6: iload 4
iconst_1
iadd
istore 5
start local 5 7: goto 9
StackMap locals: int
StackMap stack:
8: iinc 5 1
StackMap locals:
StackMap stack:
9: aload 2
iload 5
invokevirtual java.lang.String.charAt:(I)C
bipush 59
if_icmpne 8
10: aload 0
aload 1
aload 2
iload 4
iconst_1
iadd
iload 5
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual com.sun.tools.javah.LLNI.genHandleType:(Ljava/io/PrintWriter;Ljava/lang/String;)V
11: iload 5
iconst_1
iadd
istore 4
end local 5 12: goto 14
13: StackMap locals:
StackMap stack:
iinc 4 1
14: StackMap locals:
StackMap stack:
iload 4
iload 3
if_icmplt 5
15: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/tools/javah/LLNI;
0 16 1 pw Ljava/io/PrintWriter;
0 16 2 sig Ljava/lang/String;
1 16 3 len I
4 16 4 i I
7 12 5 j I
MethodParameters:
Name Flags
pw
sig
protected void structSectionForClass(java.io.PrintWriter, javax.lang.model.element.TypeElement, java.lang.String);
descriptor: (Ljava/io/PrintWriter;Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
astore 4
start local 4 1: aload 3
ldc "java_lang_Object"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
2: aload 1
ldc "/* struct java_lang_Object is defined in typedefs.h. */"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
3: aload 1
invokevirtual java.io.PrintWriter.println:()V
4: return
5: StackMap locals: java.lang.String
StackMap stack:
aload 1
ldc "#if !defined(__i386)"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
6: aload 1
ldc "#pragma pack(4)"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
7: aload 1
ldc "#endif"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
8: aload 1
invokevirtual java.io.PrintWriter.println:()V
9: aload 1
new java.lang.StringBuilder
dup
ldc "struct "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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
10: aload 1
ldc " ObjHeader h;"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
11: aload 1
aload 0
aload 2
aload 3
invokevirtual com.sun.tools.javah.LLNI.fieldDefs:(Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
12: aload 4
ldc "java.lang.Class"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
13: aload 1
ldc " Class *LLNI_mask(cClass); /* Fake field; don't access (see oobj.h) */"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc "};"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.javah.LLNI.lineSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.javah.LLNI.lineSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "#pragma pack()"
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: aload 1
invokevirtual java.io.PrintWriter.println:()V
16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/tools/javah/LLNI;
0 17 1 pw Ljava/io/PrintWriter;
0 17 2 jclazz Ljavax/lang/model/element/TypeElement;
0 17 3 cname Ljava/lang/String;
1 17 4 jname Ljava/lang/String;
MethodParameters:
Name Flags
pw
jclazz
cname
private boolean doField(com.sun.tools.javah.LLNI$FieldDefsRes, javax.lang.model.element.VariableElement, java.lang.String, boolean);
descriptor: (Lcom/sun/tools/javah/LLNI$FieldDefsRes;Ljavax/lang/model/element/VariableElement;Ljava/lang/String;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 2
aload 3
iload 4
invokevirtual com.sun.tools.javah.LLNI.addStructMember:(Ljavax/lang/model/element/VariableElement;Ljava/lang/String;Z)Ljava/lang/String;
astore 5
start local 5 1: aload 5
ifnull 13
2: aload 1
getfield com.sun.tools.javah.LLNI$FieldDefsRes.printedOne:Z
ifne 11
3: aload 1
getfield com.sun.tools.javah.LLNI$FieldDefsRes.bottomMost:Z
ifeq 7
4: aload 1
getfield com.sun.tools.javah.LLNI$FieldDefsRes.s:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifeq 10
5: aload 1
new java.lang.StringBuilder
dup
aload 1
getfield com.sun.tools.javah.LLNI$FieldDefsRes.s:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " /* local members: */"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.javah.LLNI.lineSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield com.sun.tools.javah.LLNI$FieldDefsRes.s:Ljava/lang/String;
6: goto 10
7: StackMap locals: java.lang.String
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
aload 1
getfield com.sun.tools.javah.LLNI$FieldDefsRes.s:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " /* inherited members from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: aload 1
getfield com.sun.tools.javah.LLNI$FieldDefsRes.className: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 0
getfield com.sun.tools.javah.LLNI.lineSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: putfield com.sun.tools.javah.LLNI$FieldDefsRes.s:Ljava/lang/String;
10: StackMap locals:
StackMap stack:
aload 1
iconst_1
putfield com.sun.tools.javah.LLNI$FieldDefsRes.printedOne:Z
11: StackMap locals:
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
aload 1
getfield com.sun.tools.javah.LLNI$FieldDefsRes.s:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield com.sun.tools.javah.LLNI$FieldDefsRes.s:Ljava/lang/String;
12: iconst_1
ireturn
13: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/tools/javah/LLNI;
0 14 1 res Lcom/sun/tools/javah/LLNI$FieldDefsRes;
0 14 2 field Ljavax/lang/model/element/VariableElement;
0 14 3 cname Ljava/lang/String;
0 14 4 padWord Z
1 14 5 fieldDef Ljava/lang/String;
MethodParameters:
Name Flags
res
field
cname
padWord
private int doTwoWordFields(com.sun.tools.javah.LLNI$FieldDefsRes, javax.lang.model.element.TypeElement, int, java.lang.String, boolean);
descriptor: (Lcom/sun/tools/javah/LLNI$FieldDefsRes;Ljavax/lang/model/element/TypeElement;ILjava/lang/String;Z)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iconst_1
istore 6
start local 6 1: aload 2
invokeinterface javax.lang.model.element.TypeElement.getEnclosedElements:()Ljava/util/List;
invokestatic javax.lang.model.util.ElementFilter.fieldsIn:(Ljava/lang/Iterable;)Ljava/util/List;
astore 7
start local 7 2: aload 7
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 12
StackMap locals: com.sun.tools.javah.LLNI com.sun.tools.javah.LLNI$FieldDefsRes javax.lang.model.element.TypeElement int java.lang.String int int java.util.List top java.util.Iterator
StackMap stack:
3: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 8
start local 8 4: aload 8
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
astore 10
start local 10 5: aload 10
getstatic javax.lang.model.type.TypeKind.LONG:Ljavax/lang/model/type/TypeKind;
if_acmpeq 6
aload 10
getstatic javax.lang.model.type.TypeKind.DOUBLE:Ljavax/lang/model/type/TypeKind;
if_acmpeq 6
iconst_0
goto 7
StackMap locals: com.sun.tools.javah.LLNI com.sun.tools.javah.LLNI$FieldDefsRes javax.lang.model.element.TypeElement int java.lang.String int int java.util.List javax.lang.model.element.VariableElement java.util.Iterator javax.lang.model.type.TypeKind
StackMap stack:
6: iconst_1
StackMap locals:
StackMap stack: int
7: istore 11
start local 11 8: iload 11
ifeq 12
aload 0
aload 1
aload 8
aload 4
iload 6
ifeq 9
iload 5
ifeq 9
iconst_1
goto 10
StackMap locals: com.sun.tools.javah.LLNI com.sun.tools.javah.LLNI$FieldDefsRes javax.lang.model.element.TypeElement int java.lang.String int int java.util.List javax.lang.model.element.VariableElement java.util.Iterator javax.lang.model.type.TypeKind int
StackMap stack: com.sun.tools.javah.LLNI com.sun.tools.javah.LLNI$FieldDefsRes javax.lang.model.element.VariableElement java.lang.String
9: iconst_0
StackMap locals: com.sun.tools.javah.LLNI com.sun.tools.javah.LLNI$FieldDefsRes javax.lang.model.element.TypeElement int java.lang.String int int java.util.List javax.lang.model.element.VariableElement java.util.Iterator javax.lang.model.type.TypeKind int
StackMap stack: com.sun.tools.javah.LLNI com.sun.tools.javah.LLNI$FieldDefsRes javax.lang.model.element.VariableElement java.lang.String int
10: invokevirtual com.sun.tools.javah.LLNI.doField:(Lcom/sun/tools/javah/LLNI$FieldDefsRes;Ljavax/lang/model/element/VariableElement;Ljava/lang/String;Z)Z
ifeq 12
11: iinc 3 8
iconst_0
istore 6
end local 11 end local 10 end local 8 12: StackMap locals: com.sun.tools.javah.LLNI com.sun.tools.javah.LLNI$FieldDefsRes javax.lang.model.element.TypeElement int java.lang.String int int java.util.List top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
13: iload 3
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/tools/javah/LLNI;
0 14 1 res Lcom/sun/tools/javah/LLNI$FieldDefsRes;
0 14 2 clazz Ljavax/lang/model/element/TypeElement;
0 14 3 offset I
0 14 4 cname Ljava/lang/String;
0 14 5 padWord Z
1 14 6 first Z
2 14 7 fields Ljava/util/List<Ljavax/lang/model/element/VariableElement;>;
4 12 8 field Ljavax/lang/model/element/VariableElement;
5 12 10 tk Ljavax/lang/model/type/TypeKind;
8 12 11 twoWords Z
MethodParameters:
Name Flags
res
clazz
offset
cname
padWord
java.lang.String fieldDefs(javax.lang.model.element.TypeElement, java.lang.String);
descriptor: (Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual com.sun.tools.javah.LLNI.fieldDefs:(Ljavax/lang/model/element/TypeElement;Ljava/lang/String;Z)Lcom/sun/tools/javah/LLNI$FieldDefsRes;
astore 3
start local 3 1: aload 3
getfield com.sun.tools.javah.LLNI$FieldDefsRes.s:Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javah/LLNI;
0 2 1 clazz Ljavax/lang/model/element/TypeElement;
0 2 2 cname Ljava/lang/String;
1 2 3 res Lcom/sun/tools/javah/LLNI$FieldDefsRes;
MethodParameters:
Name Flags
clazz
cname
com.sun.tools.javah.LLNI$FieldDefsRes fieldDefs(javax.lang.model.element.TypeElement, java.lang.String, boolean);
descriptor: (Ljavax/lang/model/element/TypeElement;Ljava/lang/String;Z)Lcom/sun/tools/javah/LLNI$FieldDefsRes;
flags: (0x0000)
Code:
stack=7, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_0
istore 6
start local 6 1: aload 0
getfield com.sun.tools.javah.LLNI.types:Ljavax/lang/model/util/Types;
aload 1
invokeinterface javax.lang.model.element.TypeElement.getSuperclass:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.util.Types.asElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
astore 7
start local 7 2: aload 7
ifnull 10
3: aload 7
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
pop
4: new com.sun.tools.javah.LLNI$FieldDefsRes
dup
aload 1
5: aload 0
aload 7
aload 2
iconst_0
invokevirtual com.sun.tools.javah.LLNI.fieldDefs:(Ljavax/lang/model/element/TypeElement;Ljava/lang/String;Z)Lcom/sun/tools/javah/LLNI$FieldDefsRes;
6: iload 3
7: invokespecial com.sun.tools.javah.LLNI$FieldDefsRes.<init>:(Ljavax/lang/model/element/TypeElement;Lcom/sun/tools/javah/LLNI$FieldDefsRes;Z)V
astore 4
start local 4 8: aload 4
getfield com.sun.tools.javah.LLNI$FieldDefsRes.parent:Lcom/sun/tools/javah/LLNI$FieldDefsRes;
getfield com.sun.tools.javah.LLNI$FieldDefsRes.byteSize:I
istore 5
start local 5 9: goto 12
end local 5 end local 4 10: StackMap locals: com.sun.tools.javah.LLNI javax.lang.model.element.TypeElement java.lang.String int top top int javax.lang.model.element.TypeElement
StackMap stack:
new com.sun.tools.javah.LLNI$FieldDefsRes
dup
aload 1
aconst_null
iload 3
invokespecial com.sun.tools.javah.LLNI$FieldDefsRes.<init>:(Ljavax/lang/model/element/TypeElement;Lcom/sun/tools/javah/LLNI$FieldDefsRes;Z)V
astore 4
start local 4 11: iconst_0
istore 5
start local 5 12: StackMap locals: com.sun.tools.javah.LLNI javax.lang.model.element.TypeElement java.lang.String int com.sun.tools.javah.LLNI$FieldDefsRes int int javax.lang.model.element.TypeElement
StackMap stack:
aload 1
invokeinterface javax.lang.model.element.TypeElement.getEnclosedElements:()Ljava/util/List;
invokestatic javax.lang.model.util.ElementFilter.fieldsIn:(Ljava/lang/Iterable;)Ljava/util/List;
astore 8
start local 8 13: aload 8
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 24
StackMap locals: com.sun.tools.javah.LLNI javax.lang.model.element.TypeElement java.lang.String int com.sun.tools.javah.LLNI$FieldDefsRes int int javax.lang.model.element.TypeElement java.util.List top java.util.Iterator
StackMap stack:
14: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 9
start local 9 15: aload 0
getfield com.sun.tools.javah.LLNI.doubleAlign:Z
ifeq 18
iload 6
ifne 18
iload 5
bipush 8
irem
ifne 18
16: aload 0
aload 4
aload 1
iload 5
aload 2
iconst_0
invokevirtual com.sun.tools.javah.LLNI.doTwoWordFields:(Lcom/sun/tools/javah/LLNI$FieldDefsRes;Ljavax/lang/model/element/TypeElement;ILjava/lang/String;Z)I
istore 5
17: iconst_1
istore 6
18: StackMap locals: com.sun.tools.javah.LLNI javax.lang.model.element.TypeElement java.lang.String int com.sun.tools.javah.LLNI$FieldDefsRes int int javax.lang.model.element.TypeElement java.util.List javax.lang.model.element.VariableElement java.util.Iterator
StackMap stack:
aload 9
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
astore 11
start local 11 19: aload 11
getstatic javax.lang.model.type.TypeKind.LONG:Ljavax/lang/model/type/TypeKind;
if_acmpeq 20
aload 11
getstatic javax.lang.model.type.TypeKind.DOUBLE:Ljavax/lang/model/type/TypeKind;
if_acmpeq 20
iconst_0
goto 21
StackMap locals: javax.lang.model.type.TypeKind
StackMap stack:
20: iconst_1
StackMap locals:
StackMap stack: int
21: istore 12
start local 12 22: aload 0
getfield com.sun.tools.javah.LLNI.doubleAlign:Z
ifeq 23
iload 12
ifne 24
23: StackMap locals: int
StackMap stack:
aload 0
aload 4
aload 9
aload 2
iconst_0
invokevirtual com.sun.tools.javah.LLNI.doField:(Lcom/sun/tools/javah/LLNI$FieldDefsRes;Ljavax/lang/model/element/VariableElement;Ljava/lang/String;Z)Z
ifeq 24
iinc 5 4
end local 12 end local 11 end local 9 24: StackMap locals: com.sun.tools.javah.LLNI javax.lang.model.element.TypeElement java.lang.String int com.sun.tools.javah.LLNI$FieldDefsRes int int javax.lang.model.element.TypeElement java.util.List top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
25: aload 0
getfield com.sun.tools.javah.LLNI.doubleAlign:Z
ifeq 28
iload 6
ifne 28
26: iload 5
bipush 8
irem
ifeq 27
iinc 5 4
27: StackMap locals: com.sun.tools.javah.LLNI javax.lang.model.element.TypeElement java.lang.String int com.sun.tools.javah.LLNI$FieldDefsRes int int javax.lang.model.element.TypeElement java.util.List
StackMap stack:
aload 0
aload 4
aload 1
iload 5
aload 2
iconst_1
invokevirtual com.sun.tools.javah.LLNI.doTwoWordFields:(Lcom/sun/tools/javah/LLNI$FieldDefsRes;Ljavax/lang/model/element/TypeElement;ILjava/lang/String;Z)I
istore 5
28: StackMap locals:
StackMap stack:
aload 4
iload 5
putfield com.sun.tools.javah.LLNI$FieldDefsRes.byteSize:I
29: aload 4
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/sun/tools/javah/LLNI;
0 30 1 clazz Ljavax/lang/model/element/TypeElement;
0 30 2 cname Ljava/lang/String;
0 30 3 bottomMost Z
8 10 4 res Lcom/sun/tools/javah/LLNI$FieldDefsRes;
11 30 4 res Lcom/sun/tools/javah/LLNI$FieldDefsRes;
9 10 5 offset I
12 30 5 offset I
1 30 6 didTwoWordFields Z
2 30 7 superclazz Ljavax/lang/model/element/TypeElement;
13 30 8 fields Ljava/util/List<Ljavax/lang/model/element/VariableElement;>;
15 24 9 field Ljavax/lang/model/element/VariableElement;
19 24 11 tk Ljavax/lang/model/type/TypeKind;
22 24 12 twoWords Z
MethodParameters:
Name Flags
clazz
cname
bottomMost
protected java.lang.String addStructMember(javax.lang.model.element.VariableElement, java.lang.String, boolean);
descriptor: (Ljavax/lang/model/element/VariableElement;Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 1
invokeinterface javax.lang.model.element.VariableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 4
2: aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javah.LLNI.addStaticStructMember:(Ljavax/lang/model/element/VariableElement;Ljava/lang/String;)Ljava/lang/String;
astore 4
3: goto 9
4: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield com.sun.tools.javah.LLNI.types:Ljavax/lang/model/util/Types;
aload 1
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.util.Types.erasure:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
astore 5
start local 5 5: iload 3
ifeq 6
new java.lang.StringBuilder
dup
ldc " java_int padWord"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
dup
getfield com.sun.tools.javah.LLNI.padFieldNum:I
dup_x1
iconst_1
iadd
putfield com.sun.tools.javah.LLNI.padFieldNum:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.javah.LLNI.lineSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
6: StackMap locals: javax.lang.model.type.TypeMirror
StackMap stack:
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 5
iconst_0
iconst_0
invokevirtual com.sun.tools.javah.LLNI.llniType:(Ljavax/lang/model/type/TypeMirror;ZZ)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 0
aload 1
invokevirtual com.sun.tools.javah.LLNI.llniFieldName:(Ljavax/lang/model/element/VariableElement;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
7: aload 0
aload 5
invokevirtual com.sun.tools.javah.LLNI.isLongOrDouble:(Ljavax/lang/model/type/TypeMirror;)Z
ifeq 8
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 "[2]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
8: StackMap locals:
StackMap stack:
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 ";"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.javah.LLNI.lineSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
end local 5 9: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/tools/javah/LLNI;
0 10 1 member Ljavax/lang/model/element/VariableElement;
0 10 2 cname Ljava/lang/String;
0 10 3 padWord Z
1 10 4 res Ljava/lang/String;
5 9 5 mt Ljavax/lang/model/type/TypeMirror;
MethodParameters:
Name Flags
member
cname
padWord
protected java.lang.String addStaticStructMember(javax.lang.model.element.VariableElement, java.lang.String);
descriptor: (Ljavax/lang/model/element/VariableElement;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 1
invokeinterface javax.lang.model.element.VariableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 4
3: aload 3
areturn
4: StackMap locals: java.lang.String java.lang.Object
StackMap stack:
aload 1
invokeinterface javax.lang.model.element.VariableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.FINAL:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 6
5: aload 3
areturn
6: StackMap locals:
StackMap stack:
aload 1
invokeinterface javax.lang.model.element.VariableElement.getConstantValue:()Ljava/lang/Object;
astore 4
7: aload 4
ifnull 45
8: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 9: aconst_null
astore 6
start local 6 10: lconst_0
lstore 7
start local 7 11: aload 4
instanceof java.lang.Byte
ifne 14
12: aload 4
instanceof java.lang.Short
ifne 14
13: aload 4
instanceof java.lang.Integer
ifeq 17
14: StackMap locals: java.lang.String java.lang.String long
StackMap stack:
ldc "L"
astore 6
15: aload 4
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
i2l
lstore 7
16: goto 29
17: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.Long
ifeq 23
18: getstatic com.sun.tools.javah.LLNI.isWindows:Z
ifeq 19
ldc "i64"
goto 20
StackMap locals:
StackMap stack:
19: ldc "LL"
StackMap locals:
StackMap stack: java.lang.String
20: astore 6
21: aload 4
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lstore 7
22: goto 29
23: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.Float
ifeq 24
ldc "f"
astore 6
goto 29
24: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.Double
ifeq 25
ldc ""
astore 6
goto 29
25: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.Character
ifeq 29
26: ldc "L"
astore 6
27: aload 4
checkcast java.lang.Character
astore 9
start local 9 28: aload 9
invokevirtual java.lang.Character.charValue:()C
ldc 65535
iand
i2l
lstore 7
end local 9 29: StackMap locals:
StackMap stack:
aload 6
ifnull 45
30: aload 6
ldc "L"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 31
lload 7
ldc -2147483648
lcmp
ifeq 32
31: StackMap locals:
StackMap stack:
aload 6
ldc "LL"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 37
lload 7
ldc -9223372036854775808
lcmp
ifne 37
32: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc " #undef "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.javah.LLNI.lineSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
33: ldc " #define "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
34: ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 7
lconst_1
ladd
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "-1)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.javah.LLNI.lineSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
35: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
36: goto 45
StackMap locals:
StackMap stack:
37: aload 6
ldc "L"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 38
aload 6
ldc "LL"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 42
38: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc " #undef "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.javah.LLNI.lineSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
39: ldc " #define "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 7
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.javah.LLNI.lineSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
40: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
41: goto 45
42: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc " #undef "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.javah.LLNI.lineSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
43: ldc " #define "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
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/Object;)Ljava/lang/StringBuilder;
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.javah.LLNI.lineSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
44: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
end local 7 end local 6 end local 5 45: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lcom/sun/tools/javah/LLNI;
0 46 1 field Ljavax/lang/model/element/VariableElement;
0 46 2 cname Ljava/lang/String;
1 46 3 res Ljava/lang/String;
2 46 4 exp Ljava/lang/Object;
9 45 5 cn Ljava/lang/String;
10 45 6 suffix Ljava/lang/String;
11 45 7 val J
28 29 9 ch Ljava/lang/Character;
MethodParameters:
Name Flags
field
cname
protected void methodSectionForClass(java.io.PrintWriter, javax.lang.model.element.TypeElement, java.lang.String);
descriptor: (Ljava/io/PrintWriter;Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
aload 3
invokevirtual com.sun.tools.javah.LLNI.methodDecls:(Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 1: aload 4
invokevirtual java.lang.String.length:()I
ifeq 10
2: aload 1
new java.lang.StringBuilder
dup
ldc "/* Native method declarations: */"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.javah.LLNI.lineSep: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.println:(Ljava/lang/String;)V
3: aload 1
ldc "#ifdef __cplusplus"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
4: aload 1
ldc "extern \"C\" {"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
5: aload 1
new java.lang.StringBuilder
dup
ldc "#endif"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.javah.LLNI.lineSep: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.println:(Ljava/lang/String;)V
6: aload 1
aload 4
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
7: aload 1
ldc "#ifdef __cplusplus"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
8: aload 1
ldc "}"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
9: aload 1
ldc "#endif"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
10: StackMap locals: java.lang.String
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/tools/javah/LLNI;
0 11 1 pw Ljava/io/PrintWriter;
0 11 2 clazz Ljavax/lang/model/element/TypeElement;
0 11 3 cname Ljava/lang/String;
1 11 4 methods Ljava/lang/String;
Exceptions:
throws com.sun.tools.javah.TypeSignature$SignatureException, com.sun.tools.javah.Util$Exit
MethodParameters:
Name Flags
pw
clazz
cname
protected java.lang.String methodDecls(javax.lang.model.element.TypeElement, java.lang.String);
descriptor: (Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: ldc ""
astore 3
start local 3 1: aload 0
getfield com.sun.tools.javah.LLNI.methods:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 5
StackMap locals: com.sun.tools.javah.LLNI javax.lang.model.element.TypeElement java.lang.String java.lang.String top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 4
start local 4 3: aload 4
invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.NATIVE:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 5
4: 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
aload 0
aload 4
aload 1
aload 2
invokevirtual com.sun.tools.javah.LLNI.methodDecl:(Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
end local 4 5: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javah/LLNI;
0 7 1 clazz Ljavax/lang/model/element/TypeElement;
0 7 2 cname Ljava/lang/String;
1 7 3 res Ljava/lang/String;
3 5 4 method Ljavax/lang/model/element/ExecutableElement;
Exceptions:
throws com.sun.tools.javah.TypeSignature$SignatureException, com.sun.tools.javah.Util$Exit
MethodParameters:
Name Flags
clazz
cname
protected java.lang.String methodDecl(javax.lang.model.element.ExecutableElement, javax.lang.model.element.TypeElement, java.lang.String);
descriptor: (Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/TypeElement;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 0
getfield com.sun.tools.javah.LLNI.types:Ljavax/lang/model/util/Types;
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.util.Types.erasure:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
astore 5
start local 5 2: aload 0
aload 1
invokevirtual com.sun.tools.javah.LLNI.signature:(Ljavax/lang/model/element/ExecutableElement;)Ljava/lang/String;
astore 6
start local 6 3: new com.sun.tools.javah.TypeSignature
dup
aload 0
getfield com.sun.tools.javah.LLNI.elems:Ljavax/lang/model/util/Elements;
invokespecial com.sun.tools.javah.TypeSignature.<init>:(Ljavax/lang/model/util/Elements;)V
astore 7
start local 7 4: aload 7
aload 6
aload 5
invokevirtual com.sun.tools.javah.TypeSignature.getTypeSignature:(Ljava/lang/String;Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
astore 8
start local 8 5: aload 0
aload 1
aload 2
invokevirtual com.sun.tools.javah.LLNI.needLongName:(Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/TypeElement;)Z
istore 9
start local 9 6: aload 8
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 40
if_icmpeq 8
7: aload 0
getfield com.sun.tools.javah.LLNI.util:Lcom/sun/tools/javah/Util;
ldc "invalid.method.signature"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
invokevirtual com.sun.tools.javah.Util.error:(Ljava/lang/String;[Ljava/lang/Object;)V
8: StackMap locals: com.sun.tools.javah.LLNI javax.lang.model.element.ExecutableElement javax.lang.model.element.TypeElement java.lang.String java.lang.String javax.lang.model.type.TypeMirror java.lang.String com.sun.tools.javah.TypeSignature java.lang.String int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "JNIEXPORT "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 5
invokevirtual com.sun.tools.javah.LLNI.jniType:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " JNICALL"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.javah.LLNI.lineSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 1
aload 3
iload 9
invokevirtual com.sun.tools.javah.LLNI.jniMethodName:(Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: ldc "(JNIEnv *, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 1
aload 3
invokevirtual com.sun.tools.javah.LLNI.cRcvrDecl:(Ljavax/lang/model/element/Element;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
11: aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
astore 10
start local 10 12: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 11
start local 11 13: aload 10
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 16
StackMap locals: com.sun.tools.javah.LLNI javax.lang.model.element.ExecutableElement javax.lang.model.element.TypeElement java.lang.String java.lang.String javax.lang.model.type.TypeMirror java.lang.String com.sun.tools.javah.TypeSignature java.lang.String int java.util.List java.util.List top java.util.Iterator
StackMap stack:
14: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 12
start local 12 15: aload 11
aload 0
getfield com.sun.tools.javah.LLNI.types:Ljavax/lang/model/util/Types;
aload 12
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.util.Types.erasure:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 12 16: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
17: aload 11
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 20
StackMap locals:
StackMap stack:
18: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.type.TypeMirror
astore 12
start local 12 19: 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 ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
aload 12
invokevirtual com.sun.tools.javah.LLNI.jniType:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
end local 12 20: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
21: 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 ");"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield com.sun.tools.javah.LLNI.lineSep:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
22: aload 4
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/sun/tools/javah/LLNI;
0 23 1 method Ljavax/lang/model/element/ExecutableElement;
0 23 2 clazz Ljavax/lang/model/element/TypeElement;
0 23 3 cname Ljava/lang/String;
1 23 4 res Ljava/lang/String;
2 23 5 retType Ljavax/lang/model/type/TypeMirror;
3 23 6 typesig Ljava/lang/String;
4 23 7 newTypeSig Lcom/sun/tools/javah/TypeSignature;
5 23 8 sig Ljava/lang/String;
6 23 9 longName Z
12 23 10 params Ljava/util/List<+Ljavax/lang/model/element/VariableElement;>;
13 23 11 argTypes Ljava/util/List<Ljavax/lang/model/type/TypeMirror;>;
15 16 12 p Ljavax/lang/model/element/VariableElement;
19 20 12 argType Ljavax/lang/model/type/TypeMirror;
Exceptions:
throws com.sun.tools.javah.TypeSignature$SignatureException, com.sun.tools.javah.Util$Exit
MethodParameters:
Name Flags
method
clazz
cname
protected final boolean needLongName(javax.lang.model.element.ExecutableElement, javax.lang.model.element.TypeElement);
descriptor: (Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/TypeElement;)Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
astore 3
start local 3 1: aload 0
getfield com.sun.tools.javah.LLNI.methods:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: com.sun.tools.javah.LLNI javax.lang.model.element.ExecutableElement javax.lang.model.element.TypeElement javax.lang.model.element.Name top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 4
start local 4 3: aload 4
aload 1
if_acmpeq 7
4: aload 4
invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.NATIVE:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 7
5: aload 3
aload 4
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.equals:(Ljava/lang/Object;)Z
ifeq 7
6: iconst_1
ireturn
end local 4 7: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
8: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javah/LLNI;
0 9 1 method Ljavax/lang/model/element/ExecutableElement;
0 9 2 clazz Ljavax/lang/model/element/TypeElement;
1 9 3 methodName Ljavax/lang/model/element/Name;
3 7 4 memberMethod Ljavax/lang/model/element/ExecutableElement;
MethodParameters:
Name Flags
method
clazz
protected final java.lang.String jniMethodName(javax.lang.model.element.ExecutableElement, java.lang.String, boolean);
descriptor: (Ljavax/lang/model/element/ExecutableElement;Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.StringBuilder
dup
ldc "Java_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "_"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 1: iload 3
ifeq 17
2: aload 0
getfield com.sun.tools.javah.LLNI.types:Ljavax/lang/model/util/Types;
aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.util.Types.erasure:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
pop
3: aload 1
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
astore 5
start local 5 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 5: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 8
StackMap locals: com.sun.tools.javah.LLNI javax.lang.model.element.ExecutableElement java.lang.String int java.lang.String java.util.List java.util.List top java.util.Iterator
StackMap stack:
6: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 7
start local 7 7: aload 6
aload 0
getfield com.sun.tools.javah.LLNI.types:Ljavax/lang/model/util/Types;
aload 7
invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.util.Types.erasure:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/type/TypeMirror;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 8: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: 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 "__"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
10: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 16
StackMap locals:
StackMap stack:
11: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.type.TypeMirror
astore 7
start local 7 12: aload 7
invokeinterface javax.lang.model.type.TypeMirror.toString:()Ljava/lang/String;
astore 9
start local 9 13: new com.sun.tools.javah.TypeSignature
dup
aload 0
getfield com.sun.tools.javah.LLNI.elems:Ljavax/lang/model/util/Elements;
invokespecial com.sun.tools.javah.TypeSignature.<init>:(Ljavax/lang/model/util/Elements;)V
astore 10
start local 10 14: aload 10
aload 9
invokevirtual com.sun.tools.javah.TypeSignature.getTypeSignature:(Ljava/lang/String;)Ljava/lang/String;
astore 11
start local 11 15: 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 0
aload 11
invokevirtual com.sun.tools.javah.LLNI.nameToIdentifier:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
end local 11 end local 10 end local 9 end local 7 16: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 6 end local 5 17: StackMap locals: com.sun.tools.javah.LLNI javax.lang.model.element.ExecutableElement java.lang.String int java.lang.String
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/tools/javah/LLNI;
0 18 1 method Ljavax/lang/model/element/ExecutableElement;
0 18 2 cname Ljava/lang/String;
0 18 3 longName Z
1 18 4 res Ljava/lang/String;
4 17 5 params Ljava/util/List<+Ljavax/lang/model/element/VariableElement;>;
5 17 6 argTypes Ljava/util/List<Ljavax/lang/model/type/TypeMirror;>;
7 8 7 param Ljavax/lang/model/element/VariableElement;
12 16 7 t Ljavax/lang/model/type/TypeMirror;
13 16 9 tname Ljava/lang/String;
14 16 10 newTypeSig Lcom/sun/tools/javah/TypeSignature;
15 16 11 sig Ljava/lang/String;
Exceptions:
throws com.sun.tools.javah.TypeSignature$SignatureException
MethodParameters:
Name Flags
method
cname
longName
protected final java.lang.String jniType(javax.lang.model.type.TypeMirror);
descriptor: (Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javah.LLNI.elems:Ljavax/lang/model/util/Elements;
ldc "java.lang.Throwable"
invokeinterface javax.lang.model.util.Elements.getTypeElement:(Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
astore 2
start local 2 1: aload 0
getfield com.sun.tools.javah.LLNI.elems:Ljavax/lang/model/util/Elements;
ldc "java.lang.Class"
invokeinterface javax.lang.model.util.Elements.getTypeElement:(Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
astore 3
start local 3 2: aload 0
getfield com.sun.tools.javah.LLNI.elems:Ljavax/lang/model/util/Elements;
ldc "java.lang.String"
invokeinterface javax.lang.model.util.Elements.getTypeElement:(Ljava/lang/CharSequence;)Ljavax/lang/model/element/TypeElement;
astore 4
start local 4 3: aload 0
getfield com.sun.tools.javah.LLNI.types:Ljavax/lang/model/util/Types;
aload 1
invokeinterface javax.lang.model.util.Types.asElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/Element;
astore 5
start local 5 4: invokestatic com.sun.tools.javah.LLNI.$SWITCH_TABLE$javax$lang$model$type$TypeKind:()[I
aload 1
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
iaload
tableswitch { // 1 - 13
1: 18
2: 19
3: 21
4: 22
5: 23
6: 20
7: 24
8: 25
9: 17
10: 33
11: 33
12: 5
13: 26
default: 33
}
5: StackMap locals: com.sun.tools.javah.LLNI javax.lang.model.type.TypeMirror javax.lang.model.element.TypeElement javax.lang.model.element.TypeElement javax.lang.model.element.TypeElement javax.lang.model.element.Element
StackMap stack:
aload 1
checkcast javax.lang.model.type.ArrayType
invokeinterface javax.lang.model.type.ArrayType.getComponentType:()Ljavax/lang/model/type/TypeMirror;
astore 6
start local 6 6: invokestatic com.sun.tools.javah.LLNI.$SWITCH_TABLE$javax$lang$model$type$TypeKind:()[I
aload 6
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
iaload
tableswitch { // 1 - 13
1: 7
2: 8
3: 10
4: 11
5: 12
6: 9
7: 13
8: 14
9: 16
10: 16
11: 16
12: 15
13: 15
default: 16
}
7: StackMap locals: javax.lang.model.type.TypeMirror
StackMap stack:
ldc "jbooleanArray"
areturn
8: StackMap locals:
StackMap stack:
ldc "jbyteArray"
areturn
9: StackMap locals:
StackMap stack:
ldc "jcharArray"
areturn
10: StackMap locals:
StackMap stack:
ldc "jshortArray"
areturn
11: StackMap locals:
StackMap stack:
ldc "jintArray"
areturn
12: StackMap locals:
StackMap stack:
ldc "jlongArray"
areturn
13: StackMap locals:
StackMap stack:
ldc "jfloatArray"
areturn
14: StackMap locals:
StackMap stack:
ldc "jdoubleArray"
areturn
15: StackMap locals:
StackMap stack:
ldc "jobjectArray"
areturn
16: StackMap locals:
StackMap stack:
new java.lang.Error
dup
aload 6
invokeinterface javax.lang.model.type.TypeMirror.toString:()Ljava/lang/String;
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 6 17: StackMap locals:
StackMap stack:
ldc "void"
areturn
18: StackMap locals:
StackMap stack:
ldc "jboolean"
areturn
19: StackMap locals:
StackMap stack:
ldc "jbyte"
areturn
20: StackMap locals:
StackMap stack:
ldc "jchar"
areturn
21: StackMap locals:
StackMap stack:
ldc "jshort"
areturn
22: StackMap locals:
StackMap stack:
ldc "jint"
areturn
23: StackMap locals:
StackMap stack:
ldc "jlong"
areturn
24: StackMap locals:
StackMap stack:
ldc "jfloat"
areturn
25: StackMap locals:
StackMap stack:
ldc "jdouble"
areturn
26: StackMap locals:
StackMap stack:
aload 5
aload 4
invokeinterface javax.lang.model.element.Element.equals:(Ljava/lang/Object;)Z
ifeq 28
27: ldc "jstring"
areturn
28: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javah.LLNI.types:Ljavax/lang/model/util/Types;
aload 1
aload 2
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.util.Types.isAssignable:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifeq 30
29: ldc "jthrowable"
areturn
30: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javah.LLNI.types:Ljavax/lang/model/util/Types;
aload 1
aload 3
invokeinterface javax.lang.model.element.TypeElement.asType:()Ljavax/lang/model/type/TypeMirror;
invokeinterface javax.lang.model.util.Types.isAssignable:(Ljavax/lang/model/type/TypeMirror;Ljavax/lang/model/type/TypeMirror;)Z
ifeq 32
31: ldc "jclass"
areturn
32: StackMap locals:
StackMap stack:
ldc "jobject"
areturn
33: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javah.LLNI.util:Lcom/sun/tools/javah/Util;
ldc "jni.unknown.type"
invokevirtual com.sun.tools.javah.Util.bug:(Ljava/lang/String;)V
34: aconst_null
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lcom/sun/tools/javah/LLNI;
0 35 1 t Ljavax/lang/model/type/TypeMirror;
1 35 2 throwable Ljavax/lang/model/element/TypeElement;
2 35 3 jClass Ljavax/lang/model/element/TypeElement;
3 35 4 jString Ljavax/lang/model/element/TypeElement;
4 35 5 tclassDoc Ljavax/lang/model/element/Element;
6 17 6 ct Ljavax/lang/model/type/TypeMirror;
Exceptions:
throws com.sun.tools.javah.Util$Exit
MethodParameters:
Name Flags
t
protected java.lang.String llniType(javax.lang.model.type.TypeMirror, boolean, boolean);
descriptor: (Ljavax/lang/model/type/TypeMirror;ZZ)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: invokestatic com.sun.tools.javah.LLNI.$SWITCH_TABLE$javax$lang$model$type$TypeKind:()[I
aload 1
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
iaload
tableswitch { // 1 - 13
1: 18
2: 18
3: 18
4: 18
5: 20
6: 18
7: 24
8: 26
9: 16
10: 34
11: 34
12: 2
13: 30
default: 34
}
2: StackMap locals: java.lang.String
StackMap stack:
aload 1
checkcast javax.lang.model.type.ArrayType
invokeinterface javax.lang.model.type.ArrayType.getComponentType:()Ljavax/lang/model/type/TypeMirror;
astore 5
start local 5 3: invokestatic com.sun.tools.javah.LLNI.$SWITCH_TABLE$javax$lang$model$type$TypeKind:()[I
aload 5
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
iaload
tableswitch { // 1 - 13
1: 4
2: 5
3: 7
4: 8
5: 9
6: 6
7: 10
8: 11
9: 13
10: 13
11: 13
12: 12
13: 12
default: 13
}
4: StackMap locals: javax.lang.model.type.TypeMirror
StackMap stack:
ldc "IArrayOfBoolean"
astore 4
goto 14
5: StackMap locals:
StackMap stack:
ldc "IArrayOfByte"
astore 4
goto 14
6: StackMap locals:
StackMap stack:
ldc "IArrayOfChar"
astore 4
goto 14
7: StackMap locals:
StackMap stack:
ldc "IArrayOfShort"
astore 4
goto 14
8: StackMap locals:
StackMap stack:
ldc "IArrayOfInt"
astore 4
goto 14
9: StackMap locals:
StackMap stack:
ldc "IArrayOfLong"
astore 4
goto 14
10: StackMap locals:
StackMap stack:
ldc "IArrayOfFloat"
astore 4
goto 14
11: StackMap locals:
StackMap stack:
ldc "IArrayOfDouble"
astore 4
goto 14
12: StackMap locals:
StackMap stack:
ldc "IArrayOfRef"
astore 4
goto 14
13: StackMap locals:
StackMap stack:
new java.lang.Error
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 5
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
iload 2
ifne 35
new java.lang.StringBuilder
dup
ldc "DEREFERENCED_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
15: goto 35
end local 5 16: StackMap locals:
StackMap stack:
ldc "void"
astore 4
17: goto 35
18: StackMap locals:
StackMap stack:
ldc "java_int"
astore 4
19: goto 35
20: StackMap locals:
StackMap stack:
iload 3
ifeq 21
ldc "java_long"
goto 22
StackMap locals:
StackMap stack:
21: ldc "val32 /* java_long */"
StackMap locals:
StackMap stack: java.lang.String
22: astore 4
23: goto 35
24: StackMap locals:
StackMap stack:
ldc "java_float"
astore 4
25: goto 35
26: StackMap locals:
StackMap stack:
iload 3
ifeq 27
ldc "java_double"
goto 28
StackMap locals:
StackMap stack:
27: ldc "val32 /* java_double */"
StackMap locals:
StackMap stack: java.lang.String
28: astore 4
29: goto 35
30: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javah.LLNI.types:Ljavax/lang/model/util/Types;
aload 1
invokeinterface javax.lang.model.util.Types.asElement:(Ljavax/lang/model/type/TypeMirror;)Ljavax/lang/model/element/Element;
checkcast javax.lang.model.element.TypeElement
astore 5
start local 5 31: new java.lang.StringBuilder
dup
ldc "I"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 5
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javah.LLNI.mangleClassName:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
32: iload 2
ifne 35
new java.lang.StringBuilder
dup
ldc "DEREFERENCED_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
33: goto 35
end local 5 34: StackMap locals:
StackMap stack:
new java.lang.Error
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 1
invokeinterface javax.lang.model.type.TypeMirror.getKind:()Ljavax/lang/model/type/TypeKind;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lcom/sun/tools/javah/LLNI;
0 36 1 t Ljavax/lang/model/type/TypeMirror;
0 36 2 handleize Z
0 36 3 longDoubleOK Z
1 36 4 res Ljava/lang/String;
3 16 5 ct Ljavax/lang/model/type/TypeMirror;
31 34 5 e Ljavax/lang/model/element/TypeElement;
MethodParameters:
Name Flags
t
handleize
longDoubleOK
protected final java.lang.String cRcvrDecl(javax.lang.model.element.Element, java.lang.String);
descriptor: (Ljavax/lang/model/element/Element;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface javax.lang.model.element.Element.getModifiers:()Ljava/util/Set;
getstatic javax.lang.model.element.Modifier.STATIC:Ljavax/lang/model/element/Modifier;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 1
ldc "jclass"
goto 2
StackMap locals:
StackMap stack:
1: ldc "jobject"
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 Lcom/sun/tools/javah/LLNI;
0 3 1 field Ljavax/lang/model/element/Element;
0 3 2 cname Ljava/lang/String;
MethodParameters:
Name Flags
field
cname
protected java.lang.String maskName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "LLNI_mask("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javah/LLNI;
0 1 1 s Ljava/lang/String;
MethodParameters:
Name Flags
s
protected java.lang.String llniFieldName(javax.lang.model.element.VariableElement);
descriptor: (Ljavax/lang/model/element/VariableElement;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface javax.lang.model.element.VariableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
invokevirtual com.sun.tools.javah.LLNI.maskName:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javah/LLNI;
0 1 1 field Ljavax/lang/model/element/VariableElement;
MethodParameters:
Name Flags
field
protected final boolean isLongOrDouble(javax.lang.model.type.TypeMirror);
descriptor: (Ljavax/lang/model/type/TypeMirror;)Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new com.sun.tools.javah.LLNI$1
dup
aload 0
invokespecial com.sun.tools.javah.LLNI$1.<init>:(Lcom/sun/tools/javah/LLNI;)V
astore 2
start local 2 1: aload 2
aload 1
aconst_null
invokeinterface javax.lang.model.type.TypeVisitor.visit:(Ljavax/lang/model/type/TypeMirror;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javah/LLNI;
0 2 1 t Ljavax/lang/model/type/TypeMirror;
1 2 2 v Ljavax/lang/model/type/TypeVisitor<Ljava/lang/Boolean;Ljava/lang/Void;>;
MethodParameters:
Name Flags
t
protected final java.lang.String nameToIdentifier(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 1: new java.lang.StringBuilder
dup
iload 2
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 19
4: StackMap locals: int java.lang.StringBuilder int
StackMap stack:
aload 1
iload 4
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 5: aload 0
iload 5
invokevirtual com.sun.tools.javah.LLNI.isASCIILetterOrDigit:(C)Z
ifeq 7
6: aload 3
iload 5
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
goto 18
7: StackMap locals: int
StackMap stack:
iload 5
bipush 47
if_icmpne 9
8: aload 3
bipush 95
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
goto 18
9: StackMap locals:
StackMap stack:
iload 5
bipush 46
if_icmpne 11
10: aload 3
bipush 95
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
goto 18
11: StackMap locals:
StackMap stack:
iload 5
bipush 95
if_icmpne 13
12: aload 3
ldc "_1"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
goto 18
13: StackMap locals:
StackMap stack:
iload 5
bipush 59
if_icmpne 15
14: aload 3
ldc "_2"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
goto 18
15: StackMap locals:
StackMap stack:
iload 5
bipush 91
if_icmpne 17
16: aload 3
ldc "_3"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
goto 18
17: StackMap locals:
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
ldc "_0"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 5 18: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
19: iload 4
iload 2
if_icmplt 4
end local 4 20: new java.lang.String
dup
aload 3
invokespecial java.lang.String.<init>:(Ljava/lang/StringBuilder;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/tools/javah/LLNI;
0 21 1 name Ljava/lang/String;
1 21 2 len I
2 21 3 buf Ljava/lang/StringBuilder;
3 20 4 i I
5 18 5 c C
MethodParameters:
Name Flags
name
protected final boolean isASCIILetterOrDigit(char);
descriptor: (C)Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 65
if_icmplt 1
iload 1
bipush 90
if_icmple 3
1: StackMap locals:
StackMap stack:
iload 1
bipush 97
if_icmplt 2
iload 1
bipush 122
if_icmple 3
2: StackMap locals:
StackMap stack:
iload 1
bipush 48
if_icmplt 4
iload 1
bipush 57
if_icmpgt 4
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/tools/javah/LLNI;
0 5 1 c C
MethodParameters:
Name Flags
c
static int[] $SWITCH_TABLE$javax$lang$model$type$TypeKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.sun.tools.javah.LLNI.$SWITCH_TABLE$javax$lang$model$type$TypeKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic javax.lang.model.type.TypeKind.values:()[Ljavax/lang/model/type/TypeKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic javax.lang.model.type.TypeKind.ARRAY:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 12
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic javax.lang.model.type.TypeKind.BOOLEAN:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic javax.lang.model.type.TypeKind.BYTE:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic javax.lang.model.type.TypeKind.CHAR:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 6
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic javax.lang.model.type.TypeKind.DECLARED:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 13
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic javax.lang.model.type.TypeKind.DOUBLE:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 8
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic javax.lang.model.type.TypeKind.ERROR:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 14
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic javax.lang.model.type.TypeKind.EXECUTABLE:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 18
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic javax.lang.model.type.TypeKind.FLOAT:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 7
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic javax.lang.model.type.TypeKind.INT:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
iconst_4
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic javax.lang.model.type.TypeKind.INTERSECTION:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 21
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic javax.lang.model.type.TypeKind.LONG:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
iconst_5
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic javax.lang.model.type.TypeKind.MODULE:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 22
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic javax.lang.model.type.TypeKind.NONE:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 10
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic javax.lang.model.type.TypeKind.NULL:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 11
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic javax.lang.model.type.TypeKind.OTHER:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 19
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
getstatic javax.lang.model.type.TypeKind.PACKAGE:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 17
iastore
51: goto 53
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
52: pop
StackMap locals:
StackMap stack:
53: aload 0
getstatic javax.lang.model.type.TypeKind.SHORT:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
iconst_3
iastore
54: goto 56
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
55: pop
StackMap locals:
StackMap stack:
56: aload 0
getstatic javax.lang.model.type.TypeKind.TYPEVAR:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 15
iastore
57: goto 59
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
58: pop
StackMap locals:
StackMap stack:
59: aload 0
getstatic javax.lang.model.type.TypeKind.UNION:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 20
iastore
60: goto 62
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
61: pop
StackMap locals:
StackMap stack:
62: aload 0
getstatic javax.lang.model.type.TypeKind.VOID:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 9
iastore
63: goto 65
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
64: pop
StackMap locals:
StackMap stack:
65: aload 0
getstatic javax.lang.model.type.TypeKind.WILDCARD:Ljavax/lang/model/type/TypeKind;
invokevirtual javax.lang.model.type.TypeKind.ordinal:()I
bipush 16
iastore
66: goto 68
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
67: pop
StackMap locals:
StackMap stack:
68: aload 0
dup
putstatic com.sun.tools.javah.LLNI.$SWITCH_TABLE$javax$lang$model$type$TypeKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
50 51 52 Class java.lang.NoSuchFieldError
53 54 55 Class java.lang.NoSuchFieldError
56 57 58 Class java.lang.NoSuchFieldError
59 60 61 Class java.lang.NoSuchFieldError
62 63 64 Class java.lang.NoSuchFieldError
65 66 67 Class java.lang.NoSuchFieldError
}
SourceFile: "LLNI.java"
NestMembers:
com.sun.tools.javah.LLNI$1 com.sun.tools.javah.LLNI$FieldDefsRes
InnerClasses:
com.sun.tools.javah.LLNI$1
private FieldDefsRes = com.sun.tools.javah.LLNI$FieldDefsRes of com.sun.tools.javah.LLNI
SignatureException = com.sun.tools.javah.TypeSignature$SignatureException of com.sun.tools.javah.TypeSignature
public Exit = com.sun.tools.javah.Util$Exit of com.sun.tools.javah.Util