class com.sun.tools.javac.api.JavacTrees$4 extends com.sun.tools.javac.tree.TreeScanner
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.api.JavacTrees$4
super_class: com.sun.tools.javac.tree.TreeScanner
{
com.sun.tools.javac.code.Symbol owner;
descriptor: Lcom/sun/tools/javac/code/Symbol;
flags: (0x0000)
boolean localContext;
descriptor: Z
flags: (0x0000)
final com.sun.tools.javac.api.JavacTrees this$0;
descriptor: Lcom/sun/tools/javac/api/JavacTrees;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final com.sun.tools.javac.util.ListBuffer val$toClear;
descriptor: Lcom/sun/tools/javac/util/ListBuffer;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.util.Map val$flatNameForClass;
descriptor: Ljava/util/Map;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.api.JavacTrees, com.sun.tools.javac.util.ListBuffer, java.util.Map);
descriptor: (Lcom/sun/tools/javac/api/JavacTrees;Lcom/sun/tools/javac/util/ListBuffer;Ljava/util/Map;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 0: aload 0
aload 1
putfield com.sun.tools.javac.api.JavacTrees$4.this$0:Lcom/sun/tools/javac/api/JavacTrees;
aload 0
aload 2
putfield com.sun.tools.javac.api.JavacTrees$4.val$toClear:Lcom/sun/tools/javac/util/ListBuffer;
aload 0
aload 3
putfield com.sun.tools.javac.api.JavacTrees$4.val$flatNameForClass:Ljava/util/Map;
aload 0
invokespecial com.sun.tools.javac.tree.TreeScanner.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/api/JavacTrees$4;
MethodParameters:
Name Flags
this$0 final
val$toClear final
val$flatNameForClass 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=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
astore 2
start local 2 1: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
ifnull 4
2: aload 1
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
astore 3
start local 3 3: goto 10
end local 3 4: StackMap locals: com.sun.tools.javac.code.Symbol
StackMap stack:
aload 0
getfield com.sun.tools.javac.api.JavacTrees$4.this$0:Lcom/sun/tools/javac/api/JavacTrees;
getfield com.sun.tools.javac.api.JavacTrees.syms:Lcom/sun/tools/javac/code/Symtab;
aload 1
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.name:Lcom/sun/tools/javac/util/Name;
aload 0
getfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
invokevirtual com.sun.tools.javac.code.Symtab.defineClass:(Lcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
astore 3
start local 3 5: aload 0
getfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
getstatic com.sun.tools.javac.code.Kinds$Kind.TYP:Lcom/sun/tools/javac/code/Kinds$Kind;
if_acmpeq 9
6: aload 3
aload 0
getfield com.sun.tools.javac.api.JavacTrees$4.this$0:Lcom/sun/tools/javac/api/JavacTrees;
getfield com.sun.tools.javac.api.JavacTrees.chk:Lcom/sun/tools/javac/comp/Check;
aload 3
invokevirtual com.sun.tools.javac.comp.Check.localClassName:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)Lcom/sun/tools/javac/util/Name;
putfield com.sun.tools.javac.code.Symbol$ClassSymbol.flatname:Lcom/sun/tools/javac/util/Name;
7: aload 0
getfield com.sun.tools.javac.api.JavacTrees$4.this$0:Lcom/sun/tools/javac/api/JavacTrees;
getfield com.sun.tools.javac.api.JavacTrees.chk:Lcom/sun/tools/javac/comp/Check;
aload 3
invokevirtual com.sun.tools.javac.comp.Check.putCompiled:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;)V
8: aload 0
getfield com.sun.tools.javac.api.JavacTrees$4.val$toClear:Lcom/sun/tools/javac/util/ListBuffer;
aload 3
invokevirtual com.sun.tools.javac.util.ListBuffer.add:(Ljava/lang/Object;)Z
pop
9: StackMap locals: com.sun.tools.javac.code.Symbol$ClassSymbol
StackMap stack:
aload 0
getfield com.sun.tools.javac.api.JavacTrees$4.val$flatNameForClass:Ljava/util/Map;
aload 1
aload 3
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.flatname:Lcom/sun/tools/javac/util/Name;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
11: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeScanner.visitClassDef:(Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
end local 3 12: goto 16
StackMap locals: com.sun.tools.javac.api.JavacTrees$4 com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.tools.javac.code.Symbol
StackMap stack: java.lang.Throwable
13: astore 4
14: aload 0
aload 2
putfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
15: aload 4
athrow
16: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
17: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/sun/tools/javac/api/JavacTrees$4;
0 18 1 tree Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
1 18 2 prevOwner Lcom/sun/tools/javac/code/Symbol;
3 4 3 c Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
5 12 3 c Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
Exception table:
from to target type
1 13 13 any
MethodParameters:
Name Flags
tree
public void visitBlock(com.sun.tools.javac.tree.JCTree$JCBlock);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCBlock;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
astore 2
start local 2 1: aload 0
new com.sun.tools.javac.code.Symbol$MethodSymbol
dup
lconst_0
aload 0
getfield com.sun.tools.javac.api.JavacTrees$4.this$0:Lcom/sun/tools/javac/api/JavacTrees;
getfield com.sun.tools.javac.api.JavacTrees.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.empty:Lcom/sun/tools/javac/util/Name;
getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
aload 0
getfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
invokespecial com.sun.tools.javac.code.Symbol$MethodSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
putfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
2: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeScanner.visitBlock:(Lcom/sun/tools/javac/tree/JCTree$JCBlock;)V
3: goto 7
StackMap locals: com.sun.tools.javac.api.JavacTrees$4 com.sun.tools.javac.tree.JCTree$JCBlock com.sun.tools.javac.code.Symbol
StackMap stack: java.lang.Throwable
4: astore 3
5: aload 0
aload 2
putfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
6: aload 3
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javac/api/JavacTrees$4;
0 9 1 tree Lcom/sun/tools/javac/tree/JCTree$JCBlock;
1 9 2 prevOwner Lcom/sun/tools/javac/code/Symbol;
Exception table:
from to target type
1 4 4 any
MethodParameters:
Name Flags
tree
public void visitVarDef(com.sun.tools.javac.tree.JCTree$JCVariableDecl);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
astore 2
start local 2 1: aload 0
new com.sun.tools.javac.code.Symbol$MethodSymbol
dup
lconst_0
aload 0
getfield com.sun.tools.javac.api.JavacTrees$4.this$0:Lcom/sun/tools/javac/api/JavacTrees;
getfield com.sun.tools.javac.api.JavacTrees.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.empty:Lcom/sun/tools/javac/util/Name;
getstatic com.sun.tools.javac.code.Type.noType:Lcom/sun/tools/javac/code/Type$JCNoType;
aload 0
getfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
invokespecial com.sun.tools.javac.code.Symbol$MethodSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
putfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
2: aload 0
aload 1
invokespecial com.sun.tools.javac.tree.TreeScanner.visitVarDef:(Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;)V
3: goto 7
StackMap locals: com.sun.tools.javac.api.JavacTrees$4 com.sun.tools.javac.tree.JCTree$JCVariableDecl com.sun.tools.javac.code.Symbol
StackMap stack: java.lang.Throwable
4: astore 3
5: aload 0
aload 2
putfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
6: aload 3
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield com.sun.tools.javac.api.JavacTrees$4.owner:Lcom/sun/tools/javac/code/Symbol;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javac/api/JavacTrees$4;
0 9 1 tree Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
1 9 2 prevOwner Lcom/sun/tools/javac/code/Symbol;
Exception table:
from to target type
1 4 4 any
MethodParameters:
Name Flags
tree
}
SourceFile: "JavacTrees.java"
EnclosingMethod: com.sun.tools.javac.api.JavacTrees.prepareFlatnameForClass:(Lcom/sun/tools/javac/comp/Env;)Ljava/util/Map;
NestHost: com.sun.tools.javac.api.JavacTrees
InnerClasses:
com.sun.tools.javac.api.JavacTrees$4
public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
public MethodSymbol = com.sun.tools.javac.code.Symbol$MethodSymbol of com.sun.tools.javac.code.Symbol
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 JCVariableDecl = com.sun.tools.javac.tree.JCTree$JCVariableDecl of com.sun.tools.javac.tree.JCTree