Go to the documentation of this file.
65 using internal::WireFormat;
66 using internal::WireFormatLite;
70 ClassNameResolver* name_resolver) {
73 return name_resolver->GetImmutableClassName(value_field->message_type());
89 name_resolver_(context->GetNameResolver()),
92 <<
"Generator factory error: A non-lite message generator is used to "
93 "generate lite messages.";
107 std::map<std::string, std::string> vars;
117 vars[
"private"] =
"";
119 vars[
"private"] =
"private ";
122 vars[
"final"] =
"final ";
133 "$private$static $final$com.google.protobuf.Descriptors.Descriptor\n"
134 " internal_$identifier$_descriptor;\n");
135 *bytecode_estimate += 30;
144 .GenerateStaticVariables(printer, bytecode_estimate);
150 int bytecode_estimate = 0;
151 std::map<std::string, std::string> vars;
162 "internal_$identifier$_descriptor =\n"
163 " getDescriptor().getMessageTypes().get($index$);\n");
164 bytecode_estimate += 30;
168 "internal_$identifier$_descriptor =\n"
169 " internal_$parent$_descriptor.getNestedTypes().get($index$);\n");
170 bytecode_estimate += 30;
181 .GenerateStaticVariableInitializers(printer);
183 return bytecode_estimate;
188 std::map<std::string, std::string> vars;
193 vars[
"private"] =
"";
195 vars[
"private"] =
"private ";
198 vars[
"final"] =
"final ";
205 "$private$static $final$\n"
206 " com.google.protobuf.GeneratedMessage$ver$.FieldAccessorTable\n"
207 " internal_$identifier$_fieldAccessorTable;\n");
210 *bytecode_estimate +=
216 int bytecode_estimate = 10;
218 "internal_$identifier$_fieldAccessorTable = new\n"
219 " com.google.protobuf.GeneratedMessage$ver$.FieldAccessorTable(\n"
220 " internal_$identifier$_descriptor,\n"
221 " new java.lang.String[] { ",
227 bytecode_estimate += 6;
233 bytecode_estimate += 6;
236 printer->
Print(
"});\n");
237 return bytecode_estimate;
247 "$deprecation$public interface ${$$classname$OrBuilder$}$ extends\n"
248 " $extra_interfaces$\n"
249 " com.google.protobuf.GeneratedMessage$ver$.\n"
250 " ExtendableMessageOrBuilder<$classname$> {\n",
258 "$deprecation$public interface ${$$classname$OrBuilder$}$ extends\n"
259 " $extra_interfaces$\n"
260 " com.google.protobuf.MessageOrBuilder {\n",
270 printer->
Print(
"\n");
272 .GenerateInterfaceMembers(printer);
277 "public $classname$.$oneof_capitalized_name$Case "
278 "get$oneof_capitalized_name$Case();\n",
279 "oneof_capitalized_name",
287 printer->
Print(
"}\n");
295 std::map<std::string, std::string> variables;
296 variables[
"static"] = is_own_file ?
" " :
" static ";
300 variables[
"deprecation"] =
312 "$deprecation$public $static$final class $classname$ extends\n");
316 " com.google.protobuf.GeneratedMessage$ver$.ExtendableMessage<\n"
317 " $classname$> implements\n"
318 " $extra_interfaces$\n"
319 " $classname$OrBuilder {\n");
321 "com.google.protobuf.GeneratedMessage$1.ExtendableBuilder<$0, ?>",
327 "$deprecation$public $static$final class $classname$ extends\n");
329 printer->
Print(variables,
330 " com.google.protobuf.GeneratedMessage$ver$ implements\n"
331 " $extra_interfaces$\n"
332 " $classname$OrBuilder {\n");
337 printer->
Print(
"private static final long serialVersionUID = 0L;\n");
345 "// Use $classname$.newBuilder() to construct.\n"
346 "private $classname$($buildertype$ builder) {\n"
358 printer->
Print(variables,
359 "@java.lang.Override\n"
360 "@SuppressWarnings({\"unused\"})\n"
361 "protected java.lang.Object newInstance(\n"
362 " UnusedPrivateParameter unused) {\n"
363 " return new $classname$();\n"
368 "@java.lang.Override\n"
369 "public final com.google.protobuf.UnknownFieldSet\n"
370 "getUnknownFields() {\n"
371 " return this.unknownFields;\n"
400 int totalInts = (totalBits + 31) / 32;
401 for (
int i = 0;
i < totalInts;
i++) {
402 printer->
Print(
"private int $bit_field_name$;\n",
"bit_field_name",
407 std::map<std::string, std::string> vars;
411 vars[
"oneof_capitalized_name"] =
417 "private int $oneof_name$Case_ = 0;\n"
418 "private java.lang.Object $oneof_name$_;\n");
421 "public enum $oneof_capitalized_name$Case\n"
422 " implements com.google.protobuf.Internal.EnumLite {\n");
427 "$deprecation$$field_name$($field_number$),\n",
"deprecation",
428 field->options().deprecated() ?
"@java.lang.Deprecated " :
"",
432 printer->
Print(
"$cap_oneof_name$_NOT_SET(0);\n",
"cap_oneof_name",
435 "private final int value;\n"
436 "private $oneof_capitalized_name$Case(int value) {\n"
437 " this.value = value;\n"
442 " * @deprecated Use {@link #forNumber(int)} instead.\n"
444 "@java.lang.Deprecated\n"
445 "public static $oneof_capitalized_name$Case valueOf(int value) {\n"
446 " return forNumber(value);\n"
449 "public static $oneof_capitalized_name$Case forNumber(int value) {\n"
450 " switch (value) {\n");
453 printer->
Print(
" case $field_number$: return $field_name$;\n",
458 " case 0: return $cap_oneof_name$_NOT_SET;\n"
459 " default: return null;\n"
462 "public int getNumber() {\n"
463 " return this.value;\n"
465 "cap_oneof_name",
ToUpper(vars[
"oneof_name"]));
467 printer->
Print(
"};\n\n");
470 "public $oneof_capitalized_name$Case\n"
471 "get$oneof_capitalized_name$Case() {\n"
472 " return $oneof_capitalized_name$Case.forNumber(\n"
473 " $oneof_name$Case_);\n"
484 printer->
Print(
"public static final int $constant_name$ = $number$;\n",
488 printer->
Print(
"\n");
503 "// @@protoc_insertion_point(class_scope:$full_name$)\n",
508 printer->
Print(
"private static final $classname$ DEFAULT_INSTANCE;\n",
513 " DEFAULT_INSTANCE = new $classname$();\n"
519 "public static $classname$ getDefaultInstance() {\n"
520 " return DEFAULT_INSTANCE;\n"
528 "public static $classname$ of($field_type$ value) {\n"
529 " return newBuilder().setValue(value).build();\n"
539 "@java.lang.Override\n"
540 "public $classname$ getDefaultInstanceForType() {\n"
541 " return DEFAULT_INSTANCE;\n"
555 printer->
Print(
"}\n\n");
562 std::unique_ptr<const FieldDescriptor*[]> sorted_fields(
565 std::vector<const Descriptor::ExtensionRange*> sorted_extensions;
569 std::sort(sorted_extensions.begin(), sorted_extensions.end(),
572 "@java.lang.Override\n"
573 "public void writeTo(com.google.protobuf.CodedOutputStream output)\n"
574 " throws java.io.IOException {\n");
584 printer->
Print(
"getSerializedSize();\n");
590 "com.google.protobuf.GeneratedMessage$ver$\n"
591 " .ExtendableMessage<$classname$>.ExtensionWriter\n"
592 " extensionWriter = newMessageSetExtensionWriter();\n",
597 "com.google.protobuf.GeneratedMessage$ver$\n"
598 " .ExtendableMessage<$classname$>.ExtensionWriter\n"
599 " extensionWriter = newExtensionWriter();\n",
606 for (
int i = 0, j = 0;
610 }
else if (j == sorted_extensions.size()) {
612 }
else if (sorted_fields[
i]->
number() < sorted_extensions[j]->
start) {
620 printer->
Print(
"unknownFields.writeAsMessageSetTo(output);\n");
622 printer->
Print(
"unknownFields.writeTo(output);\n");
629 "@java.lang.Override\n"
630 "public int getSerializedSize() {\n"
631 " int size = memoizedSize;\n"
632 " if (size != -1) return size;\n"
636 printer->
Print(
"size = 0;\n");
644 printer->
Print(
"size += extensionsSerializedSizeAsMessageSet();\n");
646 printer->
Print(
"size += extensionsSerializedSize();\n");
651 printer->
Print(
"size += unknownFields.getSerializedSizeAsMessageSet();\n");
653 printer->
Print(
"size += unknownFields.getSerializedSize();\n");
657 "memoizedSize = size;\n"
671 "public static $classname$ parseFrom(\n"
672 " java.nio.ByteBuffer data)\n"
673 " throws com.google.protobuf.InvalidProtocolBufferException {\n"
674 " return PARSER.parseFrom(data);\n"
676 "public static $classname$ parseFrom(\n"
677 " java.nio.ByteBuffer data,\n"
678 " com.google.protobuf.ExtensionRegistryLite extensionRegistry)\n"
679 " throws com.google.protobuf.InvalidProtocolBufferException {\n"
680 " return PARSER.parseFrom(data, extensionRegistry);\n"
682 "public static $classname$ parseFrom(\n"
683 " com.google.protobuf.ByteString data)\n"
684 " throws com.google.protobuf.InvalidProtocolBufferException {\n"
685 " return PARSER.parseFrom(data);\n"
687 "public static $classname$ parseFrom(\n"
688 " com.google.protobuf.ByteString data,\n"
689 " com.google.protobuf.ExtensionRegistryLite extensionRegistry)\n"
690 " throws com.google.protobuf.InvalidProtocolBufferException {\n"
691 " return PARSER.parseFrom(data, extensionRegistry);\n"
693 "public static $classname$ parseFrom(byte[] data)\n"
694 " throws com.google.protobuf.InvalidProtocolBufferException {\n"
695 " return PARSER.parseFrom(data);\n"
697 "public static $classname$ parseFrom(\n"
699 " com.google.protobuf.ExtensionRegistryLite extensionRegistry)\n"
700 " throws com.google.protobuf.InvalidProtocolBufferException {\n"
701 " return PARSER.parseFrom(data, extensionRegistry);\n"
703 "public static $classname$ parseFrom(java.io.InputStream input)\n"
704 " throws java.io.IOException {\n"
705 " return com.google.protobuf.GeneratedMessage$ver$\n"
706 " .parseWithIOException(PARSER, input);\n"
708 "public static $classname$ parseFrom(\n"
709 " java.io.InputStream input,\n"
710 " com.google.protobuf.ExtensionRegistryLite extensionRegistry)\n"
711 " throws java.io.IOException {\n"
712 " return com.google.protobuf.GeneratedMessage$ver$\n"
713 " .parseWithIOException(PARSER, input, extensionRegistry);\n"
715 "public static $classname$ parseDelimitedFrom(java.io.InputStream "
717 " throws java.io.IOException {\n"
718 " return com.google.protobuf.GeneratedMessage$ver$\n"
719 " .parseDelimitedWithIOException(PARSER, input);\n"
721 "public static $classname$ parseDelimitedFrom(\n"
722 " java.io.InputStream input,\n"
723 " com.google.protobuf.ExtensionRegistryLite extensionRegistry)\n"
724 " throws java.io.IOException {\n"
725 " return com.google.protobuf.GeneratedMessage$ver$\n"
726 " .parseDelimitedWithIOException(PARSER, input, "
727 "extensionRegistry);\n"
729 "public static $classname$ parseFrom(\n"
730 " com.google.protobuf.CodedInputStream input)\n"
731 " throws java.io.IOException {\n"
732 " return com.google.protobuf.GeneratedMessage$ver$\n"
733 " .parseWithIOException(PARSER, input);\n"
735 "public static $classname$ parseFrom(\n"
736 " com.google.protobuf.CodedInputStream input,\n"
737 " com.google.protobuf.ExtensionRegistryLite extensionRegistry)\n"
738 " throws java.io.IOException {\n"
739 " return com.google.protobuf.GeneratedMessage$ver$\n"
740 " .parseWithIOException(PARSER, input, extensionRegistry);\n"
754 printer->
Print(
"extensionWriter.writeUntil($end$, output);\n",
"end",
763 "@java.lang.Override\n"
764 "public Builder newBuilderForType() { return newBuilder(); }\n");
767 "public static Builder newBuilder() {\n"
768 " return DEFAULT_INSTANCE.toBuilder();\n"
770 "public static Builder newBuilder($classname$ prototype) {\n"
771 " return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);\n"
773 "@java.lang.Override\n"
774 "public Builder toBuilder() {\n"
775 " return this == DEFAULT_INSTANCE\n"
776 " ? new Builder() : new Builder().mergeFrom(this);\n"
782 "@java.lang.Override\n"
783 "protected Builder newBuilderForType(\n"
784 " com.google.protobuf.GeneratedMessage$ver$.BuilderParent parent) {\n"
785 " Builder builder = new Builder(parent);\n"
798 "public static final com.google.protobuf.Descriptors.Descriptor\n"
799 " getDescriptor() {\n"
800 " return $fileclass$.internal_$identifier$_descriptor;\n"
806 std::vector<const FieldDescriptor*> map_fields;
811 map_fields.push_back(
field);
814 if (!map_fields.empty()) {
816 "@SuppressWarnings({\"rawtypes\"})\n"
817 "@java.lang.Override\n"
818 "protected com.google.protobuf.MapField internalGetMapField(\n"
820 " switch (number) {\n");
823 for (
int i = 0;
i < map_fields.size(); ++
i) {
828 " return internalGet$capitalized_name$();\n",
829 "number",
StrCat(
field->number()),
"capitalized_name",
834 " throw new RuntimeException(\n"
835 " \"Invalid map field number: \" + number);\n");
843 "@java.lang.Override\n"
844 "protected com.google.protobuf.GeneratedMessage$ver$.FieldAccessorTable\n"
845 " internalGetFieldAccessorTable() {\n"
846 " return $fileclass$.internal_$identifier$_fieldAccessorTable\n"
847 " .ensureFieldAccessorsInitialized(\n"
848 " $classname$.class, $classname$.Builder.class);\n"
863 printer->
Print(
"private byte memoizedIsInitialized = -1;\n");
865 "@java.lang.Override\n"
866 "public final boolean isInitialized() {\n");
871 "byte isInitialized = memoizedIsInitialized;\n"
872 "if (isInitialized == 1) return true;\n"
873 "if (isInitialized == 0) return false;\n"
883 if (
field->is_required()) {
885 "if (!has$name$()) {\n"
886 " memoizedIsInitialized = 0;\n"
899 switch (
field->label()) {
902 "if (!get$name$().isInitialized()) {\n"
903 " memoizedIsInitialized = 0;\n"
916 printer->
Print(
"if ($oneof_name$Case_ == $field_number$) {\n",
917 "oneof_name", oneof_info->
name,
"field_number",
920 printer->
Print(
"if (has$name$()) {\n",
"name",
924 " if (!get$name$().isInitialized()) {\n"
925 " memoizedIsInitialized = 0;\n"
934 "for ($type$ item : get$name$Map().values()) {\n"
935 " if (!item.isInitialized()) {\n"
936 " memoizedIsInitialized = 0;\n"
941 MapValueImmutableClassdName(
field->message_type(),
946 "for (int i = 0; i < get$name$Count(); i++) {\n"
947 " if (!get$name$(i).isInitialized()) {\n"
948 " memoizedIsInitialized = 0;\n"
963 "if (!extensionsAreInitialized()) {\n"
964 " memoizedIsInitialized = 0;\n"
971 printer->
Print(
" memoizedIsInitialized = 1;\n");
983 if (
field->is_repeated()) {
997 "@java.lang.Override\n"
998 "public boolean equals(final java.lang.Object obj) {\n");
1001 "if (obj == this) {\n"
1004 "if (!(obj instanceof $classname$)) {\n"
1005 " return super.equals(obj);\n"
1007 "$classname$ other = ($classname$) obj;\n"
1013 if (
field->containing_oneof() ==
NULL) {
1015 bool check_has_bits = CheckHasBitsForEqualsAndHashCode(
field);
1016 if (check_has_bits) {
1018 "if (has$name$() != other.has$name$()) return false;\n"
1019 "if (has$name$()) {\n",
1024 if (check_has_bits) {
1026 printer->
Print(
"}\n");
1034 "if (!get$oneof_capitalized_name$Case().equals("
1035 "other.get$oneof_capitalized_name$Case())) return false;\n",
1036 "oneof_capitalized_name",
1040 "switch ($oneof_name$Case_) {\n",
"oneof_name",
1045 printer->
Print(
"case $field_number$:\n",
"field_number",
1049 printer->
Print(
"break;\n");
1056 printer->
Print(
"}\n");
1063 "if (!unknownFields.equals(other.unknownFields)) return false;\n");
1066 "if (!getExtensionFields().equals(other.getExtensionFields()))\n"
1067 " return false;\n");
1069 printer->
Print(
"return true;\n");
1076 "@java.lang.Override\n"
1077 "public int hashCode() {\n");
1079 printer->
Print(
"if (memoizedHashCode != 0) {\n");
1081 printer->
Print(
"return memoizedHashCode;\n");
1085 "int hash = 41;\n");
1089 printer->
Print(
"hash = (19 * hash) + getDescriptorForType().hashCode();\n");
1091 printer->
Print(
"hash = (19 * hash) + getDescriptor().hashCode();\n");
1097 if (
field->containing_oneof() ==
NULL) {
1099 bool check_has_bits = CheckHasBitsForEqualsAndHashCode(
field);
1100 if (check_has_bits) {
1105 if (check_has_bits) {
1107 printer->
Print(
"}\n");
1115 "switch ($oneof_name$Case_) {\n",
"oneof_name",
1120 printer->
Print(
"case $field_number$:\n",
"field_number",
1124 printer->
Print(
"break;\n");
1131 printer->
Print(
"}\n");
1135 printer->
Print(
"hash = hashFields(hash, getExtensionFields());\n");
1138 printer->
Print(
"hash = (29 * hash) + unknownFields.hashCode();\n");
1140 "memoizedHashCode = hash;\n"
1159 .GenerateExtensionRegistrationCode(printer);
1166 std::unique_ptr<const FieldDescriptor*[]> sorted_fields(
1170 "private $classname$(\n"
1171 " com.google.protobuf.CodedInputStream input,\n"
1172 " com.google.protobuf.ExtensionRegistryLite extensionRegistry)\n"
1173 " throws com.google.protobuf.InvalidProtocolBufferException {\n",
1180 "if (extensionRegistry == null) {\n"
1181 " throw new java.lang.NullPointerException();\n"
1185 int totalBuilderBits = 0;
1189 totalBuilderBits +=
field.GetNumBitsForBuilder();
1191 int totalBuilderInts = (totalBuilderBits + 31) / 32;
1192 for (
int i = 0;
i < totalBuilderInts;
i++) {
1193 printer->
Print(
"int mutable_$bit_field_name$ = 0;\n",
"bit_field_name",
1198 "com.google.protobuf.UnknownFieldSet.Builder unknownFields =\n"
1199 " com.google.protobuf.UnknownFieldSet.newBuilder();\n");
1201 printer->
Print(
"try {\n");
1205 "boolean done = false;\n"
1206 "while (!done) {\n");
1210 "int tag = input.readTag();\n"
1211 "switch (tag) {\n");
1224 printer->
Print(
"case $tag$: {\n",
"tag",
1235 if (
field->is_packable()) {
1240 printer->
Print(
"case $tag$: {\n",
"tag",
1255 " if (!parseUnknownField(\n"
1256 " input, unknownFields, extensionRegistry, tag)) {\n"
1270 "} catch (com.google.protobuf.InvalidProtocolBufferException e) {\n"
1271 " throw e.setUnfinishedMessage(this);\n"
1272 "} catch (java.io.IOException e) {\n"
1273 " throw new com.google.protobuf.InvalidProtocolBufferException(\n"
1274 " e).setUnfinishedMessage(this);\n"
1285 printer->
Print(
"this.unknownFields = unknownFields.build();\n");
1288 printer->
Print(
"makeExtensionsImmutable();\n");
1300 "$visibility$ static final com.google.protobuf.Parser<$classname$>\n"
1301 " PARSER = new com.google.protobuf.AbstractParser<$classname$>() {\n",
1308 "@java.lang.Override\n"
1309 "public $classname$ parsePartialFrom(\n"
1310 " com.google.protobuf.CodedInputStream input,\n"
1311 " com.google.protobuf.ExtensionRegistryLite extensionRegistry)\n"
1312 " throws com.google.protobuf.InvalidProtocolBufferException {\n",
1315 printer->
Print(
" return new $classname$(input, extensionRegistry);\n",
1323 "Builder builder = newBuilder();\n"
1325 " builder.mergeFrom(input, extensionRegistry);\n"
1326 "} catch (com.google.protobuf.InvalidProtocolBufferException e) {\n"
1327 " throw e.setUnfinishedMessage(builder.buildPartial());\n"
1328 "} catch (java.io.IOException e) {\n"
1329 " throw new com.google.protobuf.InvalidProtocolBufferException(\n"
1330 " e.getMessage()).setUnfinishedMessage(\n"
1331 " builder.buildPartial());\n"
1333 "return builder.buildPartial();\n");
1336 printer->
Print(
"}\n");
1343 "public static com.google.protobuf.Parser<$classname$> parser() {\n"
1347 "@java.lang.Override\n"
1348 "public com.google.protobuf.Parser<$classname$> getParserForType() {\n"
1360 .GenerateInitializationCode(printer);
1368 "private static String getTypeUrl(\n"
1369 " java.lang.String typeUrlPrefix,\n"
1370 " com.google.protobuf.Descriptors.Descriptor descriptor) {\n"
1371 " return typeUrlPrefix.endsWith(\"/\")\n"
1372 " ? typeUrlPrefix + descriptor.getFullName()\n"
1373 " : typeUrlPrefix + \"/\" + descriptor.getFullName();\n"
1376 "private static String getTypeNameFromTypeUrl(\n"
1377 " java.lang.String typeUrl) {\n"
1378 " int pos = typeUrl.lastIndexOf('/');\n"
1379 " return pos == -1 ? \"\" : typeUrl.substring(pos + 1);\n"
1382 "public static <T extends com.google.protobuf.Message> Any pack(\n"
1384 " return Any.newBuilder()\n"
1385 " .setTypeUrl(getTypeUrl(\"type.googleapis.com\",\n"
1386 " message.getDescriptorForType()))\n"
1387 " .setValue(message.toByteString())\n"
1392 " * Packs a message using the given type URL prefix. The type URL will\n"
1393 " * be constructed by concatenating the message type's full name to the\n"
1394 " * prefix with an optional \"/\" separator if the prefix doesn't end\n"
1395 " * with \"/\" already.\n"
1397 "public static <T extends com.google.protobuf.Message> Any pack(\n"
1398 " T message, java.lang.String typeUrlPrefix) {\n"
1399 " return Any.newBuilder()\n"
1400 " .setTypeUrl(getTypeUrl(typeUrlPrefix,\n"
1401 " message.getDescriptorForType()))\n"
1402 " .setValue(message.toByteString())\n"
1406 "public <T extends com.google.protobuf.Message> boolean is(\n"
1407 " java.lang.Class<T> clazz) {\n"
1408 " T defaultInstance =\n"
1409 " com.google.protobuf.Internal.getDefaultInstance(clazz);\n"
1410 " return getTypeNameFromTypeUrl(getTypeUrl()).equals(\n"
1411 " defaultInstance.getDescriptorForType().getFullName());\n"
1414 "private volatile com.google.protobuf.Message cachedUnpackValue;\n"
1416 "@java.lang.SuppressWarnings(\"unchecked\")\n"
1417 "public <T extends com.google.protobuf.Message> T unpack(\n"
1418 " java.lang.Class<T> clazz)\n"
1419 " throws com.google.protobuf.InvalidProtocolBufferException {\n"
1420 " boolean invalidClazz = false;\n"
1421 " if (cachedUnpackValue != null) {\n"
1422 " if (cachedUnpackValue.getClass() == clazz) {\n"
1423 " return (T) cachedUnpackValue;\n"
1425 " invalidClazz = true;\n"
1427 " if (invalidClazz || !is(clazz)) {\n"
1428 " throw new com.google.protobuf.InvalidProtocolBufferException(\n"
1429 " \"Type of the Any message does not match the given class.\");\n"
1431 " T defaultInstance =\n"
1432 " com.google.protobuf.Internal.getDefaultInstance(clazz);\n"
1433 " T result = (T) defaultInstance.getParserForType()\n"
1434 " .parseFrom(getValue());\n"
1435 " cachedUnpackValue = result;\n"
const std::string & full_name() const
void GenerateEqualsAndHashCode(io::Printer *printer)
void GenerateMessageSerializationMethods(io::Printer *printer)
void Print(const std::map< std::string, std::string > &variables, const char *text)
#define GOOGLE_CHECK_EQ(A, B)
MockGeneratorContext context_
void MaybePrintGeneratedAnnotation(Context *context, io::Printer *printer, Descriptor *descriptor, bool immutable, const std::string &suffix="")
GLuint const GLchar * name
virtual void GenerateInterface(io::Printer *printer)
bool HasDescriptorMethods(const Descriptor *descriptor, bool enforce_lite)
void GenerateIsInitialized(io::Printer *printer)
bool IsMapEntry(const Descriptor *descriptor)
string StrCat(const AlphaNum &a, const AlphaNum &b)
int nested_type_count() const
void GenerateParseFromMethods(io::Printer *printer)
const Descriptor * containing_type() const
bool MultipleJavaFiles(const FileDescriptor *descriptor, bool immutable)
FieldGeneratorMap< ImmutableFieldGenerator > field_generators_
void GenerateSerializeOneExtensionRange(io::Printer *printer, const Descriptor::ExtensionRange *range)
GLsizei const GLchar *const * string
std::string GetImmutableClassName(const DescriptorType *descriptor)
ImmutableMessageGenerator(const Descriptor *descriptor, Context *context)
const FieldDescriptor * field(int index) const
MessageGenerator(const Descriptor *descriptor)
const MessageOptions & options() const
virtual void Generate(io::Printer *printer)
void GenerateParsingConstructor(io::Printer *printer)
ClassNameResolver * name_resolver_
std::string ExtraMessageOrBuilderInterfaces(const Descriptor *descriptor)
const FieldDescriptor * field(int index) const
void WriteMessageDocComment(io::Printer *printer, const Descriptor *message)
int GenerateFieldAccessorTableInitializer(io::Printer *printer)
bool IsWrappersProtoFile(const FileDescriptor *descriptor)
void GenerateFieldAccessorTable(io::Printer *printer, int *bytecode_estimate)
const ExtensionRange * extension_range(int index) const
bool ExposePublicParser(const FileDescriptor *descriptor)
virtual void GenerateStaticVariables(io::Printer *printer, int *bytecode_estimate)
const FieldGeneratorInfo * GetFieldGeneratorInfo(const FieldDescriptor *field) const
const OneofDescriptor * oneof_decl(int index) const
JavaType GetJavaType(const FieldDescriptor *field)
std::string ExtraMessageInterfaces(const Descriptor *descriptor)
int oneof_decl_count() const
int extension_count() const
const EnumDescriptor * enum_type(int index) const
const Descriptor * descriptor_
virtual ~MessageGenerator()
void GenerateDescriptorMethods(io::Printer *printer)
std::string GetBitFieldName(int index)
void GenerateBuilder(io::Printer *printer)
string Substitute(const char *format, const SubstituteArg &arg0, const SubstituteArg &arg1, const SubstituteArg &arg2, const SubstituteArg &arg3, const SubstituteArg &arg4, const SubstituteArg &arg5, const SubstituteArg &arg6, const SubstituteArg &arg7, const SubstituteArg &arg8, const SubstituteArg &arg9)
const FieldDescriptor * extension(int index) const
void Generate(io::Printer *printer)
static const int kMaxStaticSize
int extension_range_count() const
void GenerateAnyMethods(io::Printer *printer)
virtual ~ImmutableMessageGenerator()
const FieldDescriptor * field
void Annotate(const char *varname, const SomeDescriptor *descriptor)
#define GOOGLE_CHECK(EXPRESSION)
std::string capitalized_name
bool HasGeneratedMethods(const Descriptor *descriptor) const
bool SupportFieldPresence(const FileDescriptor *descriptor)
const Descriptor * nested_type(int index) const
int enum_type_count() const
void GenerateSerializeOneField(io::Printer *printer, const FieldDescriptor *field)
void GenerateParser(io::Printer *printer)
std::string UniqueFileScopeIdentifier(const Descriptor *descriptor)
virtual void Generate(io::Printer *printer)
const std::string & name() const
const FileDescriptor * file() const
virtual int GenerateRegistrationCode(io::Printer *printer)
string ToUpper(const string &s)
std::string FieldConstantName(const FieldDescriptor *field)
const OneofDescriptor * containing_oneof() const
bool no_standard_descriptor_accessor() const
virtual int GenerateStaticVariableInitializers(io::Printer *printer)
ClassNameResolver * GetNameResolver() const
bool HasRequiredFields(const Descriptor *type, std::unordered_set< const Descriptor * > *already_seen)
std::string capitalized_name
const Descriptor * descriptor_
const OneofGeneratorInfo * GetOneofGeneratorInfo(const OneofDescriptor *oneof) const
bool IsOwnFile(const Descriptor *descriptor, bool immutable)
bool HasPackedFields(const Descriptor *descriptor)
const char * PrimitiveTypeName(JavaType type)
const FieldDescriptor ** SortFieldsByNumber(const Descriptor *descriptor)
virtual void GenerateExtensionRegistrationCode(io::Printer *printer)
virtual void Generate(io::Printer *printer)
std::string GeneratedCodeVersionSuffix()
void GenerateInitializers(io::Printer *printer)
bool IsAnyMessage(const Descriptor *descriptor)
bool message_set_wire_format() const
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:55