Skip to content

Commit 3edff3a

Browse files
committed
[Java] Generate null value lookup as part of switch for enums. Issue aeron-io#732.
1 parent 0a51bb7 commit 3edff3a

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1477,16 +1477,14 @@ private CharSequence generateEnumLookupMethod(final List<Token> tokens, final St
14771477
sb.append(" case ").append(constStr).append(": return ").append(name).append(";\n");
14781478
}
14791479

1480+
final String nullValue = tokens.get(0).encoding().applicableNullValue().toString();
1481+
sb.append(" case ").append(nullValue).append(": return NULL_VAL").append(";\n");
1482+
14801483
final String handleUnknownLogic = shouldDecodeUnknownEnumValues ?
14811484
INDENT + INDENT + "return SBE_UNKNOWN;\n" :
14821485
INDENT + INDENT + "throw new IllegalArgumentException(\"Unknown value: \" + value);\n";
14831486

1484-
final String nullValue = tokens.get(0).encoding().applicableNullValue().toString();
14851487
sb.append(" }\n\n")
1486-
.append(" if (").append(generateLiteral(primitiveType, nullValue)).append(" == value)\n")
1487-
.append(" {\n")
1488-
.append(" return NULL_VAL;\n")
1489-
.append(" }\n\n")
14901488
.append(handleUnknownLogic)
14911489
.append(" }\n");
14921490

0 commit comments

Comments
 (0)