diff --git a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriter.java b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriter.java index e1bda37f512..e174963561e 100644 --- a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriter.java +++ b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriter.java @@ -331,13 +331,20 @@ public class ClassWriter extends SubWriterHolderWriter { } protected void buildSummaries(Content target) { - buildPropertiesSummary(target); + // compare with buildMemberDetails: + // buildPropertyDetails(detailsList); + // buildEnumConstantsDetails(detailsList); + // buildFieldDetails(detailsList); + // buildConstructorDetails(detailsList); + // buildAnnotationTypeMemberDetails(detailsList); + // buildMethodDetails(detailsList); buildNestedClassesSummary(target); + buildPropertiesSummary(target); buildEnumConstantsSummary(target); - buildAnnotationTypeRequiredMemberSummary(target); - buildAnnotationTypeOptionalMemberSummary(target); buildFieldsSummary(target); buildConstructorsSummary(target); + buildAnnotationTypeRequiredMemberSummary(target); + buildAnnotationTypeOptionalMemberSummary(target); buildMethodsSummary(target); } @@ -562,8 +569,18 @@ public class ClassWriter extends SubWriterHolderWriter { protected void buildMemberDetails(Content classContent) throws DocletException { Content detailsList = getDetailsList(); - buildEnumConstantsDetails(detailsList); + // compare with buildSummaries() + // buildNestedClassesSummary(target); + // buildPropertiesSummary(target); + // buildEnumConstantsSummary(target); + // buildFieldsSummary(target); + // buildConstructorsSummary(target); + // buildAnnotationTypeRequiredMemberSummary(target); + // buildAnnotationTypeOptionalMemberSummary(target); + // buildMethodsSummary(target); + buildPropertyDetails(detailsList); + buildEnumConstantsDetails(detailsList); buildFieldDetails(detailsList); buildConstructorDetails(detailsList); buildAnnotationTypeMemberDetails(detailsList); diff --git a/test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java b/test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java index 9b2fc5e95bb..84b03b85513 100644 --- a/test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java +++ b/test/langtools/jdk/javadoc/doclet/testAnnotationTypes/TestAnnotationTypes.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2022, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 2023, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -24,7 +24,7 @@ /* * @test * @bug 4973609 8015249 8025633 8026567 6469561 8071982 8162363 8182765 8223364 - 8242056 8261976 8223358 + 8242056 8261976 8223358 8313204 * @summary Make sure that annotation types with 0 members does not have * extra HR tags. * @library ../../lib @@ -185,4 +185,22 @@ public class TestAnnotationTypes extends JavadocTester { """ public @interface AnnotationTypeField"""); } + + @Test + public void testSectionOrdering() { + javadoc("-d", "out-3", + "-linksource", + "--no-platform-links", + "-sourcepath", testSrc, + "pkg"); + checkExit(Exit.OK); + + checkOrder("pkg/AnnotationTypeField.html", + "