class com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda
super_class: java.lang.Object
{
private final com.sun.tools.javac.tree.JCTree$JCMemberReference tree;
descriptor: Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor$ReferenceTranslationContext localContext;
descriptor: Lcom/sun/tools/javac/comp/LambdaToMethod$LambdaAnalyzerPreprocessor$ReferenceTranslationContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.tools.javac.code.Symbol owner;
descriptor: Lcom/sun/tools/javac/code/Symbol;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.tree.JCTree$JCExpression> args;
descriptor: Lcom/sun/tools/javac/util/ListBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;
private final com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.tree.JCTree$JCVariableDecl> params;
descriptor: Lcom/sun/tools/javac/util/ListBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;>;
private com.sun.tools.javac.tree.JCTree$JCExpression receiverExpression;
descriptor: Lcom/sun/tools/javac/tree/JCTree$JCExpression;
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
private static volatile int[] $SWITCH_TABLE$com$sun$tools$javac$tree$JCTree$JCMemberReference$ReferenceKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.comp.LambdaToMethod, com.sun.tools.javac.tree.JCTree$JCMemberReference, com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor$ReferenceTranslationContext, com.sun.tools.javac.code.Symbol);
descriptor: (Lcom/sun/tools/javac/comp/LambdaToMethod;Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;Lcom/sun/tools/javac/comp/LambdaToMethod$LambdaAnalyzerPreprocessor$ReferenceTranslationContext;Lcom/sun/tools/javac/code/Symbol;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.args:Lcom/sun/tools/javac/util/ListBuffer;
2: aload 0
new com.sun.tools.javac.util.ListBuffer
dup
invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
putfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.params:Lcom/sun/tools/javac/util/ListBuffer;
3: aload 0
aconst_null
putfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.receiverExpression:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
4: aload 0
aload 2
putfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
5: aload 0
aload 3
putfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.localContext:Lcom/sun/tools/javac/comp/LambdaToMethod$LambdaAnalyzerPreprocessor$ReferenceTranslationContext;
6: aload 0
aload 4
putfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.owner:Lcom/sun/tools/javac/code/Symbol;
7: return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/javac/comp/LambdaToMethod$MemberReferenceToLambda;
0 8 2 tree Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
0 8 3 localContext Lcom/sun/tools/javac/comp/LambdaToMethod$LambdaAnalyzerPreprocessor$ReferenceTranslationContext;
0 8 4 owner Lcom/sun/tools/javac/code/Symbol;
MethodParameters:
Name Flags
this$0 final
tree
localContext
owner
com.sun.tools.javac.tree.JCTree$JCLambda lambda();
descriptor: ()Lcom/sun/tools/javac/tree/JCTree$JCLambda;
flags: (0x0000)
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
getfield com.sun.tools.javac.tree.TreeMaker.pos:I
istore 1
start local 1 1: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
invokevirtual com.sun.tools.javac.tree.TreeMaker.at:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;)Lcom/sun/tools/javac/tree/TreeMaker;
pop
2: aload 0
invokevirtual com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.addParametersReturnReceiver:()Lcom/sun/tools/javac/code/Symbol$VarSymbol;
astore 2
start local 2 3: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.getMode:()Lcom/sun/source/tree/MemberReferenceTree$ReferenceMode;
getstatic com.sun.source.tree.MemberReferenceTree$ReferenceMode.INVOKE:Lcom/sun/source/tree/MemberReferenceTree$ReferenceMode;
if_acmpne 5
4: aload 0
aload 2
invokevirtual com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.expressionInvoke:(Lcom/sun/tools/javac/code/Symbol$VarSymbol;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
goto 6
5: StackMap locals: int com.sun.tools.javac.code.Symbol$VarSymbol
StackMap stack:
aload 0
invokevirtual com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.expressionNew:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
6: StackMap locals:
StackMap stack: com.sun.tools.javac.tree.JCTree$JCExpression
astore 3
start local 3 7: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.params:Lcom/sun/tools/javac/util/ListBuffer;
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
aload 3
invokevirtual com.sun.tools.javac.tree.TreeMaker.Lambda:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/tree/JCTree$JCLambda;
astore 4
start local 4 8: aload 4
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.target:Lcom/sun/tools/javac/code/Type;
putfield com.sun.tools.javac.tree.JCTree$JCLambda.target:Lcom/sun/tools/javac/code/Type;
9: aload 4
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.type:Lcom/sun/tools/javac/code/Type;
putfield com.sun.tools.javac.tree.JCTree$JCLambda.type:Lcom/sun/tools/javac/code/Type;
10: aload 4
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.pos:I
putfield com.sun.tools.javac.tree.JCTree$JCLambda.pos:I
11: aload 4
astore 6
12: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
iload 1
invokevirtual com.sun.tools.javac.tree.TreeMaker.at:(I)Lcom/sun/tools/javac/tree/TreeMaker;
pop
13: aload 6
areturn
end local 4 end local 3 end local 2 14: StackMap locals: com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda int
StackMap stack: java.lang.Throwable
astore 5
15: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
iload 1
invokevirtual com.sun.tools.javac.tree.TreeMaker.at:(I)Lcom/sun/tools/javac/tree/TreeMaker;
pop
16: aload 5
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/tools/javac/comp/LambdaToMethod$MemberReferenceToLambda;
1 17 1 prevPos I
3 14 2 rcvr Lcom/sun/tools/javac/code/Symbol$VarSymbol;
7 14 3 expr Lcom/sun/tools/javac/tree/JCTree$JCExpression;
8 14 4 slam Lcom/sun/tools/javac/tree/JCTree$JCLambda;
Exception table:
from to target type
1 12 14 any
com.sun.tools.javac.code.Symbol$VarSymbol addParametersReturnReceiver();
descriptor: ()Lcom/sun/tools/javac/code/Symbol$VarSymbol;
flags: (0x0000)
Code:
stack=4, locals=13, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.localContext:Lcom/sun/tools/javac/comp/LambdaToMethod$LambdaAnalyzerPreprocessor$ReferenceTranslationContext;
invokevirtual com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor$ReferenceTranslationContext.bridgedRefSig:()Lcom/sun/tools/javac/code/Type;
astore 1
start local 1 1: aload 1
invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
astore 2
start local 2 2: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.types:Lcom/sun/tools/javac/code/Types;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.getDescriptorType:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
astore 3
start local 3 3: invokestatic com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.$SWITCH_TABLE$com$sun$tools$javac$tree$JCTree$JCMemberReference$ReferenceKind:()[I
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.kind:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$ReferenceKind;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind.ordinal:()I
iaload
tableswitch { // 2 - 4
2: 7
3: 11
4: 4
default: 11
}
4: StackMap locals: com.sun.tools.javac.code.Type com.sun.tools.javac.util.List com.sun.tools.javac.util.List
StackMap stack:
aload 0
ldc "rec$"
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.getQualifierExpression:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
iconst_0
invokevirtual com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.addParameter:(Ljava/lang/String;Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Symbol$VarSymbol;
astore 4
start local 4 5: aload 0
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.attr:Lcom/sun/tools/javac/comp/Attr;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.getQualifierExpression:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokevirtual com.sun.tools.javac.comp.Attr.makeNullCheck:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
putfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.receiverExpression:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
6: goto 12
end local 4 7: StackMap locals:
StackMap stack:
aload 0
ldc "rec$"
aload 1
invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
iconst_0
invokevirtual com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.addParameter:(Ljava/lang/String;Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Symbol$VarSymbol;
astore 4
start local 4 8: aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 2
9: aload 3
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 3
10: goto 12
end local 4 11: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 12: StackMap locals: com.sun.tools.javac.code.Symbol$VarSymbol
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.sym:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
astore 5
start local 5 13: aload 5
invokevirtual com.sun.tools.javac.util.List.size:()I
istore 6
start local 6 14: aload 2
invokevirtual com.sun.tools.javac.util.List.size:()I
istore 7
start local 7 15: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.localContext:Lcom/sun/tools/javac/comp/LambdaToMethod$LambdaAnalyzerPreprocessor$ReferenceTranslationContext;
invokevirtual com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor$ReferenceTranslationContext.needsVarArgsConversion:()Z
ifeq 16
iload 6
iconst_1
isub
goto 17
StackMap locals: com.sun.tools.javac.util.List int int
StackMap stack:
16: iload 6
StackMap locals:
StackMap stack: int
17: istore 8
start local 8 18: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.varargsElement:Lcom/sun/tools/javac/code/Type;
ifnonnull 19
iload 6
aload 3
invokevirtual com.sun.tools.javac.util.List.size:()I
if_icmpeq 19
iconst_0
goto 20
StackMap locals: int
StackMap stack:
19: iconst_1
StackMap locals:
StackMap stack: int
20: istore 9
start local 9 21: iconst_0
istore 10
start local 10 22: goto 36
23: StackMap locals: int int
StackMap stack:
aload 5
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 11
start local 11 24: iload 9
ifeq 31
25: aload 3
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Type.getKind:()Ljavax/lang/model/type/TypeKind;
getstatic javax.lang.model.type.TypeKind.INTERSECTION:Ljavax/lang/model/type/TypeKind;
if_acmpne 27
26: aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 11
27: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 3
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
invokevirtual com.sun.tools.javac.code.Type.getKind:()Ljavax/lang/model/type/TypeKind;
getstatic javax.lang.model.type.TypeKind.TYPEVAR:Ljavax/lang/model/type/TypeKind;
if_acmpne 31
28: aload 3
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type$TypeVar
astore 12
start local 12 29: aload 12
invokevirtual com.sun.tools.javac.code.Type$TypeVar.getUpperBound:()Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getKind:()Ljavax/lang/model/type/TypeKind;
getstatic javax.lang.model.type.TypeKind.INTERSECTION:Ljavax/lang/model/type/TypeKind;
if_acmpne 31
30: aload 2
getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
checkcast com.sun.tools.javac.code.Type
astore 11
end local 12 31: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "x$"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 11
iconst_1
invokevirtual com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.addParameter:(Ljava/lang/String;Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Symbol$VarSymbol;
pop
32: aload 5
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 5
33: aload 2
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 2
34: aload 3
getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
astore 3
end local 11 35: iinc 10 1
StackMap locals:
StackMap stack:
36: aload 5
invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
ifeq 37
iload 10
iload 8
if_icmplt 23
end local 10 37: StackMap locals:
StackMap stack:
iload 8
istore 10
start local 10 38: goto 41
39: StackMap locals: int
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "xva$"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.varargsElement:Lcom/sun/tools/javac/code/Type;
iconst_1
invokevirtual com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.addParameter:(Ljava/lang/String;Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Symbol$VarSymbol;
pop
40: iinc 10 1
StackMap locals:
StackMap stack:
41: iload 10
iload 7
if_icmplt 39
end local 10 42: aload 4
areturn
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 43 0 this Lcom/sun/tools/javac/comp/LambdaToMethod$MemberReferenceToLambda;
1 43 1 samDesc Lcom/sun/tools/javac/code/Type;
2 43 2 samPTypes Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
3 43 3 descPTypes Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
5 7 4 rcvr Lcom/sun/tools/javac/code/Symbol$VarSymbol;
8 11 4 rcvr Lcom/sun/tools/javac/code/Symbol$VarSymbol;
12 43 4 rcvr Lcom/sun/tools/javac/code/Symbol$VarSymbol;
13 43 5 implPTypes Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
14 43 6 implSize I
15 43 7 samSize I
18 43 8 last I
21 43 9 checkForIntersection Z
22 37 10 i I
24 35 11 parmType Lcom/sun/tools/javac/code/Type;
29 31 12 tv Lcom/sun/tools/javac/code/Type$TypeVar;
38 42 10 i I
com.sun.tools.javac.tree.JCTree$JCExpression getReceiverExpression();
descriptor: ()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.receiverExpression:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/LambdaToMethod$MemberReferenceToLambda;
private com.sun.tools.javac.tree.JCTree$JCExpression makeReceiver(com.sun.tools.javac.code.Symbol$VarSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$VarSymbol;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 1
invokevirtual com.sun.tools.javac.tree.TreeMaker.Ident:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/tree/JCTree$JCIdent;
astore 2
start local 2 2: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.sym:Lcom/sun/tools/javac/code/Symbol;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.owner:Lcom/sun/tools/javac/code/Symbol;
invokevirtual com.sun.tools.javac.comp.LambdaToMethod.isProtectedInSuperClassOfEnclosingClassInOtherPackage:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol;)Z
3: istore 3
start local 3 4: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.ownerAccessible:Z
ifeq 5
iload 3
ifne 5
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.sym:Lcom/sun/tools/javac/code/Symbol;
invokevirtual com.sun.tools.javac.code.Symbol.enclClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
goto 6
5: StackMap locals: com.sun.tools.javac.tree.JCTree$JCExpression int
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
6: StackMap locals:
StackMap stack: com.sun.tools.javac.code.Type
astore 4
start local 4 7: aload 4
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.syms:Lcom/sun/tools/javac/code/Symtab;
getfield com.sun.tools.javac.code.Symtab.arrayClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
if_acmpne 9
8: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.getQualifierExpression:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
astore 4
9: StackMap locals: com.sun.tools.javac.code.Type
StackMap stack:
aload 1
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 4
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.types:Lcom/sun/tools/javac/code/Types;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.isSubClass:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Types;)Z
ifne 11
10: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 4
invokevirtual com.sun.tools.javac.tree.TreeMaker.Type:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
aload 2
invokevirtual com.sun.tools.javac.tree.TreeMaker.TypeCast:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCTypeCast;
aload 4
invokevirtual com.sun.tools.javac.tree.JCTree$JCTypeCast.setType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
astore 2
11: StackMap locals:
StackMap stack:
aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/tools/javac/comp/LambdaToMethod$MemberReferenceToLambda;
0 12 1 rcvr Lcom/sun/tools/javac/code/Symbol$VarSymbol;
2 12 2 rcvrExpr Lcom/sun/tools/javac/tree/JCTree$JCExpression;
4 12 3 protAccess Z
7 12 4 rcvrType Lcom/sun/tools/javac/code/Type;
MethodParameters:
Name Flags
rcvr
private com.sun.tools.javac.tree.JCTree$JCExpression expressionInvoke(com.sun.tools.javac.code.Symbol$VarSymbol);
descriptor: (Lcom/sun/tools/javac/code/Symbol$VarSymbol;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
1: aload 0
aload 1
invokevirtual com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.makeReceiver:(Lcom/sun/tools/javac/code/Symbol$VarSymbol;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.getQualifierExpression:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
3: StackMap locals:
StackMap stack: com.sun.tools.javac.tree.JCTree$JCExpression
astore 2
start local 2 4: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 2
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.sym:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.tree.TreeMaker.Select:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/tree/JCTree$JCFieldAccess;
astore 3
start local 3 5: aload 3
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.sym:Lcom/sun/tools/javac/code/Symbol;
putfield com.sun.tools.javac.tree.JCTree$JCFieldAccess.sym:Lcom/sun/tools/javac/code/Symbol;
6: aload 3
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.sym:Lcom/sun/tools/javac/code/Symbol;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.types:Lcom/sun/tools/javac/code/Types;
invokevirtual com.sun.tools.javac.code.Symbol.erasure:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
putfield com.sun.tools.javac.tree.JCTree$JCFieldAccess.type:Lcom/sun/tools/javac/code/Type;
7: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
aload 3
8: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.sym:Lcom/sun/tools/javac/code/Symbol;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.args:Lcom/sun/tools/javac/util/ListBuffer;
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.varargsElement:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.LambdaToMethod.convertArgs:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
9: invokevirtual com.sun.tools.javac.tree.TreeMaker.Apply:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;
10: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.sym:Lcom/sun/tools/javac/code/Symbol;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.types:Lcom/sun/tools/javac/code/Types;
invokevirtual com.sun.tools.javac.code.Symbol.erasure:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMethodInvocation.setType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;
11: astore 4
start local 4 12: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.transTypes:Lcom/sun/tools/javac/comp/TransTypes;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.attrEnv:Lcom/sun/tools/javac/comp/Env;
aload 4
13: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.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$MemberReferenceToLambda.localContext:Lcom/sun/tools/javac/comp/LambdaToMethod$LambdaAnalyzerPreprocessor$ReferenceTranslationContext;
getfield com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor$ReferenceTranslationContext.tree:Lcom/sun/tools/javac/tree/JCTree$JCFunctionalExpression;
checkcast com.sun.tools.javac.tree.JCTree$JCMemberReference
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.referentType:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.erasure:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
14: invokevirtual com.sun.tools.javac.comp.TransTypes.coerce:(Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
astore 4
15: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
aload 4
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.varargsElement:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.LambdaToMethod.setVarargsIfNeeded:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
16: 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 17 0 this Lcom/sun/tools/javac/comp/LambdaToMethod$MemberReferenceToLambda;
0 17 1 rcvr Lcom/sun/tools/javac/code/Symbol$VarSymbol;
4 17 2 qualifier Lcom/sun/tools/javac/tree/JCTree$JCExpression;
5 17 3 select Lcom/sun/tools/javac/tree/JCTree$JCFieldAccess;
12 17 4 apply Lcom/sun/tools/javac/tree/JCTree$JCExpression;
MethodParameters:
Name Flags
rcvr
private com.sun.tools.javac.tree.JCTree$JCExpression expressionNew();
descriptor: ()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.kind:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$ReferenceKind;
getstatic com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind.ARRAY_CTOR:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$ReferenceKind;
if_acmpne 8
1: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
2: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.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$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.getQualifierExpression:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.elemtype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.tree.TreeMaker.Type:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
3: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.params:Lcom/sun/tools/javac/util/ListBuffer;
invokevirtual com.sun.tools.javac.util.ListBuffer.first:()Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree$JCVariableDecl
invokevirtual com.sun.tools.javac.tree.TreeMaker.Ident:(Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
4: aconst_null
5: invokevirtual com.sun.tools.javac.tree.TreeMaker.NewArray:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/tree/JCTree$JCNewArray;
astore 1
start local 1 6: aload 1
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.getQualifierExpression:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
putfield com.sun.tools.javac.tree.JCTree$JCNewArray.type:Lcom/sun/tools/javac/code/Type;
7: aload 1
areturn
end local 1 8: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
aconst_null
9: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
10: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.getQualifierExpression:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.tree.TreeMaker.Type:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
11: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.sym:Lcom/sun/tools/javac/code/Symbol;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.args:Lcom/sun/tools/javac/util/ListBuffer;
invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.varargsElement:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.LambdaToMethod.convertArgs:(Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/util/List;
12: aconst_null
13: invokevirtual com.sun.tools.javac.tree.TreeMaker.NewClass:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)Lcom/sun/tools/javac/tree/JCTree$JCNewClass;
astore 1
start local 1 14: aload 1
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.sym:Lcom/sun/tools/javac/code/Symbol;
putfield com.sun.tools.javac.tree.JCTree$JCNewClass.constructor:Lcom/sun/tools/javac/code/Symbol;
15: aload 1
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.sym:Lcom/sun/tools/javac/code/Symbol;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.types:Lcom/sun/tools/javac/code/Types;
invokevirtual com.sun.tools.javac.code.Symbol.erasure:(Lcom/sun/tools/javac/code/Types;)Lcom/sun/tools/javac/code/Type;
putfield com.sun.tools.javac.tree.JCTree$JCNewClass.constructorType:Lcom/sun/tools/javac/code/Type;
16: aload 1
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.getQualifierExpression:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
putfield com.sun.tools.javac.tree.JCTree$JCNewClass.type:Lcom/sun/tools/javac/code/Type;
17: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
aload 1
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.varargsElement:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.comp.LambdaToMethod.setVarargsIfNeeded:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;)V
18: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/tools/javac/comp/LambdaToMethod$MemberReferenceToLambda;
6 8 1 newArr Lcom/sun/tools/javac/tree/JCTree$JCNewArray;
14 19 1 newClass Lcom/sun/tools/javac/tree/JCTree$JCNewClass;
private com.sun.tools.javac.code.Symbol$VarSymbol addParameter(java.lang.String, com.sun.tools.javac.code.Type, boolean);
descriptor: (Ljava/lang/String;Lcom/sun/tools/javac/code/Type;Z)Lcom/sun/tools/javac/code/Symbol$VarSymbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.sun.tools.javac.code.Symbol$VarSymbol
dup
ldc 8589938688
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.names:Lcom/sun/tools/javac/util/Names;
aload 1
invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
aload 2
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.owner:Lcom/sun/tools/javac/code/Symbol;
invokespecial com.sun.tools.javac.code.Symbol$VarSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
astore 4
start local 4 1: aload 4
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.tree:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.pos:I
putfield com.sun.tools.javac.code.Symbol$VarSymbol.pos:I
2: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.params:Lcom/sun/tools/javac/util/ListBuffer;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 4
aconst_null
invokevirtual com.sun.tools.javac.tree.TreeMaker.VarDef:(Lcom/sun/tools/javac/code/Symbol$VarSymbol;Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
3: iload 3
ifeq 5
4: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.args:Lcom/sun/tools/javac/util/ListBuffer;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 4
invokevirtual com.sun.tools.javac.tree.TreeMaker.Ident:(Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/tree/JCTree$JCIdent;
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
5: StackMap locals: com.sun.tools.javac.code.Symbol$VarSymbol
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 6 0 this Lcom/sun/tools/javac/comp/LambdaToMethod$MemberReferenceToLambda;
0 6 1 name Ljava/lang/String;
0 6 2 p Lcom/sun/tools/javac/code/Type;
0 6 3 genArg Z
1 6 4 vsym Lcom/sun/tools/javac/code/Symbol$VarSymbol;
MethodParameters:
Name Flags
name
p
genArg
static int[] $SWITCH_TABLE$com$sun$tools$javac$tree$JCTree$JCMemberReference$ReferenceKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.$SWITCH_TABLE$com$sun$tools$javac$tree$JCTree$JCMemberReference$ReferenceKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind.values:()[Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$ReferenceKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind.ARRAY_CTOR:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$ReferenceKind;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind.ordinal:()I
bipush 7
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.tree.JCTree$JCMemberReference$ReferenceKind.BOUND:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$ReferenceKind;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind.ordinal:()I
iconst_4
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.tree.JCTree$JCMemberReference$ReferenceKind.IMPLICIT_INNER:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$ReferenceKind;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind.ordinal:()I
iconst_5
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.tree.JCTree$JCMemberReference$ReferenceKind.STATIC:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$ReferenceKind;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind.ordinal:()I
iconst_3
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.tree.JCTree$JCMemberReference$ReferenceKind.SUPER:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$ReferenceKind;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind.ordinal:()I
iconst_1
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.tree.JCTree$JCMemberReference$ReferenceKind.TOPLEVEL:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$ReferenceKind;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind.ordinal:()I
bipush 6
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.tree.JCTree$JCMemberReference$ReferenceKind.UNBOUND:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$ReferenceKind;
invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind.ordinal:()I
iconst_2
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda.$SWITCH_TABLE$com$sun$tools$javac$tree$JCTree$JCMemberReference$ReferenceKind:[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
}
SourceFile: "LambdaToMethod.java"
NestHost: com.sun.tools.javac.comp.LambdaToMethod
InnerClasses:
public final ReferenceMode = com.sun.source.tree.MemberReferenceTree$ReferenceMode of com.sun.source.tree.MemberReferenceTree
public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
public TypeVar = com.sun.tools.javac.code.Type$TypeVar of com.sun.tools.javac.code.Type
LambdaAnalyzerPreprocessor = com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor of com.sun.tools.javac.comp.LambdaToMethod
final ReferenceTranslationContext = com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor$ReferenceTranslationContext of com.sun.tools.javac.comp.LambdaToMethod$LambdaAnalyzerPreprocessor
private MemberReferenceToLambda = com.sun.tools.javac.comp.LambdaToMethod$MemberReferenceToLambda of com.sun.tools.javac.comp.LambdaToMethod
public JCClassDecl = com.sun.tools.javac.tree.JCTree$JCClassDecl of com.sun.tools.javac.tree.JCTree
public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
public JCFieldAccess = com.sun.tools.javac.tree.JCTree$JCFieldAccess of com.sun.tools.javac.tree.JCTree
public JCIdent = com.sun.tools.javac.tree.JCTree$JCIdent of com.sun.tools.javac.tree.JCTree
public JCLambda = com.sun.tools.javac.tree.JCTree$JCLambda of com.sun.tools.javac.tree.JCTree
public JCMemberReference = com.sun.tools.javac.tree.JCTree$JCMemberReference of com.sun.tools.javac.tree.JCTree
public final ReferenceKind = com.sun.tools.javac.tree.JCTree$JCMemberReference$ReferenceKind of com.sun.tools.javac.tree.JCTree$JCMemberReference
public JCMethodInvocation = com.sun.tools.javac.tree.JCTree$JCMethodInvocation of com.sun.tools.javac.tree.JCTree
public JCNewArray = com.sun.tools.javac.tree.JCTree$JCNewArray of com.sun.tools.javac.tree.JCTree
public JCNewClass = com.sun.tools.javac.tree.JCTree$JCNewClass of com.sun.tools.javac.tree.JCTree
public JCTypeCast = com.sun.tools.javac.tree.JCTree$JCTypeCast of com.sun.tools.javac.tree.JCTree
public JCVariableDecl = com.sun.tools.javac.tree.JCTree$JCVariableDecl of com.sun.tools.javac.tree.JCTree
public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic