diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java index 419c54d77bdcc..117c5fb7270ad 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java @@ -27,6 +27,7 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.List; import java.util.Set; import java.util.SortedSet; @@ -84,8 +85,7 @@ public class ClassWriterImpl extends SubWriterHolderWriter implements ClassWrite "java.lang.constant.ConstantDesc", "java.io.Serializable"); - private static final Set previewModifiers - = Set.of("sealed", "non-sealed"); + private static final Set previewModifiers = Collections.emptySet(); protected final TypeElement typeElement; @@ -196,7 +196,7 @@ protected TypeElement getCurrentPageElement() { return typeElement; } - @Override @SuppressWarnings("preview") + @Override public void addClassSignature(String modifiers, Content classInfoTree) { ContentBuilder mods = new ContentBuilder(); String sep = null; diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java index 804f3d59660f3..4c7261f195c4b 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java @@ -1686,7 +1686,6 @@ private boolean shouldNotRedirectRelativeLinks() { * * @return the text, with all the relative links redirected to work. */ - @SuppressWarnings("preview") private String redirectRelativeLinks(Element element, TextTree tt) { String text = tt.getBody(); if (element == null || utils.isOverviewElement(element) || shouldNotRedirectRelativeLinks()) { @@ -2232,7 +2231,6 @@ public void addPreviewInfo(Element forWhat, Content target) { } } - @SuppressWarnings("preview") private List getPreviewNotes(TypeElement el) { String className = el.getSimpleName().toString(); List result = new ArrayList<>(); @@ -2257,9 +2255,6 @@ private List getPreviewNotes(TypeElement el) { } previewLanguageFeatures.addAll(utils.previewLanguageFeaturesUsed(el)); if (!previewLanguageFeatures.isEmpty()) { - if (previewLanguageFeatures.contains(DeclarationPreviewLanguageFeatures.SEALED_PERMITS)) { - previewLanguageFeatures.remove(DeclarationPreviewLanguageFeatures.SEALED); - } for (DeclarationPreviewLanguageFeatures feature : previewLanguageFeatures) { String featureDisplayName = resources.getText("doclet.Declared_Using_Preview." + feature.name()); diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java index 0cd54ecbca1f6..33e3eb45d3419 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java @@ -109,7 +109,6 @@ public TypeSignature setModifiers(Content modifiers) { return this; } - @SuppressWarnings("preview") public Content toContent() { Content content = new ContentBuilder(); Content annotationInfo = classWriter.getAnnotationInfo(typeElement, true); @@ -185,10 +184,6 @@ public Content toContent() { if (isFirst) { content.add(DocletConstants.NL); permitsSpan.add("permits"); - Content link = - classWriter.links.createLink(classWriter.htmlIds.forPreviewSection(typeElement), - classWriter.contents.previewMark); - permitsSpan.add(HtmlTree.SUP(link)); permitsSpan.add(" "); isFirst = false; } else { @@ -209,7 +204,6 @@ public Content toContent() { return HtmlTree.DIV(HtmlStyle.typeSignature, content); } - @SuppressWarnings("preview") private Content getRecordComponents() { Content content = new ContentBuilder(); content.add("("); diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java index 6f3bb81a61527..f18a6951ff3eb 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/TagletWriterImpl.java @@ -287,7 +287,6 @@ public Content getParamHeader(ParamTaglet.ParamKind kind) { } @Override - @SuppressWarnings("preview") public Content paramTagOutput(Element element, ParamTree paramTag, String paramName) { ContentBuilder body = new ContentBuilder(); CommentHelper ch = utils.getCommentHelper(element); @@ -461,7 +460,6 @@ protected TypeElement getCurrentPageElement() { return htmlWriter.getCurrentPageElement(); } - @SuppressWarnings("preview") private Content createAnchorAndSearchIndex(Element element, String tagText, String desc, DocTree tree) { Content result = null; if (context.isFirstSentence && context.inSummary || context.inTags.contains(DocTree.Kind.INDEX)) { diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java index 655a93682b4fe..f3943d5e610e7 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseConfiguration.java @@ -625,7 +625,6 @@ public boolean isGeneratedDoc(TypeElement te) { * Splits the elements in a collection to its individual * collection. */ - @SuppressWarnings("preview") private static class Splitter { final Set mset = new LinkedHashSet<>(); diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/CommentUtils.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/CommentUtils.java index 38f84e751d292..1b8477aba7acc 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/CommentUtils.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/CommentUtils.java @@ -205,7 +205,6 @@ public void setRecordConstructorTree(ExecutableElement ee) { * Generates the description for the standard {@code equals} method for a record. * @param ee the {@code equals} method */ - @SuppressWarnings("preview") public void setRecordEqualsTree(ExecutableElement ee) { List fullBody = new ArrayList<>(); add(fullBody, "doclet.record_equals_doc.fullbody.head"); diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ClassBuilder.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ClassBuilder.java index e98c8c0a93ae3..5a6d8fac17bb1 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ClassBuilder.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/builders/ClassBuilder.java @@ -450,7 +450,6 @@ private void setEnumDocumentation(TypeElement elem) { * @param elem the record element */ - @SuppressWarnings("preview") private void setRecordDocumentation(TypeElement elem) { CommentUtils cmtUtils = configuration.cmtUtils; Set componentNames = elem.getRecordComponents().stream() diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ParamTaglet.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ParamTaglet.java index 199d28b66c3fe..b0a980397b560 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ParamTaglet.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/ParamTaglet.java @@ -133,7 +133,6 @@ public void inherit(DocFinder.Input input, DocFinder.Output output) { } @Override - @SuppressWarnings("preview") public Content getAllBlockTagOutput(Element holder, TagletWriter writer) { Utils utils = writer.configuration().utils; if (utils.isExecutableElement(holder)) { diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java index 3caa72c8bf55d..1d2cf66646db1 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/taglets/TagletManager.java @@ -353,7 +353,6 @@ void seenTag(String name) { * @param trees the trees containing the comments * @param inlineTrees true if the trees are inline and false otherwise */ - @SuppressWarnings("preview") public void checkTags(Element element, Iterable trees, boolean inlineTrees) { if (trees == null) { return; diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/ClassUseMapper.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/ClassUseMapper.java index 16bf815d5b3e3..3628e5681022e 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/ClassUseMapper.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/ClassUseMapper.java @@ -483,7 +483,6 @@ private void addAll(Map> map, TypeElement te, Col private void mapTypeParameters(final Map> map, Element element, final T holder) { - @SuppressWarnings("preview") SimpleElementVisitor14 elementVisitor = new SimpleElementVisitor14() { @@ -561,7 +560,6 @@ public Void visitDeclared(DeclaredType t, Void p) { * @param e whose type parameters are being checked. * @param holder owning the type parameters. */ - @SuppressWarnings("preview") private void mapAnnotations(final Map> map, Element e, final T holder) { new SimpleElementVisitor14() { diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Comparators.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Comparators.java index b5b716fc8dd41..9ac942c9b3b17 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Comparators.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Comparators.java @@ -511,7 +511,6 @@ private int getKindIndex(Element e) { }; } - @SuppressWarnings("preview") boolean hasParameters(Element e) { return new SimpleElementVisitor14() { @Override @@ -533,7 +532,6 @@ protected Boolean defaultAction(Element e, Void p) { * @return a negative integer, zero, or a positive integer as the first argument is less * than, equal to, or greater than the second. */ - @SuppressWarnings("preview") private String getFullyQualifiedName(Element e) { return new SimpleElementVisitor14() { @Override diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/IndexItem.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/IndexItem.java index 94ff41b549982..c4cfb0cdbe64c 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/IndexItem.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/IndexItem.java @@ -348,7 +348,6 @@ protected Category getCategory(DocTree docTree) { }; } - @SuppressWarnings("preview") protected Category getCategory(Element element) { return new SimpleElementVisitor14() { @Override diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java index 4ef76a82de202..0757dba2c6191 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/Utils.java @@ -34,6 +34,7 @@ import java.text.RuleBasedCollator; import java.util.ArrayDeque; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Deque; @@ -54,6 +55,7 @@ import java.util.TreeSet; import java.util.function.Predicate; import java.util.stream.Collectors; + import javax.lang.model.AnnotatedConstruct; import javax.lang.model.SourceVersion; import javax.lang.model.element.AnnotationMirror; @@ -488,7 +490,6 @@ public boolean definesSerializableFields(TypeElement aclass) { return configuration.workArounds.definesSerializableFields( aclass); } - @SuppressWarnings("preview") public String modifiersToString(Element e, boolean trailingSpace) { SortedSet modifiers = new TreeSet<>(e.getModifiers()); modifiers.remove(NATIVE); @@ -2988,29 +2989,12 @@ public String toString() { * @param e the Element to check. * @return the set of preview language features used to declare the given element */ - @SuppressWarnings("preview") public Set previewLanguageFeaturesUsed(Element e) { - Set result = new HashSet<>(); - - if ((e.getKind().isClass() || e.getKind().isInterface()) && - e.getModifiers().contains(Modifier.SEALED)) { - List permits = ((TypeElement) e).getPermittedSubclasses(); - boolean hasLinkablePermits = permits.stream() - .anyMatch(t -> isLinkable(asTypeElement(t))); - if (hasLinkablePermits) { - result.add(DeclarationPreviewLanguageFeatures.SEALED_PERMITS); - } else { - result.add(DeclarationPreviewLanguageFeatures.SEALED); - } - } - - return result; + return new HashSet<>(); } public enum DeclarationPreviewLanguageFeatures { - - SEALED(List.of("sealed")), - SEALED_PERMITS(List.of("sealed", "permits")); + NONE(List.of("")); public final List features; DeclarationPreviewLanguageFeatures(List features) { @@ -3018,7 +3002,6 @@ public enum DeclarationPreviewLanguageFeatures { } } - @SuppressWarnings("preview") public PreviewSummary declaredUsingPreviewAPIs(Element el) { List usedInDeclaration = new ArrayList<>(); usedInDeclaration.addAll(annotations2Classes(el)); diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java index 0887128213228..ef0789139ccf7 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/VisibleMemberTable.java @@ -784,7 +784,6 @@ class LocalMemberTable { } } - @SuppressWarnings("preview") String getMemberKey(Element e) { return new SimpleElementVisitor14() { @Override diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java index 5cdce91f9c61f..acd1011f5acf9 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/tool/ElementsTable.java @@ -977,7 +977,6 @@ private boolean isTypeElementSelected(TypeElement te) { return (xclasses || toolEnv.getFileKind(te) == SOURCE) && isSelected(te); } - @SuppressWarnings("preview") SimpleElementVisitor14 visibleElementVisitor = null; /** * Returns true if the element is selected, by applying @@ -989,7 +988,6 @@ private boolean isTypeElementSelected(TypeElement te) { * @param e the element to be checked * @return true if the element is visible */ - @SuppressWarnings("preview") public boolean isSelected(Element e) { if (toolEnv.isSynthetic((Symbol) e)) { return false; @@ -1029,7 +1027,6 @@ public Boolean visitUnknown(Element e, Void p) { return visibleElementVisitor.visit(e); } - @SuppressWarnings("preview") private class IncludedVisitor extends SimpleElementVisitor14 { private final Set includedCache; diff --git a/test/langtools/jdk/javadoc/doclet/testPreview/TestPreview.java b/test/langtools/jdk/javadoc/doclet/testPreview/TestPreview.java index 4e3a0c41bf692..46035e6eb71ed 100644 --- a/test/langtools/jdk/javadoc/doclet/testPreview/TestPreview.java +++ b/test/langtools/jdk/javadoc/doclet/testPreview/TestPreview.java @@ -56,35 +56,16 @@ public void testUserJavadoc() { "m/pkg"); checkExit(Exit.OK); - ResourceBundle bundle = ResourceBundle.getBundle("jdk.javadoc.internal.doclets.formats.html.resources.standard", ModuleLayer.boot().findModule("jdk.javadoc").get()); - - { - String zero = MessageFormat.format(bundle.getString("doclet.PreviewLeadingNote"), "TestPreviewDeclaration"); - String one = MessageFormat.format(bundle.getString("doclet.Declared_Using_Preview"), "TestPreviewDeclaration", "Sealed Classes", "sealed"); - String two = MessageFormat.format(bundle.getString("doclet.PreviewTrailingNote1"), "TestPreviewDeclaration"); - String three = MessageFormat.format(bundle.getString("doclet.PreviewTrailingNote2"), new Object[0]); - String expectedTemplate = """ -
{0} -
    -
  • {1}
  • -
-
{2}
-
{3}
-
"""; - String expected = MessageFormat.format(expectedTemplate, zero, one, two, three); - checkOutput("m/pkg/TestPreviewDeclaration.html", true, expected); - } - checkOutput("m/pkg/TestPreviewDeclarationUse.html", true, - "TestPreviewDeclarationPREVIEW"); + "TestPreviewDeclaration"); checkOutput("m/pkg/TestPreviewAPIUse.html", true, "CorePREVIEW"); checkOutput("m/pkg/DocAnnotation.html", true, - "
"); + "public @interface DocAnnotation"); checkOutput("m/pkg/DocAnnotationUse1.html", true, - "
"); + "
pkg.DocAnnotationUse1
"); checkOutput("m/pkg/DocAnnotationUse2.html", true, - "
"); + "
pkg.DocAnnotationUse2
"); } @Test diff --git a/test/langtools/jdk/javadoc/doclet/testSealedTypes/TestSealedTypes.java b/test/langtools/jdk/javadoc/doclet/testSealedTypes/TestSealedTypes.java index 7c13190fe7125..8112b286891b4 100644 --- a/test/langtools/jdk/javadoc/doclet/testSealedTypes/TestSealedTypes.java +++ b/test/langtools/jdk/javadoc/doclet/testSealedTypes/TestSealedTypes.java @@ -54,15 +54,13 @@ public void testSealedModifierClass(Path base) throws IOException { javadoc("-d", base.resolve("out").toString(), "-sourcepath", src.toString(), - "--enable-preview", "--source", thisRelease, "p"); checkExit(Exit.OK); checkOutput("p/A.html", true, """ -
public sealedPREVIEW class A"""); +
public sealed class A + """); } @Test @@ -73,15 +71,13 @@ public void testSealedModifierInterface(Path base) throws IOException { javadoc("-d", base.resolve("out").toString(), "-sourcepath", src.toString(), - "--enable-preview", "--source", thisRelease, "p"); checkExit(Exit.OK); checkOutput("p/A.html", true, """ -
public sealedPREVIEW interface A"""); +
public sealed interface A
+ """); } @Test @@ -93,21 +89,18 @@ public void testNonSealedModifierClass(Path base) throws IOException { javadoc("-d", base.resolve("out").toString(), "--source-path", src.toString(), - "--enable-preview", "--source", thisRelease, "p"); checkExit(Exit.OK); checkOutput("p/A.html", true, """ -
public sealedPREVIEW class A"""); +
public sealed class A + """); checkOutput("p/B.html", true, """ -
public non-sealedPREVIEW class B"""); +
public non-sealed class B + """); } @Test @@ -119,21 +112,19 @@ public void testNonSealedModifierInterface(Path base) throws IOException { javadoc("-d", base.resolve("out").toString(), "--source-path", src.toString(), - "--enable-preview", "--source", thisRelease, "p"); checkExit(Exit.OK); checkOutput("p/A.html", true, """ -
public sealedPREVIEW interface A"""); +
public sealed interface A + """); checkOutput("p/B.html", true, """ -
public non-sealedPREVIEW interface B"""); +
public non-sealed interface B + extends A
+ """); } @Test @@ -145,21 +136,18 @@ public void testSealedSubtypeModifierClass(Path base) throws IOException { javadoc("-d", base.resolve("out").toString(), "--source-path", src.toString(), - "--enable-preview", "--source", thisRelease, "p"); checkExit(Exit.OK); checkOutput("p/A.html", true, """ -
public sealedPREVIEW class A"""); +
public sealed class A + """); checkOutput("p/B.html", true, """ -
public abstract sealed<\ - a href="#preview-p.B">PREVIEW class B"""); +
public abstract sealed class B + """); } @Test @@ -171,21 +159,19 @@ public void testSealedSubtypeInterface(Path base) throws IOException { javadoc("-d", base.resolve("out").toString(), "--source-path", src.toString(), - "--enable-preview", "--source", thisRelease, "p"); checkExit(Exit.OK); checkOutput("p/A.html", true, """ -
public sealedPREVIEW interface A"""); +
public sealed interface A + """); checkOutput("p/B.html", true, """ -
public sealedPREVIEW interface B"""); +
public sealed interface B + extends A
+ """); } @Test @@ -198,19 +184,15 @@ public void testSinglePermits(Path base) throws IOException { javadoc("-d", base.resolve("out").toString(), "--source-path", src.toString(), "--no-platform-links", - "--enable-preview", "--source", thisRelease, "p"); checkExit(Exit.OK); checkOutput("p/A.html", true, """ -
public sealedPREVIEW class A - extends java.lang.Object - permitsPREVIEW BPREVIEW
"""); + + """); } @Test @@ -225,21 +207,15 @@ public void testMultiplePermits(Path base) throws IOException { javadoc("-d", base.resolve("out").toString(), "--source-path", src.toString(), "--no-platform-links", - "--enable-preview", "--source", thisRelease, "p"); checkExit(Exit.OK); checkOutput("p/A.html", true, """ -
public sealedPREVIEW class A - extends java.lang.Object - permitsPREVIEW BPREVIEW, CPREVIEW, DPREVIEW
"""); +
public sealed class A + extends java.lang.Object + permits B, C, D
+ """); } @Test @@ -254,24 +230,18 @@ public void testPartialMultiplePermits(Path base) throws IOException { javadoc("-d", base.resolve("out").toString(), "--source-path", src.toString(), "--no-platform-links", - "--enable-preview", "--source", thisRelease, "p"); checkExit(Exit.OK); checkOutput("p/A.html", true, """ -
public sealedPREVIEW class A - extends java.lang.Object - permitsPREVIEW BPREVIEW, CPREVIEW (not exhaustive)<\ - /div>"""); +
public sealed class A + extends java.lang.Object + permits B, C (not exhaustive)
+ """); } - // @Test // javac incorrectly rejects the source + @Test public void testPartialMultiplePermitsWithSubtypes1(Path base) throws IOException { Path src = base.resolve("src"); tb.writeJavaFiles(src, @@ -284,20 +254,16 @@ public void testPartialMultiplePermitsWithSubtypes1(Path base) throws IOExceptio javadoc("-d", base.resolve("out").toString(), "--source-path", src.toString(), - "--enable-preview", "--source", thisRelease, + "--no-platform-links", "p"); checkExit(Exit.OK); checkOutput("p/A.html", true, """ -
public sealedPREVIEW class A - extends java.lang.Object - permitsPREVIEW A.BPREVIEW, A.C\ - PREVIEW, A.D
"""); +
public sealed class A + extends java.lang.Object + permits B, C (not exhaustive)
+ """); } @Test @@ -314,20 +280,15 @@ public void testPartialMultiplePermitsWithSubtypes2(Path base) throws IOExceptio javadoc("-d", base.resolve("out").toString(), "--source-path", src.toString(), "--no-platform-links", - "--enable-preview", "--source", thisRelease, "p"); checkExit(Exit.OK); checkOutput("p/A.html", true, """ -
public sealedPREVIEW class A\ - +
public sealed class A extends java.lang.Object - permitsPREVIEW BPREVIEW,\ - CPREVIEW<\ - /a> (not exhaustive)
"""); + permits B, C (not exhaustive)
+ """); } @Test @@ -343,21 +304,15 @@ public void testImplicitPermitsAuxiliary(Path base) throws IOException { "--source-path", src.toString(), "--no-platform-links", "-package", - "--enable-preview", "--source", thisRelease, "p"); checkExit(Exit.OK); checkOutput("p/A.html", true, """ -
public sealedPREVIEW class A - extends java.lang.Object - permitsPREVIEW BPREVIEW, CPREVIEW, DPREVIEW
"""); +
public sealed class A + extends java.lang.Object + permits B, C, D
+ """); } @Test @@ -373,20 +328,14 @@ public void testImplicitPermitsNested(Path base) throws IOException { javadoc("-d", base.resolve("out").toString(), "--source-path", src.toString(), "--no-platform-links", - "--enable-preview", "--source", thisRelease, "p"); checkExit(Exit.OK); checkOutput("p/A.html", true, """ -
public sealedPREVIEW class A - extends java.lang.Object - permitsPREVIEW A.BPR\ - EVIEW, A.CPREVIEW, A.D\ - PREVIEW
"""); +
public sealed class A + extends java.lang.Object + permits A.B, A.C, A.D
+ """); } }