equal
deleted
inserted
replaced
641 DiagnosticPosition prevLintPos = deferredLintHandler.setPos(tree.pos()); |
641 DiagnosticPosition prevLintPos = deferredLintHandler.setPos(tree.pos()); |
642 try { |
642 try { |
643 if (TreeInfo.isEnumInit(tree)) { |
643 if (TreeInfo.isEnumInit(tree)) { |
644 attr.attribIdentAsEnumType(localEnv, (JCIdent)tree.vartype); |
644 attr.attribIdentAsEnumType(localEnv, (JCIdent)tree.vartype); |
645 } else { |
645 } else { |
646 // Make sure type annotations are processed. |
|
647 // But we don't have a symbol to attach them to yet - use null. |
|
648 typeAnnotate(tree.vartype, env, null, tree.pos()); |
|
649 attr.attribType(tree.vartype, localEnv); |
646 attr.attribType(tree.vartype, localEnv); |
650 if (tree.nameexpr != null) { |
647 if (tree.nameexpr != null) { |
651 attr.attribExpr(tree.nameexpr, localEnv); |
648 attr.attribExpr(tree.nameexpr, localEnv); |
652 MethodSymbol m = localEnv.enclMethod.sym; |
649 MethodSymbol m = localEnv.enclMethod.sym; |
653 if (m.isConstructor()) { |
650 if (m.isConstructor()) { |
694 chk.checkTransparentVar(tree.pos(), v, enclScope); |
691 chk.checkTransparentVar(tree.pos(), v, enclScope); |
695 enclScope.enter(v); |
692 enclScope.enter(v); |
696 } |
693 } |
697 annotateLater(tree.mods.annotations, localEnv, v, tree.pos()); |
694 annotateLater(tree.mods.annotations, localEnv, v, tree.pos()); |
698 typeAnnotate(tree.vartype, env, v, tree.pos()); |
695 typeAnnotate(tree.vartype, env, v, tree.pos()); |
699 annotate.flush(); |
|
700 v.pos = tree.pos; |
696 v.pos = tree.pos; |
701 } |
697 } |
702 // where |
698 // where |
703 void checkType(JCTree tree, Type type, String diag) { |
699 void checkType(JCTree tree, Type type, String diag) { |
704 if (!tree.type.isErroneous() && !types.isSameType(tree.type, type)) { |
700 if (!tree.type.isErroneous() && !types.isSameType(tree.type, type)) { |
1082 |
1078 |
1083 attr.attribTypeVariables(tree.typarams, baseEnv); |
1079 attr.attribTypeVariables(tree.typarams, baseEnv); |
1084 // Do this here, where we have the symbol. |
1080 // Do this here, where we have the symbol. |
1085 for (JCTypeParameter tp : tree.typarams) |
1081 for (JCTypeParameter tp : tree.typarams) |
1086 typeAnnotate(tp, baseEnv, sym, tree.pos()); |
1082 typeAnnotate(tp, baseEnv, sym, tree.pos()); |
1087 annotate.flush(); |
|
1088 |
1083 |
1089 // Add default constructor if needed. |
1084 // Add default constructor if needed. |
1090 if ((c.flags() & INTERFACE) == 0 && |
1085 if ((c.flags() & INTERFACE) == 0 && |
1091 !TreeInfo.hasConstructors(tree.defs)) { |
1086 !TreeInfo.hasConstructors(tree.defs)) { |
1092 List<Type> argtypes = List.nil(); |
1087 List<Type> argtypes = List.nil(); |