Skip to content

Commit ed85bb2

Browse files
committed
[#468] Render implicit enum/bimask values in comment style
Hide auto-generated enum/bitmask values together with comments.
1 parent 455a642 commit ed85bb2

File tree

6 files changed

+24
-9
lines changed

6 files changed

+24
-9
lines changed

compiler/extensions/doc/freemarker/bitmask.html.ftl

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ ${I} </td></tr>
3737
</#if>
3838
${I} <tr>
3939
${I} <td class="indent"><@symbol_reference value.symbol/></td>
40-
${I} <td class="value-expression">= ${value.value}<#if value_has_next>,</#if></td>
40+
${I} <td class="value-expression<#if !value.hasValueExpression> doc</#if>">= ${value.value}<#if value_has_next>,</#if></td>
4141
${I} </tr>
4242
${I} </tbody>
4343
</#list>

compiler/extensions/doc/freemarker/end_package.html.ftl

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656
5757
function toggleDoc(button) {
5858
// find all doc rows within the button's table
59-
$(button).parents("table").find("tbody tr.doc").toggle();
59+
$(button).parents("table").find("tbody .doc").toggle();
6060
$(button).toggleClass("comments-hidden");
6161
let icon = $(button).find("use").attr("xlink:href");
6262
icon = (icon == "#chat-left") ? "#chat-left-text" : "#chat-left";

compiler/extensions/doc/freemarker/enumeration.html.ftl

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ ${I} </td></tr>
3737
</#if>
3838
${I} <tr>
3939
${I} <td class="indent"><@symbol_reference item.symbol/></td>
40-
${I} <td class="value-expression">= ${item.value}<#if item_has_next>,</#if></td>
40+
${I} <td class="value-expression<#if !item.hasValueExpression> doc</#if>">= ${item.value}<#if item_has_next>,</#if></td>
4141
${I} </tr>
4242
${I} </tbody>
4343
</#list>

compiler/extensions/doc/freemarker/stylesheet.css.ftl

+3-2
Original file line numberDiff line numberDiff line change
@@ -272,11 +272,12 @@ a:hover {
272272
max-width: ${codeIndent}rem;
273273
}
274274

275-
.code td.value-expression {
275+
.code td.value-expression {
276276
padding-left: 1rem;
277277
}
278278

279-
.code div.doc {
279+
.code div.doc,
280+
.code td.value-expression.doc {
280281
white-space: normal;
281282
color: ${codeDocColor};
282283
}

compiler/extensions/doc/src/zserio/extension/doc/BitmaskTemplateData.java

+9-2
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,9 @@ public BitmaskValueTemplateData(PackageTemplateDataContext context, BitmaskType
4949

5050
final ExpressionFormatter docExpressionFormatter = context.getExpressionFormatter();
5151
final Expression valueExpression = bitmaskValue.getValueExpression();
52-
value = (valueExpression == null) ? bitmaskValue.getValue().toString() :
53-
docExpressionFormatter.formatGetter(bitmaskValue.getValueExpression());
52+
hasValueExpression = valueExpression != null;
53+
value = hasValueExpression ? docExpressionFormatter.formatGetter(bitmaskValue.getValueExpression()) :
54+
bitmaskValue.getValue().toString();
5455

5556
docComments = new DocCommentsTemplateData(context, bitmaskValue.getDocComments());
5657

@@ -75,6 +76,11 @@ public SymbolTemplateData getSymbol()
7576
return symbol;
7677
}
7778

79+
public boolean getHasValueExpression()
80+
{
81+
return hasValueExpression;
82+
}
83+
7884
public String getValue()
7985
{
8086
return value;
@@ -91,6 +97,7 @@ public Iterable<SeeSymbolTemplateData> getSeeSymbols()
9197
}
9298

9399
private final SymbolTemplateData symbol;
100+
private final boolean hasValueExpression;
94101
private final String value;
95102
private final DocCommentsTemplateData docComments;
96103
private final List<SeeSymbolTemplateData> seeSymbols;

compiler/extensions/doc/src/zserio/extension/doc/EnumerationTemplateData.java

+9-2
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,9 @@ public EnumItemTemplateData(PackageTemplateDataContext context, EnumType enumTyp
4747

4848
final Expression valueExpression = enumItem.getValueExpression();
4949
final ExpressionFormatter docExpressionFormatter = context.getExpressionFormatter();
50-
value = (valueExpression == null) ? enumItem.getValue().toString() :
51-
docExpressionFormatter.formatGetter(valueExpression);
50+
hasValueExpression = (valueExpression != null);
51+
value = hasValueExpression ? docExpressionFormatter.formatGetter(valueExpression) :
52+
enumItem.getValue().toString();
5253

5354
docComments = new DocCommentsTemplateData(context, enumItem.getDocComments());
5455

@@ -73,6 +74,11 @@ public SymbolTemplateData getSymbol()
7374
return symbol;
7475
}
7576

77+
public boolean getHasValueExpression()
78+
{
79+
return hasValueExpression;
80+
}
81+
7682
public String getValue()
7783
{
7884
return value;
@@ -89,6 +95,7 @@ public Iterable<SeeSymbolTemplateData> getSeeSymbols()
8995
}
9096

9197
private final SymbolTemplateData symbol;
98+
private final boolean hasValueExpression;
9299
private final String value;
93100
private final DocCommentsTemplateData docComments;
94101
private final List<SeeSymbolTemplateData> seeSymbols;

0 commit comments

Comments
 (0)