8258338: Support deprecated records
Reviewed-by: hannesw
This commit is contained in:
parent
6b4b676550
commit
ce0ab2dd84
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets
formats/html
toolkit
test/langtools/jdk/javadoc/doclet/testRecordTypes
10
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java
10
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/DeprecatedListWriter.java
@ -95,6 +95,8 @@ public class DeprecatedListWriter extends SubWriterHolderWriter {
|
||||
return "enum.constant";
|
||||
case ANNOTATION_TYPE_MEMBER:
|
||||
return "annotation.type.member";
|
||||
case RECORD_CLASS:
|
||||
return "record.class";
|
||||
default:
|
||||
throw new AssertionError("unknown kind: " + kind);
|
||||
}
|
||||
@ -120,6 +122,8 @@ public class DeprecatedListWriter extends SubWriterHolderWriter {
|
||||
return "doclet.Errors";
|
||||
case ANNOTATION_TYPE:
|
||||
return "doclet.Annotation_Types";
|
||||
case RECORD_CLASS:
|
||||
return "doclet.RecordClasses";
|
||||
case FIELD:
|
||||
return "doclet.Fields";
|
||||
case METHOD:
|
||||
@ -155,6 +159,8 @@ public class DeprecatedListWriter extends SubWriterHolderWriter {
|
||||
return "doclet.errors";
|
||||
case ANNOTATION_TYPE:
|
||||
return "doclet.annotation_types";
|
||||
case RECORD_CLASS:
|
||||
return "doclet.record_classes";
|
||||
case FIELD:
|
||||
return "doclet.fields";
|
||||
case METHOD:
|
||||
@ -190,6 +196,8 @@ public class DeprecatedListWriter extends SubWriterHolderWriter {
|
||||
return "doclet.Errors";
|
||||
case ANNOTATION_TYPE:
|
||||
return "doclet.AnnotationType";
|
||||
case RECORD_CLASS:
|
||||
return "doclet.Record";
|
||||
case FIELD:
|
||||
return "doclet.Field";
|
||||
case METHOD:
|
||||
@ -229,6 +237,7 @@ public class DeprecatedListWriter extends SubWriterHolderWriter {
|
||||
case EXCEPTION:
|
||||
case ERROR:
|
||||
case ANNOTATION_TYPE:
|
||||
case RECORD_CLASS:
|
||||
writerMap.put(kind, classW);
|
||||
break;
|
||||
case FIELD:
|
||||
@ -407,6 +416,7 @@ public class DeprecatedListWriter extends SubWriterHolderWriter {
|
||||
case CLASS:
|
||||
case ENUM:
|
||||
case ANNOTATION_TYPE:
|
||||
case RECORD:
|
||||
writer = new NestedClassWriterImpl(this);
|
||||
break;
|
||||
case FIELD:
|
||||
|
@ -99,6 +99,7 @@ doclet.Annotation_Type_Members=Annotation Type Elements
|
||||
doclet.for_removal=for removal
|
||||
doclet.annotation_types=annotation types
|
||||
doclet.annotation_type_members=annotation type elements
|
||||
doclet.record_classes=record classes
|
||||
doclet.Generated_Docs_Untitled=Generated Documentation (Untitled)
|
||||
doclet.Other_Packages=Other Packages
|
||||
doclet.Description=Description
|
||||
|
@ -142,6 +142,7 @@ doclet.Method_Summary=Method Summary
|
||||
doclet.Record_Summary=Record Summary
|
||||
doclet.Interfaces=Interfaces
|
||||
doclet.Enums=Enums
|
||||
doclet.RecordClasses=Record Classes
|
||||
doclet.AnnotationTypes=Annotation Types
|
||||
doclet.Exceptions=Exceptions
|
||||
doclet.Errors=Errors
|
||||
|
@ -59,6 +59,7 @@ public class DeprecatedAPIListBuilder {
|
||||
ENUM,
|
||||
EXCEPTION, // no ElementKind mapping
|
||||
ERROR, // no ElementKind mapping
|
||||
RECORD_CLASS,
|
||||
ANNOTATION_TYPE,
|
||||
FIELD,
|
||||
METHOD,
|
||||
@ -144,6 +145,10 @@ public class DeprecatedAPIListBuilder {
|
||||
eset = deprecatedMap.get(DeprElementKind.ENUM);
|
||||
eset.add(e);
|
||||
break;
|
||||
case RECORD:
|
||||
eset = deprecatedMap.get(DeprElementKind.RECORD_CLASS);
|
||||
eset.add(e);
|
||||
break;
|
||||
}
|
||||
}
|
||||
composeDeprecatedList(rset, deprecatedMap.get(DeprElementKind.FIELD),
|
||||
|
@ -23,7 +23,7 @@
|
||||
|
||||
/*
|
||||
* @test
|
||||
* @bug 8225055 8239804 8246774
|
||||
* @bug 8225055 8239804 8246774 8258338
|
||||
* @summary Record types
|
||||
* @library /tools/lib ../../lib
|
||||
* @modules jdk.javadoc/jdk.javadoc.internal.tool
|
||||
@ -494,4 +494,70 @@ public class TestRecordTypes extends JavadocTester {
|
||||
nbsp;<span class="element-name">i</span>()</div>""");
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeprecatedRecord(Path base) throws IOException {
|
||||
Path src = base.resolve("src");
|
||||
tb.writeJavaFiles(src,
|
||||
"""
|
||||
package p; /** This is record R.
|
||||
* @deprecated Do not use.
|
||||
*/
|
||||
@Deprecated
|
||||
public record R(int r1) { }""");
|
||||
|
||||
javadoc("-d", base.resolve("out").toString(),
|
||||
"-quiet", "-noindex",
|
||||
"-sourcepath", src.toString(),
|
||||
"p");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
checkOutput("deprecated-list.html", true,
|
||||
"""
|
||||
<h2 title="Contents">Contents</h2>
|
||||
<ul>
|
||||
<li><a href="#record.class">Record Classes</a></li>
|
||||
</ul>""",
|
||||
"""
|
||||
<div id="record.class">
|
||||
<div class="caption"><span>Record Classes</span></div>
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">Record</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-deprecated-item-name even-row-color"><a href="p/R.html" title="class in p">p.R</a></div>
|
||||
<div class="col-last even-row-color">
|
||||
<div class="deprecation-comment">Do not use.</div>
|
||||
</div>""");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testDeprecatedRecordComponent(Path base) throws IOException {
|
||||
Path src = base.resolve("src");
|
||||
tb.writeJavaFiles(src,
|
||||
"""
|
||||
package p; /** This is record R. */
|
||||
public record R(@Deprecated int r1) { }""");
|
||||
|
||||
javadoc("-d", base.resolve("out").toString(),
|
||||
"-quiet", "-noindex",
|
||||
"-sourcepath", src.toString(),
|
||||
"p");
|
||||
checkExit(Exit.OK);
|
||||
|
||||
checkOutput("deprecated-list.html", true,
|
||||
"""
|
||||
<h2 title="Contents">Contents</h2>
|
||||
<ul>
|
||||
<li><a href="#method">Methods</a></li>
|
||||
</ul>""",
|
||||
"""
|
||||
<div id="method">
|
||||
<div class="caption"><span>Methods</span></div>
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">Method</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-deprecated-item-name even-row-color"><a href="p/R.html#r1()">p.R.r1()</a></div>
|
||||
<div class="col-last even-row-color"></div>
|
||||
</div>""");
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user