On Thu, 22 Apr 2021 02:21:14 GMT, Vicente Romero <vrom...@openjdk.org> wrote:
> Please review the javadoc related changes to make sealed classes a final > feature in Java. The patch is mostly removing preview features related code > that is not necessary anymore in javadoc. > > TIA Generally, I think you have have deleted too much. Although the code will work as you propose, at some point there will be new preview language features, and I think it would be better to leave a skeleton of the code in place, even if the set of preview language features is empty for now. I think it would be better to limit the deletions to those lines of code that are specific to sealed classes and permits. src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java line 87: > 85: private static final Set<String> previewModifiers > 86: = Set.of("sealed", "non-sealed"); > 87: Rather than delete those lines, for future support it might be better just to set previewModifiers to `Collections.emptySet()` src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java line 193: > 191: } > 192: > 193: mods.add(modifiersPart); See previous comment, to leave previewModifiers in place as an empty set src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java line 2242: > 2240: Set<TypeElement> reflectivePreviewAPI = new > HashSet<>(previewAPITypes.reflectivePreviewAPI); > 2241: Set<TypeElement> declaredUsingPreviewFeature = new > HashSet<>(previewAPITypes.declaredUsingPreviewFeature); > 2242: Set<DeclarationPreviewLanguageFeatures> previewLanguageFeatures > = new HashSet<>(); consider not deleting this; just leave it empty src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java line 2261: > 2259: if > (previewLanguageFeatures.contains(DeclarationPreviewLanguageFeatures.SEALED_PERMITS)) > { > 2260: > previewLanguageFeatures.remove(DeclarationPreviewLanguageFeatures.SEALED); > 2261: } These lines should go, because they specifically refer to SEALED stuff, but the rest of the block could stay src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDocletWriter.java line 2295: > 2293: featureCodes); > 2294: } > 2295: Nothing here seems specific to SEALED, so leave it src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Signatures.java line 191: > 189: > classWriter.links.createLink(classWriter.htmlIds.forPreviewSection(typeElement), > 190: > classWriter.contents.previewMark); > 191: permitsSpan.add(HtmlTree.SUP(link)); OK, yes, this is specific to permits, part of the sealed feature ------------- PR: https://git.openjdk.java.net/jdk/pull/3613