Skip to content

Commit c10b1f7

Browse files
tmontgomeryEgor Seredin
authored and
Egor Seredin
committed
[Java]: issue aeron-io#670. Check field token for constant encoding on enum.
1 parent 682c891 commit c10b1f7

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1323,7 +1323,7 @@ private void generateComposite(final List<Token> tokens) throws IOException
13231323

13241324
case BEGIN_ENUM:
13251325
out.append(sb).append(generateEnumEncoder(
1326-
encoderName, propertyName, encodingToken, BASE_INDENT));
1326+
encoderName, encodingToken, propertyName, encodingToken, BASE_INDENT));
13271327
break;
13281328

13291329
case BEGIN_SET:
@@ -2615,7 +2615,8 @@ private CharSequence generateEncoderFields(
26152615
break;
26162616

26172617
case BEGIN_ENUM:
2618-
sb.append(generateEnumEncoder(containingClassName, propertyName, typeToken, indent));
2618+
sb.append(generateEnumEncoder(
2619+
containingClassName, fieldToken, propertyName, typeToken, indent));
26192620
break;
26202621

26212622
case BEGIN_SET:
@@ -2792,16 +2793,20 @@ private CharSequence generateEnumDecoder(
27922793
}
27932794

27942795
private CharSequence generateEnumEncoder(
2795-
final String containingClassName, final String propertyName, final Token token, final String indent)
2796+
final String containingClassName,
2797+
final Token fieldToken,
2798+
final String propertyName,
2799+
final Token typeToken,
2800+
final String indent)
27962801
{
2797-
if (token.isConstantEncoding())
2802+
if (fieldToken.isConstantEncoding())
27982803
{
27992804
return "";
28002805
}
28012806

2802-
final String enumName = formatClassName(token.applicableTypeName());
2803-
final Encoding encoding = token.encoding();
2804-
final int offset = token.offset();
2807+
final String enumName = formatClassName(typeToken.applicableTypeName());
2808+
final Encoding encoding = typeToken.encoding();
2809+
final int offset = typeToken.offset();
28052810

28062811
return String.format("\n" +
28072812
indent + " public %s %s(final %s value)\n" +

0 commit comments

Comments
 (0)