From dc0db76409cf0c16dd1805502b4ec73f9264c472 Mon Sep 17 00:00:00 2001 From: Jan Lahoda Date: Mon, 29 Aug 2016 20:55:24 +0200 Subject: [PATCH] 8164836: TEST_BUG: adjust scope of the DefinedByAnalyzer in tools/all/RunCodingRules.java Only enabling the DefinedByAnalyzer on java.compiler and jdk.compiler; removing the @DefinedBy annotations from other modules Reviewed-by: jjg, ksrini --- .../make/tools/crules/DefinedByAnalyzer.java | 18 +++ .../javadoc/internal/api/JavadocTaskImpl.java | 4 - .../jdk/javadoc/internal/api/JavadocTool.java | 12 +- .../html/AbstractExecutableMemberWriter.java | 10 +- .../formats/html/AbstractIndexWriter.java | 9 +- .../doclets/formats/html/ClassWriterImpl.java | 4 +- .../formats/html/HtmlDocletWriter.java | 72 +++++----- .../formats/html/TagletWriterImpl.java | 11 +- .../doclets/toolkit/OverviewElement.java | 22 ++- .../toolkit/taglets/TagletManager.java | 16 +-- .../doclets/toolkit/util/ClassUseMapper.java | 48 ++++--- .../doclets/toolkit/util/CommentHelper.java | 92 ++++++------- .../internal/doclets/toolkit/util/Utils.java | 129 +++++++++--------- .../toolkit/util/links/LinkFactory.java | 12 +- .../javadoc/internal/tool/ElementsTable.java | 20 ++- .../com/sun/tools/javap/JavapTask.java | 25 ---- .../classes/jdk/jshell/MemoryFileManager.java | 38 +++--- .../jdk/jshell/SourceCodeAnalysisImpl.java | 8 +- .../jdk/jshell/TreeDependencyScanner.java | 16 +-- langtools/test/ProblemList.txt | 1 - 20 files changed, 260 insertions(+), 307 deletions(-) diff --git a/langtools/make/tools/crules/DefinedByAnalyzer.java b/langtools/make/tools/crules/DefinedByAnalyzer.java index b0ab426239e..fe79c8eb745 100644 --- a/langtools/make/tools/crules/DefinedByAnalyzer.java +++ b/langtools/make/tools/crules/DefinedByAnalyzer.java @@ -23,10 +23,15 @@ package crules; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + import com.sun.source.util.JavacTask; import com.sun.source.util.TaskEvent.Kind; import com.sun.tools.javac.code.Symbol; import com.sun.tools.javac.code.Symbol.MethodSymbol; +import com.sun.tools.javac.tree.JCTree.JCClassDecl; import com.sun.tools.javac.tree.JCTree.JCMethodDecl; import com.sun.tools.javac.tree.TreeScanner; import com.sun.tools.javac.util.DefinedBy; @@ -44,7 +49,20 @@ public class DefinedByAnalyzer extends AbstractCodingRulesAnalyzer { eventKind = Kind.ANALYZE; } + //only java.compiler and jdk.compiler modules implement the APIs, + //so only these need the @DefinedBy annotation: + private static final Set MODULE = new HashSet<>(Arrays.asList( + "java.compiler", + "jdk.compiler" + )); + class DefinedByVisitor extends TreeScanner { + @Override + public void visitClassDef(JCClassDecl tree) { + if (MODULE.contains(tree.sym.packge().modle.name.toString())) { + super.visitClassDef(tree); + } + } @Override public void visitMethodDef(JCMethodDecl tree) { if (!isAPIPackage(packageName(tree.sym))) { diff --git a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/api/JavadocTaskImpl.java b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/api/JavadocTaskImpl.java index 97ec41633c9..d7cb90d0d5a 100644 --- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/api/JavadocTaskImpl.java +++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/api/JavadocTaskImpl.java @@ -34,8 +34,6 @@ import javax.tools.JavaFileObject; import com.sun.tools.javac.util.ClientCodeException; import com.sun.tools.javac.util.Context; -import com.sun.tools.javac.util.DefinedBy; -import com.sun.tools.javac.util.DefinedBy.Api; import jdk.javadoc.internal.tool.Start; /** @@ -68,14 +66,12 @@ public class JavadocTaskImpl implements DocumentationTask { setLocale(Locale.getDefault()); } - @DefinedBy(Api.COMPILER) public void setLocale(Locale locale) { if (used.get()) throw new IllegalStateException(); this.locale = locale; } - @DefinedBy(Api.COMPILER) public Boolean call() { if (!used.getAndSet(true)) { initContext(); diff --git a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/api/JavadocTool.java b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/api/JavadocTool.java index f85a52bfaeb..f9a5d52e454 100644 --- a/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/api/JavadocTool.java +++ b/langtools/src/jdk.javadoc/share/classes/jdk/javadoc/internal/api/JavadocTool.java @@ -49,8 +49,6 @@ import com.sun.tools.javac.file.JavacFileManager; import com.sun.tools.javac.file.BaseFileManager; import com.sun.tools.javac.util.ClientCodeException; import com.sun.tools.javac.util.Context; -import com.sun.tools.javac.util.DefinedBy; -import com.sun.tools.javac.util.DefinedBy.Api; import com.sun.tools.javac.util.Log; import jdk.javadoc.internal.tool.ToolOption; @@ -64,7 +62,7 @@ import jdk.javadoc.internal.tool.ToolOption; * or deletion without notice.