From 64635d9c62d18f4e63b0badef372f5273a5c55ad Mon Sep 17 00:00:00 2001 From: spoerri Date: Fri, 4 Mar 2022 10:29:53 -0500 Subject: [PATCH 1/3] toString() shouldn't disturb repeating groups #890 --- .../co/real_logic/sbe/generation/java/JavaGenerator.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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..cf25a663b8 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 @@ -3474,7 +3474,10 @@ 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 + "();"); @@ -3488,6 +3491,9 @@ private void appendDecoderDisplay( append(sb, indent, " builder.setLength(builder.length() - 1);"); 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); From fc8cc6b428c3c81a3311e117baf055ab5382244b Mon Sep 17 00:00:00 2001 From: spoerri Date: Fri, 4 Mar 2022 16:47:12 -0500 Subject: [PATCH 2/3] Remove trailing whitespace --- .../uk/co/real_logic/sbe/generation/java/JavaGenerator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 cf25a663b8..687f7737f8 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 @@ -3477,7 +3477,7 @@ private void appendDecoderDisplay( 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 + "();"); @@ -3491,7 +3491,7 @@ private void appendDecoderDisplay( append(sb, indent, " builder.setLength(builder.length() - 1);"); append(sb, indent, "}"); Separator.END_GROUP.appendToGeneratedBuilder(sb, indent); - + append(sb, indent, groupName + ".offset = " + groupName + "OriginalOffset;"); append(sb, indent, groupName + ".index = " + groupName + "OriginalIndex;"); From 6e43978575cb79e0036a6cec16ab8799eded80df Mon Sep 17 00:00:00 2001 From: spoerri Date: Fri, 4 Mar 2022 16:49:09 -0500 Subject: [PATCH 3/3] Ugh, removed more whitespace --- .../uk/co/real_logic/sbe/generation/java/JavaGenerator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 687f7737f8..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 @@ -3474,7 +3474,7 @@ 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;");