Fri, 12 Jul 2013 13:11:12 -0700
8020278: NPE in javadoc
Reviewed-by: mcimadamore, vromero
1.1 --- a/src/share/classes/com/sun/tools/doclint/DocLint.java Thu Jul 11 15:37:02 2013 +0100 1.2 +++ b/src/share/classes/com/sun/tools/doclint/DocLint.java Fri Jul 12 13:11:12 2013 -0700 1.3 @@ -328,6 +328,14 @@ 1.4 abstract void visitDecl(Tree tree, Name name); 1.5 1.6 @Override 1.7 + public Void visitCompilationUnit(CompilationUnitTree tree, Void ignore) { 1.8 + if (tree.getPackageName() != null) { 1.9 + visitDecl(tree, null); 1.10 + } 1.11 + return super.visitCompilationUnit(tree, ignore); 1.12 + } 1.13 + 1.14 + @Override 1.15 public Void visitClass(ClassTree tree, Void ignore) { 1.16 visitDecl(tree, tree.getSimpleName()); 1.17 return super.visitClass(tree, ignore);
2.1 --- a/src/share/classes/com/sun/tools/doclint/Env.java Thu Jul 11 15:37:02 2013 +0100 2.2 +++ b/src/share/classes/com/sun/tools/doclint/Env.java Fri Jul 12 13:11:12 2013 -0700 2.3 @@ -142,7 +142,7 @@ 2.4 currElement = trees.getElement(currPath); 2.5 currOverriddenMethods = ((JavacTypes) types).getOverriddenMethods(currElement); 2.6 2.7 - AccessKind ak = null; 2.8 + AccessKind ak = AccessKind.PUBLIC; 2.9 for (TreePath p = path; p != null; p = p.getParentPath()) { 2.10 Element e = trees.getElement(p); 2.11 if (e != null && e.getKind() != ElementKind.PACKAGE) {
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/test/tools/doclint/BadPackageCommentTest.java Fri Jul 12 13:11:12 2013 -0700 3.3 @@ -0,0 +1,13 @@ 3.4 +/* 3.5 + * @test /nodynamiccopyright/ 3.6 + * @bug 8020278 3.7 + * @summary NPE in javadoc (bad handling of bad tag in package-info.java) 3.8 + * @build DocLintTester 3.9 + * @run main DocLintTester -ref BadPackageCommentTest.out BadPackageCommentTest.java 3.10 + */ 3.11 + 3.12 +/** 3.13 + * abc. 3.14 + * @@@ 3.15 + */ 3.16 +package p;
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/test/tools/doclint/BadPackageCommentTest.out Fri Jul 12 13:11:12 2013 -0700 4.3 @@ -0,0 +1,10 @@ 4.4 +BadPackageCommentTest.java:11: error: no tag name after @ 4.5 + * @@@ 4.6 + ^ 4.7 +BadPackageCommentTest.java:11: error: no tag name after @ 4.8 + * @@@ 4.9 + ^ 4.10 +BadPackageCommentTest.java:11: error: no tag name after @ 4.11 + * @@@ 4.12 + ^ 4.13 +3 errors