From 4779d517d946cb9bc7af968990f3c8d64dbb42ea Mon Sep 17 00:00:00 2001 From: dsavvinov Date: Mon, 8 Aug 2016 18:13:09 +0300 Subject: [PATCH] Protobuf: changed all for-loops in generated code into while-loops --- .../google/protobuf/compiler/kotlin/protoc | Bin 110224 -> 110224 bytes .../kotlin/src/kotlin_field_generator.cc | 15 ++++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/proto/compiler/google/src/google/protobuf/compiler/kotlin/protoc b/proto/compiler/google/src/google/protobuf/compiler/kotlin/protoc index 9c5a779135413c039617af3b98eadb22c95fa4d6..e7560ccd23cab597048da4c9a2b54ebd24bb18eb 100755 GIT binary patch delta 19309 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 diff --git a/proto/compiler/google/src/google/protobuf/compiler/kotlin/src/kotlin_field_generator.cc b/proto/compiler/google/src/google/protobuf/compiler/kotlin/src/kotlin_field_generator.cc index cb5e1ebf947..a277c583cb8 100644 --- a/proto/compiler/google/src/google/protobuf/compiler/kotlin/src/kotlin_field_generator.cc +++ b/proto/compiler/google/src/google/protobuf/compiler/kotlin/src/kotlin_field_generator.cc @@ -133,16 +133,18 @@ void FieldGenerator::generateSerializationForPacked(io::Printer *printer, bool i printer->Print(vars, "output.writeInt32NoTag(arrayByteSize)\n"); // all elements - printer->Print(vars, "for (item in $fieldName$) {\n"); + printer->Print("var i = 0\n"); + printer->Print(vars, "while (i < $fieldName$.size) {\n"); printer->Indent(); - // hack: see above + // hack: similar to one above FieldGenerator singleFieldGen = FieldGenerator(descriptor, enclosingClass, nameResolver); - singleFieldGen.simpleName = "item"; + singleFieldGen.simpleName = simpleName + "[i]"; singleFieldGen.protoLabel = FieldDescriptor::LABEL_OPTIONAL; singleFieldGen.generateSerializationCode(printer, isRead, /* noTag = */ isPrimitive, /* isField = */ false); + printer->Print(vars, "i += 1\n"); printer->Outdent(); // for-loop printer->Print("}\n"); } @@ -363,15 +365,18 @@ void FieldGenerator::generateSizeEstimationCode(io::Printer *printer, string var printer->Print("var arraySize = 0\n"); // iterate over all elements of array - printer->Print(vars, "for (item in $fieldName$) {\n"); + printer->Print("var i = 0\n"); + printer->Print(vars, "while (i < $fieldName$.size) {\n"); printer->Indent(); // hack: reuse generateSizeEstimationCode in the same manner as in generateSerializationCode FieldGenerator singleFieldGen = FieldGenerator(descriptor, enclosingClass, nameResolver); singleFieldGen.protoLabel = FieldDescriptor::LABEL_OPTIONAL; - singleFieldGen.simpleName = "item"; + singleFieldGen.simpleName = simpleName + "[i]"; singleFieldGen.generateSizeEstimationCode(printer, "arraySize", noTag, /* isField = */ false); + printer->Print(vars, "i += 1\n"); + printer->Outdent(); // for-loop printer->Print("}\n");