| Index: third_party/protobuf/src/google/protobuf/compiler/java/java_message_lite.cc
|
| diff --git a/third_party/protobuf/src/google/protobuf/compiler/java/java_message_lite.cc b/third_party/protobuf/src/google/protobuf/compiler/java/java_message_lite.cc
|
| index 8cc0f01dcef0c0dcb993d63de3d50fcb64e671bc..d4d2593a66b916ab65c9db4db61ade0a200ee72a 100644
|
| --- a/third_party/protobuf/src/google/protobuf/compiler/java/java_message_lite.cc
|
| +++ b/third_party/protobuf/src/google/protobuf/compiler/java/java_message_lite.cc
|
| @@ -120,28 +120,23 @@ int ImmutableMessageLiteGenerator::GenerateStaticVariableInitializers(
|
| // ===================================================================
|
|
|
| void ImmutableMessageLiteGenerator::GenerateInterface(io::Printer* printer) {
|
| - MaybePrintGeneratedAnnotation(context_, printer, descriptor_,
|
| - /* immutable = */ true, "OrBuilder");
|
| if (descriptor_->extension_range_count() > 0) {
|
| printer->Print(
|
| - "public interface $classname$OrBuilder$idend$ extends \n"
|
| - " $extra_interfaces$\n"
|
| - " com.google.protobuf.GeneratedMessageLite.\n"
|
| - " ExtendableMessageOrBuilder<\n"
|
| - " $classname$, $classname$.Builder> {\n",
|
| - "extra_interfaces", ExtraMessageOrBuilderInterfaces(descriptor_),
|
| - "classname", descriptor_->name(),
|
| - "idend", "");
|
| + "public interface $classname$OrBuilder extends \n"
|
| + " $extra_interfaces$\n"
|
| + " com.google.protobuf.GeneratedMessageLite.\n"
|
| + " ExtendableMessageOrBuilder<\n"
|
| + " $classname$, $classname$.Builder> {\n",
|
| + "extra_interfaces", ExtraMessageOrBuilderInterfaces(descriptor_),
|
| + "classname", descriptor_->name());
|
| } else {
|
| printer->Print(
|
| - "public interface $classname$OrBuilder$idend$ extends\n"
|
| - " $extra_interfaces$\n"
|
| - " com.google.protobuf.MessageLiteOrBuilder {\n",
|
| - "extra_interfaces", ExtraMessageOrBuilderInterfaces(descriptor_),
|
| - "classname", descriptor_->name(),
|
| - "idend", "");
|
| + "public interface $classname$OrBuilder extends\n"
|
| + " $extra_interfaces$\n"
|
| + " com.google.protobuf.MessageLiteOrBuilder {\n",
|
| + "extra_interfaces", ExtraMessageOrBuilderInterfaces(descriptor_),
|
| + "classname", descriptor_->name());
|
| }
|
| - printer->Annotate("classname", "idend", descriptor_);
|
|
|
| printer->Indent();
|
| for (int i = 0; i < descriptor_->field_count(); i++) {
|
| @@ -168,17 +163,16 @@ void ImmutableMessageLiteGenerator::GenerateInterface(io::Printer* printer) {
|
| // ===================================================================
|
|
|
| void ImmutableMessageLiteGenerator::Generate(io::Printer* printer) {
|
| - bool is_own_file = IsOwnFile(descriptor_, /* immutable = */ true);
|
| + bool is_own_file =
|
| + descriptor_->containing_type() == NULL &&
|
| + MultipleJavaFiles(descriptor_->file(), /* immutable = */ true);
|
|
|
| - std::map<string, string> variables;
|
| + map<string, string> variables;
|
| variables["static"] = is_own_file ? " " : " static ";
|
| variables["classname"] = descriptor_->name();
|
| variables["extra_interfaces"] = ExtraMessageInterfaces(descriptor_);
|
|
|
| WriteMessageDocComment(printer, descriptor_);
|
| - MaybePrintGeneratedAnnotation(context_, printer, descriptor_,
|
| - /* immutable = */ true);
|
| -
|
|
|
| // The builder_type stores the super type name of the nested Builder class.
|
| string builder_type;
|
| @@ -204,6 +198,7 @@ void ImmutableMessageLiteGenerator::Generate(io::Printer* printer) {
|
| }
|
| printer->Indent();
|
|
|
| +
|
| GenerateConstructor(printer);
|
|
|
| // Nested types
|
| @@ -236,13 +231,13 @@ void ImmutableMessageLiteGenerator::Generate(io::Printer* printer) {
|
| }
|
|
|
| // oneof
|
| - std::map<string, string> vars;
|
| + map<string, string> vars;
|
| for (int i = 0; i < descriptor_->oneof_decl_count(); i++) {
|
| - const OneofDescriptor* oneof = descriptor_->oneof_decl(i);
|
| - vars["oneof_name"] = context_->GetOneofGeneratorInfo(oneof)->name;
|
| + vars["oneof_name"] = context_->GetOneofGeneratorInfo(
|
| + descriptor_->oneof_decl(i))->name;
|
| vars["oneof_capitalized_name"] = context_->GetOneofGeneratorInfo(
|
| - oneof)->capitalized_name;
|
| - vars["oneof_index"] = SimpleItoa(oneof->index());
|
| + descriptor_->oneof_decl(i))->capitalized_name;
|
| + vars["oneof_index"] = SimpleItoa(descriptor_->oneof_decl(i)->index());
|
| // oneofCase_ and oneof_
|
| printer->Print(vars,
|
| "private int $oneof_name$Case_ = 0;\n"
|
| @@ -252,8 +247,8 @@ void ImmutableMessageLiteGenerator::Generate(io::Printer* printer) {
|
| "public enum $oneof_capitalized_name$Case\n"
|
| " implements com.google.protobuf.Internal.EnumLite {\n");
|
| printer->Indent();
|
| - for (int j = 0; j < oneof->field_count(); j++) {
|
| - const FieldDescriptor* field = oneof->field(j);
|
| + for (int j = 0; j < descriptor_->oneof_decl(i)->field_count(); j++) {
|
| + const FieldDescriptor* field = descriptor_->oneof_decl(i)->field(j);
|
| printer->Print(
|
| "$field_name$($field_number$),\n",
|
| "field_name",
|
| @@ -281,8 +276,8 @@ void ImmutableMessageLiteGenerator::Generate(io::Printer* printer) {
|
| "\n"
|
| "public static $oneof_capitalized_name$Case forNumber(int value) {\n"
|
| " switch (value) {\n");
|
| - for (int j = 0; j < oneof->field_count(); j++) {
|
| - const FieldDescriptor* field = oneof->field(j);
|
| + for (int j = 0; j < descriptor_->oneof_decl(i)->field_count(); j++) {
|
| + const FieldDescriptor* field = descriptor_->oneof_decl(i)->field(j);
|
| printer->Print(
|
| " case $field_number$: return $field_name$;\n",
|
| "field_number",
|
| @@ -467,7 +462,7 @@ GenerateMessageSerializationMethods(io::Printer* printer) {
|
| google::protobuf::scoped_array<const FieldDescriptor * > sorted_fields(
|
| SortFieldsByNumber(descriptor_));
|
|
|
| - std::vector<const Descriptor::ExtensionRange*> sorted_extensions;
|
| + vector<const Descriptor::ExtensionRange*> sorted_extensions;
|
| for (int i = 0; i < descriptor_->extension_range_count(); ++i) {
|
| sorted_extensions.push_back(descriptor_->extension_range(i));
|
| }
|
| @@ -523,13 +518,8 @@ GenerateMessageSerializationMethods(io::Printer* printer) {
|
| }
|
|
|
| if (PreserveUnknownFields(descriptor_)) {
|
| - if (descriptor_->options().message_set_wire_format()) {
|
| - printer->Print(
|
| - "unknownFields.writeAsMessageSetTo(output);\n");
|
| - } else {
|
| - printer->Print(
|
| - "unknownFields.writeTo(output);\n");
|
| - }
|
| + printer->Print(
|
| + "unknownFields.writeTo(output);\n");
|
| }
|
|
|
| printer->Outdent();
|
| @@ -558,13 +548,8 @@ GenerateMessageSerializationMethods(io::Printer* printer) {
|
| }
|
|
|
| if (PreserveUnknownFields(descriptor_)) {
|
| - if (descriptor_->options().message_set_wire_format()) {
|
| - printer->Print(
|
| - "size += unknownFields.getSerializedSizeAsMessageSet();\n");
|
| - } else {
|
| - printer->Print(
|
| - "size += unknownFields.getSerializedSize();\n");
|
| - }
|
| + printer->Print(
|
| + "size += unknownFields.getSerializedSize();\n");
|
| }
|
|
|
| printer->Outdent();
|
| @@ -758,7 +743,7 @@ void ImmutableMessageLiteGenerator::GenerateDynamicMethodIsInitialized(
|
| case FieldDescriptor::LABEL_REPEATED:
|
| if (IsMapEntry(field->message_type())) {
|
| printer->Print(
|
| - "for ($type$ item : get$name$Map().values()) {\n"
|
| + "for ($type$ item : get$name$().values()) {\n"
|
| " if (!item.isInitialized()) {\n"
|
| " if (shouldMemoize) {\n"
|
| " memoizedIsInitialized = 0;\n"
|
| @@ -949,26 +934,14 @@ void ImmutableMessageLiteGenerator::GenerateDynamicMethodMergeFromStream(
|
|
|
| if (PreserveUnknownFields(descriptor_)) {
|
| if (descriptor_->extension_range_count() > 0) {
|
| - if (descriptor_->options().message_set_wire_format()) {
|
| - printer->Print(
|
| - "default: {\n"
|
| - " if (!parseUnknownFieldAsMessageSet(\n"
|
| - " getDefaultInstanceForType(), input, extensionRegistry,\n"
|
| - " tag)) {\n"
|
| - " done = true;\n" // it's an endgroup tag
|
| - " }\n"
|
| - " break;\n"
|
| - "}\n");
|
| - } else {
|
| - printer->Print(
|
| - "default: {\n"
|
| - " if (!parseUnknownField(getDefaultInstanceForType(),\n"
|
| - " input, extensionRegistry, tag)) {\n"
|
| - " done = true;\n" // it's an endgroup tag
|
| - " }\n"
|
| - " break;\n"
|
| - "}\n");
|
| - }
|
| + printer->Print(
|
| + "default: {\n"
|
| + " if (!parseUnknownField(getDefaultInstanceForType(),\n"
|
| + " input, extensionRegistry, tag)) {\n"
|
| + " done = true;\n" // it's an endgroup tag
|
| + " }\n"
|
| + " break;\n"
|
| + "}\n");
|
| } else {
|
| printer->Print(
|
| "default: {\n"
|
| @@ -997,7 +970,7 @@ void ImmutableMessageLiteGenerator::GenerateDynamicMethodMergeFromStream(
|
|
|
| printer->Print(
|
| "case $tag$: {\n",
|
| - "tag", SimpleItoa(static_cast<int32>(tag)));
|
| + "tag", SimpleItoa(tag));
|
| printer->Indent();
|
|
|
| field_generators_.get(field).GenerateParsingCode(printer);
|
| @@ -1014,7 +987,7 @@ void ImmutableMessageLiteGenerator::GenerateDynamicMethodMergeFromStream(
|
| WireFormatLite::WIRETYPE_LENGTH_DELIMITED);
|
| printer->Print(
|
| "case $tag$: {\n",
|
| - "tag", SimpleItoa(static_cast<int32>(packed_tag)));
|
| + "tag", SimpleItoa(packed_tag));
|
| printer->Indent();
|
|
|
| field_generators_.get(field).GenerateParsingCodeFromPacked(printer);
|
|
|