src/share/classes/com/sun/tools/javadoc/JavadocEnter.java

changeset 1065
e9f118c2bd3c
parent 893
8f0dcb9499db
child 1280
5c0b3faeb0b0
equal deleted inserted replaced
1064:c0d5f93af048 1065:e9f118c2bd3c
29 import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition; 29 import com.sun.tools.javac.util.JCDiagnostic.DiagnosticPosition;
30 import com.sun.tools.javac.util.List; 30 import com.sun.tools.javac.util.List;
31 import com.sun.tools.javac.code.Kinds; 31 import com.sun.tools.javac.code.Kinds;
32 import com.sun.tools.javac.code.Symbol.*; 32 import com.sun.tools.javac.code.Symbol.*;
33 import com.sun.tools.javac.comp.Enter; 33 import com.sun.tools.javac.comp.Enter;
34 import com.sun.tools.javac.tree.JCTree;
35 import com.sun.tools.javac.tree.JCTree.*; 34 import com.sun.tools.javac.tree.JCTree.*;
36 import javax.tools.JavaFileObject; 35 import javax.tools.JavaFileObject;
37 36
38 /** 37 /**
39 * Javadoc's own enter phase does a few things above and beyond that 38 * Javadoc's own enter phase does a few things above and beyond that
63 } 62 }
64 63
65 final Messager messager; 64 final Messager messager;
66 final DocEnv docenv; 65 final DocEnv docenv;
67 66
67 @Override
68 public void main(List<JCCompilationUnit> trees) { 68 public void main(List<JCCompilationUnit> trees) {
69 // count all Enter errors as warnings. 69 // count all Enter errors as warnings.
70 int nerrors = messager.nerrors; 70 int nerrors = messager.nerrors;
71 super.main(trees); 71 super.main(trees);
72 messager.nwarnings += (messager.nerrors - nerrors); 72 messager.nwarnings += (messager.nerrors - nerrors);
73 messager.nerrors = nerrors; 73 messager.nerrors = nerrors;
74 } 74 }
75 75
76 @Override
76 public void visitTopLevel(JCCompilationUnit tree) { 77 public void visitTopLevel(JCCompilationUnit tree) {
77 super.visitTopLevel(tree); 78 super.visitTopLevel(tree);
78 if (tree.sourcefile.isNameCompatible("package-info", JavaFileObject.Kind.SOURCE)) { 79 if (tree.sourcefile.isNameCompatible("package-info", JavaFileObject.Kind.SOURCE)) {
79 String comment = tree.docComments.get(tree); 80 String comment = tree.docComments.get(tree);
80 docenv.makePackageDoc(tree.packge, comment, tree); 81 docenv.makePackageDoc(tree.packge, comment, tree);
81 } 82 }
82 } 83 }
83 84
85 @Override
84 public void visitClassDef(JCClassDecl tree) { 86 public void visitClassDef(JCClassDecl tree) {
85 super.visitClassDef(tree); 87 super.visitClassDef(tree);
86 if (tree.sym != null && tree.sym.kind == Kinds.TYP) { 88 if (tree.sym == null) return;
87 if (tree.sym == null) return; 89 if (tree.sym.kind == Kinds.TYP || tree.sym.kind == Kinds.ERR) {
88 String comment = env.toplevel.docComments.get(tree); 90 String comment = env.toplevel.docComments.get(tree);
89 ClassSymbol c = tree.sym; 91 ClassSymbol c = tree.sym;
90 docenv.makeClassDoc(c, comment, tree, env.toplevel.lineMap); 92 docenv.makeClassDoc(c, comment, tree, env.toplevel.lineMap);
91 } 93 }
92 } 94 }
93 95
94 /** Don't complain about a duplicate class. */ 96 /** Don't complain about a duplicate class. */
97 @Override
95 protected void duplicateClass(DiagnosticPosition pos, ClassSymbol c) {} 98 protected void duplicateClass(DiagnosticPosition pos, ClassSymbol c) {}
96 99
97 } 100 }

mercurial