class com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator extends com.sun.tools.javac.tree.TreeTranslator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator
super_class: com.sun.tools.javac.tree.TreeTranslator
{
final com.sun.tools.javac.comp.LambdaToMethod this$0;
descriptor: Lcom/sun/tools/javac/comp/LambdaToMethod;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final boolean val$isTarget_void;
descriptor: Z
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final com.sun.tools.javac.tree.JCTree$JCMethodDecl val$lambdaMethodDecl;
descriptor: Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final com.sun.tools.javac.code.Type val$restype;
descriptor: Lcom/sun/tools/javac/code/Type;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.comp.LambdaToMethod, boolean, com.sun.tools.javac.tree.JCTree$JCMethodDecl, com.sun.tools.javac.code.Type);
descriptor: (Lcom/sun/tools/javac/comp/LambdaToMethod;ZLcom/sun/tools/javac/tree/JCTree$JCMethodDecl;Lcom/sun/tools/javac/code/Type;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
aload 0
iload 2
putfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.val$isTarget_void:Z
aload 0
aload 3
putfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.val$lambdaMethodDecl:Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;
aload 0
aload 4
putfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.val$restype:Lcom/sun/tools/javac/code/Type;
aload 0
invokespecial com.sun.tools.javac.tree.TreeTranslator.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/comp/LambdaToMethod$1LambdaBodyTranslator;
MethodParameters:
Name Flags
this$0 final
val$isTarget_void final
val$lambdaMethodDecl final
val$restype final
public void visitClassDef(com.sun.tools.javac.tree.JCTree$JCClassDecl);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.result:Lcom/sun/tools/javac/tree/JCTree;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/comp/LambdaToMethod$1LambdaBodyTranslator;
0 2 1 tree Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
MethodParameters:
Name Flags
tree
public void visitLambda(com.sun.tools.javac.tree.JCTree$JCLambda);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCLambda;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.result:Lcom/sun/tools/javac/tree/JCTree;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/comp/LambdaToMethod$1LambdaBodyTranslator;
0 2 1 tree Lcom/sun/tools/javac/tree/JCTree$JCLambda;
MethodParameters:
Name Flags
tree
public void visitReturn(com.sun.tools.javac.tree.JCTree$JCReturn);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCReturn;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCReturn.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
ifnonnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.val$isTarget_void:Z
ifeq 8
iload 2
ifne 8
4: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
lconst_0
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.names:Lcom/sun/tools/javac/util/Names;
ldc "$loc"
invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCReturn.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.val$lambdaMethodDecl:Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;
getfield com.sun.tools.javac.tree.JCTree$JCMethodDecl.sym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
invokevirtual com.sun.tools.javac.comp.LambdaToMethod.makeSyntheticVar:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Symbol$VarSymbol;
astore 3
start local 3 5: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
aload 3
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCReturn.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
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;
astore 4
start local 4 6: aload 0
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
lconst_0
aload 4
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.make:Lcom/sun/tools/javac/tree/TreeMaker;
aconst_null
invokevirtual com.sun.tools.javac.tree.TreeMaker.Return:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCReturn;
invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.tree.TreeMaker.Block:(JLcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/tree/JCTree$JCBlock;
putfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.result:Lcom/sun/tools/javac/tree/JCTree;
end local 4 end local 3 7: goto 13
StackMap locals: int
StackMap stack:
8: aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.val$isTarget_void:Z
ifeq 9
iload 2
ifne 12
9: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.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$1LambdaBodyTranslator.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
getfield com.sun.tools.javac.comp.LambdaToMethod.attrEnv:Lcom/sun/tools/javac/comp/Env;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCReturn.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.val$restype:Lcom/sun/tools/javac/code/Type;
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;
putfield com.sun.tools.javac.tree.JCTree$JCReturn.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
10: aload 0
aload 1
putfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.result:Lcom/sun/tools/javac/tree/JCTree;
11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator.result:Lcom/sun/tools/javac/tree/JCTree;
13: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/tools/javac/comp/LambdaToMethod$1LambdaBodyTranslator;
0 14 1 tree Lcom/sun/tools/javac/tree/JCTree$JCReturn;
3 14 2 isLambda_void Z
5 7 3 loc Lcom/sun/tools/javac/code/Symbol$VarSymbol;
6 7 4 varDef Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
MethodParameters:
Name Flags
tree
}
SourceFile: "LambdaToMethod.java"
EnclosingMethod: com.sun.tools.javac.comp.LambdaToMethod.makeLambdaStatementBody:(Lcom/sun/tools/javac/tree/JCTree$JCBlock;Lcom/sun/tools/javac/tree/JCTree$JCMethodDecl;Z)Lcom/sun/tools/javac/tree/JCTree$JCBlock;
NestHost: com.sun.tools.javac.comp.LambdaToMethod
InnerClasses:
public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
LambdaBodyTranslator = com.sun.tools.javac.comp.LambdaToMethod$1LambdaBodyTranslator
public JCBlock = com.sun.tools.javac.tree.JCTree$JCBlock of com.sun.tools.javac.tree.JCTree
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 JCLambda = com.sun.tools.javac.tree.JCTree$JCLambda of com.sun.tools.javac.tree.JCTree
public JCMethodDecl = com.sun.tools.javac.tree.JCTree$JCMethodDecl of com.sun.tools.javac.tree.JCTree
public JCReturn = com.sun.tools.javac.tree.JCTree$JCReturn of com.sun.tools.javac.tree.JCTree
public abstract JCStatement = com.sun.tools.javac.tree.JCTree$JCStatement of com.sun.tools.javac.tree.JCTree
public JCVariableDecl = com.sun.tools.javac.tree.JCTree$JCVariableDecl of com.sun.tools.javac.tree.JCTree