final class com.sun.tools.javac.comp.TypeEnter$RecordPhase extends com.sun.tools.javac.comp.TypeEnter$AbstractMembersPhase
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.tools.javac.comp.TypeEnter$RecordPhase
super_class: com.sun.tools.javac.comp.TypeEnter$AbstractMembersPhase
{
final com.sun.tools.javac.comp.TypeEnter this$0;
descriptor: Lcom/sun/tools/javac/comp/TypeEnter;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(com.sun.tools.javac.comp.TypeEnter);
descriptor: (Lcom/sun/tools/javac/comp/TypeEnter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 // com.sun.tools.javac.comp.TypeEnter$RecordPhase this
0: .line 909
aload 0 /* this */
aload 1
putfield com.sun.tools.javac.comp.TypeEnter$RecordPhase.this$0:Lcom/sun/tools/javac/comp/TypeEnter;
1: .line 910
aload 0 /* this */
aload 1
getstatic com.sun.tools.javac.util.Dependencies$CompletionCause.RECORD_PHASE:Lcom/sun/tools/javac/util/Dependencies$CompletionCause;
new com.sun.tools.javac.comp.TypeEnter$MembersPhase
dup
aload 1
invokespecial com.sun.tools.javac.comp.TypeEnter$MembersPhase.<init>:(Lcom/sun/tools/javac/comp/TypeEnter;)V
invokespecial com.sun.tools.javac.comp.TypeEnter$AbstractMembersPhase.<init>:(Lcom/sun/tools/javac/comp/TypeEnter;Lcom/sun/tools/javac/util/Dependencies$CompletionCause;Lcom/sun/tools/javac/comp/TypeEnter$Phase;)V
2: .line 911
return
end local 0 // com.sun.tools.javac.comp.TypeEnter$RecordPhase this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/comp/TypeEnter$RecordPhase;
MethodParameters:
Name Flags
this$0 final
protected void runPhase(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>);
descriptor: (Lcom/sun/tools/javac/comp/Env;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=2
start local 0 // com.sun.tools.javac.comp.TypeEnter$RecordPhase this
start local 1 // com.sun.tools.javac.comp.Env env
0: .line 915
aload 1 /* env */
getfield com.sun.tools.javac.comp.Env.enclClass:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
astore 2 /* tree */
start local 2 // com.sun.tools.javac.tree.JCTree$JCClassDecl tree
1: .line 916
aload 2 /* tree */
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
astore 3 /* sym */
start local 3 // com.sun.tools.javac.code.Symbol$ClassSymbol sym
2: .line 917
aload 3 /* sym */
getfield com.sun.tools.javac.code.Symbol$ClassSymbol.flags_field:J
ldc 2305843009213693952
land
lconst_0
lcmp
ifeq 15
3: .line 918
aload 2 /* tree */
invokestatic com.sun.tools.javac.tree.TreeInfo.recordFields:(Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)Lcom/sun/tools/javac/util/List;
astore 4 /* fields */
start local 4 // com.sun.tools.javac.util.List fields
4: .line 919
aload 0 /* this */
getfield com.sun.tools.javac.comp.TypeEnter$RecordPhase.this$0:Lcom/sun/tools/javac/comp/TypeEnter;
getfield com.sun.tools.javac.comp.TypeEnter.memberEnter:Lcom/sun/tools/javac/comp/MemberEnter;
aload 4 /* fields */
aload 1 /* env */
invokevirtual com.sun.tools.javac.comp.MemberEnter.memberEnter:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/comp/Env;)V
5: .line 920
aload 4 /* fields */
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 8
StackMap locals: com.sun.tools.javac.comp.TypeEnter$RecordPhase com.sun.tools.javac.comp.Env com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.tools.javac.code.Symbol$ClassSymbol com.sun.tools.javac.util.List top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree$JCVariableDecl
astore 5 /* field */
start local 5 // com.sun.tools.javac.tree.JCTree$JCVariableDecl field
7: .line 921
aload 3 /* sym */
aload 5 /* field */
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.sym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
iconst_1
invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.getRecordComponent:(Lcom/sun/tools/javac/code/Symbol$VarSymbol;Z)Lcom/sun/tools/javac/code/Symbol$RecordComponent;
pop
end local 5 // com.sun.tools.javac.tree.JCTree$JCVariableDecl field
8: .line 920
StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: .line 924
aload 0 /* this */
aload 3 /* sym */
aload 1 /* env */
invokevirtual com.sun.tools.javac.comp.TypeEnter$RecordPhase.enterThisAndSuper:(Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/javac/comp/Env;)V
10: .line 927
aload 2 /* tree */
getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.defs:Lcom/sun/tools/javac/util/List;
invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 14
StackMap locals:
StackMap stack:
11: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.javac.tree.JCTree
astore 5 /* def */
start local 5 // com.sun.tools.javac.tree.JCTree def
12: .line 928
aload 5 /* def */
invokestatic com.sun.tools.javac.tree.TreeInfo.isConstructor:(Lcom/sun/tools/javac/tree/JCTree;)Z
ifeq 14
13: .line 929
aload 0 /* this */
getfield com.sun.tools.javac.comp.TypeEnter$RecordPhase.this$0:Lcom/sun/tools/javac/comp/TypeEnter;
getfield com.sun.tools.javac.comp.TypeEnter.memberEnter:Lcom/sun/tools/javac/comp/MemberEnter;
aload 5 /* def */
aload 1 /* env */
invokevirtual com.sun.tools.javac.comp.MemberEnter.memberEnter:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Env;)V
end local 5 // com.sun.tools.javac.tree.JCTree def
14: .line 927
StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
end local 4 // com.sun.tools.javac.util.List fields
15: .line 933
StackMap locals: com.sun.tools.javac.comp.TypeEnter$RecordPhase com.sun.tools.javac.comp.Env com.sun.tools.javac.tree.JCTree$JCClassDecl com.sun.tools.javac.code.Symbol$ClassSymbol
StackMap stack:
return
end local 3 // com.sun.tools.javac.code.Symbol$ClassSymbol sym
end local 2 // com.sun.tools.javac.tree.JCTree$JCClassDecl tree
end local 1 // com.sun.tools.javac.comp.Env env
end local 0 // com.sun.tools.javac.comp.TypeEnter$RecordPhase this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/tools/javac/comp/TypeEnter$RecordPhase;
0 16 1 env Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
1 16 2 tree Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
2 16 3 sym Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
4 15 4 fields Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;>;
7 8 5 field Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
12 14 5 def Lcom/sun/tools/javac/tree/JCTree;
Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;)V
MethodParameters:
Name Flags
env
}
SourceFile: "TypeEnter.java"
NestHost: com.sun.tools.javac.comp.TypeEnter
InnerClasses:
public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
public RecordComponent = com.sun.tools.javac.code.Symbol$RecordComponent of com.sun.tools.javac.code.Symbol
public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
private abstract AbstractMembersPhase = com.sun.tools.javac.comp.TypeEnter$AbstractMembersPhase of com.sun.tools.javac.comp.TypeEnter
private final MembersPhase = com.sun.tools.javac.comp.TypeEnter$MembersPhase of com.sun.tools.javac.comp.TypeEnter
abstract Phase = com.sun.tools.javac.comp.TypeEnter$Phase of com.sun.tools.javac.comp.TypeEnter
private final RecordPhase = com.sun.tools.javac.comp.TypeEnter$RecordPhase of com.sun.tools.javac.comp.TypeEnter
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
public final CompletionCause = com.sun.tools.javac.util.Dependencies$CompletionCause of com.sun.tools.javac.util.Dependencies