class com.sun.tools.javac.jvm.ClassReader$3 extends com.sun.tools.javac.jvm.ClassReader$AttributeReader
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.jvm.ClassReader$3
super_class: com.sun.tools.javac.jvm.ClassReader$AttributeReader
{
final com.sun.tools.javac.jvm.ClassReader this$0;
descriptor: Lcom/sun/tools/javac/jvm/ClassReader;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$sun$tools$javac$code$TypeTag;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.jvm.ClassReader, com.sun.tools.javac.jvm.ClassReader, com.sun.tools.javac.util.Name, com.sun.tools.javac.jvm.ClassFile$Version, java.util.Set);
descriptor: (Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/jvm/ClassFile$Version;Ljava/util/Set;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=6
start local 0 start local 3 start local 4 start local 5 0: aload 0
aload 2
putfield com.sun.tools.javac.jvm.ClassReader$3.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
aload 0
aload 1
aload 3
aload 4
aload 5
invokespecial com.sun.tools.javac.jvm.ClassReader$AttributeReader.<init>:(Lcom/sun/tools/javac/jvm/ClassReader;Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/jvm/ClassFile$Version;Ljava/util/Set;)V
return
end local 5 end local 4 end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/jvm/ClassReader$3;
0 1 3 $anonymous0 Lcom/sun/tools/javac/util/Name;
0 1 4 $anonymous1 Lcom/sun/tools/javac/jvm/ClassFile$Version;
0 1 5 $anonymous2 Ljava/util/Set<Lcom/sun/tools/javac/jvm/ClassReader$AttributeKind;>;
MethodParameters:
Name Flags
this$0 final
this$1 final
$anonymous0
$anonymous1
$anonymous2
protected void read(com.sun.tools.javac.code.Symbol, int);
descriptor: (Lcom/sun/tools/javac/code/Symbol;I)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
getfield com.sun.tools.javac.jvm.ClassReader$3.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
aload 0
getfield com.sun.tools.javac.jvm.ClassReader$3.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
invokevirtual com.sun.tools.javac.jvm.ClassReader.nextChar:()C
invokevirtual com.sun.tools.javac.jvm.ClassReader.readPool:(I)Ljava/lang/Object;
astore 3
start local 3 1: aload 1
invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
ldc 16
land
lconst_0
lcmp
ifne 3
2: return
3: StackMap locals: java.lang.Object
StackMap stack:
aload 1
checkcast com.sun.tools.javac.code.Symbol$VarSymbol
astore 4
start local 4 4: invokestatic com.sun.tools.javac.jvm.ClassReader$3.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:()[I
aload 4
getfield com.sun.tools.javac.code.Symbol$VarSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iaload
tableswitch { // 1 - 10
1: 5
2: 5
3: 5
4: 7
5: 9
6: 5
7: 11
8: 5
9: 18
10: 13
default: 18
}
5: StackMap locals: com.sun.tools.javac.code.Symbol$VarSymbol
StackMap stack:
aload 0
aload 4
ldc Ljava/lang/Integer;
aload 3
invokevirtual com.sun.tools.javac.jvm.ClassReader$3.checkType:(Lcom/sun/tools/javac/code/Symbol;Ljava/lang/Class;Ljava/lang/Object;)V
6: goto 19
7: StackMap locals:
StackMap stack:
aload 0
aload 4
ldc Ljava/lang/Long;
aload 3
invokevirtual com.sun.tools.javac.jvm.ClassReader$3.checkType:(Lcom/sun/tools/javac/code/Symbol;Ljava/lang/Class;Ljava/lang/Object;)V
8: goto 19
9: StackMap locals:
StackMap stack:
aload 0
aload 4
ldc Ljava/lang/Float;
aload 3
invokevirtual com.sun.tools.javac.jvm.ClassReader$3.checkType:(Lcom/sun/tools/javac/code/Symbol;Ljava/lang/Class;Ljava/lang/Object;)V
10: goto 19
11: StackMap locals:
StackMap stack:
aload 0
aload 4
ldc Ljava/lang/Double;
aload 3
invokevirtual com.sun.tools.javac.jvm.ClassReader$3.checkType:(Lcom/sun/tools/javac/code/Symbol;Ljava/lang/Class;Ljava/lang/Object;)V
12: goto 19
13: StackMap locals:
StackMap stack:
aload 4
getfield com.sun.tools.javac.code.Symbol$VarSymbol.type:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 0
getfield com.sun.tools.javac.jvm.ClassReader$3.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
getfield com.sun.tools.javac.jvm.ClassReader.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.stringType:Lcom/sun/tools/javac/code/Type;
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
if_acmpne 14
iconst_1
goto 15
StackMap locals:
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
16: aload 0
aload 4
ldc Ljava/lang/String;
aload 3
invokevirtual com.sun.tools.javac.jvm.ClassReader$3.checkType:(Lcom/sun/tools/javac/code/Symbol;Ljava/lang/Class;Ljava/lang/Object;)V
17: goto 19
18: StackMap locals:
StackMap stack:
return
19: StackMap locals:
StackMap stack:
aload 3
instanceof java.lang.Integer
ifeq 21
aload 4
getfield com.sun.tools.javac.code.Symbol$VarSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getTag:()Lcom/sun/tools/javac/code/TypeTag;
aload 3
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokevirtual com.sun.tools.javac.code.TypeTag.checkRange:(I)Z
ifne 21
20: aload 0
getfield com.sun.tools.javac.jvm.ClassReader$3.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
ldc "bad.constant.range"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 4
getfield com.sun.tools.javac.code.Symbol$VarSymbol.type:Lcom/sun/tools/javac/code/Type;
aastore
invokevirtual com.sun.tools.javac.jvm.ClassReader.badClassFile:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/sun/tools/javac/code/ClassFinder$BadClassFile;
athrow
21: StackMap locals:
StackMap stack:
aload 4
aload 3
invokevirtual com.sun.tools.javac.code.Symbol$VarSymbol.setData:(Ljava/lang/Object;)V
22: return
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/javac/jvm/ClassReader$3;
0 23 1 sym Lcom/sun/tools/javac/code/Symbol;
0 23 2 attrLen I
1 23 3 v Ljava/lang/Object;
4 23 4 var Lcom/sun/tools/javac/code/Symbol$VarSymbol;
MethodParameters:
Name Flags
sym
attrLen
void checkType(com.sun.tools.javac.code.Symbol, java.lang.Class<?>, );
descriptor: (Lcom/sun/tools/javac/code/Symbol;Ljava/lang/Class;Ljava/lang/Object;)V
flags: (0x0000)
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 3
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifne 2
1: aload 0
getfield com.sun.tools.javac.jvm.ClassReader$3.this$0:Lcom/sun/tools/javac/jvm/ClassReader;
ldc "bad.constant.value"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
invokevirtual com.sun.tools.javac.jvm.ClassReader.badClassFile:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/sun/tools/javac/code/ClassFinder$BadClassFile;
athrow
2: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/jvm/ClassReader$3;
0 3 1 var Lcom/sun/tools/javac/code/Symbol;
0 3 2 clazz Ljava/lang/Class<*>;
0 3 3 value Ljava/lang/Object;
Signature: (Lcom/sun/tools/javac/code/Symbol;Ljava/lang/Class<*>;Ljava/lang/Object;)V
MethodParameters:
Name Flags
var
clazz
value
static int[] $SWITCH_TABLE$com$sun$tools$javac$code$TypeTag();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.sun.tools.javac.jvm.ClassReader$3.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.sun.tools.javac.code.TypeTag.values:()[Lcom/sun/tools/javac/code/TypeTag;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 11
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.sun.tools.javac.code.TypeTag.BOOLEAN:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 8
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.sun.tools.javac.code.TypeTag.BOT:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 19
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.sun.tools.javac.code.TypeTag.BYTE:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iconst_1
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.sun.tools.javac.code.TypeTag.CHAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iconst_2
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 10
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic com.sun.tools.javac.code.TypeTag.DEFERRED:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 18
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic com.sun.tools.javac.code.TypeTag.DOUBLE:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 7
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic com.sun.tools.javac.code.TypeTag.ERROR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 21
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic com.sun.tools.javac.code.TypeTag.FLOAT:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iconst_5
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic com.sun.tools.javac.code.TypeTag.FORALL:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 17
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic com.sun.tools.javac.code.TypeTag.INT:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 6
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic com.sun.tools.javac.code.TypeTag.LONG:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
iconst_4
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic com.sun.tools.javac.code.TypeTag.METHOD:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 12
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic com.sun.tools.javac.code.TypeTag.MODULE:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 14
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic com.sun.tools.javac.code.TypeTag.NONE:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 20
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
getstatic com.sun.tools.javac.code.TypeTag.PACKAGE:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 13
iastore
51: goto 53
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
52: pop
StackMap locals:
StackMap stack:
53: aload 0
getstatic com.sun.tools.javac.code.TypeTag.SHORT:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.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 com.sun.tools.javac.code.TypeTag.TYPEVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.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 com.sun.tools.javac.code.TypeTag.UNDETVAR:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 23
iastore
60: goto 62
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
61: pop
StackMap locals:
StackMap stack:
62: aload 0
getstatic com.sun.tools.javac.code.TypeTag.UNINITIALIZED_OBJECT:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 25
iastore
63: goto 65
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
64: pop
StackMap locals:
StackMap stack:
65: aload 0
getstatic com.sun.tools.javac.code.TypeTag.UNINITIALIZED_THIS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 24
iastore
66: goto 68
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
67: pop
StackMap locals:
StackMap stack:
68: aload 0
getstatic com.sun.tools.javac.code.TypeTag.UNKNOWN:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 22
iastore
69: goto 71
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
70: pop
StackMap locals:
StackMap stack:
71: aload 0
getstatic com.sun.tools.javac.code.TypeTag.VOID:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 9
iastore
72: goto 74
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
73: pop
StackMap locals:
StackMap stack:
74: aload 0
getstatic com.sun.tools.javac.code.TypeTag.WILDCARD:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.TypeTag.ordinal:()I
bipush 16
iastore
75: goto 77
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
76: pop
StackMap locals:
StackMap stack:
77: aload 0
dup
putstatic com.sun.tools.javac.jvm.ClassReader$3.$SWITCH_TABLE$com$sun$tools$javac$code$TypeTag:[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
68 69 70 Class java.lang.NoSuchFieldError
71 72 73 Class java.lang.NoSuchFieldError
74 75 76 Class java.lang.NoSuchFieldError
}
SourceFile: "ClassReader.java"
EnclosingMethod: com.sun.tools.javac.jvm.ClassReader.initAttributeReaders:()V
NestHost: com.sun.tools.javac.jvm.ClassReader
InnerClasses:
public BadClassFile = com.sun.tools.javac.code.ClassFinder$BadClassFile of com.sun.tools.javac.code.ClassFinder
public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
public final Version = com.sun.tools.javac.jvm.ClassFile$Version of com.sun.tools.javac.jvm.ClassFile
com.sun.tools.javac.jvm.ClassReader$3
protected final AttributeKind = com.sun.tools.javac.jvm.ClassReader$AttributeKind of com.sun.tools.javac.jvm.ClassReader
protected abstract AttributeReader = com.sun.tools.javac.jvm.ClassReader$AttributeReader of com.sun.tools.javac.jvm.ClassReader