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

Side by Side Diff: third_party/protobuf/src/google/protobuf/compiler/java/java_enum_field_lite.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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 namespace compiler { 51 namespace compiler {
52 namespace java { 52 namespace java {
53 53
54 namespace { 54 namespace {
55 55
56 void SetEnumVariables(const FieldDescriptor* descriptor, 56 void SetEnumVariables(const FieldDescriptor* descriptor,
57 int messageBitIndex, 57 int messageBitIndex,
58 int builderBitIndex, 58 int builderBitIndex,
59 const FieldGeneratorInfo* info, 59 const FieldGeneratorInfo* info,
60 ClassNameResolver* name_resolver, 60 ClassNameResolver* name_resolver,
61 map<string, string>* variables) { 61 std::map<string, string>* variables) {
62 SetCommonFieldVariables(descriptor, info, variables); 62 SetCommonFieldVariables(descriptor, info, variables);
63 63
64 (*variables)["type"] = 64 (*variables)["type"] =
65 name_resolver->GetImmutableClassName(descriptor->enum_type()); 65 name_resolver->GetImmutableClassName(descriptor->enum_type());
66 (*variables)["mutable_type"] = 66 (*variables)["mutable_type"] =
67 name_resolver->GetMutableClassName(descriptor->enum_type()); 67 name_resolver->GetMutableClassName(descriptor->enum_type());
68 (*variables)["default"] = ImmutableDefaultValue(descriptor, name_resolver); 68 (*variables)["default"] = ImmutableDefaultValue(descriptor, name_resolver);
69 (*variables)["default_number"] = SimpleItoa( 69 (*variables)["default_number"] = SimpleItoa(
70 descriptor->default_value_enum()->number()); 70 descriptor->default_value_enum()->number());
71 (*variables)["tag"] = SimpleItoa(internal::WireFormat::MakeTag(descriptor)); 71 (*variables)["tag"] =
72 SimpleItoa(static_cast<int32>(internal::WireFormat::MakeTag(descriptor)));
72 (*variables)["tag_size"] = SimpleItoa( 73 (*variables)["tag_size"] = SimpleItoa(
73 internal::WireFormat::TagSize(descriptor->number(), GetType(descriptor))); 74 internal::WireFormat::TagSize(descriptor->number(), GetType(descriptor)));
74 // TODO(birdo): Add @deprecated javadoc when generating javadoc is supported 75 // TODO(birdo): Add @deprecated javadoc when generating javadoc is supported
75 // by the proto compiler 76 // by the proto compiler
76 (*variables)["deprecation"] = descriptor->options().deprecated() 77 (*variables)["deprecation"] = descriptor->options().deprecated()
77 ? "@java.lang.Deprecated " : ""; 78 ? "@java.lang.Deprecated " : "";
78 79
79 if (SupportFieldPresence(descriptor->file())) { 80 if (SupportFieldPresence(descriptor->file())) {
80 // For singular messages and builders, one bit is used for the hasField bit. 81 // For singular messages and builders, one bit is used for the hasField bit.
81 (*variables)["get_has_field_bit_message"] = GenerateGetBit(messageBitIndex); 82 (*variables)["get_has_field_bit_message"] = GenerateGetBit(messageBitIndex);
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 "}\n"); 252 "}\n");
252 } 253 }
253 254
254 void ImmutableEnumFieldLiteGenerator:: 255 void ImmutableEnumFieldLiteGenerator::
255 GenerateFieldBuilderInitializationCode(io::Printer* printer) const { 256 GenerateFieldBuilderInitializationCode(io::Printer* printer) const {
256 // noop for enums 257 // noop for enums
257 } 258 }
258 259
259 void ImmutableEnumFieldLiteGenerator:: 260 void ImmutableEnumFieldLiteGenerator::
260 GenerateInitializationCode(io::Printer* printer) const { 261 GenerateInitializationCode(io::Printer* printer) const {
261 printer->Print(variables_, "$name$_ = $default_number$;\n"); 262 if (!IsDefaultValueJavaDefault(descriptor_)) {
263 printer->Print(variables_, "$name$_ = $default_number$;\n");
264 }
262 } 265 }
263 266
264 void ImmutableEnumFieldLiteGenerator:: 267 void ImmutableEnumFieldLiteGenerator::
265 GenerateVisitCode(io::Printer* printer) const { 268 GenerateVisitCode(io::Printer* printer) const {
266 if (SupportFieldPresence(descriptor_->file())) { 269 if (SupportFieldPresence(descriptor_->file())) {
267 printer->Print(variables_, 270 printer->Print(variables_,
268 "$name$_ = visitor.visitInt(has$capitalized_name$(), $name$_,\n" 271 "$name$_ = visitor.visitInt(has$capitalized_name$(), $name$_,\n"
269 " other.has$capitalized_name$(), other.$name$_);\n"); 272 " other.has$capitalized_name$(), other.$name$_);\n");
270 } else if (SupportUnknownEnumValue(descriptor_->file())) { 273 } else if (SupportUnknownEnumValue(descriptor_->file())) {
271 printer->Print(variables_, 274 printer->Print(variables_,
(...skipping 606 matching lines...) Expand 10 before | Expand all | Expand 10 after
878 "if ($is_mutable$) {\n" 881 "if ($is_mutable$) {\n"
879 " $name$_.makeImmutable();\n" 882 " $name$_.makeImmutable();\n"
880 "}\n"); 883 "}\n");
881 } 884 }
882 885
883 void RepeatedImmutableEnumFieldLiteGenerator:: 886 void RepeatedImmutableEnumFieldLiteGenerator::
884 GenerateSerializationCode(io::Printer* printer) const { 887 GenerateSerializationCode(io::Printer* printer) const {
885 if (descriptor_->options().packed()) { 888 if (descriptor_->options().packed()) {
886 printer->Print(variables_, 889 printer->Print(variables_,
887 "if (get$capitalized_name$List().size() > 0) {\n" 890 "if (get$capitalized_name$List().size() > 0) {\n"
888 " output.writeRawVarint32($tag$);\n" 891 " output.writeUInt32NoTag($tag$);\n"
889 " output.writeRawVarint32($name$MemoizedSerializedSize);\n" 892 " output.writeUInt32NoTag($name$MemoizedSerializedSize);\n"
890 "}\n" 893 "}\n"
891 "for (int i = 0; i < $name$_.size(); i++) {\n" 894 "for (int i = 0; i < $name$_.size(); i++) {\n"
892 " output.writeEnumNoTag($name$_.getInt(i));\n" 895 " output.writeEnumNoTag($name$_.getInt(i));\n"
893 "}\n"); 896 "}\n");
894 } else { 897 } else {
895 printer->Print(variables_, 898 printer->Print(variables_,
896 "for (int i = 0; i < $name$_.size(); i++) {\n" 899 "for (int i = 0; i < $name$_.size(); i++) {\n"
897 " output.writeEnum($number$, $name$_.getInt(i));\n" 900 " output.writeEnum($number$, $name$_.getInt(i));\n"
898 "}\n"); 901 "}\n");
899 } 902 }
(...skipping 11 matching lines...) Expand all
911 " dataSize += com.google.protobuf.CodedOutputStream\n" 914 " dataSize += com.google.protobuf.CodedOutputStream\n"
912 " .computeEnumSizeNoTag($name$_.getInt(i));\n" 915 " .computeEnumSizeNoTag($name$_.getInt(i));\n"
913 "}\n"); 916 "}\n");
914 printer->Print( 917 printer->Print(
915 "size += dataSize;\n"); 918 "size += dataSize;\n");
916 if (descriptor_->options().packed()) { 919 if (descriptor_->options().packed()) {
917 printer->Print(variables_, 920 printer->Print(variables_,
918 "if (!get$capitalized_name$List().isEmpty()) {" 921 "if (!get$capitalized_name$List().isEmpty()) {"
919 " size += $tag_size$;\n" 922 " size += $tag_size$;\n"
920 " size += com.google.protobuf.CodedOutputStream\n" 923 " size += com.google.protobuf.CodedOutputStream\n"
921 " .computeRawVarint32Size(dataSize);\n" 924 " .computeUInt32SizeNoTag(dataSize);\n"
922 "}"); 925 "}");
923 } else { 926 } else {
924 printer->Print(variables_, 927 printer->Print(variables_,
925 "size += $tag_size$ * $name$_.size();\n"); 928 "size += $tag_size$ * $name$_.size();\n");
926 } 929 }
927 930
928 // cache the data size for packed fields. 931 // cache the data size for packed fields.
929 if (descriptor_->options().packed()) { 932 if (descriptor_->options().packed()) {
930 printer->Print(variables_, 933 printer->Print(variables_,
931 "$name$MemoizedSerializedSize = dataSize;\n"); 934 "$name$MemoizedSerializedSize = dataSize;\n");
(...skipping 19 matching lines...) Expand all
951 } 954 }
952 955
953 string RepeatedImmutableEnumFieldLiteGenerator::GetBoxedType() const { 956 string RepeatedImmutableEnumFieldLiteGenerator::GetBoxedType() const {
954 return name_resolver_->GetImmutableClassName(descriptor_->enum_type()); 957 return name_resolver_->GetImmutableClassName(descriptor_->enum_type());
955 } 958 }
956 959
957 } // namespace java 960 } // namespace java
958 } // namespace compiler 961 } // namespace compiler
959 } // namespace protobuf 962 } // namespace protobuf
960 } // namespace google 963 } // namespace google
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698