diff --git a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java index e928bc90ba..ab8e351395 100644 --- a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java +++ b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/java/JavaGenerator.java @@ -3475,6 +3475,9 @@ private void appendDecoderDisplay( final String groupName = formatPropertyName(groupToken.name()); final String groupDecoderName = decoderName(groupToken.name()); + append(sb, indent, "int " + groupName + "OriginalOffset = " + groupName + ".offset;"); + append(sb, indent, "int " + groupName + "OriginalIndex = " + groupName + ".index;"); + append( sb, indent, "builder.append(\"" + groupName + Separator.KEY_VALUE + Separator.BEGIN_GROUP + "\");"); append(sb, indent, groupDecoderName + " " + groupName + " = " + groupName + "();"); @@ -3489,6 +3492,9 @@ private void appendDecoderDisplay( append(sb, indent, "}"); Separator.END_GROUP.appendToGeneratedBuilder(sb, indent); + append(sb, indent, groupName + ".offset = " + groupName + "OriginalOffset;"); + append(sb, indent, groupName + ".index = " + groupName + "OriginalIndex;"); + lengthBeforeLastGeneratedSeparator = sb.length(); Separator.FIELD.appendToGeneratedBuilder(sb, indent);