public class com.sun.tools.javah.JNI 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.JNI
super_class: com.sun.tools.javah.Gen
{
private static volatile int[] $SWITCH_TABLE$javax$lang$model$type$TypeKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
void <init>(com.sun.tools.javah.Util);
descriptor: (Lcom/sun/tools/javah/Util;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.sun.tools.javah.Gen.<init>:(Lcom/sun/tools/javah/Util;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javah/JNI;
0 2 1 util Lcom/sun/tools/javah/Util;
MethodParameters:
Name Flags
util
public java.lang.String getIncludes();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "#include <jni.h>"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javah/JNI;
public void write(java.io.OutputStream, javax.lang.model.element.TypeElement);
descriptor: (Ljava/io/OutputStream;Ljavax/lang/model/element/TypeElement;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=18, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.javah.JNI.mangler:Lcom/sun/tools/javah/Mangle;
aload 2
invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
iconst_1
invokevirtual com.sun.tools.javah.Mangle.mangle:(Ljava/lang/CharSequence;I)Ljava/lang/String;
astore 3
start local 3 1: aload 0
aload 1
invokevirtual com.sun.tools.javah.JNI.wrapWriter:(Ljava/io/OutputStream;)Ljava/io/PrintWriter;
astore 4
start local 4 2: aload 4
aload 0
aload 3
invokevirtual com.sun.tools.javah.JNI.guardBegin:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
3: aload 4
aload 0
invokevirtual com.sun.tools.javah.JNI.cppGuardBegin:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
4: aload 0
aload 2
invokevirtual com.sun.tools.javah.JNI.getAllFields:(Ljavax/lang/model/element/TypeElement;)Ljava/util/List;
astore 5
start local 5 5: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 13
StackMap locals: com.sun.tools.javah.JNI java.io.OutputStream javax.lang.model.element.TypeElement java.lang.String java.io.PrintWriter java.util.List top java.util.Iterator
StackMap stack:
6: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 6
start local 6 7: aload 6
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 9
8: goto 13
9: StackMap locals: com.sun.tools.javah.JNI java.io.OutputStream javax.lang.model.element.TypeElement java.lang.String java.io.PrintWriter java.util.List javax.lang.model.element.VariableElement java.util.Iterator
StackMap stack:
aconst_null
astore 8
start local 8 10: aload 0
aload 2
aload 6
invokevirtual com.sun.tools.javah.JNI.defineForStatic:(Ljavax/lang/model/element/TypeElement;Ljavax/lang/model/element/VariableElement;)Ljava/lang/String;
astore 8
11: aload 8
ifnull 13
12: aload 4
aload 8
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 8 end local 6 13: StackMap locals: com.sun.tools.javah.JNI java.io.OutputStream javax.lang.model.element.TypeElement java.lang.String java.io.PrintWriter java.util.List top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
14: 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;
astore 6
start local 6 15: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 61
StackMap locals: com.sun.tools.javah.JNI java.io.OutputStream javax.lang.model.element.TypeElement java.lang.String java.io.PrintWriter java.util.List java.util.List top java.util.Iterator
StackMap stack:
16: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 7
start local 7 17: aload 7
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 61
18: aload 0
getfield com.sun.tools.javah.JNI.types:Ljavax/lang/model/util/Types;
aload 7
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 9
start local 9 19: aload 0
aload 7
invokevirtual com.sun.tools.javah.JNI.signature:(Ljavax/lang/model/element/ExecutableElement;)Ljava/lang/String;
astore 10
start local 10 20: new com.sun.tools.javah.TypeSignature
dup
aload 0
getfield com.sun.tools.javah.JNI.elems:Ljavax/lang/model/util/Elements;
invokespecial com.sun.tools.javah.TypeSignature.<init>:(Ljavax/lang/model/util/Elements;)V
astore 11
start local 11 21: aload 7
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
astore 12
start local 12 22: iconst_0
istore 13
start local 13 23: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 15
goto 29
StackMap locals: com.sun.tools.javah.JNI java.io.OutputStream javax.lang.model.element.TypeElement java.lang.String java.io.PrintWriter java.util.List java.util.List javax.lang.model.element.ExecutableElement java.util.Iterator javax.lang.model.type.TypeMirror java.lang.String com.sun.tools.javah.TypeSignature java.lang.CharSequence int top java.util.Iterator
StackMap stack:
24: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.ExecutableElement
astore 14
start local 14 25: aload 14
aload 7
if_acmpeq 29
26: aload 12
aload 14
invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 29
27: aload 14
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 29
28: iconst_1
istore 13
end local 14 29: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 24
30: aload 4
ldc "/*"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
31: aload 4
new java.lang.StringBuilder
dup
ldc " * Class: "
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
32: aload 4
new java.lang.StringBuilder
dup
ldc " * Method: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
33: aload 0
getfield com.sun.tools.javah.JNI.mangler:Lcom/sun/tools/javah/Mangle;
aload 12
iconst_2
invokevirtual com.sun.tools.javah.Mangle.mangle:(Ljava/lang/CharSequence;I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
34: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
35: aload 4
new java.lang.StringBuilder
dup
ldc " * Signature: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
aload 10
aload 9
invokevirtual com.sun.tools.javah.TypeSignature.getTypeSignature:(Ljava/lang/String;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;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
36: aload 4
ldc " */"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
37: aload 4
new java.lang.StringBuilder
dup
ldc "JNIEXPORT "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
aload 9
invokevirtual com.sun.tools.javah.JNI.jniType:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
38: ldc " JNICALL "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
39: aload 0
getfield com.sun.tools.javah.JNI.mangler:Lcom/sun/tools/javah/Mangle;
aload 7
aload 2
40: iload 13
ifeq 42
41: bipush 8
goto 43
42: StackMap locals: com.sun.tools.javah.JNI java.io.OutputStream javax.lang.model.element.TypeElement java.lang.String java.io.PrintWriter java.util.List java.util.List javax.lang.model.element.ExecutableElement java.util.Iterator javax.lang.model.type.TypeMirror java.lang.String com.sun.tools.javah.TypeSignature java.lang.CharSequence int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder com.sun.tools.javah.Mangle javax.lang.model.element.ExecutableElement javax.lang.model.element.TypeElement
bipush 7
43: StackMap locals: com.sun.tools.javah.JNI java.io.OutputStream javax.lang.model.element.TypeElement java.lang.String java.io.PrintWriter java.util.List java.util.List javax.lang.model.element.ExecutableElement java.util.Iterator javax.lang.model.type.TypeMirror java.lang.String com.sun.tools.javah.TypeSignature java.lang.CharSequence int
StackMap stack: java.io.PrintWriter java.lang.StringBuilder com.sun.tools.javah.Mangle javax.lang.model.element.ExecutableElement javax.lang.model.element.TypeElement int
invokevirtual com.sun.tools.javah.Mangle.mangleMethod:(Ljavax/lang/model/element/ExecutableElement;Ljavax/lang/model/element/TypeElement;I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
44: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
45: aload 4
ldc " (JNIEnv *, "
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
46: aload 7
invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
astore 14
start local 14 47: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 15
start local 15 48: aload 14
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 17
goto 51
StackMap locals: com.sun.tools.javah.JNI java.io.OutputStream javax.lang.model.element.TypeElement java.lang.String java.io.PrintWriter java.util.List java.util.List javax.lang.model.element.ExecutableElement java.util.Iterator javax.lang.model.type.TypeMirror java.lang.String com.sun.tools.javah.TypeSignature java.lang.CharSequence int java.util.List java.util.List top java.util.Iterator
StackMap stack:
49: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.element.VariableElement
astore 16
start local 16 50: aload 15
aload 0
getfield com.sun.tools.javah.JNI.types:Ljavax/lang/model/util/Types;
aload 16
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 16 51: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 49
52: aload 7
invokeinterface javax.lang.model.element.ExecutableElement.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 54
53: aload 4
ldc "jclass"
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
goto 55
54: StackMap locals: com.sun.tools.javah.JNI java.io.OutputStream javax.lang.model.element.TypeElement java.lang.String java.io.PrintWriter java.util.List java.util.List javax.lang.model.element.ExecutableElement java.util.Iterator javax.lang.model.type.TypeMirror java.lang.String com.sun.tools.javah.TypeSignature java.lang.CharSequence int java.util.List java.util.List
StackMap stack:
aload 4
ldc "jobject"
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
55: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 17
goto 59
StackMap locals: com.sun.tools.javah.JNI java.io.OutputStream javax.lang.model.element.TypeElement java.lang.String java.io.PrintWriter java.util.List java.util.List javax.lang.model.element.ExecutableElement java.util.Iterator javax.lang.model.type.TypeMirror java.lang.String com.sun.tools.javah.TypeSignature java.lang.CharSequence int java.util.List java.util.List top java.util.Iterator
StackMap stack:
56: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.lang.model.type.TypeMirror
astore 16
start local 16 57: aload 4
ldc ", "
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
58: aload 4
aload 0
aload 16
invokevirtual com.sun.tools.javah.JNI.jniType:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
end local 16 59: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 56
60: aload 4
new java.lang.StringBuilder
dup
ldc ");"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.javah.JNI.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
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 7 61: StackMap locals: com.sun.tools.javah.JNI java.io.OutputStream javax.lang.model.element.TypeElement java.lang.String java.io.PrintWriter java.util.List java.util.List top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
62: aload 4
aload 0
invokevirtual com.sun.tools.javah.JNI.cppGuardEnd:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
63: aload 4
aload 0
aload 3
invokevirtual com.sun.tools.javah.JNI.guardEnd:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 6 end local 5 end local 4 end local 3 64: goto 67
StackMap locals: com.sun.tools.javah.JNI java.io.OutputStream javax.lang.model.element.TypeElement
StackMap stack: com.sun.tools.javah.TypeSignature$SignatureException
65: astore 3
start local 3 66: aload 0
getfield com.sun.tools.javah.JNI.util:Lcom/sun/tools/javah/Util;
ldc "jni.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 67: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 this Lcom/sun/tools/javah/JNI;
0 68 1 o Ljava/io/OutputStream;
0 68 2 clazz Ljavax/lang/model/element/TypeElement;
1 64 3 cname Ljava/lang/String;
2 64 4 pw Ljava/io/PrintWriter;
5 64 5 classfields Ljava/util/List<Ljavax/lang/model/element/VariableElement;>;
7 13 6 v Ljavax/lang/model/element/VariableElement;
10 13 8 s Ljava/lang/String;
15 64 6 classmethods Ljava/util/List<Ljavax/lang/model/element/ExecutableElement;>;
17 61 7 md Ljavax/lang/model/element/ExecutableElement;
19 61 9 mtr Ljavax/lang/model/type/TypeMirror;
20 61 10 sig Ljava/lang/String;
21 61 11 newtypesig Lcom/sun/tools/javah/TypeSignature;
22 61 12 methodName Ljava/lang/CharSequence;
23 61 13 longName Z
25 29 14 md2 Ljavax/lang/model/element/ExecutableElement;
47 61 14 paramargs Ljava/util/List<+Ljavax/lang/model/element/VariableElement;>;
48 61 15 args Ljava/util/List<Ljavax/lang/model/type/TypeMirror;>;
50 51 16 p Ljavax/lang/model/element/VariableElement;
57 59 16 arg Ljavax/lang/model/type/TypeMirror;
66 67 3 e Lcom/sun/tools/javah/TypeSignature$SignatureException;
Exception table:
from to target type
0 64 65 Class com.sun.tools.javah.TypeSignature$SignatureException
Exceptions:
throws com.sun.tools.javah.Util$Exit
MethodParameters:
Name Flags
o
clazz
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.JNI.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.JNI.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.JNI.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.JNI.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.JNI.$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.JNI 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.JNI.$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.JNI.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.JNI.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.JNI.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/JNI;
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
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.JNI.$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.JNI.$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: "JNI.java"
InnerClasses:
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