Go to the documentation of this file.
56 bool EnableExperimentalRuntimeForLite() {
57 #ifdef PROTOBUF_EXPERIMENT
58 return PROTOBUF_EXPERIMENT;
59 #else // PROTOBUF_EXPERIMENT
61 #endif // !PROTOBUF_EXPERIMENT
65 int builderBitIndex,
const FieldGeneratorInfo* info,
66 ClassNameResolver* name_resolver,
67 std::map<std::string, std::string>* variables) {
70 (*variables)[
"type"] =
71 name_resolver->GetImmutableClassName(
descriptor->enum_type());
72 (*variables)[
"mutable_type"] =
73 name_resolver->GetMutableClassName(
descriptor->enum_type());
75 (*variables)[
"default_number"] =
77 (*variables)[
"tag"] =
StrCat(
79 (*variables)[
"tag_size"] =
StrCat(
83 (*variables)[
"deprecation"] =
84 descriptor->options().deprecated() ?
"@java.lang.Deprecated " :
"";
85 (*variables)[
"required"] =
descriptor->is_required() ?
"true" :
"false";
89 (*variables)[
"get_has_field_bit_message"] =
GenerateGetBit(messageBitIndex);
92 (*variables)[
"set_has_field_bit_message"] =
94 (*variables)[
"clear_has_field_bit_message"] =
97 (*variables)[
"is_field_present_message"] =
GenerateGetBit(messageBitIndex);
99 (*variables)[
"set_has_field_bit_message"] =
"";
100 (*variables)[
"clear_has_field_bit_message"] =
"";
102 (*variables)[
"is_field_present_message"] =
103 (*variables)[
"name"] +
"_ != " + (*variables)[
"default"] +
108 (*variables)[
"is_mutable"] = (*variables)[
"name"] +
"_.isModifiable()";
110 (*variables)[
"get_has_field_bit_from_local"] =
112 (*variables)[
"set_has_field_bit_to_local"] =
116 (*variables)[
"unknown"] = (*variables)[
"type"] +
".UNRECOGNIZED";
118 (*variables)[
"unknown"] = (*variables)[
"default"];
129 messageBitIndex_(messageBitIndex),
131 name_resolver_(context->GetNameResolver()) {
132 SetEnumVariables(
descriptor, messageBitIndex, 0,
148 "$deprecation$boolean has$capitalized_name$();\n");
153 "$deprecation$int get$capitalized_name$Value();\n");
156 printer->
Print(
variables_,
"$deprecation$$type$ get$capitalized_name$();\n");
167 "@java.lang.Override\n"
168 "$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
169 " return $get_has_field_bit_message$;\n"
177 "@java.lang.Override\n"
178 "$deprecation$public int ${$get$capitalized_name$Value$}$() {\n"
185 "@java.lang.Override\n"
186 "$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n"
187 " $type$ result = $type$.forNumber($name$_);\n"
188 " return result == null ? $unknown$ : result;\n"
196 "private void set$capitalized_name$Value(int value) {\n"
197 " $set_has_field_bit_message$"
198 " $name$_ = value;\n"
203 "private void set$capitalized_name$($type$ value) {\n"
204 " if (value == null) {\n"
205 " throw new NullPointerException();\n"
207 " $set_has_field_bit_message$\n"
208 " $name$_ = value.getNumber();\n"
212 "private void clear$capitalized_name$() {\n"
213 " $clear_has_field_bit_message$\n"
214 " $name$_ = $default_number$;\n"
224 "@java.lang.Override\n"
225 "$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
226 " return instance.has$capitalized_name$();\n"
234 "@java.lang.Override\n"
235 "$deprecation$public int ${$get$capitalized_name$Value$}$() {\n"
236 " return instance.get$capitalized_name$Value();\n"
241 "$deprecation$public Builder "
242 "${$set$capitalized_name$Value$}$(int value) {\n"
244 " instance.set$capitalized_name$Value(value);\n"
251 "@java.lang.Override\n"
252 "$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n"
253 " return instance.get$capitalized_name$();\n"
258 "$deprecation$public Builder "
259 "${$set$capitalized_name$$}$($type$ value) {\n"
261 " instance.set$capitalized_name$(value);\n"
268 "$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n"
270 " instance.clear$capitalized_name$();\n"
323 "@java.lang.Override\n"
324 "$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
325 " return $has_oneof_case_message$;\n"
333 "@java.lang.Override\n"
334 "$deprecation$public int ${$get$capitalized_name$Value$}$() {\n"
335 " if ($has_oneof_case_message$) {\n"
336 " return (java.lang.Integer) $oneof_name$_;\n"
338 " return $default_number$;\n"
344 "@java.lang.Override\n"
345 "$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n"
346 " if ($has_oneof_case_message$) {\n"
347 " $type$ result = $type$.forNumber((java.lang.Integer) "
349 " return result == null ? $unknown$ : result;\n"
351 " return $default$;\n"
359 "private void set$capitalized_name$Value(int value) {\n"
360 " $set_oneof_case_message$;\n"
361 " $oneof_name$_ = value;\n"
366 "private void set$capitalized_name$($type$ value) {\n"
367 " if (value == null) {\n"
368 " throw new NullPointerException();\n"
370 " $set_oneof_case_message$;\n"
371 " $oneof_name$_ = value.getNumber();\n"
375 "private void clear$capitalized_name$() {\n"
376 " if ($has_oneof_case_message$) {\n"
377 " $clear_oneof_case_message$;\n"
378 " $oneof_name$_ = null;\n"
403 "@java.lang.Override\n"
404 "$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
405 " return instance.has$capitalized_name$();\n"
413 "@java.lang.Override\n"
414 "$deprecation$public int ${$get$capitalized_name$Value$}$() {\n"
415 " return instance.get$capitalized_name$Value();\n"
420 "$deprecation$public Builder "
421 "${$set$capitalized_name$Value$}$(int value) {\n"
423 " instance.set$capitalized_name$Value(value);\n"
430 "@java.lang.Override\n"
431 "$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n"
432 " return instance.get$capitalized_name$();\n"
437 "$deprecation$public Builder "
438 "${$set$capitalized_name$$}$($type$ value) {\n"
440 " instance.set$capitalized_name$(value);\n"
447 "$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n"
449 " instance.clear$capitalized_name$();\n"
463 name_resolver_(context->GetNameResolver()) {
464 SetEnumVariables(
descriptor, messageBitIndex, 0,
481 "$deprecation$java.util.List<$type$> get$capitalized_name$List();\n");
484 "$deprecation$int get$capitalized_name$Count();\n");
487 "$deprecation$$type$ get$capitalized_name$(int index);\n");
491 "$deprecation$java.util.List<java.lang.Integer>\n"
492 "get$capitalized_name$ValueList();\n");
495 "$deprecation$int get$capitalized_name$Value(int index);\n");
503 "private com.google.protobuf.Internal.IntList $name$_;\n"
504 "private static final "
505 "com.google.protobuf.Internal.ListAdapter.Converter<\n"
506 " java.lang.Integer, $type$> $name$_converter_ =\n"
507 " new com.google.protobuf.Internal.ListAdapter.Converter<\n"
508 " java.lang.Integer, $type$>() {\n"
509 " @java.lang.Override\n"
510 " public $type$ convert(java.lang.Integer from) {\n"
511 " $type$ result = $type$.forNumber(from);\n"
512 " return result == null ? $unknown$ : result;\n"
519 "@java.lang.Override\n"
520 "$deprecation$public java.util.List<$type$> "
521 "${$get$capitalized_name$List$}$() {\n"
522 " return new com.google.protobuf.Internal.ListAdapter<\n"
523 " java.lang.Integer, $type$>($name$_, $name$_converter_);\n"
529 "@java.lang.Override\n"
530 "$deprecation$public int ${$get$capitalized_name$Count$}$() {\n"
531 " return $name$_.size();\n"
537 "@java.lang.Override\n"
538 "$deprecation$public $type$ ${$get$capitalized_name$$}$(int index) {\n"
539 " return $name$_converter_.convert($name$_.getInt(index));\n"
545 "@java.lang.Override\n"
546 "$deprecation$public java.util.List<java.lang.Integer>\n"
547 "${$get$capitalized_name$ValueList$}$() {\n"
553 "@java.lang.Override\n"
554 "$deprecation$public int "
555 "${$get$capitalized_name$Value$}$(int index) {\n"
556 " return $name$_.getInt(index);\n"
563 printer->
Print(
variables_,
"private int $name$MemoizedSerializedSize;\n");
569 "private void ensure$capitalized_name$IsMutable() {\n"
570 " if (!$is_mutable$) {\n"
572 " com.google.protobuf.GeneratedMessageLite.mutableCopy($name$_);\n"
577 "private void set$capitalized_name$(\n"
578 " int index, $type$ value) {\n"
579 " if (value == null) {\n"
580 " throw new NullPointerException();\n"
582 " ensure$capitalized_name$IsMutable();\n"
583 " $name$_.setInt(index, value.getNumber());\n"
587 "private void add$capitalized_name$($type$ value) {\n"
588 " if (value == null) {\n"
589 " throw new NullPointerException();\n"
591 " ensure$capitalized_name$IsMutable();\n"
592 " $name$_.addInt(value.getNumber());\n"
596 "private void addAll$capitalized_name$(\n"
597 " java.lang.Iterable<? extends $type$> values) {\n"
598 " ensure$capitalized_name$IsMutable();\n"
599 " for ($type$ value : values) {\n"
600 " $name$_.addInt(value.getNumber());\n"
605 "private void clear$capitalized_name$() {\n"
606 " $name$_ = emptyIntList();\n"
612 "private void set$capitalized_name$Value(\n"
613 " int index, int value) {\n"
614 " ensure$capitalized_name$IsMutable();\n"
615 " $name$_.setInt(index, value);\n"
619 "private void add$capitalized_name$Value(int value) {\n"
620 " ensure$capitalized_name$IsMutable();\n"
621 " $name$_.addInt(value);\n"
625 "private void addAll$capitalized_name$Value(\n"
626 " java.lang.Iterable<java.lang.Integer> values) {\n"
627 " ensure$capitalized_name$IsMutable();\n"
628 " for (int value : values) {\n"
629 " $name$_.addInt(value);\n"
653 "@java.lang.Override\n"
654 "$deprecation$public java.util.List<$type$> "
655 "${$get$capitalized_name$List$}$() {\n"
656 " return instance.get$capitalized_name$List();\n"
662 "@java.lang.Override\n"
663 "$deprecation$public int ${$get$capitalized_name$Count$}$() {\n"
664 " return instance.get$capitalized_name$Count();\n"
670 "@java.lang.Override\n"
671 "$deprecation$public $type$ ${$get$capitalized_name$$}$(int index) {\n"
672 " return instance.get$capitalized_name$(index);\n"
677 "$deprecation$public Builder ${$set$capitalized_name$$}$(\n"
678 " int index, $type$ value) {\n"
680 " instance.set$capitalized_name$(index, value);\n"
686 "$deprecation$public Builder "
687 "${$add$capitalized_name$$}$($type$ value) {\n"
689 " instance.add$capitalized_name$(value);\n"
695 "$deprecation$public Builder ${$addAll$capitalized_name$$}$(\n"
696 " java.lang.Iterable<? extends $type$> values) {\n"
698 " instance.addAll$capitalized_name$(values);"
705 "$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n"
707 " instance.clear$capitalized_name$();\n"
715 "@java.lang.Override\n"
716 "$deprecation$public java.util.List<java.lang.Integer>\n"
717 "${$get$capitalized_name$ValueList$}$() {\n"
718 " return java.util.Collections.unmodifiableList(\n"
719 " instance.get$capitalized_name$ValueList());\n"
724 "@java.lang.Override\n"
725 "$deprecation$public int "
726 "${$get$capitalized_name$Value$}$(int index) {\n"
727 " return instance.get$capitalized_name$Value(index);\n"
733 "$deprecation$public Builder ${$set$capitalized_name$Value$}$(\n"
734 " int index, int value) {\n"
736 " instance.set$capitalized_name$Value(index, value);\n"
742 "$deprecation$public Builder "
743 "${$add$capitalized_name$Value$}$(int value) {\n"
744 " instance.add$capitalized_name$Value(value);\n"
751 "$deprecation$public Builder ${$addAll$capitalized_name$Value$}$(\n"
752 " java.lang.Iterable<java.lang.Integer> values) {\n"
754 " instance.addAll$capitalized_name$Value(values);\n"
void Print(const std::map< std::string, std::string > &variables, const char *text)
std::string GenerateClearBit(int bitIndex)
MockGeneratorContext context_
const EnumDescriptor * enum_type() const
void GenerateInterfaceMembers(io::Printer *printer) const
string StrCat(const AlphaNum &a, const AlphaNum &b)
std::string GenerateSetBit(int bitIndex)
const Descriptor * containing_type() const
void WriteFieldDocComment(io::Printer *printer, const FieldDescriptor *field)
std::string ImmutableDefaultValue(const FieldDescriptor *field, ClassNameResolver *name_resolver)
void PrintEnumVerifierLogic(io::Printer *printer, const FieldDescriptor *descriptor, const std::map< std::string, std::string > &variables, const char *var_name, const char *terminating_string, bool enforce_lite)
GLsizei const GLchar *const * string
std::string GetImmutableClassName(const DescriptorType *descriptor)
void SetCommonOneofVariables(const FieldDescriptor *descriptor, const OneofGeneratorInfo *info, std::map< std::string, std::string > *variables)
int GetExperimentalJavaFieldType(const FieldDescriptor *field)
void GenerateMembers(io::Printer *printer) const
void GenerateBuilderMembers(io::Printer *printer) const
bool IsDefaultValueJavaDefault(const FieldDescriptor *field)
~ImmutableEnumOneofFieldLiteGenerator()
std::map< std::string, std::string > variables_
bool SupportUnknownEnumValue(const FileDescriptor *descriptor)
const FileDescriptor * file() const
int GetNumBitsForMessage() const
ImmutableEnumOneofFieldLiteGenerator(const FieldDescriptor *descriptor, int messageBitIndex, Context *context)
void GenerateInitializationCode(io::Printer *printer) const
void GenerateMembers(io::Printer *printer) const
void GenerateFieldInfo(io::Printer *printer, std::vector< uint16 > *output) const
~RepeatedImmutableEnumFieldLiteGenerator()
const FieldGeneratorInfo * GetFieldGeneratorInfo(const FieldDescriptor *field) const
const FieldDescriptor * descriptor_
void PrintExtraFieldInfo(const std::map< std::string, std::string > &variables, io::Printer *printer)
std::string GenerateSetBitToLocal(int bitIndex)
void GenerateBuilderMembers(io::Printer *printer) const
std::map< std::string, std::string > variables_
void GenerateBuilderMembers(io::Printer *printer) const
void Annotate(const char *varname, const SomeDescriptor *descriptor)
ClassNameResolver * name_resolver_
void GenerateFieldInfo(io::Printer *printer, std::vector< uint16 > *output) const
FieldDescriptor::Type GetType(const FieldDescriptor *field)
bool HasGeneratedMethods(const Descriptor *descriptor) const
bool SupportFieldPresence(const FileDescriptor *descriptor)
const int messageBitIndex_
int GetNumBitsForMessage() const
std::string GetBoxedType() const
void GenerateInitializationCode(io::Printer *printer) const
~ImmutableEnumFieldLiteGenerator()
void GenerateInterfaceMembers(io::Printer *printer) const
ClassNameResolver * name_resolver_
void GenerateMembers(io::Printer *printer) const
void SetCommonFieldVariables(const FieldDescriptor *descriptor, const FieldGeneratorInfo *info, std::map< std::string, std::string > *variables)
const OneofDescriptor * containing_oneof() const
std::string GenerateGetBit(int bitIndex)
const FieldDescriptor * descriptor_
RepeatedImmutableEnumFieldLiteGenerator(const FieldDescriptor *descriptor, int messageBitIndex, Context *context)
const Descriptor * descriptor_
std::string GetBoxedType() const
const OneofGeneratorInfo * GetOneofGeneratorInfo(const OneofDescriptor *oneof) const
const upb_json_parsermethod const upb_symtab upb_sink * output
void GenerateFieldInfo(io::Printer *printer, std::vector< uint16 > *output) const
void WriteIntToUtf16CharSequence(int value, std::vector< uint16 > *output)
ImmutableEnumFieldLiteGenerator(const FieldDescriptor *descriptor, int messageBitIndex, Context *context)
std::string GenerateGetBitFromLocal(int bitIndex)
libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:54