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 }
|