autodoc: Fix exprName for struct and union types

This commit is contained in:
Krzysztof Wolicki 2023-05-09 10:51:19 +02:00
parent b488f97e92
commit 9c8b9719cb

View File

@ -1845,9 +1845,9 @@ const NAV_MODES = {
let structObj = typeObj;
let name = "";
if (opts.wantHtml) {
name = "<span class='tok-kw'>struct</span> { ";
name = "<span class='tok-kw'>struct</span>";
} else {
name = "struct { ";
name = "struct";
}
if (structObj.backing_int !== null) {
if (opts.wantHtml) {
@ -1983,11 +1983,11 @@ const NAV_MODES = {
name += " (" + exprName(unionObj.tag, opts) + ")";
}
name += " { ";
if (unionObj.fields.length > 1 && opts.wantHtml) {
if (unionObj.field_types.length > 1 && opts.wantHtml) {
name += "</br>";
}
let indent = "";
if (unionObj.fields.length > 1 && opts.wantHtml) {
if (unionObj.field_types.length > 1 && opts.wantHtml) {
indent = "&nbsp;&nbsp;&nbsp;&nbsp;"
}
if (opts.indent) {
@ -1995,17 +1995,17 @@ const NAV_MODES = {
}
let unionNode = getAstNode(unionObj.src);
let field_end = ",";
if (unionObj.fields.length > 1 && opts.wantHtml) {
if (unionObj.field_types.length > 1 && opts.wantHtml) {
field_end += "</br>";
} else {
field_end += " ";
}
for (let i = 0; i < unionObj.fields.length; i += 1) {
for (let i = 0; i < unionObj.field_types.length; i += 1) {
let fieldNode = getAstNode(unionNode.fields[i]);
let fieldName = fieldNode.name;
let html = indent + escapeHtml(fieldName);
let fieldTypeExpr = unionObj.fields[i];
let fieldTypeExpr = unionObj.field_types[i];
html += ": ";
html += exprName(fieldTypeExpr, { ...opts, indent: indent });