diff --git a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java index 36a50ca5e5a..caf42f92666 100644 --- a/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/jvm/ClassReader.java @@ -124,6 +124,8 @@ public class ClassReader { */ public boolean saveParameterNames; + private final boolean addTypeAnnotationsToSymbol; + /** * The currently selected profile. */ @@ -291,6 +293,8 @@ protected ClassReader(Context context) { lintClassfile = Lint.instance(context).isEnabled(LintCategory.CLASSFILE); + addTypeAnnotationsToSymbol = options.getBoolean("addTypeAnnotationsToSymbol", false); + initAttributeReaders(); } @@ -2188,7 +2192,9 @@ public void run() { currentClassFile = classFile; List newList = deproxyTypeCompoundList(proxies); sym.setTypeAttributes(newList.prependList(sym.getRawTypeAttributes())); - addTypeAnnotationsToSymbol(sym, newList); + if (addTypeAnnotationsToSymbol) { + addTypeAnnotationsToSymbol(sym, newList); + } } finally { currentClassFile = previousClassFile; } diff --git a/test/langtools/tools/javac/annotations/typeAnnotations/CompletionErrorOnEnclosingType.java b/test/langtools/tools/javac/annotations/typeAnnotations/CompletionErrorOnEnclosingType.java index 11b4e1ccbd4..4928ee27351 100644 --- a/test/langtools/tools/javac/annotations/typeAnnotations/CompletionErrorOnEnclosingType.java +++ b/test/langtools/tools/javac/annotations/typeAnnotations/CompletionErrorOnEnclosingType.java @@ -80,7 +80,7 @@ class C { new JavacTask(tb) .outdir(out) .classpath(out) - .options("-XDrawDiagnostics") + .options("-XDrawDiagnostics", "-XDaddTypeAnnotationsToSymbol=true") .files(src.resolve("C.java")) .run(Expect.FAIL) .writeAll() diff --git a/test/langtools/tools/javac/processing/model/type/BasicAnnoTests.java b/test/langtools/tools/javac/processing/model/type/BasicAnnoTests.java index 216efe5dea9..0b96093c1e6 100644 --- a/test/langtools/tools/javac/processing/model/type/BasicAnnoTests.java +++ b/test/langtools/tools/javac/processing/model/type/BasicAnnoTests.java @@ -33,7 +33,7 @@ * jdk.compiler/com.sun.tools.javac.util * @build JavacTestingAbstractProcessor DPrinter BasicAnnoTests * @compile/process -XDaccessInternalAPI -processor BasicAnnoTests -proc:only BasicAnnoTests.java - * @compile/process -XDaccessInternalAPI -processor BasicAnnoTests -proc:only BasicAnnoTests + * @compile/process -XDaccessInternalAPI -XDaddTypeAnnotationsToSymbol=true -processor BasicAnnoTests -proc:only BasicAnnoTests */ import java.io.PrintWriter;