class com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda
super_class: java.lang.Object
{
private final com.sun.tools.javac.code.Symbol$MethodSymbol symbol;
descriptor: Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.tools.javac.tree.JCTree tree;
descriptor: Lcom/sun/tools/javac/tree/JCTree;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int hashCode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
final com.sun.tools.javac.comp.LambdaToMethod this$0;
descriptor: Lcom/sun/tools/javac/comp/LambdaToMethod;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.comp.LambdaToMethod, com.sun.tools.javac.code.Symbol$MethodSymbol, com.sun.tools.javac.tree.JCTree);
descriptor: (Lcom/sun/tools/javac/comp/LambdaToMethod;Lcom/sun/tools/javac/code/Symbol$MethodSymbol;Lcom/sun/tools/javac/tree/JCTree;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda.symbol:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
2: aload 0
aload 3
putfield com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda.tree:Lcom/sun/tools/javac/tree/JCTree;
3: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/comp/LambdaToMethod$DedupedLambda;
0 4 2 symbol Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
0 4 3 tree Lcom/sun/tools/javac/tree/JCTree;
MethodParameters:
Name Flags
this$0 final
symbol
tree
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda.hashCode:I
istore 1
start local 1 1: iload 1
ifne 3
2: aload 0
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda.tree:Lcom/sun/tools/javac/tree/JCTree;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda.symbol:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.params:()Lcom/sun/tools/javac/util/List;
invokestatic com.sun.tools.javac.comp.TreeHasher.hash:(Lcom/sun/tools/javac/tree/JCTree;Ljava/util/Collection;)I
dup
istore 1
putfield com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda.hashCode:I
3: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/comp/LambdaToMethod$DedupedLambda;
1 4 1 hashCode I
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda
astore 2
start local 2 3: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.types:Lcom/sun/tools/javac/code/Types;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda.symbol:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.asType:()Lcom/sun/tools/javac/code/Type;
aload 2
getfield com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda.symbol:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.asType:()Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.isSameType:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;)Z
ifeq 6
4: new com.sun.tools.javac.comp.TreeDiffer
dup
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda.symbol:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.params:()Lcom/sun/tools/javac/util/List;
aload 2
getfield com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda.symbol:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$MethodSymbol.params:()Lcom/sun/tools/javac/util/List;
invokespecial com.sun.tools.javac.comp.TreeDiffer.<init>:(Ljava/util/Collection;Ljava/util/Collection;)V
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda.tree:Lcom/sun/tools/javac/tree/JCTree;
aload 2
getfield com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda.tree:Lcom/sun/tools/javac/tree/JCTree;
invokevirtual com.sun.tools.javac.comp.TreeDiffer.scan:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/tree/JCTree;)Z
ifeq 6
5: iconst_1
ireturn
StackMap locals: com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda
StackMap stack:
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/javac/comp/LambdaToMethod$DedupedLambda;
0 7 1 o Ljava/lang/Object;
3 7 2 that Lcom/sun/tools/javac/comp/LambdaToMethod$DedupedLambda;
MethodParameters:
Name Flags
o
}
SourceFile: "LambdaToMethod.java"
NestHost: com.sun.tools.javac.comp.LambdaToMethod
InnerClasses:
public MethodSymbol = com.sun.tools.javac.code.Symbol$MethodSymbol of com.sun.tools.javac.code.Symbol
public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
DedupedLambda = com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda of com.sun.tools.javac.comp.LambdaToMethod