class com.sun.tools.javac.main.JavaCompiler$1ScanNested extends com.sun.tools.javac.tree.TreeScanner
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.main.JavaCompiler$1ScanNested
super_class: com.sun.tools.javac.tree.TreeScanner
{
java.util.Set<com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>> dependencies;
descriptor: Ljava/util/Set;
flags: (0x0000)
Signature: Ljava/util/Set<Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;>;
protected boolean hasLambdas;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
final com.sun.tools.javac.main.JavaCompiler this$0;
descriptor: Lcom/sun/tools/javac/main/JavaCompiler;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final com.sun.tools.javac.comp.Env val$env;
descriptor: Lcom/sun/tools/javac/comp/Env;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.main.JavaCompiler, com.sun.tools.javac.comp.Env);
descriptor: (Lcom/sun/tools/javac/main/JavaCompiler;Lcom/sun/tools/javac/comp/Env;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 0: aload 0
aload 1
putfield com.sun.tools.javac.main.JavaCompiler$1ScanNested.this$0:Lcom/sun/tools/javac/main/JavaCompiler;
aload 0
aload 2
putfield com.sun.tools.javac.main.JavaCompiler$1ScanNested.val$env:Lcom/sun/tools/javac/comp/Env;
aload 0
invokespecial com.sun.tools.javac.tree.TreeScanner.<init>:()V
1: aload 0
new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
putfield com.sun.tools.javac.main.JavaCompiler$1ScanNested.dependencies:Ljava/util/Set;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/main/JavaCompiler$1ScanNested;
MethodParameters:
Name Flags
this$0 final
val$env 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=8, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.main.JavaCompiler$1ScanNested.this$0:Lcom/sun/tools/javac/main/JavaCompiler;
getfield com.sun.tools.javac.main.JavaCompiler.types:Lcom/sun/tools/javac/code/Types;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.type:Lcom/sun/tools/javac/code/Type;
invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 16
3: StackMap locals: com.sun.tools.javac.code.Type int
StackMap stack:
aload 2
getfield com.sun.tools.javac.code.Type.tsym:Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
invokevirtual com.sun.tools.javac.code.Symbol$TypeSymbol.outermostClass:()Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
astore 4
start local 4 4: aload 0
getfield com.sun.tools.javac.main.JavaCompiler$1ScanNested.this$0:Lcom/sun/tools/javac/main/JavaCompiler;
getfield com.sun.tools.javac.main.JavaCompiler.enter:Lcom/sun/tools/javac/comp/Enter;
aload 4
invokevirtual com.sun.tools.javac.comp.Enter.getEnv:(Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)Lcom/sun/tools/javac/comp/Env;
astore 5
start local 5 5: aload 5
ifnull 15
aload 0
getfield com.sun.tools.javac.main.JavaCompiler$1ScanNested.val$env:Lcom/sun/tools/javac/comp/Env;
aload 5
if_acmpeq 15
6: aload 0
getfield com.sun.tools.javac.main.JavaCompiler$1ScanNested.dependencies:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 14
7: aload 0
getfield com.sun.tools.javac.main.JavaCompiler$1ScanNested.hasLambdas:Z
istore 6
start local 6 8: aload 0
aload 5
getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
invokevirtual com.sun.tools.javac.main.JavaCompiler$1ScanNested.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
9: goto 13
StackMap locals: com.sun.tools.javac.main.JavaCompiler$1ScanNested com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.tools.javac.code.Type int com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.comp.Env int
StackMap stack: java.lang.Throwable
10: astore 7
11: aload 0
iload 6
putfield com.sun.tools.javac.main.JavaCompiler$1ScanNested.hasLambdas:Z
12: aload 7
athrow
13: StackMap locals:
StackMap stack:
aload 0
iload 6
putfield com.sun.tools.javac.main.JavaCompiler$1ScanNested.hasLambdas:Z
end local 6 14: StackMap locals:
StackMap stack:
iconst_1
istore 3
15: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.main.JavaCompiler$1ScanNested.this$0:Lcom/sun/tools/javac/main/JavaCompiler;
getfield com.sun.tools.javac.main.JavaCompiler.types:Lcom/sun/tools/javac/code/Types;
aload 2
invokevirtual com.sun.tools.javac.code.Types.supertype:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
astore 2
end local 5 end local 4 16: StackMap locals:
StackMap stack:
iload 3
ifne 17
aload 2
getstatic com.sun.tools.javac.code.TypeTag.CLASS:Lcom/sun/tools/javac/code/TypeTag;
invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
ifne 3
17: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeScanner.visitClassDef:(Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
18: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/tools/javac/main/JavaCompiler$1ScanNested;
0 19 1 node Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
1 19 2 st Lcom/sun/tools/javac/code/Type;
2 19 3 envForSuperTypeFound Z
4 16 4 c Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
5 16 5 stEnv Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
8 14 6 prevHasLambdas Z
Exception table:
from to target type
8 10 10 any
MethodParameters:
Name Flags
node
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
iconst_1
putfield com.sun.tools.javac.main.JavaCompiler$1ScanNested.hasLambdas:Z
1: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeScanner.visitLambda:(Lcom/sun/tools/javac/tree/JCTree$JCLambda;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/main/JavaCompiler$1ScanNested;
0 3 1 tree Lcom/sun/tools/javac/tree/JCTree$JCLambda;
MethodParameters:
Name Flags
tree
public void visitReference(com.sun.tools.javac.tree.JCTree$JCMemberReference);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
putfield com.sun.tools.javac.main.JavaCompiler$1ScanNested.hasLambdas:Z
1: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeScanner.visitReference:(Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/main/JavaCompiler$1ScanNested;
0 3 1 tree Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
MethodParameters:
Name Flags
tree
}
SourceFile: "JavaCompiler.java"
EnclosingMethod: com.sun.tools.javac.main.JavaCompiler.desugar:(Lcom/sun/tools/javac/comp/Env;Ljava/util/Queue;)V
NestHost: com.sun.tools.javac.main.JavaCompiler
InnerClasses:
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
ScanNested = com.sun.tools.javac.main.JavaCompiler$1ScanNested
public JCClassDecl = com.sun.tools.javac.tree.JCTree$JCClassDecl 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