public class com.sun.tools.javac.jvm.Pool$MethodHandle
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.javac.jvm.Pool$MethodHandle
super_class: java.lang.Object
{
int refKind;
descriptor: I
flags: (0x0000)
com.sun.tools.javac.code.Symbol refSym;
descriptor: Lcom/sun/tools/javac/code/Symbol;
flags: (0x0000)
com.sun.tools.javac.code.Types$UniqueType uniqueType;
descriptor: Lcom/sun/tools/javac/code/Types$UniqueType;
flags: (0x0000)
com.sun.tools.javac.util.Filter<com.sun.tools.javac.util.Name> nonInitFilter;
descriptor: Lcom/sun/tools/javac/util/Filter;
flags: (0x0000)
Signature: Lcom/sun/tools/javac/util/Filter<Lcom/sun/tools/javac/util/Name;>;
com.sun.tools.javac.util.Filter<com.sun.tools.javac.util.Name> initFilter;
descriptor: Lcom/sun/tools/javac/util/Filter;
flags: (0x0000)
Signature: Lcom/sun/tools/javac/util/Filter<Lcom/sun/tools/javac/util/Name;>;
public void <init>(int, com.sun.tools.javac.code.Symbol, com.sun.tools.javac.code.Types);
descriptor: (ILcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Types;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokedynamic accepts()Lcom/sun/tools/javac/util/Filter;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/sun/tools/javac/jvm/Pool$MethodHandle.lambda$0(Lcom/sun/tools/javac/util/Name;)Z (6)
(Lcom/sun/tools/javac/util/Name;)Z
putfield com.sun.tools.javac.jvm.Pool$MethodHandle.nonInitFilter:Lcom/sun/tools/javac/util/Filter;
2: aload 0
invokedynamic accepts()Lcom/sun/tools/javac/util/Filter;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/sun/tools/javac/jvm/Pool$MethodHandle.lambda$1(Lcom/sun/tools/javac/util/Name;)Z (6)
(Lcom/sun/tools/javac/util/Name;)Z
putfield com.sun.tools.javac.jvm.Pool$MethodHandle.initFilter:Lcom/sun/tools/javac/util/Filter;
3: aload 0
iload 1
putfield com.sun.tools.javac.jvm.Pool$MethodHandle.refKind:I
4: aload 0
aload 2
putfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
5: aload 0
new com.sun.tools.javac.code.Types$UniqueType
dup
aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
aload 3
invokespecial com.sun.tools.javac.code.Types$UniqueType.<init>:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Types;)V
putfield com.sun.tools.javac.jvm.Pool$MethodHandle.uniqueType:Lcom/sun/tools/javac/code/Types$UniqueType;
6: aload 0
invokevirtual com.sun.tools.javac.jvm.Pool$MethodHandle.checkConsistent:()V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/javac/jvm/Pool$MethodHandle;
0 8 1 refKind I
0 8 2 refSym Lcom/sun/tools/javac/code/Symbol;
0 8 3 types Lcom/sun/tools/javac/code/Types;
MethodParameters:
Name Flags
refKind
refSym
types
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.sun.tools.javac.jvm.Pool$MethodHandle
ifne 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.jvm.Pool$MethodHandle
astore 2
start local 2 2: aload 2
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refKind:I
aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refKind:I
if_icmpeq 3
iconst_0
ireturn
3: StackMap locals: com.sun.tools.javac.jvm.Pool$MethodHandle
StackMap stack:
aload 2
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
astore 3
start local 3 4: aload 3
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
if_acmpne 8
5: aload 3
getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
if_acmpne 8
6: aload 1
checkcast com.sun.tools.javac.jvm.Pool$MethodHandle
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.uniqueType:Lcom/sun/tools/javac/code/Types$UniqueType;
aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.uniqueType:Lcom/sun/tools/javac/code/Types$UniqueType;
invokevirtual com.sun.tools.javac.code.Types$UniqueType.equals:(Ljava/lang/Object;)Z
ifeq 8
7: iconst_1
ireturn
StackMap locals: com.sun.tools.javac.code.Symbol
StackMap stack:
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/javac/jvm/Pool$MethodHandle;
0 9 1 other Ljava/lang/Object;
2 9 2 mr Lcom/sun/tools/javac/jvm/Pool$MethodHandle;
4 9 3 o Lcom/sun/tools/javac/code/Symbol;
MethodParameters:
Name Flags
other
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refKind:I
bipush 65
imul
1: aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
invokevirtual java.lang.Object.hashCode:()I
bipush 33
imul
2: iadd
3: aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
invokevirtual java.lang.Object.hashCode:()I
bipush 9
imul
4: iadd
5: aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.uniqueType:Lcom/sun/tools/javac/code/Types$UniqueType;
invokevirtual com.sun.tools.javac.code.Types$UniqueType.hashCode:()I
6: iadd
7: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/javac/jvm/Pool$MethodHandle;
private void checkConsistent();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.nonInitFilter:Lcom/sun/tools/javac/util/Filter;
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refKind:I
tableswitch { // 1 - 9
1: 6
2: 5
3: 6
4: 5
5: 16
6: 14
7: 18
8: 8
9: 11
default: 20
}
5: StackMap locals: com.sun.tools.javac.jvm.Pool$MethodHandle int com.sun.tools.javac.code.Kinds$Kind com.sun.tools.javac.util.Filter int
StackMap stack:
iconst_1
istore 1
6: StackMap locals:
StackMap stack:
getstatic com.sun.tools.javac.code.Kinds$Kind.VAR:Lcom/sun/tools/javac/code/Kinds$Kind;
astore 2
7: goto 20
8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.initFilter:Lcom/sun/tools/javac/util/Filter;
astore 3
9: getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
astore 2
10: goto 20
11: StackMap locals:
StackMap stack:
iconst_1
istore 4
12: getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
astore 2
13: goto 20
14: StackMap locals:
StackMap stack:
iconst_1
istore 4
15: iconst_1
istore 1
16: StackMap locals:
StackMap stack:
getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
astore 2
17: goto 20
18: StackMap locals:
StackMap stack:
iconst_1
istore 4
19: getstatic com.sun.tools.javac.code.Kinds$Kind.MTH:Lcom/sun/tools/javac/code/Kinds$Kind;
astore 2
20: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
invokevirtual com.sun.tools.javac.code.Symbol.isStatic:()Z
ifeq 21
iload 1
ifne 21
iconst_0
goto 22
StackMap locals:
StackMap stack:
21: iconst_1
StackMap locals:
StackMap stack: int
22: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
23: aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
aload 2
if_acmpne 24
iconst_1
goto 25
StackMap locals:
StackMap stack:
24: iconst_0
StackMap locals:
StackMap stack: int
25: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
26: aload 3
aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
invokeinterface com.sun.tools.javac.util.Filter.accepts:(Ljava/lang/Object;)Z
invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
27: aload 0
getfield com.sun.tools.javac.jvm.Pool$MethodHandle.refSym:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.owner:Lcom/sun/tools/javac/code/Symbol;
invokevirtual com.sun.tools.javac.code.Symbol.isInterface:()Z
ifeq 28
iload 4
ifne 28
iconst_0
goto 29
StackMap locals:
StackMap stack:
28: iconst_1
StackMap locals:
StackMap stack: int
29: invokestatic com.sun.tools.javac.util.Assert.check:(Z)V
30: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/sun/tools/javac/jvm/Pool$MethodHandle;
1 31 1 staticOk Z
2 31 2 expectedKind Lcom/sun/tools/javac/code/Kinds$Kind;
3 31 3 nameFilter Lcom/sun/tools/javac/util/Filter<Lcom/sun/tools/javac/util/Name;>;
4 31 4 interfaceOwner Z
private static boolean lambda$0(com.sun.tools.javac.util.Name);
descriptor: (Lcom/sun/tools/javac/util/Name;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield com.sun.tools.javac.util.Name.table:Lcom/sun/tools/javac/util/Name$Table;
getfield com.sun.tools.javac.util.Name$Table.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.init:Lcom/sun/tools/javac/util/Name;
if_acmpeq 1
aload 0
aload 0
getfield com.sun.tools.javac.util.Name.table:Lcom/sun/tools/javac/util/Name$Table;
getfield com.sun.tools.javac.util.Name$Table.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.clinit:Lcom/sun/tools/javac/util/Name;
if_acmpeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 n Lcom/sun/tools/javac/util/Name;
private static boolean lambda$1(com.sun.tools.javac.util.Name);
descriptor: (Lcom/sun/tools/javac/util/Name;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield com.sun.tools.javac.util.Name.table:Lcom/sun/tools/javac/util/Name$Table;
getfield com.sun.tools.javac.util.Name$Table.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.init:Lcom/sun/tools/javac/util/Name;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 n Lcom/sun/tools/javac/util/Name;
}
SourceFile: "Pool.java"
NestHost: com.sun.tools.javac.jvm.Pool
InnerClasses:
public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
public UniqueType = com.sun.tools.javac.code.Types$UniqueType of com.sun.tools.javac.code.Types
public MethodHandle = com.sun.tools.javac.jvm.Pool$MethodHandle of com.sun.tools.javac.jvm.Pool
public abstract Table = com.sun.tools.javac.util.Name$Table of com.sun.tools.javac.util.Name
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles