8020278: NPE in javadoc

Fri, 12 Jul 2013 13:11:12 -0700

author
jjg
date
Fri, 12 Jul 2013 13:11:12 -0700
changeset 1895
37031963493e
parent 1894
87a951c88a33
child 1896
44e27378f523

8020278: NPE in javadoc
Reviewed-by: mcimadamore, vromero

src/share/classes/com/sun/tools/doclint/DocLint.java file | annotate | diff | comparison | revisions
src/share/classes/com/sun/tools/doclint/Env.java file | annotate | diff | comparison | revisions
test/tools/doclint/BadPackageCommentTest.java file | annotate | diff | comparison | revisions
test/tools/doclint/BadPackageCommentTest.out file | annotate | diff | comparison | revisions
     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

mercurial