< prev index next >

src/jdk.compiler/share/classes/com/sun/tools/javac/comp/TypeEnter.java

Print this page




 983 
 984     /** Enter member fields and methods of a class
 985      */
 986     private final class MembersPhase extends AbstractMembersPhase {
 987 
 988         public MembersPhase() {
 989             super(CompletionCause.MEMBERS_PHASE, null);
 990         }
 991 
 992         @Override
 993         protected void runPhase(Env<AttrContext> env) {
 994             JCClassDecl tree = env.enclClass;
 995             ClassSymbol sym = tree.sym;
 996             ClassType ct = (ClassType)sym.type;
 997 
 998             JCTree defaultConstructor = null;
 999 
1000             // Add default constructor if needed.
1001             DefaultConstructorHelper helper = getDefaultConstructorHelper(env);
1002             if (helper != null) {

1003                 defaultConstructor = defaultConstructor(make.at(tree.pos), helper);
1004                 tree.defs = tree.defs.prepend(defaultConstructor);
1005             }
1006             if (!sym.isRecord()) {
1007                 enterThisAndSuper(sym, env);
1008             }
1009 
1010             if (!tree.typarams.isEmpty()) {
1011                 for (JCTypeParameter tvar : tree.typarams) {
1012                     chk.checkNonCyclic(tvar, (TypeVar)tvar.type);
1013                 }
1014             }
1015 
1016             finishClass(tree, defaultConstructor, env);
1017 
1018             if (allowTypeAnnos) {
1019                 typeAnnotations.organizeTypeAnnotationsSignatures(env, (JCClassDecl)env.tree);
1020                 typeAnnotations.validateTypeAnnotationsSignatures(env, (JCClassDecl)env.tree);
1021             }
1022         }




 983 
 984     /** Enter member fields and methods of a class
 985      */
 986     private final class MembersPhase extends AbstractMembersPhase {
 987 
 988         public MembersPhase() {
 989             super(CompletionCause.MEMBERS_PHASE, null);
 990         }
 991 
 992         @Override
 993         protected void runPhase(Env<AttrContext> env) {
 994             JCClassDecl tree = env.enclClass;
 995             ClassSymbol sym = tree.sym;
 996             ClassType ct = (ClassType)sym.type;
 997 
 998             JCTree defaultConstructor = null;
 999 
1000             // Add default constructor if needed.
1001             DefaultConstructorHelper helper = getDefaultConstructorHelper(env);
1002             if (helper != null) {
1003                 chk.checkDefaultConstructor(sym, tree.pos());
1004                 defaultConstructor = defaultConstructor(make.at(tree.pos), helper);
1005                 tree.defs = tree.defs.prepend(defaultConstructor);
1006             }
1007             if (!sym.isRecord()) {
1008                 enterThisAndSuper(sym, env);
1009             }
1010 
1011             if (!tree.typarams.isEmpty()) {
1012                 for (JCTypeParameter tvar : tree.typarams) {
1013                     chk.checkNonCyclic(tvar, (TypeVar)tvar.type);
1014                 }
1015             }
1016 
1017             finishClass(tree, defaultConstructor, env);
1018 
1019             if (allowTypeAnnos) {
1020                 typeAnnotations.organizeTypeAnnotationsSignatures(env, (JCClassDecl)env.tree);
1021                 typeAnnotations.validateTypeAnnotationsSignatures(env, (JCClassDecl)env.tree);
1022             }
1023         }


< prev index next >