< prev index next >
src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/ClassWriterImpl.java
Print this page
*** 31,43 ****
import java.util.SortedSet;
import java.util.TreeSet;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Element;
- import javax.lang.model.element.ElementKind;
import javax.lang.model.element.ModuleElement;
import javax.lang.model.element.PackageElement;
import javax.lang.model.element.TypeElement;
import javax.lang.model.type.TypeMirror;
import javax.lang.model.util.SimpleElementVisitor8;
import com.sun.source.doctree.DocTree;
--- 31,43 ----
import java.util.SortedSet;
import java.util.TreeSet;
import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Element;
import javax.lang.model.element.ModuleElement;
import javax.lang.model.element.PackageElement;
+ import javax.lang.model.element.RecordComponentElement;
import javax.lang.model.element.TypeElement;
import javax.lang.model.type.TypeMirror;
import javax.lang.model.util.SimpleElementVisitor8;
import com.sun.source.doctree.DocTree;
*** 209,219 ****
}
/**
* {@inheritDoc}
*/
! @Override
public void addClassSignature(String modifiers, Content classInfoTree) {
Content hr = new HtmlTree(HtmlTag.HR);
classInfoTree.add(hr);
Content pre = new HtmlTree(HtmlTag.PRE);
addAnnotationInfo(typeElement, pre);
--- 209,219 ----
}
/**
* {@inheritDoc}
*/
! @Override @SuppressWarnings("preview")
public void addClassSignature(String modifiers, Content classInfoTree) {
Content hr = new HtmlTree(HtmlTag.HR);
classInfoTree.add(hr);
Content pre = new HtmlTree(HtmlTag.PRE);
addAnnotationInfo(typeElement, pre);
*** 230,239 ****
--- 230,242 ----
} else {
Content span = HtmlTree.SPAN(HtmlStyle.typeNameLabel, className);
span.add(parameterLinks);
pre.add(span);
}
+ if (utils.isRecord(typeElement)) {
+ pre.add(getRecordComponents(typeElement));
+ }
if (!utils.isInterface(typeElement)) {
TypeMirror superclass = utils.getFirstVisibleSuperClass(typeElement);
if (superclass != null) {
pre.add(DocletConstants.NL);
pre.add("extends ");
*** 265,274 ****
--- 268,297 ----
}
}
classInfoTree.add(pre);
}
+ @SuppressWarnings("preview")
+ private Content getRecordComponents(TypeElement typeElem) {
+ Content content = new ContentBuilder();
+ content.add("(");
+ String sep = "";
+ for (RecordComponentElement e : typeElement.getRecordComponents()) {
+ content.add(sep);
+ getAnnotations(e.getAnnotationMirrors(), false).stream()
+ .forEach(a -> { content.add(a); content.add(" "); });
+ Content link = getLink(new LinkInfoImpl(configuration, LinkInfoImpl.Kind.RECORD_COMPONENT,
+ e.asType()));
+ content.add(link);
+ content.add(Entity.NO_BREAK_SPACE);
+ content.add(e.getSimpleName());
+ sep = ", ";
+ }
+ content.add(")");
+ return content;
+ }
+
/**
* {@inheritDoc}
*/
@Override
public void addClassDescription(Content classInfoTree) {
< prev index next >