|
@@ -2850,13 +2850,9 @@ void Generator::GenerateClassDeserializeBinaryField(
|
|
|
}
|
|
|
|
|
|
if (field->is_repeated() && !field->is_packed()) {
|
|
|
- // Repeated fields receive a |value| one at at a time; append to array
|
|
|
- // returned by get$name$(). Annoyingly, we have to call 'set' after
|
|
|
- // changing the array.
|
|
|
- printer->Print(" msg.get$name$().push(value);\n", "name",
|
|
|
- JSGetterName(options, field));
|
|
|
- printer->Print(" msg.set$name$(msg.get$name$());\n", "name",
|
|
|
- JSGetterName(options, field));
|
|
|
+ printer->Print(
|
|
|
+ " msg.add$name$(value);\n", "name",
|
|
|
+ JSGetterName(options, field, BYTES_DEFAULT, /* drop_list = */ true));
|
|
|
} else {
|
|
|
// Singular fields, and packed repeated fields, receive a |value| either
|
|
|
// as the field's value or as the array of all the field's values; set
|