Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(352)

Side by Side Diff: third_party/protobuf/src/google/protobuf/compiler/java/java_message_field.cc

Issue 2495533002: third_party/protobuf: Update to HEAD (83d681ee2c) (Closed)
Patch Set: Make chrome settings proto generated file a component Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Protocol Buffers - Google's data interchange format 1 // Protocol Buffers - Google's data interchange format
2 // Copyright 2008 Google Inc. All rights reserved. 2 // Copyright 2008 Google Inc. All rights reserved.
3 // https://developers.google.com/protocol-buffers/ 3 // https://developers.google.com/protocol-buffers/
4 // 4 //
5 // Redistribution and use in source and binary forms, with or without 5 // Redistribution and use in source and binary forms, with or without
6 // modification, are permitted provided that the following conditions are 6 // modification, are permitted provided that the following conditions are
7 // met: 7 // met:
8 // 8 //
9 // * Redistributions of source code must retain the above copyright 9 // * Redistributions of source code must retain the above copyright
10 // notice, this list of conditions and the following disclaimer. 10 // notice, this list of conditions and the following disclaimer.
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 namespace compiler { 49 namespace compiler {
50 namespace java { 50 namespace java {
51 51
52 namespace { 52 namespace {
53 53
54 void SetMessageVariables(const FieldDescriptor* descriptor, 54 void SetMessageVariables(const FieldDescriptor* descriptor,
55 int messageBitIndex, 55 int messageBitIndex,
56 int builderBitIndex, 56 int builderBitIndex,
57 const FieldGeneratorInfo* info, 57 const FieldGeneratorInfo* info,
58 ClassNameResolver* name_resolver, 58 ClassNameResolver* name_resolver,
59 map<string, string>* variables) { 59 std::map<string, string>* variables) {
60 SetCommonFieldVariables(descriptor, info, variables); 60 SetCommonFieldVariables(descriptor, info, variables);
61 61
62 (*variables)["type"] = 62 (*variables)["type"] =
63 name_resolver->GetImmutableClassName(descriptor->message_type()); 63 name_resolver->GetImmutableClassName(descriptor->message_type());
64 (*variables)["mutable_type"] = 64 (*variables)["mutable_type"] =
65 name_resolver->GetMutableClassName(descriptor->message_type()); 65 name_resolver->GetMutableClassName(descriptor->message_type());
66 (*variables)["group_or_message"] = 66 (*variables)["group_or_message"] =
67 (GetType(descriptor) == FieldDescriptor::TYPE_GROUP) ? 67 (GetType(descriptor) == FieldDescriptor::TYPE_GROUP) ?
68 "Group" : "Message"; 68 "Group" : "Message";
69 // TODO(birdo): Add @deprecated javadoc when generating javadoc is supported 69 // TODO(birdo): Add @deprecated javadoc when generating javadoc is supported
70 // by the proto compiler 70 // by the proto compiler
71 (*variables)["deprecation"] = descriptor->options().deprecated() 71 (*variables)["deprecation"] = descriptor->options().deprecated()
72 ? "@java.lang.Deprecated " : ""; 72 ? "@java.lang.Deprecated " : "";
73 (*variables)["on_changed"] = "onChanged();"; 73 (*variables)["on_changed"] = "onChanged();";
74 (*variables)["ver"] = GeneratedCodeVersionSuffix();
75 (*variables)["get_parser"] =
76 ExposePublicParser(descriptor->message_type()->file())
77 ? "PARSER" : "parser()";
74 78
75 if (SupportFieldPresence(descriptor->file())) { 79 if (SupportFieldPresence(descriptor->file())) {
76 // For singular messages and builders, one bit is used for the hasField bit. 80 // For singular messages and builders, one bit is used for the hasField bit.
77 (*variables)["get_has_field_bit_message"] = GenerateGetBit(messageBitIndex); 81 (*variables)["get_has_field_bit_message"] = GenerateGetBit(messageBitIndex);
78 (*variables)["get_has_field_bit_builder"] = GenerateGetBit(builderBitIndex); 82 (*variables)["get_has_field_bit_builder"] = GenerateGetBit(builderBitIndex);
79 83
80 // Note that these have a trailing ";". 84 // Note that these have a trailing ";".
81 (*variables)["set_has_field_bit_message"] = 85 (*variables)["set_has_field_bit_message"] =
82 GenerateSetBit(messageBitIndex) + ";"; 86 GenerateSetBit(messageBitIndex) + ";";
83 (*variables)["set_has_field_bit_builder"] = 87 (*variables)["set_has_field_bit_builder"] =
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 // demand and then forever delegates to it after creation. 249 // demand and then forever delegates to it after creation.
246 250
247 bool support_field_presence = SupportFieldPresence(descriptor_->file()); 251 bool support_field_presence = SupportFieldPresence(descriptor_->file());
248 252
249 printer->Print(variables_, 253 printer->Print(variables_,
250 "private $type$ $name$_ = null;\n"); 254 "private $type$ $name$_ = null;\n");
251 255
252 printer->Print(variables_, 256 printer->Print(variables_,
253 // If this builder is non-null, it is used and the other fields are 257 // If this builder is non-null, it is used and the other fields are
254 // ignored. 258 // ignored.
255 "private com.google.protobuf.SingleFieldBuilder<\n" 259 "private com.google.protobuf.SingleFieldBuilder$ver$<\n"
256 " $type$, $type$.Builder, $type$OrBuilder> $name$Builder_;" 260 " $type$, $type$.Builder, $type$OrBuilder> $name$Builder_;"
257 "\n"); 261 "\n");
258 262
259 // The comments above the methods below are based on a hypothetical 263 // The comments above the methods below are based on a hypothetical
260 // field of type "Field" called "Field". 264 // field of type "Field" called "Field".
261 265
262 // boolean hasField() 266 // boolean hasField()
263 WriteFieldDocComment(printer, descriptor_); 267 WriteFieldDocComment(printer, descriptor_);
264 if (support_field_presence) { 268 if (support_field_presence) {
265 printer->Print(variables_, 269 printer->Print(variables_,
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 "$deprecation$public $type$OrBuilder get$capitalized_name$OrBuilder() {\n" 371 "$deprecation$public $type$OrBuilder get$capitalized_name$OrBuilder() {\n"
368 " if ($name$Builder_ != null) {\n" 372 " if ($name$Builder_ != null) {\n"
369 " return $name$Builder_.getMessageOrBuilder();\n" 373 " return $name$Builder_.getMessageOrBuilder();\n"
370 " } else {\n" 374 " } else {\n"
371 " return $name$_ == null ?\n" 375 " return $name$_ == null ?\n"
372 " $type$.getDefaultInstance() : $name$_;\n" 376 " $type$.getDefaultInstance() : $name$_;\n"
373 " }\n" 377 " }\n"
374 "}\n"); 378 "}\n");
375 WriteFieldDocComment(printer, descriptor_); 379 WriteFieldDocComment(printer, descriptor_);
376 printer->Print(variables_, 380 printer->Print(variables_,
377 "private com.google.protobuf.SingleFieldBuilder<\n" 381 "private com.google.protobuf.SingleFieldBuilder$ver$<\n"
378 " $type$, $type$.Builder, $type$OrBuilder> \n" 382 " $type$, $type$.Builder, $type$OrBuilder> \n"
379 " get$capitalized_name$FieldBuilder() {\n" 383 " get$capitalized_name$FieldBuilder() {\n"
380 " if ($name$Builder_ == null) {\n" 384 " if ($name$Builder_ == null) {\n"
381 " $name$Builder_ = new com.google.protobuf.SingleFieldBuilder<\n" 385 " $name$Builder_ = new com.google.protobuf.SingleFieldBuilder$ver$<\n"
382 " $type$, $type$.Builder, $type$OrBuilder>(\n" 386 " $type$, $type$.Builder, $type$OrBuilder>(\n"
383 " get$capitalized_name$(),\n" 387 " get$capitalized_name$(),\n"
384 " getParentForChildren(),\n" 388 " getParentForChildren(),\n"
385 " isClean());\n" 389 " isClean());\n"
386 " $name$_ = null;\n" 390 " $name$_ = null;\n"
387 " }\n" 391 " }\n"
388 " return $name$Builder_;\n" 392 " return $name$Builder_;\n"
389 "}\n"); 393 "}\n");
390 } 394 }
391 395
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 void ImmutableMessageFieldGenerator:: 448 void ImmutableMessageFieldGenerator::
445 GenerateParsingCode(io::Printer* printer) const { 449 GenerateParsingCode(io::Printer* printer) const {
446 printer->Print(variables_, 450 printer->Print(variables_,
447 "$type$.Builder subBuilder = null;\n" 451 "$type$.Builder subBuilder = null;\n"
448 "if ($is_field_present_message$) {\n" 452 "if ($is_field_present_message$) {\n"
449 " subBuilder = $name$_.toBuilder();\n" 453 " subBuilder = $name$_.toBuilder();\n"
450 "}\n"); 454 "}\n");
451 455
452 if (GetType(descriptor_) == FieldDescriptor::TYPE_GROUP) { 456 if (GetType(descriptor_) == FieldDescriptor::TYPE_GROUP) {
453 printer->Print(variables_, 457 printer->Print(variables_,
454 "$name$_ = input.readGroup($number$, $type$.parser(),\n" 458 "$name$_ = input.readGroup($number$, $type$.$get_parser$,\n"
455 " extensionRegistry);\n"); 459 " extensionRegistry);\n");
456 } else { 460 } else {
457 printer->Print(variables_, 461 printer->Print(variables_,
458 "$name$_ = input.readMessage($type$.parser(), extensionRegistry);\n"); 462 "$name$_ = input.readMessage($type$.$get_parser$, extensionRegistry);\n");
459 } 463 }
460 464
461 printer->Print(variables_, 465 printer->Print(variables_,
462 "if (subBuilder != null) {\n" 466 "if (subBuilder != null) {\n"
463 " subBuilder.mergeFrom($name$_);\n" 467 " subBuilder.mergeFrom($name$_);\n"
464 " $name$_ = subBuilder.buildPartial();\n" 468 " $name$_ = subBuilder.buildPartial();\n"
465 "}\n" 469 "}\n"
466 "$set_has_field_bit_message$\n"); 470 "$set_has_field_bit_message$\n");
467 } 471 }
468 472
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 } 557 }
554 558
555 void ImmutableMessageOneofFieldGenerator:: 559 void ImmutableMessageOneofFieldGenerator::
556 GenerateBuilderMembers(io::Printer* printer) const { 560 GenerateBuilderMembers(io::Printer* printer) const {
557 // When using nested-builders, the code initially works just like the 561 // When using nested-builders, the code initially works just like the
558 // non-nested builder case. It only creates a nested builder lazily on 562 // non-nested builder case. It only creates a nested builder lazily on
559 // demand and then forever delegates to it after creation. 563 // demand and then forever delegates to it after creation.
560 printer->Print(variables_, 564 printer->Print(variables_,
561 // If this builder is non-null, it is used and the other fields are 565 // If this builder is non-null, it is used and the other fields are
562 // ignored. 566 // ignored.
563 "private com.google.protobuf.SingleFieldBuilder<\n" 567 "private com.google.protobuf.SingleFieldBuilder$ver$<\n"
564 " $type$, $type$.Builder, $type$OrBuilder> $name$Builder_;" 568 " $type$, $type$.Builder, $type$OrBuilder> $name$Builder_;"
565 "\n"); 569 "\n");
566 570
567 // The comments above the methods below are based on a hypothetical 571 // The comments above the methods below are based on a hypothetical
568 // field of type "Field" called "Field". 572 // field of type "Field" called "Field".
569 573
570 if (SupportFieldPresence(descriptor_->file())) { 574 if (SupportFieldPresence(descriptor_->file())) {
571 // boolean hasField() 575 // boolean hasField()
572 WriteFieldDocComment(printer, descriptor_); 576 WriteFieldDocComment(printer, descriptor_);
573 printer->Print(variables_, 577 printer->Print(variables_,
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
676 " return $name$Builder_.getMessageOrBuilder();\n" 680 " return $name$Builder_.getMessageOrBuilder();\n"
677 " } else {\n" 681 " } else {\n"
678 " if ($has_oneof_case_message$) {\n" 682 " if ($has_oneof_case_message$) {\n"
679 " return ($type$) $oneof_name$_;\n" 683 " return ($type$) $oneof_name$_;\n"
680 " }\n" 684 " }\n"
681 " return $type$.getDefaultInstance();\n" 685 " return $type$.getDefaultInstance();\n"
682 " }\n" 686 " }\n"
683 "}\n"); 687 "}\n");
684 WriteFieldDocComment(printer, descriptor_); 688 WriteFieldDocComment(printer, descriptor_);
685 printer->Print(variables_, 689 printer->Print(variables_,
686 "private com.google.protobuf.SingleFieldBuilder<\n" 690 "private com.google.protobuf.SingleFieldBuilder$ver$<\n"
687 " $type$, $type$.Builder, $type$OrBuilder> \n" 691 " $type$, $type$.Builder, $type$OrBuilder> \n"
688 " get$capitalized_name$FieldBuilder() {\n" 692 " get$capitalized_name$FieldBuilder() {\n"
689 " if ($name$Builder_ == null) {\n" 693 " if ($name$Builder_ == null) {\n"
690 " if (!($has_oneof_case_message$)) {\n" 694 " if (!($has_oneof_case_message$)) {\n"
691 " $oneof_name$_ = $type$.getDefaultInstance();\n" 695 " $oneof_name$_ = $type$.getDefaultInstance();\n"
692 " }\n" 696 " }\n"
693 " $name$Builder_ = new com.google.protobuf.SingleFieldBuilder<\n" 697 " $name$Builder_ = new com.google.protobuf.SingleFieldBuilder$ver$<\n"
694 " $type$, $type$.Builder, $type$OrBuilder>(\n" 698 " $type$, $type$.Builder, $type$OrBuilder>(\n"
695 " ($type$) $oneof_name$_,\n" 699 " ($type$) $oneof_name$_,\n"
696 " getParentForChildren(),\n" 700 " getParentForChildren(),\n"
697 " isClean());\n" 701 " isClean());\n"
698 " $oneof_name$_ = null;\n" 702 " $oneof_name$_ = null;\n"
699 " }\n" 703 " }\n"
700 " $set_oneof_case_message$;\n" 704 " $set_oneof_case_message$;\n"
701 " $on_changed$;\n" 705 " $on_changed$;\n"
702 " return $name$Builder_;\n" 706 " return $name$Builder_;\n"
703 "}\n"); 707 "}\n");
(...skipping 24 matching lines...) Expand all
728 void ImmutableMessageOneofFieldGenerator:: 732 void ImmutableMessageOneofFieldGenerator::
729 GenerateParsingCode(io::Printer* printer) const { 733 GenerateParsingCode(io::Printer* printer) const {
730 printer->Print(variables_, 734 printer->Print(variables_,
731 "$type$.Builder subBuilder = null;\n" 735 "$type$.Builder subBuilder = null;\n"
732 "if ($has_oneof_case_message$) {\n" 736 "if ($has_oneof_case_message$) {\n"
733 " subBuilder = (($type$) $oneof_name$_).toBuilder();\n" 737 " subBuilder = (($type$) $oneof_name$_).toBuilder();\n"
734 "}\n"); 738 "}\n");
735 739
736 if (GetType(descriptor_) == FieldDescriptor::TYPE_GROUP) { 740 if (GetType(descriptor_) == FieldDescriptor::TYPE_GROUP) {
737 printer->Print(variables_, 741 printer->Print(variables_,
738 "$oneof_name$_ = input.readGroup($number$, $type$.parser(),\n" 742 "$oneof_name$_ = input.readGroup($number$, $type$.$get_parser$,\n"
739 " extensionRegistry);\n"); 743 " extensionRegistry);\n");
740 } else { 744 } else {
741 printer->Print(variables_, 745 printer->Print(variables_,
742 "$oneof_name$_ =\n" 746 "$oneof_name$_ =\n"
743 " input.readMessage($type$.parser(), extensionRegistry);\n"); 747 " input.readMessage($type$.$get_parser$, extensionRegistry);\n");
744 } 748 }
745 749
746 printer->Print(variables_, 750 printer->Print(variables_,
747 "if (subBuilder != null) {\n" 751 "if (subBuilder != null) {\n"
748 " subBuilder.mergeFrom(($type$) $oneof_name$_);\n" 752 " subBuilder.mergeFrom(($type$) $oneof_name$_);\n"
749 " $oneof_name$_ = subBuilder.buildPartial();\n" 753 " $oneof_name$_ = subBuilder.buildPartial();\n"
750 "}\n"); 754 "}\n");
751 printer->Print(variables_, 755 printer->Print(variables_,
752 "$set_oneof_case_message$;\n"); 756 "$set_oneof_case_message$;\n");
753 } 757 }
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
913 " if (!$get_mutable_bit_builder$) {\n" 917 " if (!$get_mutable_bit_builder$) {\n"
914 " $name$_ = new java.util.ArrayList<$type$>($name$_);\n" 918 " $name$_ = new java.util.ArrayList<$type$>($name$_);\n"
915 " $set_mutable_bit_builder$;\n" 919 " $set_mutable_bit_builder$;\n"
916 " }\n" 920 " }\n"
917 "}\n" 921 "}\n"
918 "\n"); 922 "\n");
919 923
920 printer->Print(variables_, 924 printer->Print(variables_,
921 // If this builder is non-null, it is used and the other fields are 925 // If this builder is non-null, it is used and the other fields are
922 // ignored. 926 // ignored.
923 "private com.google.protobuf.RepeatedFieldBuilder<\n" 927 "private com.google.protobuf.RepeatedFieldBuilder$ver$<\n"
924 " $type$, $type$.Builder, $type$OrBuilder> $name$Builder_;\n" 928 " $type$, $type$.Builder, $type$OrBuilder> $name$Builder_;\n"
925 "\n"); 929 "\n");
926 930
927 // The comments above the methods below are based on a hypothetical 931 // The comments above the methods below are based on a hypothetical
928 // repeated field of type "Field" called "RepeatedField". 932 // repeated field of type "Field" called "RepeatedField".
929 933
930 // List<Field> getRepeatedFieldList() 934 // List<Field> getRepeatedFieldList()
931 WriteFieldDocComment(printer, descriptor_); 935 WriteFieldDocComment(printer, descriptor_);
932 PrintNestedBuilderFunction(printer, 936 PrintNestedBuilderFunction(printer,
933 "$deprecation$public java.util.List<$type$> get$capitalized_name$List()", 937 "$deprecation$public java.util.List<$type$> get$capitalized_name$List()",
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
1130 " int index) {\n" 1134 " int index) {\n"
1131 " return get$capitalized_name$FieldBuilder().addBuilder(\n" 1135 " return get$capitalized_name$FieldBuilder().addBuilder(\n"
1132 " index, $type$.getDefaultInstance());\n" 1136 " index, $type$.getDefaultInstance());\n"
1133 "}\n"); 1137 "}\n");
1134 WriteFieldDocComment(printer, descriptor_); 1138 WriteFieldDocComment(printer, descriptor_);
1135 printer->Print(variables_, 1139 printer->Print(variables_,
1136 "$deprecation$public java.util.List<$type$.Builder> \n" 1140 "$deprecation$public java.util.List<$type$.Builder> \n"
1137 " get$capitalized_name$BuilderList() {\n" 1141 " get$capitalized_name$BuilderList() {\n"
1138 " return get$capitalized_name$FieldBuilder().getBuilderList();\n" 1142 " return get$capitalized_name$FieldBuilder().getBuilderList();\n"
1139 "}\n" 1143 "}\n"
1140 "private com.google.protobuf.RepeatedFieldBuilder<\n" 1144 "private com.google.protobuf.RepeatedFieldBuilder$ver$<\n"
1141 " $type$, $type$.Builder, $type$OrBuilder> \n" 1145 " $type$, $type$.Builder, $type$OrBuilder> \n"
1142 " get$capitalized_name$FieldBuilder() {\n" 1146 " get$capitalized_name$FieldBuilder() {\n"
1143 " if ($name$Builder_ == null) {\n" 1147 " if ($name$Builder_ == null) {\n"
1144 " $name$Builder_ = new com.google.protobuf.RepeatedFieldBuilder<\n" 1148 " $name$Builder_ = new com.google.protobuf.RepeatedFieldBuilder$ver$<\n"
1145 " $type$, $type$.Builder, $type$OrBuilder>(\n" 1149 " $type$, $type$.Builder, $type$OrBuilder>(\n"
1146 " $name$_,\n" 1150 " $name$_,\n"
1147 " $get_mutable_bit_builder$,\n" 1151 " $get_mutable_bit_builder$,\n"
1148 " getParentForChildren(),\n" 1152 " getParentForChildren(),\n"
1149 " isClean());\n" 1153 " isClean());\n"
1150 " $name$_ = null;\n" 1154 " $name$_ = null;\n"
1151 " }\n" 1155 " }\n"
1152 " return $name$Builder_;\n" 1156 " return $name$Builder_;\n"
1153 "}\n"); 1157 "}\n");
1154 } 1158 }
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1192 " $on_changed$\n" 1196 " $on_changed$\n"
1193 "}\n", 1197 "}\n",
1194 1198
1195 "if (!other.$name$_.isEmpty()) {\n" 1199 "if (!other.$name$_.isEmpty()) {\n"
1196 " if ($name$Builder_.isEmpty()) {\n" 1200 " if ($name$Builder_.isEmpty()) {\n"
1197 " $name$Builder_.dispose();\n" 1201 " $name$Builder_.dispose();\n"
1198 " $name$Builder_ = null;\n" 1202 " $name$Builder_ = null;\n"
1199 " $name$_ = other.$name$_;\n" 1203 " $name$_ = other.$name$_;\n"
1200 " $clear_mutable_bit_builder$;\n" 1204 " $clear_mutable_bit_builder$;\n"
1201 " $name$Builder_ = \n" 1205 " $name$Builder_ = \n"
1202 " com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?\n" 1206 " com.google.protobuf.GeneratedMessage$ver$.alwaysUseFieldBuilders ?\n"
1203 " get$capitalized_name$FieldBuilder() : null;\n" 1207 " get$capitalized_name$FieldBuilder() : null;\n"
1204 " } else {\n" 1208 " } else {\n"
1205 " $name$Builder_.addAllMessages(other.$name$_);\n" 1209 " $name$Builder_.addAllMessages(other.$name$_);\n"
1206 " }\n" 1210 " }\n"
1207 "}\n"); 1211 "}\n");
1208 } 1212 }
1209 1213
1210 void RepeatedImmutableMessageFieldGenerator:: 1214 void RepeatedImmutableMessageFieldGenerator::
1211 GenerateBuildingCode(io::Printer* printer) const { 1215 GenerateBuildingCode(io::Printer* printer) const {
1212 // The code below (non-nested builder case) ensures that the result has an 1216 // The code below (non-nested builder case) ensures that the result has an
(...skipping 12 matching lines...) Expand all
1225 void RepeatedImmutableMessageFieldGenerator:: 1229 void RepeatedImmutableMessageFieldGenerator::
1226 GenerateParsingCode(io::Printer* printer) const { 1230 GenerateParsingCode(io::Printer* printer) const {
1227 printer->Print(variables_, 1231 printer->Print(variables_,
1228 "if (!$get_mutable_bit_parser$) {\n" 1232 "if (!$get_mutable_bit_parser$) {\n"
1229 " $name$_ = new java.util.ArrayList<$type$>();\n" 1233 " $name$_ = new java.util.ArrayList<$type$>();\n"
1230 " $set_mutable_bit_parser$;\n" 1234 " $set_mutable_bit_parser$;\n"
1231 "}\n"); 1235 "}\n");
1232 1236
1233 if (GetType(descriptor_) == FieldDescriptor::TYPE_GROUP) { 1237 if (GetType(descriptor_) == FieldDescriptor::TYPE_GROUP) {
1234 printer->Print(variables_, 1238 printer->Print(variables_,
1235 "$name$_.add(input.readGroup($number$, $type$.parser(),\n" 1239 "$name$_.add(input.readGroup($number$, $type$.$get_parser$,\n"
1236 " extensionRegistry));\n"); 1240 " extensionRegistry));\n");
1237 } else { 1241 } else {
1238 printer->Print(variables_, 1242 printer->Print(variables_,
1239 "$name$_.add(input.readMessage($type$.parser(), extensionRegistry));\n"); 1243 "$name$_.add(\n"
1244 " input.readMessage($type$.$get_parser$, extensionRegistry));\n");
1240 } 1245 }
1241 } 1246 }
1242 1247
1243 void RepeatedImmutableMessageFieldGenerator:: 1248 void RepeatedImmutableMessageFieldGenerator::
1244 GenerateParsingDoneCode(io::Printer* printer) const { 1249 GenerateParsingDoneCode(io::Printer* printer) const {
1245 printer->Print(variables_, 1250 printer->Print(variables_,
1246 "if ($get_mutable_bit_parser$) {\n" 1251 "if ($get_mutable_bit_parser$) {\n"
1247 " $name$_ = java.util.Collections.unmodifiableList($name$_);\n" 1252 " $name$_ = java.util.Collections.unmodifiableList($name$_);\n"
1248 "}\n"); 1253 "}\n");
1249 } 1254 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1282 } 1287 }
1283 1288
1284 string RepeatedImmutableMessageFieldGenerator::GetBoxedType() const { 1289 string RepeatedImmutableMessageFieldGenerator::GetBoxedType() const {
1285 return name_resolver_->GetImmutableClassName(descriptor_->message_type()); 1290 return name_resolver_->GetImmutableClassName(descriptor_->message_type());
1286 } 1291 }
1287 1292
1288 } // namespace java 1293 } // namespace java
1289 } // namespace compiler 1294 } // namespace compiler
1290 } // namespace protobuf 1295 } // namespace protobuf
1291 } // namespace google 1296 } // namespace google
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698