next protobuf/src/google/protobuf/compiler/java/message_lite.cc:846 │ protobuf/src/google/protobuf/compiler/java/message.cc:1525
│
std::string message_name = name_resolver_->GetClassName(descriptor_, true); │ std::string message_name = name_resolver_->GetClassName(descriptor_, true);
│
printer->Print( │ printer->Print(
"@Suppress(\"UNCHECKED_CAST\")\n" │ "@Suppress(\"UNCHECKED_CAST\")\n"
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"operator fun <T : kotlin.Any> get(extension: " │ "operator fun <T : kotlin.Any> get(extension: "
"com.google.protobuf.ExtensionLite<$message$, T>): T {\n" │ "com.google.protobuf.ExtensionLite<$message$, T>): T {\n"
" return if (extension.isRepeated) {\n" │ " return if (extension.isRepeated) {\n"
" get(extension as com.google.protobuf.ExtensionLite<$message$, " │ " get(extension as com.google.protobuf.ExtensionLite<$message$, "
"List<*>>) as T\n" │ "List<*>>) as T\n"
" } else {\n" │ " } else {\n"
" _builder.getExtension(extension)\n" │ " _builder.getExtension(extension)\n"
" }\n" │ " }\n"
"}\n\n", │ "}\n\n",
"message", message_name); │ "message", message_name);
│
printer->Print( │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"@kotlin.jvm.JvmName(\"-getRepeatedExtension\")\n" │ "@kotlin.jvm.JvmName(\"-getRepeatedExtension\")\n"
"operator fun <E : kotlin.Any> get(\n" │ "operator fun <E : kotlin.Any> get(\n"
" extension: com.google.protobuf.ExtensionLite<$message$, List<E>>\n" │ " extension: com.google.protobuf.ExtensionLite<$message$, List<E>>\n"
"): com.google.protobuf.kotlin.ExtensionList<E, $message$> {\n" │ "): com.google.protobuf.kotlin.ExtensionList<E, $message$> {\n"
" return com.google.protobuf.kotlin.ExtensionList(extension, " │ " return com.google.protobuf.kotlin.ExtensionList(extension, "
"_builder.getExtension(extension))\n" │ "_builder.getExtension(extension))\n"
"}\n\n", │ "}\n\n",
"message", message_name); │ "message", message_name);
│
printer->Print( │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"operator fun contains(extension: " │ "operator fun contains(extension: "
"com.google.protobuf.ExtensionLite<$message$, *>): " │ "com.google.protobuf.ExtensionLite<$message$, *>): "
"Boolean {\n" │ "Boolean {\n"
" return _builder.hasExtension(extension)\n" │ " return _builder.hasExtension(extension)\n"
"}\n\n", │ "}\n\n",
"message", message_name); │ "message", message_name);
│
printer->Print( │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"fun clear(extension: " │ "fun clear(extension: "
"com.google.protobuf.ExtensionLite<$message$, *>) " │ "com.google.protobuf.ExtensionLite<$message$, *>) "
"{\n" │ "{\n"
" _builder.clearExtension(extension)\n" │ " _builder.clearExtension(extension)\n"
"}\n\n", │ "}\n\n",
"message", message_name); │ "message", message_name);
│
printer->Print( │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.PublishedApi\n" │ "@kotlin.PublishedApi\n"
"internal fun <T : kotlin.Any> setExtension(extension: " │ "internal fun <T : kotlin.Any> setExtension(extension: "
"com.google.protobuf.ExtensionLite<$message$, T>, " │ "com.google.protobuf.ExtensionLite<$message$, T>, "
"value: T) {\n" │ "value: T) {\n"
" _builder.setExtension(extension, value)\n" │ " _builder.setExtension(extension, value)\n"
"}\n\n", │ "}\n\n",
"message", message_name); │ "message", message_name);
│
printer->Print( │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun <T : Comparable<T>> set(\n" │ "inline operator fun <T : Comparable<T>> set(\n"
" extension: com.google.protobuf.ExtensionLite<$message$, T>,\n" │ " extension: com.google.protobuf.ExtensionLite<$message$, T>,\n"
" value: T\n" │ " value: T\n"
") {\n" │ ") {\n"
" setExtension(extension, value)\n" │ " setExtension(extension, value)\n"
"}\n\n", │ "}\n\n",
"message", message_name); │ "message", message_name);
│
printer->Print( │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun set(\n" │ "inline operator fun set(\n"
" extension: com.google.protobuf.ExtensionLite<$message$, " │ " extension: com.google.protobuf.ExtensionLite<$message$, "
"com.google.protobuf.ByteString>,\n" │ "com.google.protobuf.ByteString>,\n"
" value: com.google.protobuf.ByteString\n" │ " value: com.google.protobuf.ByteString\n"
") {\n" │ ") {\n"
" setExtension(extension, value)\n" │ " setExtension(extension, value)\n"
"}\n\n", │ "}\n\n",
"message", message_name); │ "message", message_name);
│
printer->Print( │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun <T : com.google.protobuf.MessageLite> set(\n" │ "inline operator fun <T : com.google.protobuf.MessageLite> set(\n"
" extension: com.google.protobuf.ExtensionLite<$message$, T>,\n" │ " extension: com.google.protobuf.ExtensionLite<$message$, T>,\n"
" value: T\n" │ " value: T\n"
") {\n" │ ") {\n"
" setExtension(extension, value)\n" │ " setExtension(extension, value)\n"
"}\n\n", │ "}\n\n",
"message", message_name); │ "message", message_name);
│
printer->Print( │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"fun<E : kotlin.Any> com.google.protobuf.kotlin.ExtensionList<E, " │ "fun <E : kotlin.Any> com.google.protobuf.kotlin.ExtensionList<E, "
"$message$>.add(value: E) {\n" │ "$message$>.add(value: E) {\n"
" _builder.addExtension(this.extension, value)\n" │ " _builder.addExtension(this.extension, value)\n"
"}\n\n", │ "}\n\n",
"message", message_name); │ "message", message_name);
│
printer->Print( │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun <E : kotlin.Any> " │ "inline operator fun <E : kotlin.Any> "
"com.google.protobuf.kotlin.ExtensionList<E, " │ "com.google.protobuf.kotlin.ExtensionList<E, "
"$message$>.plusAssign" │ "$message$>.plusAssign"
"(value: E) {\n" │ "(value: E) {\n"
" add(value)\n" │ " add(value)\n"
"}\n\n", │ "}\n\n",
"message", message_name); │ "message", message_name);
│
printer->Print( │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"fun<E : kotlin.Any> com.google.protobuf.kotlin.ExtensionList<E, " │ "fun <E : kotlin.Any> com.google.protobuf.kotlin.ExtensionList<E, "
"$message$>.addAll(values: Iterable<E>) {\n" │ "$message$>.addAll(values: Iterable<E>) {\n"
" for (value in values) {\n" │ " for (value in values) {\n"
" add(value)\n" │ " add(value)\n"
" }\n" │ " }\n"
"}\n\n", │ "}\n\n",
"message", message_name); │ "message", message_name);
│
printer->Print( │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun <E : kotlin.Any> " │ "inline operator fun <E : kotlin.Any> "
"com.google.protobuf.kotlin.ExtensionList<E, " │ "com.google.protobuf.kotlin.ExtensionList<E, "
"$message$>.plusAssign(values: " │ "$message$>.plusAssign(values: "
"Iterable<E>) {\n" │ "Iterable<E>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}\n\n", │ "}\n\n",
"message", message_name); │ "message", message_name);
│
printer->Print( │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"operator fun <E : kotlin.Any> " │ "operator fun <E : kotlin.Any> "
"com.google.protobuf.kotlin.ExtensionList<E, " │ "com.google.protobuf.kotlin.ExtensionList<E, "
"$message$>.set(index: Int, value: " │ "$message$>.set(index: Int, value: "
"E) {\n" │ "E) {\n"
" _builder.setExtension(this.extension, index, value)\n" │ " _builder.setExtension(this.extension, index, value)\n"
"}\n\n", │ "}\n\n",
"message", message_name); │ "message", message_name);
│
printer->Print( │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline fun com.google.protobuf.kotlin.ExtensionList<*, " │ "inline fun com.google.protobuf.kotlin.ExtensionList<*, "
"$message$>.clear() {\n" │ "$message$>.clear() {\n"
" clear(extension)\n" │ " clear(extension)\n"
"}\n\n", │ "}\n\n",
"message", message_name); │ "message", message_name);
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field.h:54 │ protobuf/src/google/protobuf/compiler/java/primitive_field.h:54
│
namespace protobuf { │ namespace protobuf {
namespace compiler { │ namespace compiler {
namespace java { │ namespace java {
│
class ImmutableEnumFieldGenerator : public ImmutableFieldGenerator { │ class ImmutablePrimitiveFieldGenerator : public ImmutableFieldGenerator {
public: │ public:
explicit ImmutableEnumFieldGenerator(const FieldDescriptor* descriptor, │ explicit ImmutablePrimitiveFieldGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, int builderBitIndex, │ int messageBitIndex,
Context* context); │ int builderBitIndex,
~ImmutableEnumFieldGenerator() override; │ Context* context);
│ ~ImmutablePrimitiveFieldGenerator() override;
│
// implements ImmutableFieldGenerator │ // implements ImmutableFieldGenerator
// --------------------------------------- │ // ---------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
int GetNumBitsForBuilder() const override; │ int GetNumBitsForBuilder() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateBuilderClearCode(io::Printer* printer) const override; │ void GenerateBuilderClearCode(io::Printer* printer) const override;
void GenerateMergingCode(io::Printer* printer) const override; │ void GenerateMergingCode(io::Printer* printer) const override;
void GenerateBuildingCode(io::Printer* printer) const override; │ void GenerateBuildingCode(io::Printer* printer) const override;
void GenerateParsingCode(io::Printer* printer) const override; │ void GenerateParsingCode(io::Printer* printer) const override;
void GenerateParsingDoneCode(io::Printer* printer) const override; │ void GenerateParsingDoneCode(io::Printer* printer) const override;
void GenerateSerializationCode(io::Printer* printer) const override; │ void GenerateSerializationCode(io::Printer* printer) const override;
void GenerateSerializedSizeCode(io::Printer* printer) const override; │ void GenerateSerializedSizeCode(io::Printer* printer) const override;
void GenerateFieldBuilderInitializationCode( │ void GenerateFieldBuilderInitializationCode(
io::Printer* printer) const override; │ io::Printer* printer) const override;
void GenerateEqualsCode(io::Printer* printer) const override; │ void GenerateEqualsCode(io::Printer* printer) const override;
void GenerateHashCode(io::Printer* printer) const override; │ void GenerateHashCode(io::Printer* printer) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
protected: │ protected:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableEnumFieldGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutablePrimitiveFieldGenerator);
}; │ };
│
class ImmutableEnumOneofFieldGenerator : public ImmutableEnumFieldGenerator { │ class ImmutablePrimitiveOneofFieldGenerator
│ : public ImmutablePrimitiveFieldGenerator {
public: │ public:
ImmutableEnumOneofFieldGenerator(const FieldDescriptor* descriptor, │ ImmutablePrimitiveOneofFieldGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, int builderBitIndex, │ int messageBitIndex,
Context* context); │ int builderBitIndex, Context* context);
~ImmutableEnumOneofFieldGenerator() override; │ ~ImmutablePrimitiveOneofFieldGenerator() override;
│
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateMergingCode(io::Printer* printer) const override; │
void GenerateBuildingCode(io::Printer* printer) const override; │ void GenerateBuildingCode(io::Printer* printer) const override;
│ void GenerateMergingCode(io::Printer* printer) const override;
void GenerateParsingCode(io::Printer* printer) const override; │ void GenerateParsingCode(io::Printer* printer) const override;
void GenerateSerializationCode(io::Printer* printer) const override; │ void GenerateSerializationCode(io::Printer* printer) const override;
void GenerateSerializedSizeCode(io::Printer* printer) const override; │ void GenerateSerializedSizeCode(io::Printer* printer) const override;
void GenerateEqualsCode(io::Printer* printer) const override; │
void GenerateHashCode(io::Printer* printer) const override; │
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableEnumOneofFieldGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutablePrimitiveOneofFieldGenerator);
}; │ };
│
class RepeatedImmutableEnumFieldGenerator : public ImmutableFieldGenerator { │ class RepeatedImmutablePrimitiveFieldGenerator
│ : public ImmutableFieldGenerator {
public: │ public:
explicit RepeatedImmutableEnumFieldGenerator( │ explicit RepeatedImmutablePrimitiveFieldGenerator(
const FieldDescriptor* descriptor, int messageBitIndex, │ const FieldDescriptor* descriptor, int messageBitIndex,
int builderBitIndex, Context* context); │ int builderBitIndex, Context* context);
~RepeatedImmutableEnumFieldGenerator() override; │ ~RepeatedImmutablePrimitiveFieldGenerator() override;
│
// implements ImmutableFieldGenerator --------------------------------------- │ // implements ImmutableFieldGenerator ---------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
int GetNumBitsForBuilder() const override; │ int GetNumBitsForBuilder() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateBuilderClearCode(io::Printer* printer) const override; │ void GenerateBuilderClearCode(io::Printer* printer) const override;
void GenerateMergingCode(io::Printer* printer) const override; │ void GenerateMergingCode(io::Printer* printer) const override;
void GenerateBuildingCode(io::Printer* printer) const override; │ void GenerateBuildingCode(io::Printer* printer) const override;
void GenerateParsingCode(io::Printer* printer) const override; │ void GenerateParsingCode(io::Printer* printer) const override;
void GenerateParsingCodeFromPacked(io::Printer* printer) const override; │ void GenerateParsingCodeFromPacked(io::Printer* printer) const override;
void GenerateParsingDoneCode(io::Printer* printer) const override; │ void GenerateParsingDoneCode(io::Printer* printer) const override;
void GenerateSerializationCode(io::Printer* printer) const override; │ void GenerateSerializationCode(io::Printer* printer) const override;
void GenerateSerializedSizeCode(io::Printer* printer) const override; │ void GenerateSerializedSizeCode(io::Printer* printer) const override;
void GenerateFieldBuilderInitializationCode( │ void GenerateFieldBuilderInitializationCode(
io::Printer* printer) const override; │ io::Printer* printer) const override;
void GenerateEqualsCode(io::Printer* printer) const override; │ void GenerateEqualsCode(io::Printer* printer) const override;
void GenerateHashCode(io::Printer* printer) const override; │ void GenerateHashCode(io::Printer* printer) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
private: │ private:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableEnumFieldGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutablePrimitiveFieldGenerator);
}; │ };
│
} // namespace java │ } // namespace java
} // namespace compiler │ } // namespace compiler
} // namespace protobuf │ } // namespace protobuf
} │
next prev up protobuf/src/google/protobuf/compiler/java/string_field.h:55 │ protobuf/src/google/protobuf/compiler/java/primitive_field.h:54
│
namespace protobuf { │ namespace protobuf {
namespace compiler { │ namespace compiler {
namespace java { │ namespace java {
│
class ImmutableStringFieldGenerator : public ImmutableFieldGenerator { │ class ImmutablePrimitiveFieldGenerator : public ImmutableFieldGenerator {
public: │ public:
explicit ImmutableStringFieldGenerator(const FieldDescriptor* descriptor, │ explicit ImmutablePrimitiveFieldGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, │ int messageBitIndex,
int builderBitIndex, Context* context); │ int builderBitIndex,
~ImmutableStringFieldGenerator() override; │ Context* context);
│ ~ImmutablePrimitiveFieldGenerator() override;
│
// implements ImmutableFieldGenerator │ // implements ImmutableFieldGenerator
// --------------------------------------- │ // ---------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
int GetNumBitsForBuilder() const override; │ int GetNumBitsForBuilder() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateBuilderClearCode(io::Printer* printer) const override; │ void GenerateBuilderClearCode(io::Printer* printer) const override;
void GenerateMergingCode(io::Printer* printer) const override; │ void GenerateMergingCode(io::Printer* printer) const override;
void GenerateBuildingCode(io::Printer* printer) const override; │ void GenerateBuildingCode(io::Printer* printer) const override;
void GenerateParsingCode(io::Printer* printer) const override; │ void GenerateParsingCode(io::Printer* printer) const override;
void GenerateParsingDoneCode(io::Printer* printer) const override; │ void GenerateParsingDoneCode(io::Printer* printer) const override;
void GenerateSerializationCode(io::Printer* printer) const override; │ void GenerateSerializationCode(io::Printer* printer) const override;
void GenerateSerializedSizeCode(io::Printer* printer) const override; │ void GenerateSerializedSizeCode(io::Printer* printer) const override;
void GenerateFieldBuilderInitializationCode( │ void GenerateFieldBuilderInitializationCode(
io::Printer* printer) const override; │ io::Printer* printer) const override;
void GenerateEqualsCode(io::Printer* printer) const override; │ void GenerateEqualsCode(io::Printer* printer) const override;
void GenerateHashCode(io::Printer* printer) const override; │ void GenerateHashCode(io::Printer* printer) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
protected: │ protected:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableStringFieldGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutablePrimitiveFieldGenerator);
}; │ };
│
class ImmutableStringOneofFieldGenerator │ class ImmutablePrimitiveOneofFieldGenerator
: public ImmutableStringFieldGenerator { │ : public ImmutablePrimitiveFieldGenerator {
public: │ public:
ImmutableStringOneofFieldGenerator(const FieldDescriptor* descriptor, │ ImmutablePrimitiveOneofFieldGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, int builderBitIndex, │ int messageBitIndex,
Context* context); │ int builderBitIndex, Context* context);
~ImmutableStringOneofFieldGenerator() override; │ ~ImmutablePrimitiveOneofFieldGenerator() override;
│
private: │
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateMergingCode(io::Printer* printer) const override; │
void GenerateBuildingCode(io::Printer* printer) const override; │ void GenerateBuildingCode(io::Printer* printer) const override;
│ void GenerateMergingCode(io::Printer* printer) const override;
void GenerateParsingCode(io::Printer* printer) const override; │ void GenerateParsingCode(io::Printer* printer) const override;
void GenerateSerializationCode(io::Printer* printer) const override; │ void GenerateSerializationCode(io::Printer* printer) const override;
void GenerateSerializedSizeCode(io::Printer* printer) const override; │ void GenerateSerializedSizeCode(io::Printer* printer) const override;
│
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableStringOneofFieldGenerator); │ private:
│ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutablePrimitiveOneofFieldGenerator);
}; │ };
│
class RepeatedImmutableStringFieldGenerator : public ImmutableFieldGenerator { │ class RepeatedImmutablePrimitiveFieldGenerator
│ : public ImmutableFieldGenerator {
public: │ public:
explicit RepeatedImmutableStringFieldGenerator( │ explicit RepeatedImmutablePrimitiveFieldGenerator(
const FieldDescriptor* descriptor, int messageBitIndex, │ const FieldDescriptor* descriptor, int messageBitIndex,
int builderBitIndex, Context* context); │ int builderBitIndex, Context* context);
~RepeatedImmutableStringFieldGenerator() override; │ ~RepeatedImmutablePrimitiveFieldGenerator() override;
│
// implements ImmutableFieldGenerator --------------------------------------- │ // implements ImmutableFieldGenerator ---------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
int GetNumBitsForBuilder() const override; │ int GetNumBitsForBuilder() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateBuilderClearCode(io::Printer* printer) const override; │ void GenerateBuilderClearCode(io::Printer* printer) const override;
void GenerateMergingCode(io::Printer* printer) const override; │ void GenerateMergingCode(io::Printer* printer) const override;
void GenerateBuildingCode(io::Printer* printer) const override; │ void GenerateBuildingCode(io::Printer* printer) const override;
void GenerateParsingCode(io::Printer* printer) const override; │ void GenerateParsingCode(io::Printer* printer) const override;
│ void GenerateParsingCodeFromPacked(io::Printer* printer) const override;
void GenerateParsingDoneCode(io::Printer* printer) const override; │ void GenerateParsingDoneCode(io::Printer* printer) const override;
void GenerateSerializationCode(io::Printer* printer) const override; │ void GenerateSerializationCode(io::Printer* printer) const override;
void GenerateSerializedSizeCode(io::Printer* printer) const override; │ void GenerateSerializedSizeCode(io::Printer* printer) const override;
void GenerateFieldBuilderInitializationCode( │ void GenerateFieldBuilderInitializationCode(
io::Printer* printer) const override; │ io::Printer* printer) const override;
void GenerateEqualsCode(io::Printer* printer) const override; │ void GenerateEqualsCode(io::Printer* printer) const override;
void GenerateHashCode(io::Printer* printer) const override; │ void GenerateHashCode(io::Printer* printer) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
private: │ private:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableStringFieldGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutablePrimitiveFieldGenerator);
}; │ };
│
} // namespace java │ } // namespace java
} // namespace compiler │ } // namespace compiler
} // namespace protobuf │ } // namespace protobuf
} │
next prev up protobuf/src/google/protobuf/compiler/java/string_field.h:55 │ protobuf/src/google/protobuf/compiler/java/enum_field.h:54
│
namespace protobuf { │ namespace protobuf {
namespace compiler { │ namespace compiler {
namespace java { │ namespace java {
│
class ImmutableStringFieldGenerator : public ImmutableFieldGenerator { │ class ImmutableEnumFieldGenerator : public ImmutableFieldGenerator {
public: │ public:
explicit ImmutableStringFieldGenerator(const FieldDescriptor* descriptor, │ explicit ImmutableEnumFieldGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, │ int messageBitIndex, int builderBitIndex,
int builderBitIndex, Context* context); │ Context* context);
~ImmutableStringFieldGenerator() override; │ ~ImmutableEnumFieldGenerator() override;
│
// implements ImmutableFieldGenerator │ // implements ImmutableFieldGenerator
// --------------------------------------- │ // ---------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
int GetNumBitsForBuilder() const override; │ int GetNumBitsForBuilder() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateBuilderClearCode(io::Printer* printer) const override; │ void GenerateBuilderClearCode(io::Printer* printer) const override;
void GenerateMergingCode(io::Printer* printer) const override; │ void GenerateMergingCode(io::Printer* printer) const override;
void GenerateBuildingCode(io::Printer* printer) const override; │ void GenerateBuildingCode(io::Printer* printer) const override;
void GenerateParsingCode(io::Printer* printer) const override; │ void GenerateParsingCode(io::Printer* printer) const override;
void GenerateParsingDoneCode(io::Printer* printer) const override; │ void GenerateParsingDoneCode(io::Printer* printer) const override;
void GenerateSerializationCode(io::Printer* printer) const override; │ void GenerateSerializationCode(io::Printer* printer) const override;
void GenerateSerializedSizeCode(io::Printer* printer) const override; │ void GenerateSerializedSizeCode(io::Printer* printer) const override;
void GenerateFieldBuilderInitializationCode( │ void GenerateFieldBuilderInitializationCode(
io::Printer* printer) const override; │ io::Printer* printer) const override;
void GenerateEqualsCode(io::Printer* printer) const override; │ void GenerateEqualsCode(io::Printer* printer) const override;
void GenerateHashCode(io::Printer* printer) const override; │ void GenerateHashCode(io::Printer* printer) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
protected: │ protected:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableStringFieldGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableEnumFieldGenerator);
}; │ };
│
class ImmutableStringOneofFieldGenerator │ class ImmutableEnumOneofFieldGenerator : public ImmutableEnumFieldGenerator {
: public ImmutableStringFieldGenerator { │
public: │ public:
ImmutableStringOneofFieldGenerator(const FieldDescriptor* descriptor, │ ImmutableEnumOneofFieldGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, int builderBitIndex, │ int messageBitIndex, int builderBitIndex,
Context* context); │ Context* context);
~ImmutableStringOneofFieldGenerator() override; │ ~ImmutableEnumOneofFieldGenerator() override;
│
private: │
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateMergingCode(io::Printer* printer) const override; │ void GenerateMergingCode(io::Printer* printer) const override;
void GenerateBuildingCode(io::Printer* printer) const override; │ void GenerateBuildingCode(io::Printer* printer) const override;
void GenerateParsingCode(io::Printer* printer) const override; │ void GenerateParsingCode(io::Printer* printer) const override;
void GenerateSerializationCode(io::Printer* printer) const override; │ void GenerateSerializationCode(io::Printer* printer) const override;
void GenerateSerializedSizeCode(io::Printer* printer) const override; │ void GenerateSerializedSizeCode(io::Printer* printer) const override;
│ void GenerateEqualsCode(io::Printer* printer) const override;
│ void GenerateHashCode(io::Printer* printer) const override;
│
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableStringOneofFieldGenerator); │ private:
│ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableEnumOneofFieldGenerator);
}; │ };
│
class RepeatedImmutableStringFieldGenerator : public ImmutableFieldGenerator { │ class RepeatedImmutableEnumFieldGenerator : public ImmutableFieldGenerator {
public: │ public:
explicit RepeatedImmutableStringFieldGenerator( │ explicit RepeatedImmutableEnumFieldGenerator(
const FieldDescriptor* descriptor, int messageBitIndex, │ const FieldDescriptor* descriptor, int messageBitIndex,
int builderBitIndex, Context* context); │ int builderBitIndex, Context* context);
~RepeatedImmutableStringFieldGenerator() override; │ ~RepeatedImmutableEnumFieldGenerator() override;
│
// implements ImmutableFieldGenerator --------------------------------------- │ // implements ImmutableFieldGenerator ---------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
int GetNumBitsForBuilder() const override; │ int GetNumBitsForBuilder() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateBuilderClearCode(io::Printer* printer) const override; │ void GenerateBuilderClearCode(io::Printer* printer) const override;
void GenerateMergingCode(io::Printer* printer) const override; │ void GenerateMergingCode(io::Printer* printer) const override;
void GenerateBuildingCode(io::Printer* printer) const override; │ void GenerateBuildingCode(io::Printer* printer) const override;
void GenerateParsingCode(io::Printer* printer) const override; │ void GenerateParsingCode(io::Printer* printer) const override;
│ void GenerateParsingCodeFromPacked(io::Printer* printer) const override;
void GenerateParsingDoneCode(io::Printer* printer) const override; │ void GenerateParsingDoneCode(io::Printer* printer) const override;
void GenerateSerializationCode(io::Printer* printer) const override; │ void GenerateSerializationCode(io::Printer* printer) const override;
void GenerateSerializedSizeCode(io::Printer* printer) const override; │ void GenerateSerializedSizeCode(io::Printer* printer) const override;
void GenerateFieldBuilderInitializationCode( │ void GenerateFieldBuilderInitializationCode(
io::Printer* printer) const override; │ io::Printer* printer) const override;
void GenerateEqualsCode(io::Printer* printer) const override; │ void GenerateEqualsCode(io::Printer* printer) const override;
void GenerateHashCode(io::Printer* printer) const override; │ void GenerateHashCode(io::Printer* printer) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
private: │ private:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableStringFieldGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableEnumFieldGenerator);
}; │ };
│
} // namespace java │ } // namespace java
} // namespace compiler │ } // namespace compiler
} // namespace protobuf │ } // namespace protobuf
} │
next prev up protobuf/src/google/protobuf/compiler/java/map_field_lite.cc:193 │ protobuf/src/google/protobuf/compiler/java/map_field.cc:208
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$int ${$get$capitalized_name$Count$}$();\n"); │ "$deprecation$int ${$get$capitalized_name$Count$}$();\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$boolean ${$contains$capitalized_name$$}$(\n" │ "$deprecation$boolean ${$contains$capitalized_name$$}$(\n"
" $key_type$ key);\n"); │ " $key_type$ key);\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
if (GetJavaType(ValueField(descriptor_)) == JAVATYPE_ENUM) { │ if (GetJavaType(ValueField(descriptor_)) == JAVATYPE_ENUM) {
printer->Print(variables_, │ printer->Print(variables_,
"/**\n" │ "/**\n"
" * Use {@link #get$capitalized_name$Map()} instead.\n" │ " * Use {@link #get$capitalized_name$Map()} instead.\n"
" */\n" │ " */\n"
"@java.lang.Deprecated\n" │ "@java.lang.Deprecated\n"
"java.util.Map<$boxed_key_type$, $value_enum_type$>\n" │ "java.util.Map<$boxed_key_type$, $value_enum_type$>\n"
"${$get$capitalized_name$$}$();\n"); │ "${$get$capitalized_name$$}$();\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$deprecation$java.util.Map<$boxed_key_type$, $value_enum_type$>\n" │ "$deprecation$java.util.Map<$boxed_key_type$, $value_enum_type$>\n"
"${$get$capitalized_name$Map$}$();\n"); │ "${$get$capitalized_name$Map$}$();\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$$value_enum_type_pass_through_nullness$ " │ "$deprecation$$value_enum_type_pass_through_nullness$ "
"${$get$capitalized_name$OrDefault$}$(\n" │ "${$get$capitalized_name$OrDefault$}$(\n"
" $key_type$ key,\n" │ " $key_type$ key,\n"
" $value_enum_type_pass_through_nullness$ " │ " $value_enum_type_pass_through_nullness$ "
" defaultValue);\n"); │ " defaultValue);\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$deprecation$$value_enum_type$ ${$get$capitalized_name$OrThrow$}$(\n" │ "$deprecation$$value_enum_type$ ${$get$capitalized_name$OrThrow$}$(\n"
" $key_type$ key);\n"); │ " $key_type$ key);\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
if (SupportUnknownEnumValue(descriptor_->file())) { │ if (SupportUnknownEnumValue(descriptor_->file())) {
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * Use {@link #get$capitalized_name$ValueMap()} instead.\n" │ " * Use {@link #get$capitalized_name$ValueMap()} instead.\n"
" */\n" │ " */\n"
"@java.lang.Deprecated\n" │ "@java.lang.Deprecated\n"
"java.util.Map<$type_parameters$>\n" │ "java.util.Map<$type_parameters$>\n"
"${$get$capitalized_name$Value$}$();\n"); │ "${$get$capitalized_name$Value$}$();\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$java.util.Map<$type_parameters$>\n" │ "$deprecation$java.util.Map<$type_parameters$>\n"
"${$get$capitalized_name$ValueMap$}$();\n"); │ "${$get$capitalized_name$ValueMap$}$();\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$\n" │ "$deprecation$\n"
"$value_type$ ${$get$capitalized_name$ValueOrDefault$}$(\n" │ "$value_type$ ${$get$capitalized_name$ValueOrDefault$}$(\n"
" $key_type$ key,\n" │ " $key_type$ key,\n"
" $value_type$ defaultValue);\n"); │ " $value_type$ defaultValue);\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$\n" │ "$deprecation$\n"
"$value_type$ ${$get$capitalized_name$ValueOrThrow$}$(\n" │ "$value_type$ ${$get$capitalized_name$ValueOrThrow$}$(\n"
" $key_type$ key);\n"); │ " $key_type$ key);\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
} │ }
} else { │ } else {
printer->Print(variables_, │ printer->Print(variables_,
"/**\n" │ "/**\n"
" * Use {@link #get$capitalized_name$Map()} instead.\n" │ " * Use {@link #get$capitalized_name$Map()} instead.\n"
" */\n" │ " */\n"
"@java.lang.Deprecated\n" │ "@java.lang.Deprecated\n"
"java.util.Map<$type_parameters$>\n" │ "java.util.Map<$type_parameters$>\n"
"${$get$capitalized_name$$}$();\n"); │ "${$get$capitalized_name$$}$();\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$java.util.Map<$type_parameters$>\n" │ "$deprecation$java.util.Map<$type_parameters$>\n"
"${$get$capitalized_name$Map$}$();\n"); │ "${$get$capitalized_name$Map$}$();\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$\n" │ "$deprecation$\n"
"$value_type_pass_through_nullness$ " │ "$value_type_pass_through_nullness$ "
"${$get$capitalized_name$OrDefault$}$(\n" │ "${$get$capitalized_name$OrDefault$}$(\n"
" $key_type$ key,\n" │ " $key_type$ key,\n"
" $value_type_pass_through_nullness$ defaultValue);\n"); │ " $value_type_pass_through_nullness$ defaultValue);\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$\n" │ "$deprecation$\n"
"$value_type$ ${$get$capitalized_name$OrThrow$}$(\n" │ "$value_type$ ${$get$capitalized_name$OrThrow$}$(\n"
" $key_type$ key);\n"); │ " $key_type$ key);\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/string_field_lite.cc:742 │ protobuf/src/google/protobuf/compiler/java/string_field.cc:957
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
// property for List<String> │ // property for List<String>
WriteFieldAccessorDocComment(printer, descriptor_, LIST_GETTER); │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_GETTER);
printer->Print( │ printer->Print(variables_,
variables_, │ "$kt_deprecation$ val $kt_name$: "
"$kt_deprecation$ val $kt_name$: " │ "com.google.protobuf.kotlin.DslList"
"com.google.protobuf.kotlin.DslList" │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>\n"
"<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>\n" │ " @kotlin.jvm.JvmSynthetic\n"
"@kotlin.OptIn" │ " get() = com.google.protobuf.kotlin.DslList(\n"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
" get() = com.google.protobuf.kotlin.DslList(\n" │ " )\n");
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │
" )\n"); │
│
// List<String>.add(String) │ // List<String>.add(String)
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: kotlin.String) {\n" │ "add(value: kotlin.String) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}\n"); │ "}\n");
│
// List<String> += String │ // List<String> += String
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: kotlin.String) {\n" │ "plusAssign(value: kotlin.String) {\n"
" add(value)\n" │ " add(value)\n"
"}\n"); │ "}\n");
│
// List<String>.addAll(Iterable<String>) │ // List<String>.addAll(Iterable<String>)
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"addAll(values: kotlin.collections.Iterable<kotlin.String>) {\n" │ "addAll(values: kotlin.collections.Iterable<kotlin.String>) {\n"
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
"}\n"); │ "}\n");
│
// List<String> += Iterable<String> │ // List<String> += Iterable<String>
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<kotlin.String>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<kotlin.String>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}\n"); │ "}\n");
│
// List<String>[Int] = String │ // List<String>[Int] = String
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: kotlin.String) {\n" │ "set(index: kotlin.Int, value: kotlin.String) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}"); │ "}");
} │
next prev up protobuf/src/google/protobuf/compiler/java/message_field.cc:1413 │ protobuf/src/google/protobuf/compiler/java/string_field.cc:957
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ // property for List<String>
│ WriteFieldAccessorDocComment(printer, descriptor_, LIST_GETTER);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$ val $kt_name$: " │ "$kt_deprecation$ val $kt_name$: "
"com.google.protobuf.kotlin.DslList" │ "com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>\n"
" @kotlin.jvm.JvmSynthetic\n" │ " @kotlin.jvm.JvmSynthetic\n"
" get() = com.google.protobuf.kotlin.DslList(\n" │ " get() = com.google.protobuf.kotlin.DslList(\n"
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
" )\n"); │ " )\n");
│
│ // List<String>.add(String)
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: $kt_type$) {\n" │ "add(value: kotlin.String) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}\n"); │ "}\n");
│
│ // List<String> += String
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: $kt_type$) {\n" │ "plusAssign(value: kotlin.String) {\n"
" add(value)\n" │ " add(value)\n"
"}\n"); │ "}\n");
│
│ // List<String>.addAll(Iterable<String>)
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ variables_,
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmSynthetic\n"
"fun com.google.protobuf.kotlin.DslList" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "fun com.google.protobuf.kotlin.DslList"
"addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ "addAll(values: kotlin.collections.Iterable<kotlin.String>) {\n"
"}\n"); │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
│ "}\n");
│
│ // List<String> += Iterable<String>
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<kotlin.String>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}\n"); │ "}\n");
│
│ // List<String>[Int] = String
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: $kt_type$) {\n" │ "set(index: kotlin.Int, value: kotlin.String) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}\n"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n\n"); │ "}");
} │
next prev up protobuf/src/google/protobuf/compiler/java/message_field_lite.cc:800 │ protobuf/src/google/protobuf/compiler/java/string_field_lite.cc:742
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ // property for List<String>
printer->Print(variables_, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_GETTER);
"$kt_deprecation$ val $kt_name$: " │ printer->Print(
"com.google.protobuf.kotlin.DslList" │ variables_,
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "$kt_deprecation$ val $kt_name$: "
" @kotlin.jvm.JvmSynthetic\n" │ "com.google.protobuf.kotlin.DslList"
" get() = com.google.protobuf.kotlin.DslList(\n" │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>\n"
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │ "@kotlin.OptIn"
" )\n"); │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
│ " get() = com.google.protobuf.kotlin.DslList(\n"
│ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
│ " )\n");
│
│ // List<String>.add(String)
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: $kt_type$) {\n" │ "add(value: kotlin.String) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}\n"); │ "}\n");
│
│ // List<String> += String
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: $kt_type$) {\n" │ "plusAssign(value: kotlin.String) {\n"
" add(value)\n" │ " add(value)\n"
"}\n"); │ "}\n");
│
│ // List<String>.addAll(Iterable<String>)
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ variables_,
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmSynthetic\n"
"fun com.google.protobuf.kotlin.DslList" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "fun com.google.protobuf.kotlin.DslList"
"addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ "addAll(values: kotlin.collections.Iterable<kotlin.String>) {\n"
"}\n"); │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
│ "}\n");
│
│ // List<String> += Iterable<String>
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<kotlin.String>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}\n"); │ "}\n");
│
│ // List<String>[Int] = String
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: $kt_type$) {\n" │ "set(index: kotlin.Int, value: kotlin.String) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}\n"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}");
} │
next prev up protobuf/src/google/protobuf/compiler/java/message_field_lite.cc:800 │ protobuf/src/google/protobuf/compiler/java/message_field.cc:1413
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$ val $kt_name$: " │ "$kt_deprecation$ val $kt_name$: "
"com.google.protobuf.kotlin.DslList" │ "com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n"
" @kotlin.jvm.JvmSynthetic\n" │ " @kotlin.jvm.JvmSynthetic\n"
" get() = com.google.protobuf.kotlin.DslList(\n" │ " get() = com.google.protobuf.kotlin.DslList(\n"
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
" )\n"); │ " )\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: $kt_type$) {\n" │ "add(value: $kt_type$) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}\n"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: $kt_type$) {\n" │ "plusAssign(value: $kt_type$) {\n"
" add(value)\n" │ " add(value)\n"
"}\n"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
"}\n"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}\n"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: $kt_type$) {\n" │ "set(index: kotlin.Int, value: $kt_type$) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}\n"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n\n");
} │
next prev up protobuf/src/google/protobuf/compiler/java/primitive_field.cc:843 │ protobuf/src/google/protobuf/compiler/java/string_field.cc:957
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ // property for List<String>
│ WriteFieldAccessorDocComment(printer, descriptor_, LIST_GETTER);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$ val $kt_name$: " │ "$kt_deprecation$ val $kt_name$: "
"com.google.protobuf.kotlin.DslList" │ "com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>\n"
" @kotlin.jvm.JvmSynthetic\n" │ " @kotlin.jvm.JvmSynthetic\n"
" get() = com.google.protobuf.kotlin.DslList(\n" │ " get() = com.google.protobuf.kotlin.DslList(\n"
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
" )\n"); │ " )\n");
│
│ // List<String>.add(String)
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: $kt_type$) {\n" │ "add(value: kotlin.String) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}"); │ "}\n");
│
│ // List<String> += String
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: $kt_type$) {\n" │ "plusAssign(value: kotlin.String) {\n"
" add(value)\n" │ " add(value)\n"
"}"); │ "}\n");
│
│ // List<String>.addAll(Iterable<String>)
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ variables_,
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmSynthetic\n"
"fun com.google.protobuf.kotlin.DslList" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "fun com.google.protobuf.kotlin.DslList"
"addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ "addAll(values: kotlin.collections.Iterable<kotlin.String>) {\n"
"}"); │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
│ "}\n");
│
│ // List<String> += Iterable<String>
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<kotlin.String>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}"); │ "}\n");
│
│ // List<String>[Int] = String
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: $kt_type$) {\n" │ "set(index: kotlin.Int, value: kotlin.String) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}"); │ "}");
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field.cc:1079 │ protobuf/src/google/protobuf/compiler/java/string_field.cc:957
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ // property for List<String>
│ WriteFieldAccessorDocComment(printer, descriptor_, LIST_GETTER);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$ val $kt_name$: " │ "$kt_deprecation$ val $kt_name$: "
"com.google.protobuf.kotlin.DslList" │ "com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>\n"
" @kotlin.jvm.JvmSynthetic\n" │ " @kotlin.jvm.JvmSynthetic\n"
" get() = com.google.protobuf.kotlin.DslList(\n" │ " get() = com.google.protobuf.kotlin.DslList(\n"
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
" )\n"); │ " )\n");
│
│ // List<String>.add(String)
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: $kt_type$) {\n" │ "add(value: kotlin.String) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}"); │ "}\n");
│
│ // List<String> += String
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: $kt_type$) {\n" │ "plusAssign(value: kotlin.String) {\n"
" add(value)\n" │ " add(value)\n"
"}"); │ "}\n");
│
│ // List<String>.addAll(Iterable<String>)
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ variables_,
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmSynthetic\n"
"fun com.google.protobuf.kotlin.DslList" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "fun com.google.protobuf.kotlin.DslList"
"addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ "addAll(values: kotlin.collections.Iterable<kotlin.String>) {\n"
"}"); │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
│ "}\n");
│
│ // List<String> += Iterable<String>
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<kotlin.String>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}"); │ "}\n");
│
│ // List<String>[Int] = String
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: $kt_type$) {\n" │ "set(index: kotlin.Int, value: kotlin.String) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}"); │ "}");
} │
next prev up protobuf/src/google/protobuf/compiler/java/primitive_field_lite.cc:665 │ protobuf/src/google/protobuf/compiler/java/string_field_lite.cc:742
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ // property for List<String>
printer->Print(variables_, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_GETTER);
"$kt_deprecation$ val $kt_name$: " │ printer->Print(
"com.google.protobuf.kotlin.DslList" │ variables_,
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "$kt_deprecation$ val $kt_name$: "
" @kotlin.jvm.JvmSynthetic\n" │ "com.google.protobuf.kotlin.DslList"
" get() = com.google.protobuf.kotlin.DslList(\n" │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>\n"
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │ "@kotlin.OptIn"
" )\n"); │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
│ " get() = com.google.protobuf.kotlin.DslList(\n"
│ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
│ " )\n");
│
│ // List<String>.add(String)
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: $kt_type$) {\n" │ "add(value: kotlin.String) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}"); │ "}\n");
│
│ // List<String> += String
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: $kt_type$) {\n" │ "plusAssign(value: kotlin.String) {\n"
" add(value)\n" │ " add(value)\n"
"}"); │ "}\n");
│
│ // List<String>.addAll(Iterable<String>)
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ variables_,
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmSynthetic\n"
"fun com.google.protobuf.kotlin.DslList" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "fun com.google.protobuf.kotlin.DslList"
"addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ "addAll(values: kotlin.collections.Iterable<kotlin.String>) {\n"
"}"); │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
│ "}\n");
│
│ // List<String> += Iterable<String>
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<kotlin.String>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}"); │ "}\n");
│
│ // List<String>[Int] = String
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: $kt_type$) {\n" │ "set(index: kotlin.Int, value: kotlin.String) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}"); │ "}");
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field_lite.cc:821 │ protobuf/src/google/protobuf/compiler/java/string_field_lite.cc:742
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ // property for List<String>
printer->Print(variables_, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_GETTER);
"$kt_deprecation$ val $kt_name$: " │ printer->Print(
"com.google.protobuf.kotlin.DslList" │ variables_,
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "$kt_deprecation$ val $kt_name$: "
" @kotlin.jvm.JvmSynthetic\n" │ "com.google.protobuf.kotlin.DslList"
" get() = com.google.protobuf.kotlin.DslList(\n" │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>\n"
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │ "@kotlin.OptIn"
" )\n"); │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
│ " get() = com.google.protobuf.kotlin.DslList(\n"
│ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
│ " )\n");
│
│ // List<String>.add(String)
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: $kt_type$) {\n" │ "add(value: kotlin.String) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}"); │ "}\n");
│
│ // List<String> += String
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: $kt_type$) {\n" │ "plusAssign(value: kotlin.String) {\n"
" add(value)\n" │ " add(value)\n"
"}"); │ "}\n");
│
│ // List<String>.addAll(Iterable<String>)
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(
"@kotlin.jvm.JvmSynthetic\n" │ variables_,
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmSynthetic\n"
"fun com.google.protobuf.kotlin.DslList" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "fun com.google.protobuf.kotlin.DslList"
"addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ "addAll(values: kotlin.collections.Iterable<kotlin.String>) {\n"
"}"); │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
│ "}\n");
│
│ // List<String> += Iterable<String>
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<kotlin.String>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}"); │ "}\n");
│
│ // List<String>[Int] = String
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: $kt_type$) {\n" │ "set(index: kotlin.Int, value: kotlin.String) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<kotlin.String, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}"); │ "}");
} │
next prev up protobuf/src/google/protobuf/compiler/java/primitive_field.cc:843 │ protobuf/src/google/protobuf/compiler/java/message_field.cc:1413
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$ val $kt_name$: " │ "$kt_deprecation$ val $kt_name$: "
"com.google.protobuf.kotlin.DslList" │ "com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n"
" @kotlin.jvm.JvmSynthetic\n" │ " @kotlin.jvm.JvmSynthetic\n"
" get() = com.google.protobuf.kotlin.DslList(\n" │ " get() = com.google.protobuf.kotlin.DslList(\n"
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
" )\n"); │ " )\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: $kt_type$) {\n" │ "add(value: $kt_type$) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: $kt_type$) {\n" │ "plusAssign(value: $kt_type$) {\n"
" add(value)\n" │ " add(value)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: $kt_type$) {\n" │ "set(index: kotlin.Int, value: $kt_type$) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}"); │ "}\n\n");
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field.cc:1079 │ protobuf/src/google/protobuf/compiler/java/message_field.cc:1413
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$ val $kt_name$: " │ "$kt_deprecation$ val $kt_name$: "
"com.google.protobuf.kotlin.DslList" │ "com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n"
" @kotlin.jvm.JvmSynthetic\n" │ " @kotlin.jvm.JvmSynthetic\n"
" get() = com.google.protobuf.kotlin.DslList(\n" │ " get() = com.google.protobuf.kotlin.DslList(\n"
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
" )\n"); │ " )\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: $kt_type$) {\n" │ "add(value: $kt_type$) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: $kt_type$) {\n" │ "plusAssign(value: $kt_type$) {\n"
" add(value)\n" │ " add(value)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: $kt_type$) {\n" │ "set(index: kotlin.Int, value: $kt_type$) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}"); │ "}\n\n");
} │
next prev up protobuf/src/google/protobuf/compiler/java/primitive_field_lite.cc:665 │ protobuf/src/google/protobuf/compiler/java/message_field_lite.cc:800
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$ val $kt_name$: " │ "$kt_deprecation$ val $kt_name$: "
"com.google.protobuf.kotlin.DslList" │ "com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n"
" @kotlin.jvm.JvmSynthetic\n" │ " @kotlin.jvm.JvmSynthetic\n"
" get() = com.google.protobuf.kotlin.DslList(\n" │ " get() = com.google.protobuf.kotlin.DslList(\n"
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
" )\n"); │ " )\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: $kt_type$) {\n" │ "add(value: $kt_type$) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: $kt_type$) {\n" │ "plusAssign(value: $kt_type$) {\n"
" add(value)\n" │ " add(value)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: $kt_type$) {\n" │ "set(index: kotlin.Int, value: $kt_type$) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}"); │ "}\n");
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field_lite.cc:821 │ protobuf/src/google/protobuf/compiler/java/message_field_lite.cc:800
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$ val $kt_name$: " │ "$kt_deprecation$ val $kt_name$: "
"com.google.protobuf.kotlin.DslList" │ "com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n"
" @kotlin.jvm.JvmSynthetic\n" │ " @kotlin.jvm.JvmSynthetic\n"
" get() = com.google.protobuf.kotlin.DslList(\n" │ " get() = com.google.protobuf.kotlin.DslList(\n"
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
" )\n"); │ " )\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: $kt_type$) {\n" │ "add(value: $kt_type$) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: $kt_type$) {\n" │ "plusAssign(value: $kt_type$) {\n"
" add(value)\n" │ " add(value)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: $kt_type$) {\n" │ "set(index: kotlin.Int, value: $kt_type$) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}"); │ "}\n");
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field.cc:1079 │ protobuf/src/google/protobuf/compiler/java/primitive_field.cc:843
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$ val $kt_name$: " │ "$kt_deprecation$ val $kt_name$: "
"com.google.protobuf.kotlin.DslList" │ "com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n"
" @kotlin.jvm.JvmSynthetic\n" │ " @kotlin.jvm.JvmSynthetic\n"
" get() = com.google.protobuf.kotlin.DslList(\n" │ " get() = com.google.protobuf.kotlin.DslList(\n"
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
" )\n"); │ " )\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: $kt_type$) {\n" │ "add(value: $kt_type$) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: $kt_type$) {\n" │ "plusAssign(value: $kt_type$) {\n"
" add(value)\n" │ " add(value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: $kt_type$) {\n" │ "set(index: kotlin.Int, value: $kt_type$) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}"); │ "}");
} │
next prev up protobuf/src/google/protobuf/compiler/java/primitive_field_lite.cc:665 │ protobuf/src/google/protobuf/compiler/java/primitive_field.cc:843
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$ val $kt_name$: " │ "$kt_deprecation$ val $kt_name$: "
"com.google.protobuf.kotlin.DslList" │ "com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n"
" @kotlin.jvm.JvmSynthetic\n" │ " @kotlin.jvm.JvmSynthetic\n"
" get() = com.google.protobuf.kotlin.DslList(\n" │ " get() = com.google.protobuf.kotlin.DslList(\n"
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
" )\n"); │ " )\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: $kt_type$) {\n" │ "add(value: $kt_type$) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: $kt_type$) {\n" │ "plusAssign(value: $kt_type$) {\n"
" add(value)\n" │ " add(value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: $kt_type$) {\n" │ "set(index: kotlin.Int, value: $kt_type$) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}"); │ "}");
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field_lite.cc:821 │ protobuf/src/google/protobuf/compiler/java/enum_field.cc:1079
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$ val $kt_name$: " │ "$kt_deprecation$ val $kt_name$: "
"com.google.protobuf.kotlin.DslList" │ "com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n"
" @kotlin.jvm.JvmSynthetic\n" │ " @kotlin.jvm.JvmSynthetic\n"
" get() = com.google.protobuf.kotlin.DslList(\n" │ " get() = com.google.protobuf.kotlin.DslList(\n"
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
" )\n"); │ " )\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: $kt_type$) {\n" │ "add(value: $kt_type$) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: $kt_type$) {\n" │ "plusAssign(value: $kt_type$) {\n"
" add(value)\n" │ " add(value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: $kt_type$) {\n" │ "set(index: kotlin.Int, value: $kt_type$) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}"); │ "}");
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field_lite.cc:821 │ protobuf/src/google/protobuf/compiler/java/primitive_field_lite.cc:665
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$ val $kt_name$: " │ "$kt_deprecation$ val $kt_name$: "
"com.google.protobuf.kotlin.DslList" │ "com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>\n"
" @kotlin.jvm.JvmSynthetic\n" │ " @kotlin.jvm.JvmSynthetic\n"
" get() = com.google.protobuf.kotlin.DslList(\n" │ " get() = com.google.protobuf.kotlin.DslList(\n"
" $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n" │ " $kt_dsl_builder$.${$get$capitalized_name$List$}$()\n"
" )\n"); │ " )\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"add$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"add(value: $kt_type$) {\n" │ "add(value: $kt_type$) {\n"
" $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$add$capitalized_name$$}$(value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssign$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(value: $kt_type$) {\n" │ "plusAssign(value: $kt_type$) {\n"
" add(value)\n" │ " add(value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"addAll$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "addAll(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n" │ " $kt_dsl_builder$.${$addAll$capitalized_name$$}$(values)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_MULTI_ADDER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"plusAssignAll$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslList" │ "inline operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n" │ "plusAssign(values: kotlin.collections.Iterable<$kt_type$>) {\n"
" addAll(values)\n" │ " addAll(values)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_SETTER,
/* builder */ false); │ /* builder */ false);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"set$kt_capitalized_name$\")\n"
"operator fun com.google.protobuf.kotlin.DslList" │ "operator fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"set(index: kotlin.Int, value: $kt_type$) {\n" │ "set(index: kotlin.Int, value: $kt_type$) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(index, value)\n"
"}"); │ "}");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n" │ "@kotlin.jvm.JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslList" │ "fun com.google.protobuf.kotlin.DslList"
"<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>." │ "<$kt_type$, ${$$kt_capitalized_name$Proxy$}$>."
"clear() {\n" │ "clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}"); │ "}");
} │
next prev up protobuf/src/google/protobuf/test_util_lite.cc:1818 │ protobuf/src/google/protobuf/test_util_lite.cc:1915
│
ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int32_extension_lite)); │ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int32_extension_lite));
ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int64_extension_lite)); │ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_int64_extension_lite));
ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint32_extension_lite)); │ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint32_extension_lite));
ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint64_extension_lite)); │ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_uint64_extension_lite));
ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint32_extension_lite)); │ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint32_extension_lite));
ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint64_extension_lite)); │ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sint64_extension_lite));
ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed32_extension_lite)); │ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed32_extension_lite));
ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed64_extension_lite)); │ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_fixed64_extension_lite));
ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed32_extension_lite)); │ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed32_extension_lite));
ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed64_extension_lite)); │ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_sfixed64_extension_lite));
ASSERT_EQ(2, message.ExtensionSize(unittest::packed_float_extension_lite)); │ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_float_extension_lite));
ASSERT_EQ(2, message.ExtensionSize(unittest::packed_double_extension_lite)); │ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_double_extension_lite));
ASSERT_EQ(2, message.ExtensionSize(unittest::packed_bool_extension_lite)); │ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_bool_extension_lite));
ASSERT_EQ(2, message.ExtensionSize(unittest::packed_enum_extension_lite)); │ ASSERT_EQ(2, message.ExtensionSize(unittest::packed_enum_extension_lite));
│
EXPECT_EQ(601, │ EXPECT_EQ(601,
message.GetExtension(unittest::packed_int32_extension_lite, 0)); │ message.GetExtension(unittest::packed_int32_extension_lite, 0));
EXPECT_EQ(602, │ EXPECT_EQ(602,
message.GetExtension(unittest::packed_int64_extension_lite, 0)); │ message.GetExtension(unittest::packed_int64_extension_lite, 0));
EXPECT_EQ(603, │ EXPECT_EQ(603,
message.GetExtension(unittest::packed_uint32_extension_lite, 0)); │ message.GetExtension(unittest::packed_uint32_extension_lite, 0));
EXPECT_EQ(604, │ EXPECT_EQ(604,
message.GetExtension(unittest::packed_uint64_extension_lite, 0)); │ message.GetExtension(unittest::packed_uint64_extension_lite, 0));
EXPECT_EQ(605, │ EXPECT_EQ(605,
message.GetExtension(unittest::packed_sint32_extension_lite, 0)); │ message.GetExtension(unittest::packed_sint32_extension_lite, 0));
EXPECT_EQ(606, │ EXPECT_EQ(606,
message.GetExtension(unittest::packed_sint64_extension_lite, 0)); │ message.GetExtension(unittest::packed_sint64_extension_lite, 0));
EXPECT_EQ(607, │ EXPECT_EQ(607,
message.GetExtension(unittest::packed_fixed32_extension_lite, 0)); │ message.GetExtension(unittest::packed_fixed32_extension_lite, 0));
EXPECT_EQ(608, │ EXPECT_EQ(608,
message.GetExtension(unittest::packed_fixed64_extension_lite, 0)); │ message.GetExtension(unittest::packed_fixed64_extension_lite, 0));
EXPECT_EQ(609, │ EXPECT_EQ(609,
message.GetExtension(unittest::packed_sfixed32_extension_lite, 0)); │ message.GetExtension(unittest::packed_sfixed32_extension_lite, 0));
EXPECT_EQ(610, │ EXPECT_EQ(610,
message.GetExtension(unittest::packed_sfixed64_extension_lite, 0)); │ message.GetExtension(unittest::packed_sfixed64_extension_lite, 0));
EXPECT_EQ(611, │ EXPECT_EQ(611,
message.GetExtension(unittest::packed_float_extension_lite, 0)); │ message.GetExtension(unittest::packed_float_extension_lite, 0));
EXPECT_EQ(612, │ EXPECT_EQ(612,
message.GetExtension(unittest::packed_double_extension_lite, 0)); │ message.GetExtension(unittest::packed_double_extension_lite, 0));
EXPECT_EQ(true, │ EXPECT_EQ(true,
message.GetExtension(unittest::packed_bool_extension_lite, 0)); │ message.GetExtension(unittest::packed_bool_extension_lite, 0));
EXPECT_EQ(unittest::FOREIGN_LITE_BAR, │ EXPECT_EQ(unittest::FOREIGN_LITE_BAR,
message.GetExtension(unittest::packed_enum_extension_lite, 0)); │ message.GetExtension(unittest::packed_enum_extension_lite, 0));
EXPECT_EQ(701, │
│ // Actually verify the second (modified) elements now.
│ EXPECT_EQ(801,
message.GetExtension(unittest::packed_int32_extension_lite, 1)); │ message.GetExtension(unittest::packed_int32_extension_lite, 1));
EXPECT_EQ(702, │ EXPECT_EQ(802,
message.GetExtension(unittest::packed_int64_extension_lite, 1)); │ message.GetExtension(unittest::packed_int64_extension_lite, 1));
EXPECT_EQ(703, │ EXPECT_EQ(803,
message.GetExtension(unittest::packed_uint32_extension_lite, 1)); │ message.GetExtension(unittest::packed_uint32_extension_lite, 1));
EXPECT_EQ(704, │ EXPECT_EQ(804,
message.GetExtension(unittest::packed_uint64_extension_lite, 1)); │ message.GetExtension(unittest::packed_uint64_extension_lite, 1));
EXPECT_EQ(705, │ EXPECT_EQ(805,
message.GetExtension(unittest::packed_sint32_extension_lite, 1)); │ message.GetExtension(unittest::packed_sint32_extension_lite, 1));
EXPECT_EQ(706, │ EXPECT_EQ(806,
message.GetExtension(unittest::packed_sint64_extension_lite, 1)); │ message.GetExtension(unittest::packed_sint64_extension_lite, 1));
EXPECT_EQ(707, │ EXPECT_EQ(807,
message.GetExtension(unittest::packed_fixed32_extension_lite, 1)); │ message.GetExtension(unittest::packed_fixed32_extension_lite, 1));
EXPECT_EQ(708, │ EXPECT_EQ(808,
message.GetExtension(unittest::packed_fixed64_extension_lite, 1)); │ message.GetExtension(unittest::packed_fixed64_extension_lite, 1));
EXPECT_EQ(709, │ EXPECT_EQ(809,
message.GetExtension(unittest::packed_sfixed32_extension_lite, 1)); │ message.GetExtension(unittest::packed_sfixed32_extension_lite, 1));
EXPECT_EQ(710, │ EXPECT_EQ(810,
message.GetExtension(unittest::packed_sfixed64_extension_lite, 1)); │ message.GetExtension(unittest::packed_sfixed64_extension_lite, 1));
EXPECT_EQ(711, │ EXPECT_EQ(811,
message.GetExtension(unittest::packed_float_extension_lite, 1)); │ message.GetExtension(unittest::packed_float_extension_lite, 1));
EXPECT_EQ(712, │ EXPECT_EQ(812,
message.GetExtension(unittest::packed_double_extension_lite, 1)); │ message.GetExtension(unittest::packed_double_extension_lite, 1));
EXPECT_EQ(false, │ EXPECT_EQ(true,
message.GetExtension(unittest::packed_bool_extension_lite, 1)); │ message.GetExtension(unittest::packed_bool_extension_lite, 1));
EXPECT_EQ(unittest::FOREIGN_LITE_BAZ, │ EXPECT_EQ(unittest::FOREIGN_LITE_FOO,
message.GetExtension(unittest::packed_enum_extension_lite, 1)); │ message.GetExtension(unittest::packed_enum_extension_lite, 1));
} │
next prev up protobuf/src/google/protobuf/compiler/cpp/primitive_field.h:43 │ protobuf/src/google/protobuf/compiler/cpp/string_field.h:43
│
namespace protobuf { │ namespace protobuf {
namespace compiler { │ namespace compiler {
namespace cpp { │ namespace cpp {
│
class PrimitiveFieldGenerator : public FieldGenerator { │ class StringFieldGenerator : public FieldGenerator {
public: │ public:
PrimitiveFieldGenerator(const FieldDescriptor* descriptor, │ StringFieldGenerator(const FieldDescriptor* descriptor,
const Options& options); │ const Options& options);
~PrimitiveFieldGenerator() override; │ ~StringFieldGenerator() override;
│
// implements FieldGenerator --------------------------------------- │ // implements FieldGenerator ---------------------------------------
void GeneratePrivateMembers(io::Printer* printer) const override; │ void GeneratePrivateMembers(io::Printer* printer) const override;
│ void GenerateStaticMembers(io::Printer* printer) const override;
void GenerateAccessorDeclarations(io::Printer* printer) const override; │ void GenerateAccessorDeclarations(io::Printer* printer) const override;
void GenerateInlineAccessorDefinitions(io::Printer* printer) const override; │ void GenerateInlineAccessorDefinitions(io::Printer* printer) const override;
│ void GenerateNonInlineAccessorDefinitions(
│ io::Printer* printer) const override;
void GenerateClearingCode(io::Printer* printer) const override; │ void GenerateClearingCode(io::Printer* printer) const override;
│ void GenerateMessageClearingCode(io::Printer* printer) const override;
void GenerateMergingCode(io::Printer* printer) const override; │ void GenerateMergingCode(io::Printer* printer) const override;
void GenerateSwappingCode(io::Printer* printer) const override; │ void GenerateSwappingCode(io::Printer* printer) const override;
void GenerateConstructorCode(io::Printer* printer) const override {} │ void GenerateConstructorCode(io::Printer* printer) const override;
│ void GenerateCreateSplitMessageCode(io::Printer* printer) const override;
void GenerateCopyConstructorCode(io::Printer* printer) const override; │ void GenerateCopyConstructorCode(io::Printer* printer) const override;
│ void GenerateDestructorCode(io::Printer* printer) const override;
│ void GenerateArenaDestructorCode(io::Printer* printer) const override;
void GenerateSerializeWithCachedSizesToArray( │ void GenerateSerializeWithCachedSizesToArray(
io::Printer* printer) const override; │ io::Printer* printer) const override;
void GenerateByteSize(io::Printer* printer) const override; │ void GenerateByteSize(io::Printer* printer) const override;
void GenerateConstexprAggregateInitializer( │ void GenerateConstexprAggregateInitializer(
io::Printer* printer) const override; │ io::Printer* printer) const override;
void GenerateAggregateInitializer(io::Printer* printer) const override; │ void GenerateAggregateInitializer(io::Printer* printer) const override;
void GenerateCopyAggregateInitializer(io::Printer* printer) const override; │ void GenerateCopyAggregateInitializer(io::Printer* printer) const override;
│ bool IsInlined() const override { return inlined_; }
│ ArenaDtorNeeds NeedsArenaDestructor() const override;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator); │ bool inlined_;
│ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringFieldGenerator);
}; │ };
│
class PrimitiveOneofFieldGenerator : public PrimitiveFieldGenerator { │ class StringOneofFieldGenerator : public StringFieldGenerator {
public: │ public:
PrimitiveOneofFieldGenerator(const FieldDescriptor* descriptor, │ StringOneofFieldGenerator(const FieldDescriptor* descriptor,
const Options& options); │ const Options& options);
~PrimitiveOneofFieldGenerator() override; │ ~StringOneofFieldGenerator() override;
│
// implements FieldGenerator --------------------------------------- │ // implements FieldGenerator ---------------------------------------
void GenerateInlineAccessorDefinitions(io::Printer* printer) const override; │ void GenerateInlineAccessorDefinitions(io::Printer* printer) const override;
void GenerateClearingCode(io::Printer* printer) const override; │ void GenerateClearingCode(io::Printer* printer) const override;
│
│ // StringFieldGenerator, from which we inherit, overrides this so we need to
│ // override it as well.
│ void GenerateMessageClearingCode(io::Printer* printer) const override;
void GenerateSwappingCode(io::Printer* printer) const override; │ void GenerateSwappingCode(io::Printer* printer) const override;
void GenerateConstructorCode(io::Printer* printer) const override; │ void GenerateConstructorCode(io::Printer* printer) const override;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveOneofFieldGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(StringOneofFieldGenerator);
}; │ };
│
class RepeatedPrimitiveFieldGenerator : public FieldGenerator { │ class RepeatedStringFieldGenerator : public FieldGenerator {
public: │ public:
RepeatedPrimitiveFieldGenerator(const FieldDescriptor* descriptor, │ RepeatedStringFieldGenerator(const FieldDescriptor* descriptor,
const Options& options); │ const Options& options);
~RepeatedPrimitiveFieldGenerator() override; │ ~RepeatedStringFieldGenerator() override;
│
// implements FieldGenerator --------------------------------------- │ // implements FieldGenerator ---------------------------------------
void GeneratePrivateMembers(io::Printer* printer) const override; │ void GeneratePrivateMembers(io::Printer* printer) const override;
void GenerateAccessorDeclarations(io::Printer* printer) const override; │ void GenerateAccessorDeclarations(io::Printer* printer) const override;
void GenerateInlineAccessorDefinitions(io::Printer* printer) const override; │ void GenerateInlineAccessorDefinitions(io::Printer* printer) const override;
void GenerateClearingCode(io::Printer* printer) const override; │ void GenerateClearingCode(io::Printer* printer) const override;
void GenerateMergingCode(io::Printer* printer) const override; │ void GenerateMergingCode(io::Printer* printer) const override;
void GenerateSwappingCode(io::Printer* printer) const override; │ void GenerateSwappingCode(io::Printer* printer) const override;
void GenerateConstructorCode(io::Printer* printer) const override {} │ void GenerateConstructorCode(io::Printer* printer) const override {}
void GenerateCopyConstructorCode(io::Printer* /*printer*/) const override { │ void GenerateCopyConstructorCode(io::Printer* /*printer*/) const override {
GOOGLE_CHECK(!ShouldSplit(descriptor_, options_)); │ GOOGLE_CHECK(!ShouldSplit(descriptor_, options_));
} │ }
void GenerateDestructorCode(io::Printer* printer) const override; │ void GenerateDestructorCode(io::Printer* printer) const override;
void GenerateSerializeWithCachedSizesToArray( │ void GenerateSerializeWithCachedSizesToArray(
io::Printer* printer) const override; │ io::Printer* printer) const override;
void GenerateByteSize(io::Printer* printer) const override; │ void GenerateByteSize(io::Printer* printer) const override;
void GenerateConstexprAggregateInitializer( │
io::Printer* printer) const override; │
void GenerateAggregateInitializer(io::Printer* printer) const override; │
void GenerateCopyAggregateInitializer(io::Printer* printer) const override; │
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedPrimitiveFieldGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedStringFieldGenerator);
}; │ };
│
} // namespace cpp │ } // namespace cpp
} // namespace compiler │ } // namespace compiler
} // namespace protobuf │ } // namespace protobuf
} │
next prev up protobuf/src/google/protobuf/compiler/cpp/enum_field.h:43 │ protobuf/src/google/protobuf/compiler/cpp/primitive_field.h:43
│
namespace protobuf { │ namespace protobuf {
namespace compiler { │ namespace compiler {
namespace cpp { │ namespace cpp {
│
class EnumFieldGenerator : public FieldGenerator { │ class PrimitiveFieldGenerator : public FieldGenerator {
public: │ public:
EnumFieldGenerator(const FieldDescriptor* descriptor, const Options& options); │ PrimitiveFieldGenerator(const FieldDescriptor* descriptor,
~EnumFieldGenerator() override; │ const Options& options);
│ ~PrimitiveFieldGenerator() override;
│
// implements FieldGenerator --------------------------------------- │ // implements FieldGenerator ---------------------------------------
void GeneratePrivateMembers(io::Printer* printer) const override; │ void GeneratePrivateMembers(io::Printer* printer) const override;
void GenerateAccessorDeclarations(io::Printer* printer) const override; │ void GenerateAccessorDeclarations(io::Printer* printer) const override;
void GenerateInlineAccessorDefinitions(io::Printer* printer) const override; │ void GenerateInlineAccessorDefinitions(io::Printer* printer) const override;
void GenerateClearingCode(io::Printer* printer) const override; │ void GenerateClearingCode(io::Printer* printer) const override;
void GenerateMergingCode(io::Printer* printer) const override; │ void GenerateMergingCode(io::Printer* printer) const override;
void GenerateSwappingCode(io::Printer* printer) const override; │ void GenerateSwappingCode(io::Printer* printer) const override;
void GenerateConstructorCode(io::Printer* printer) const override {} │ void GenerateConstructorCode(io::Printer* printer) const override {}
void GenerateCopyConstructorCode(io::Printer* printer) const override; │ void GenerateCopyConstructorCode(io::Printer* printer) const override;
void GenerateSerializeWithCachedSizesToArray( │ void GenerateSerializeWithCachedSizesToArray(
io::Printer* printer) const override; │ io::Printer* printer) const override;
void GenerateByteSize(io::Printer* printer) const override; │ void GenerateByteSize(io::Printer* printer) const override;
void GenerateConstexprAggregateInitializer( │ void GenerateConstexprAggregateInitializer(
io::Printer* printer) const override; │ io::Printer* printer) const override;
void GenerateAggregateInitializer(io::Printer* printer) const override; │ void GenerateAggregateInitializer(io::Printer* printer) const override;
void GenerateCopyAggregateInitializer(io::Printer* printer) const override; │ void GenerateCopyAggregateInitializer(io::Printer* printer) const override;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumFieldGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveFieldGenerator);
}; │ };
│
class EnumOneofFieldGenerator : public EnumFieldGenerator { │ class PrimitiveOneofFieldGenerator : public PrimitiveFieldGenerator {
public: │ public:
EnumOneofFieldGenerator(const FieldDescriptor* descriptor, │ PrimitiveOneofFieldGenerator(const FieldDescriptor* descriptor,
const Options& options); │ const Options& options);
~EnumOneofFieldGenerator() override; │ ~PrimitiveOneofFieldGenerator() override;
│
// implements FieldGenerator --------------------------------------- │ // implements FieldGenerator ---------------------------------------
void GenerateInlineAccessorDefinitions(io::Printer* printer) const override; │ void GenerateInlineAccessorDefinitions(io::Printer* printer) const override;
void GenerateClearingCode(io::Printer* printer) const override; │ void GenerateClearingCode(io::Printer* printer) const override;
void GenerateSwappingCode(io::Printer* printer) const override; │ void GenerateSwappingCode(io::Printer* printer) const override;
void GenerateConstructorCode(io::Printer* printer) const override; │ void GenerateConstructorCode(io::Printer* printer) const override;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumOneofFieldGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(PrimitiveOneofFieldGenerator);
}; │ };
│
class RepeatedEnumFieldGenerator : public FieldGenerator { │ class RepeatedPrimitiveFieldGenerator : public FieldGenerator {
public: │ public:
RepeatedEnumFieldGenerator(const FieldDescriptor* descriptor, │ RepeatedPrimitiveFieldGenerator(const FieldDescriptor* descriptor,
const Options& options); │ const Options& options);
~RepeatedEnumFieldGenerator() override; │ ~RepeatedPrimitiveFieldGenerator() override;
│
// implements FieldGenerator --------------------------------------- │ // implements FieldGenerator ---------------------------------------
void GeneratePrivateMembers(io::Printer* printer) const override; │ void GeneratePrivateMembers(io::Printer* printer) const override;
void GenerateAccessorDeclarations(io::Printer* printer) const override; │ void GenerateAccessorDeclarations(io::Printer* printer) const override;
void GenerateInlineAccessorDefinitions(io::Printer* printer) const override; │ void GenerateInlineAccessorDefinitions(io::Printer* printer) const override;
void GenerateClearingCode(io::Printer* printer) const override; │ void GenerateClearingCode(io::Printer* printer) const override;
void GenerateMergingCode(io::Printer* printer) const override; │ void GenerateMergingCode(io::Printer* printer) const override;
void GenerateSwappingCode(io::Printer* printer) const override; │ void GenerateSwappingCode(io::Printer* printer) const override;
void GenerateConstructorCode(io::Printer* printer) const override; │ void GenerateConstructorCode(io::Printer* printer) const override {}
void GenerateCopyConstructorCode(io::Printer* /*printer*/) const override { │ void GenerateCopyConstructorCode(io::Printer* /*printer*/) const override {
GOOGLE_CHECK(!ShouldSplit(descriptor_, options_)); │ GOOGLE_CHECK(!ShouldSplit(descriptor_, options_));
} │ }
void GenerateDestructorCode(io::Printer* printer) const override; │ void GenerateDestructorCode(io::Printer* printer) const override;
void GenerateSerializeWithCachedSizesToArray( │ void GenerateSerializeWithCachedSizesToArray(
io::Printer* printer) const override; │ io::Printer* printer) const override;
void GenerateByteSize(io::Printer* printer) const override; │ void GenerateByteSize(io::Printer* printer) const override;
void GenerateConstexprAggregateInitializer( │ void GenerateConstexprAggregateInitializer(
io::Printer* printer) const override; │ io::Printer* printer) const override;
void GenerateAggregateInitializer(io::Printer* printer) const override; │ void GenerateAggregateInitializer(io::Printer* printer) const override;
void GenerateCopyAggregateInitializer(io::Printer* printer) const override; │ void GenerateCopyAggregateInitializer(io::Printer* printer) const override;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedEnumFieldGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedPrimitiveFieldGenerator);
}; │ };
│
} // namespace cpp │ } // namespace cpp
} // namespace compiler │ } // namespace compiler
} // namespace protobuf │ } // namespace protobuf
} │
next prev up protobuf/src/google/protobuf/repeated_field_unittest.cc:713 │ protobuf/src/google/protobuf/repeated_field_unittest.cc:1508
│
{ │ {
RepeatedField<int> source; │ RepeatedPtrField<std::string> source;
source.Add(1); │ *source.Add() = "1";
source.Add(2); │ *source.Add() = "2";
RepeatedField<int> destination; │ RepeatedPtrField<std::string> destination;
destination.Add(3); │ *destination.Add() = "3";
const int* source_data = source.data(); │ const std::string* const* source_data = source.data();
const int* destination_data = destination.data(); │ const std::string* const* destination_data = destination.data();
destination = std::move(source); │ destination = std::move(source);
EXPECT_EQ(source_data, destination.data()); │ EXPECT_EQ(source_data, destination.data());
EXPECT_THAT(destination, ElementsAre(1, 2)); │ EXPECT_THAT(destination, ElementsAre("1", "2"));
// This property isn't guaranteed but it's useful to have a test that would │ // This property isn't guaranteed but it's useful to have a test that would
// catch changes in this area. │ // catch changes in this area.
EXPECT_EQ(destination_data, source.data()); │ EXPECT_EQ(destination_data, source.data());
EXPECT_THAT(source, ElementsAre(3)); │ EXPECT_THAT(source, ElementsAre("3"));
} │ }
{ │ {
Arena arena; │ Arena arena;
RepeatedField<int>* source = │ RepeatedPtrField<std::string>* source =
Arena::CreateMessage<RepeatedField<int>>(&arena); │ Arena::CreateMessage<RepeatedPtrField<std::string>>(&arena);
source->Add(1); │ *source->Add() = "1";
source->Add(2); │ *source->Add() = "2";
RepeatedField<int>* destination = │ RepeatedPtrField<std::string>* destination =
Arena::CreateMessage<RepeatedField<int>>(&arena); │ Arena::CreateMessage<RepeatedPtrField<std::string>>(&arena);
destination->Add(3); │ *destination->Add() = "3";
const int* source_data = source->data(); │ const std::string* const* source_data = source->data();
const int* destination_data = destination->data(); │ const std::string* const* destination_data = destination->data();
*destination = std::move(*source); │ *destination = std::move(*source);
EXPECT_EQ(source_data, destination->data()); │ EXPECT_EQ(source_data, destination->data());
EXPECT_THAT(*destination, ElementsAre(1, 2)); │ EXPECT_THAT(*destination, ElementsAre("1", "2"));
// This property isn't guaranteed but it's useful to have a test that would │ // This property isn't guaranteed but it's useful to have a test that would
// catch changes in this area. │ // catch changes in this area.
EXPECT_EQ(destination_data, source->data()); │ EXPECT_EQ(destination_data, source->data());
EXPECT_THAT(*source, ElementsAre(3)); │ EXPECT_THAT(*source, ElementsAre("3"));
} │ }
{ │ {
Arena source_arena; │ Arena source_arena;
RepeatedField<int>* source = │ RepeatedPtrField<std::string>* source =
Arena::CreateMessage<RepeatedField<int>>(&source_arena); │ Arena::CreateMessage<RepeatedPtrField<std::string>>(&source_arena);
source->Add(1); │ *source->Add() = "1";
source->Add(2); │ *source->Add() = "2";
Arena destination_arena; │ Arena destination_arena;
RepeatedField<int>* destination = │ RepeatedPtrField<std::string>* destination =
Arena::CreateMessage<RepeatedField<int>>(&destination_arena); │ Arena::CreateMessage<RepeatedPtrField<std::string>>(&destination_arena);
destination->Add(3); │ *destination->Add() = "3";
*destination = std::move(*source); │ *destination = std::move(*source);
EXPECT_THAT(*destination, ElementsAre(1, 2)); │ EXPECT_THAT(*destination, ElementsAre("1", "2"));
// This property isn't guaranteed but it's useful to have a test that would │ // This property isn't guaranteed but it's useful to have a test that would
// catch changes in this area. │ // catch changes in this area.
EXPECT_THAT(*source, ElementsAre(1, 2)); │ EXPECT_THAT(*source, ElementsAre("1", "2"));
} │ }
{ │ {
Arena arena; │ Arena arena;
RepeatedField<int>* source = │ RepeatedPtrField<std::string>* source =
Arena::CreateMessage<RepeatedField<int>>(&arena); │ Arena::CreateMessage<RepeatedPtrField<std::string>>(&arena);
source->Add(1); │ *source->Add() = "1";
source->Add(2); │ *source->Add() = "2";
RepeatedField<int> destination; │ RepeatedPtrField<std::string> destination;
destination.Add(3); │ *destination.Add() = "3";
destination = std::move(*source); │ destination = std::move(*source);
EXPECT_THAT(destination, ElementsAre(1, 2)); │ EXPECT_THAT(destination, ElementsAre("1", "2"));
// This property isn't guaranteed but it's useful to have a test that would │ // This property isn't guaranteed but it's useful to have a test that would
// catch changes in this area. │ // catch changes in this area.
EXPECT_THAT(*source, ElementsAre(1, 2)); │ EXPECT_THAT(*source, ElementsAre("1", "2"));
} │ }
{ │ {
RepeatedField<int> source; │ RepeatedPtrField<std::string> source;
source.Add(1); │ *source.Add() = "1";
source.Add(2); │ *source.Add() = "2";
Arena arena; │ Arena arena;
RepeatedField<int>* destination = │ RepeatedPtrField<std::string>* destination =
Arena::CreateMessage<RepeatedField<int>>(&arena); │ Arena::CreateMessage<RepeatedPtrField<std::string>>(&arena);
destination->Add(3); │ *destination->Add() = "3";
*destination = std::move(source); │ *destination = std::move(source);
EXPECT_THAT(*destination, ElementsAre(1, 2)); │ EXPECT_THAT(*destination, ElementsAre("1", "2"));
// This property isn't guaranteed but it's useful to have a test that would │ // This property isn't guaranteed but it's useful to have a test that would
// catch changes in this area. │ // catch changes in this area.
EXPECT_THAT(source, ElementsAre(1, 2)); │ EXPECT_THAT(source, ElementsAre("1", "2"));
} │ }
{ │ {
RepeatedField<int> field; │ RepeatedPtrField<std::string> field;
// An alias to defeat -Wself-move. │ // An alias to defeat -Wself-move.
RepeatedField<int>& alias = field; │ RepeatedPtrField<std::string>& alias = field;
field.Add(1); │ *field.Add() = "1";
field.Add(2); │ *field.Add() = "2";
const int* data = field.data(); │ const std::string* const* data = field.data();
field = std::move(alias); │ field = std::move(alias);
EXPECT_EQ(data, field.data()); │ EXPECT_EQ(data, field.data());
EXPECT_THAT(field, ElementsAre(1, 2)); │ EXPECT_THAT(field, ElementsAre("1", "2"));
} │ }
{ │ {
Arena arena; │ Arena arena;
RepeatedField<int>* field = │ RepeatedPtrField<std::string>* field =
Arena::CreateMessage<RepeatedField<int>>(&arena); │ Arena::CreateMessage<RepeatedPtrField<std::string>>(&arena);
field->Add(1); │ *field->Add() = "1";
field->Add(2); │ *field->Add() = "2";
const int* data = field->data(); │ const std::string* const* data = field->data();
*field = std::move(*field); │ *field = std::move(*field);
EXPECT_EQ(data, field->data()); │ EXPECT_EQ(data, field->data());
EXPECT_THAT(*field, ElementsAre(1, 2)); │ EXPECT_THAT(*field, ElementsAre("1", "2"));
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.cc:44 │ protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.cc:44
│
namespace protobuf { │ namespace protobuf {
namespace compiler { │ namespace compiler {
namespace csharp { │ namespace csharp {
│
RepeatedEnumFieldGenerator::RepeatedEnumFieldGenerator( │ RepeatedPrimitiveFieldGenerator::RepeatedPrimitiveFieldGenerator(
const FieldDescriptor* descriptor, int presenceIndex, const Options *options) │ const FieldDescriptor* descriptor, int presenceIndex, const Options *options)
: FieldGeneratorBase(descriptor, presenceIndex, options) { │ : FieldGeneratorBase(descriptor, presenceIndex, options) {
} │ }
│
RepeatedEnumFieldGenerator::~RepeatedEnumFieldGenerator() { │ RepeatedPrimitiveFieldGenerator::~RepeatedPrimitiveFieldGenerator() {
│
} │ }
│
void RepeatedEnumFieldGenerator::GenerateMembers(io::Printer* printer) { │ void RepeatedPrimitiveFieldGenerator::GenerateMembers(io::Printer* printer) {
printer->Print( │ printer->Print(
variables_, │ variables_,
"private static readonly pb::FieldCodec<$type_name$> _repeated_$name$_codec\n" │ "private static readonly pb::FieldCodec<$type_name$> _repeated_$name$_codec\n"
" = pb::FieldCodec.ForEnum($tag$, x => (int) x, x => ($type_name$) x);\n"); │ " = pb::FieldCodec.For$capitalized_type_name$($tag$);\n");
printer->Print(variables_, │ printer->Print(variables_,
"private readonly pbc::RepeatedField<$type_name$> $name$_ = new pbc::RepeatedField<$ │ "private readonly pbc::RepeatedField<$type_name$> $name$_ = new pbc::RepeatedField<$
WritePropertyDocComment(printer, descriptor_); │ WritePropertyDocComment(printer, descriptor_);
AddPublicMemberAttributes(printer); │ AddPublicMemberAttributes(printer);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$access_level$ pbc::RepeatedField<$type_name$> $property_name$ {\n" │ "$access_level$ pbc::RepeatedField<$type_name$> $property_name$ {\n"
" get { return $name$_; }\n" │ " get { return $name$_; }\n"
"}\n"); │ "}\n");
} │ }
│
void RepeatedEnumFieldGenerator::GenerateMergingCode(io::Printer* printer) { │ void RepeatedPrimitiveFieldGenerator::GenerateMergingCode(io::Printer* printer) {
printer->Print( │ printer->Print(
variables_, │ variables_,
"$name$_.Add(other.$name$_);\n"); │ "$name$_.Add(other.$name$_);\n");
} │ }
│
void RepeatedEnumFieldGenerator::GenerateParsingCode(io::Printer* printer) { │ void RepeatedPrimitiveFieldGenerator::GenerateParsingCode(io::Printer* printer) {
GenerateParsingCode(printer, true); │ GenerateParsingCode(printer, true);
} │ }
│
void RepeatedEnumFieldGenerator::GenerateParsingCode(io::Printer* printer, bool use_pars │ void RepeatedPrimitiveFieldGenerator::GenerateParsingCode(io::Printer* printer, bool use
printer->Print( │ printer->Print(
variables_, │ variables_,
use_parse_context │ use_parse_context
? "$name$_.AddEntriesFrom(ref input, _repeated_$name$_codec);\n" │ ? "$name$_.AddEntriesFrom(ref input, _repeated_$name$_codec);\n"
: "$name$_.AddEntriesFrom(input, _repeated_$name$_codec);\n"); │ : "$name$_.AddEntriesFrom(input, _repeated_$name$_codec);\n");
} │ }
│
void RepeatedEnumFieldGenerator::GenerateSerializationCode(io::Printer* printer) { │ void RepeatedPrimitiveFieldGenerator::GenerateSerializationCode(io::Printer* printer) {
GenerateSerializationCode(printer, true); │ GenerateSerializationCode(printer, true);
} │ }
│
void RepeatedEnumFieldGenerator::GenerateSerializationCode(io::Printer* printer, bool us │ void RepeatedPrimitiveFieldGenerator::GenerateSerializationCode(io::Printer* printer, bo
printer->Print( │ printer->Print(
variables_, │ variables_,
use_write_context │ use_write_context
? "$name$_.WriteTo(ref output, _repeated_$name$_codec);\n" │ ? "$name$_.WriteTo(ref output, _repeated_$name$_codec);\n"
: "$name$_.WriteTo(output, _repeated_$name$_codec);\n"); │ : "$name$_.WriteTo(output, _repeated_$name$_codec);\n");
} │ }
│
void RepeatedEnumFieldGenerator::GenerateSerializedSizeCode(io::Printer* printer) { │ void RepeatedPrimitiveFieldGenerator::GenerateSerializedSizeCode(io::Printer* printer) {
printer->Print( │ printer->Print(
variables_, │ variables_,
"size += $name$_.CalculateSize(_repeated_$name$_codec);\n"); │ "size += $name$_.CalculateSize(_repeated_$name$_codec);\n");
} │ }
│
void RepeatedEnumFieldGenerator::WriteHash(io::Printer* printer) { │ void RepeatedPrimitiveFieldGenerator::WriteHash(io::Printer* printer) {
printer->Print( │ printer->Print(
variables_, │ variables_,
"hash ^= $name$_.GetHashCode();\n"); │ "hash ^= $name$_.GetHashCode();\n");
} │ }
│ void RepeatedPrimitiveFieldGenerator::WriteEquals(io::Printer* printer) {
void RepeatedEnumFieldGenerator::WriteEquals(io::Printer* printer) { │
printer->Print( │ printer->Print(
variables_, │ variables_,
"if(!$name$_.Equals(other.$name$_)) return false;\n"); │ "if(!$name$_.Equals(other.$name$_)) return false;\n");
} │ }
│ void RepeatedPrimitiveFieldGenerator::WriteToString(io::Printer* printer) {
void RepeatedEnumFieldGenerator::WriteToString(io::Printer* printer) { │
printer->Print(variables_, │ printer->Print(variables_,
"PrintField(\"$descriptor_name$\", $name$_, writer);\n"); │ "PrintField(\"$descriptor_name$\", $name$_, writer);\n");
} │ }
│
void RepeatedEnumFieldGenerator::GenerateCloningCode(io::Printer* printer) { │ void RepeatedPrimitiveFieldGenerator::GenerateCloningCode(io::Printer* printer) {
printer->Print(variables_, │ printer->Print(variables_,
"$name$_ = other.$name$_.Clone();\n"); │ "$name$_ = other.$name$_.Clone();\n");
} │ }
│
void RepeatedEnumFieldGenerator::GenerateExtensionCode(io::Printer* printer) { │ void RepeatedPrimitiveFieldGenerator::GenerateFreezingCode(io::Printer* printer) {
│ }
│
│ void RepeatedPrimitiveFieldGenerator::GenerateExtensionCode(io::Printer* printer) {
WritePropertyDocComment(printer, descriptor_); │ WritePropertyDocComment(printer, descriptor_);
AddDeprecatedFlag(printer); │ AddDeprecatedFlag(printer);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$access_level$ static readonly pb::RepeatedExtension<$extended_type$, $type_name$> │ "$access_level$ static readonly pb::RepeatedExtension<$extended_type$, $type_name$>
" new pb::RepeatedExtension<$extended_type$, $type_name$>($number$, " │ " new pb::RepeatedExtension<$extended_type$, $type_name$>($number$, pb::FieldCodec.
"pb::FieldCodec.ForEnum($tag$, x => (int) x, x => ($type_name$) x));\n"); │
} │
│
void RepeatedEnumFieldGenerator::GenerateFreezingCode(io::Printer* printer) { │
} │ }
│
} // namespace csharp │ } // namespace csharp
} // namespace compiler │ } // namespace compiler
} // namespace protobuf │ } // namespace protobuf
} │
next prev up protobuf/src/google/protobuf/compiler/java/primitive_field_lite.h:55 │ protobuf/src/google/protobuf/compiler/java/message_field_lite.h:55
│
namespace protobuf { │ namespace protobuf {
namespace compiler { │ namespace compiler {
namespace java { │ namespace java {
│
class ImmutableMessageFieldLiteGenerator : public ImmutableFieldLiteGenerator { │ class ImmutableMessageFieldLiteGenerator : public ImmutableFieldLiteGenerator {
public: │ public:
explicit ImmutableMessageFieldLiteGenerator(const FieldDescriptor* descriptor, │ explicit ImmutableMessageFieldLiteGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, │ int messageBitIndex,
Context* context); │ Context* context);
~ImmutableMessageFieldLiteGenerator() override; │ ~ImmutableMessageFieldLiteGenerator() override;
│
// implements ImmutableFieldLiteGenerator │ // implements ImmutableFieldLiteGenerator
// ------------------------------------ │ // ------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
protected: │ protected:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
const int messageBitIndex_; │ const int messageBitIndex_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableMessageFieldLiteGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableMessageFieldLiteGenerator);
void GenerateKotlinOrNull(io::Printer* printer) const; │ void GenerateKotlinOrNull(io::Printer* printer) const;
}; │ };
│
class ImmutableMessageOneofFieldLiteGenerator │ class ImmutableMessageOneofFieldLiteGenerator
: public ImmutableMessageFieldLiteGenerator { │ : public ImmutableMessageFieldLiteGenerator {
public: │ public:
ImmutableMessageOneofFieldLiteGenerator(const FieldDescriptor* descriptor, │ ImmutableMessageOneofFieldLiteGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, │ int messageBitIndex,
Context* context); │ Context* context);
~ImmutableMessageOneofFieldLiteGenerator() override; │ ~ImmutableMessageOneofFieldLiteGenerator() override;
│
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableMessageOneofFieldLiteGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableMessageOneofFieldLiteGenerator);
}; │ };
│
class RepeatedImmutableMessageFieldLiteGenerator │ class RepeatedImmutableMessageFieldLiteGenerator
: public ImmutableFieldLiteGenerator { │ : public ImmutableFieldLiteGenerator {
public: │ public:
explicit RepeatedImmutableMessageFieldLiteGenerator( │ explicit RepeatedImmutableMessageFieldLiteGenerator(
const FieldDescriptor* descriptor, int messageBitIndex, Context* context); │ const FieldDescriptor* descriptor, int messageBitIndex, Context* context);
~RepeatedImmutableMessageFieldLiteGenerator() override; │ ~RepeatedImmutableMessageFieldLiteGenerator() override;
│
// implements ImmutableFieldLiteGenerator ------------------------------------ │ // implements ImmutableFieldLiteGenerator ------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
protected: │ protected:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableMessageFieldLiteGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableMessageFieldLiteGenerator);
}; │ };
│
} // namespace java │ } // namespace java
} // namespace compiler │ } // namespace compiler
} // namespace protobuf │ } // namespace protobuf
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field_lite.h:55 │ protobuf/src/google/protobuf/compiler/java/message_field_lite.h:55
│
namespace protobuf { │ namespace protobuf {
namespace compiler { │ namespace compiler {
namespace java { │ namespace java {
│
class ImmutableEnumFieldLiteGenerator : public ImmutableFieldLiteGenerator { │ class ImmutableMessageFieldLiteGenerator : public ImmutableFieldLiteGenerator {
public: │ public:
explicit ImmutableEnumFieldLiteGenerator(const FieldDescriptor* descriptor, │ explicit ImmutableMessageFieldLiteGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, │ int messageBitIndex,
Context* context); │ Context* context);
~ImmutableEnumFieldLiteGenerator() override; │ ~ImmutableMessageFieldLiteGenerator() override;
│
// implements ImmutableFieldLiteGenerator │ // implements ImmutableFieldLiteGenerator
// ------------------------------------ │ // ------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
protected: │ protected:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
const int messageBitIndex_; │ const int messageBitIndex_;
Context* context_; │
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableEnumFieldLiteGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableMessageFieldLiteGenerator);
│ void GenerateKotlinOrNull(io::Printer* printer) const;
}; │ };
│
class ImmutableEnumOneofFieldLiteGenerator │ class ImmutableMessageOneofFieldLiteGenerator
: public ImmutableEnumFieldLiteGenerator { │ : public ImmutableMessageFieldLiteGenerator {
public: │ public:
ImmutableEnumOneofFieldLiteGenerator(const FieldDescriptor* descriptor, │ ImmutableMessageOneofFieldLiteGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, Context* context); │ int messageBitIndex,
~ImmutableEnumOneofFieldLiteGenerator() override; │ Context* context);
│ ~ImmutableMessageOneofFieldLiteGenerator() override;
│
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableEnumOneofFieldLiteGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableMessageOneofFieldLiteGenerator);
}; │ };
│
class RepeatedImmutableEnumFieldLiteGenerator │ class RepeatedImmutableMessageFieldLiteGenerator
: public ImmutableFieldLiteGenerator { │ : public ImmutableFieldLiteGenerator {
public: │ public:
explicit RepeatedImmutableEnumFieldLiteGenerator( │ explicit RepeatedImmutableMessageFieldLiteGenerator(
const FieldDescriptor* descriptor, int messageBitIndex, Context* context); │ const FieldDescriptor* descriptor, int messageBitIndex, Context* context);
~RepeatedImmutableEnumFieldLiteGenerator() override; │ ~RepeatedImmutableMessageFieldLiteGenerator() override;
│
// implements ImmutableFieldLiteGenerator ------------------------------------ │ // implements ImmutableFieldLiteGenerator ------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
private: │ protected:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
Context* context_; │
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableEnumFieldLiteGenerator); │ private:
│ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableMessageFieldLiteGenerator);
}; │ };
│
} // namespace java │ } // namespace java
} // namespace compiler │ } // namespace compiler
} // namespace protobuf │ } // namespace protobuf
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field_lite.h:55 │ protobuf/src/google/protobuf/compiler/java/primitive_field_lite.h:55
│
namespace protobuf { │ namespace protobuf {
namespace compiler { │ namespace compiler {
namespace java { │ namespace java {
│
class ImmutableEnumFieldLiteGenerator : public ImmutableFieldLiteGenerator { │ class ImmutablePrimitiveFieldLiteGenerator
│ : public ImmutableFieldLiteGenerator {
public: │ public:
explicit ImmutableEnumFieldLiteGenerator(const FieldDescriptor* descriptor, │ explicit ImmutablePrimitiveFieldLiteGenerator(
int messageBitIndex, │ const FieldDescriptor* descriptor, int messageBitIndex, Context* context);
Context* context); │ ~ImmutablePrimitiveFieldLiteGenerator() override;
~ImmutableEnumFieldLiteGenerator() override; │
│
// implements ImmutableFieldLiteGenerator │ // implements ImmutableFieldLiteGenerator
// ------------------------------------ │ // ------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
protected: │ protected:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
const int messageBitIndex_; │ const int messageBitIndex_;
Context* context_; │
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableEnumFieldLiteGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutablePrimitiveFieldLiteGenerator);
}; │ };
│
class ImmutableEnumOneofFieldLiteGenerator │ class ImmutablePrimitiveOneofFieldLiteGenerator
: public ImmutableEnumFieldLiteGenerator { │ : public ImmutablePrimitiveFieldLiteGenerator {
public: │ public:
ImmutableEnumOneofFieldLiteGenerator(const FieldDescriptor* descriptor, │ ImmutablePrimitiveOneofFieldLiteGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, Context* context); │ int messageBitIndex,
~ImmutableEnumOneofFieldLiteGenerator() override; │ Context* context);
│ ~ImmutablePrimitiveOneofFieldLiteGenerator() override;
│
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
│
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableEnumOneofFieldLiteGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutablePrimitiveOneofFieldLiteGenerator);
}; │ };
│
class RepeatedImmutableEnumFieldLiteGenerator │ class RepeatedImmutablePrimitiveFieldLiteGenerator
: public ImmutableFieldLiteGenerator { │ : public ImmutableFieldLiteGenerator {
public: │ public:
explicit RepeatedImmutableEnumFieldLiteGenerator( │ explicit RepeatedImmutablePrimitiveFieldLiteGenerator(
const FieldDescriptor* descriptor, int messageBitIndex, Context* context); │ const FieldDescriptor* descriptor, int messageBitIndex, Context* context);
~RepeatedImmutableEnumFieldLiteGenerator() override; │ ~RepeatedImmutablePrimitiveFieldLiteGenerator() override;
│
// implements ImmutableFieldLiteGenerator ------------------------------------ │ // implements ImmutableFieldLiteGenerator ------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
private: │ private:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
Context* context_; │ Context* context_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableEnumFieldLiteGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutablePrimitiveFieldLiteGenerator);
}; │ };
│
} // namespace java │ } // namespace java
} // namespace compiler │ } // namespace compiler
} // namespace protobuf │ } // namespace protobuf
} │
next prev up protobuf/src/google/protobuf/compiler/java/string_field_lite.h:56 │ protobuf/src/google/protobuf/compiler/java/message_field_lite.h:55
│
namespace protobuf { │ namespace protobuf {
namespace compiler { │ namespace compiler {
namespace java { │ namespace java {
│
class ImmutableStringFieldLiteGenerator : public ImmutableFieldLiteGenerator { │ class ImmutableMessageFieldLiteGenerator : public ImmutableFieldLiteGenerator {
public: │ public:
explicit ImmutableStringFieldLiteGenerator(const FieldDescriptor* descriptor, │ explicit ImmutableMessageFieldLiteGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, │ int messageBitIndex,
Context* context); │ Context* context);
~ImmutableStringFieldLiteGenerator() override; │ ~ImmutableMessageFieldLiteGenerator() override;
│
// implements ImmutableFieldLiteGenerator │ // implements ImmutableFieldLiteGenerator
// ------------------------------------ │ // ------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
protected: │ protected:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
const int messageBitIndex_; │ const int messageBitIndex_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableStringFieldLiteGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableMessageFieldLiteGenerator);
│ void GenerateKotlinOrNull(io::Printer* printer) const;
}; │ };
│
class ImmutableStringOneofFieldLiteGenerator │ class ImmutableMessageOneofFieldLiteGenerator
: public ImmutableStringFieldLiteGenerator { │ : public ImmutableMessageFieldLiteGenerator {
public: │ public:
ImmutableStringOneofFieldLiteGenerator(const FieldDescriptor* descriptor, │ ImmutableMessageOneofFieldLiteGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, Context* context); │ int messageBitIndex,
~ImmutableStringOneofFieldLiteGenerator() override; │ Context* context);
│ ~ImmutableMessageOneofFieldLiteGenerator() override;
│
private: │
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
│
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableStringOneofFieldLiteGenerator); │ private:
│ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableMessageOneofFieldLiteGenerator);
}; │ };
│
class RepeatedImmutableStringFieldLiteGenerator │ class RepeatedImmutableMessageFieldLiteGenerator
: public ImmutableFieldLiteGenerator { │ : public ImmutableFieldLiteGenerator {
public: │ public:
explicit RepeatedImmutableStringFieldLiteGenerator( │ explicit RepeatedImmutableMessageFieldLiteGenerator(
const FieldDescriptor* descriptor, int messageBitIndex, Context* context); │ const FieldDescriptor* descriptor, int messageBitIndex, Context* context);
~RepeatedImmutableStringFieldLiteGenerator() override; │ ~RepeatedImmutableMessageFieldLiteGenerator() override;
│
// implements ImmutableFieldLiteGenerator ------------------------------------ │ // implements ImmutableFieldLiteGenerator ------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
private: │ protected:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableStringFieldLiteGenerator); │ private:
│ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableMessageFieldLiteGenerator);
}; │ };
│
} // namespace java │ } // namespace java
} // namespace compiler │ } // namespace compiler
} // namespace protobuf │ } // namespace protobuf
} │
next prev up protobuf/src/google/protobuf/compiler/java/string_field_lite.h:56 │ protobuf/src/google/protobuf/compiler/java/primitive_field_lite.h:55
│
namespace protobuf { │ namespace protobuf {
namespace compiler { │ namespace compiler {
namespace java { │ namespace java {
│
class ImmutableStringFieldLiteGenerator : public ImmutableFieldLiteGenerator { │ class ImmutablePrimitiveFieldLiteGenerator
│ : public ImmutableFieldLiteGenerator {
public: │ public:
explicit ImmutableStringFieldLiteGenerator(const FieldDescriptor* descriptor, │ explicit ImmutablePrimitiveFieldLiteGenerator(
int messageBitIndex, │ const FieldDescriptor* descriptor, int messageBitIndex, Context* context);
Context* context); │ ~ImmutablePrimitiveFieldLiteGenerator() override;
~ImmutableStringFieldLiteGenerator() override; │
│
// implements ImmutableFieldLiteGenerator │ // implements ImmutableFieldLiteGenerator
// ------------------------------------ │ // ------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
protected: │ protected:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
const int messageBitIndex_; │ const int messageBitIndex_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableStringFieldLiteGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutablePrimitiveFieldLiteGenerator);
}; │ };
│
class ImmutableStringOneofFieldLiteGenerator │ class ImmutablePrimitiveOneofFieldLiteGenerator
: public ImmutableStringFieldLiteGenerator { │ : public ImmutablePrimitiveFieldLiteGenerator {
public: │ public:
ImmutableStringOneofFieldLiteGenerator(const FieldDescriptor* descriptor, │ ImmutablePrimitiveOneofFieldLiteGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, Context* context); │ int messageBitIndex,
~ImmutableStringOneofFieldLiteGenerator() override; │ Context* context);
│ ~ImmutablePrimitiveOneofFieldLiteGenerator() override;
│
private: │
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
│
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
│
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableStringOneofFieldLiteGenerator); │ private:
│ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutablePrimitiveOneofFieldLiteGenerator);
}; │ };
│
class RepeatedImmutableStringFieldLiteGenerator │ class RepeatedImmutablePrimitiveFieldLiteGenerator
: public ImmutableFieldLiteGenerator { │ : public ImmutableFieldLiteGenerator {
public: │ public:
explicit RepeatedImmutableStringFieldLiteGenerator( │ explicit RepeatedImmutablePrimitiveFieldLiteGenerator(
const FieldDescriptor* descriptor, int messageBitIndex, Context* context); │ const FieldDescriptor* descriptor, int messageBitIndex, Context* context);
~RepeatedImmutableStringFieldLiteGenerator() override; │ ~RepeatedImmutablePrimitiveFieldLiteGenerator() override;
│
// implements ImmutableFieldLiteGenerator ------------------------------------ │ // implements ImmutableFieldLiteGenerator ------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
private: │ private:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
│ Context* context_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableStringFieldLiteGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutablePrimitiveFieldLiteGenerator);
}; │ };
│
} // namespace java │ } // namespace java
} // namespace compiler │ } // namespace compiler
} // namespace protobuf │ } // namespace protobuf
} │
next prev up protobuf/src/google/protobuf/compiler/java/string_field_lite.h:56 │ protobuf/src/google/protobuf/compiler/java/enum_field_lite.h:55
│
namespace protobuf { │ namespace protobuf {
namespace compiler { │ namespace compiler {
namespace java { │ namespace java {
│
class ImmutableStringFieldLiteGenerator : public ImmutableFieldLiteGenerator { │ class ImmutableEnumFieldLiteGenerator : public ImmutableFieldLiteGenerator {
public: │ public:
explicit ImmutableStringFieldLiteGenerator(const FieldDescriptor* descriptor, │ explicit ImmutableEnumFieldLiteGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, │ int messageBitIndex,
Context* context); │ Context* context);
~ImmutableStringFieldLiteGenerator() override; │ ~ImmutableEnumFieldLiteGenerator() override;
│
// implements ImmutableFieldLiteGenerator │ // implements ImmutableFieldLiteGenerator
// ------------------------------------ │ // ------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
protected: │ protected:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
const int messageBitIndex_; │ const int messageBitIndex_;
│ Context* context_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableStringFieldLiteGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableEnumFieldLiteGenerator);
}; │ };
│
class ImmutableStringOneofFieldLiteGenerator │ class ImmutableEnumOneofFieldLiteGenerator
: public ImmutableStringFieldLiteGenerator { │ : public ImmutableEnumFieldLiteGenerator {
public: │ public:
ImmutableStringOneofFieldLiteGenerator(const FieldDescriptor* descriptor, │ ImmutableEnumOneofFieldLiteGenerator(const FieldDescriptor* descriptor,
int messageBitIndex, Context* context); │ int messageBitIndex, Context* context);
~ImmutableStringOneofFieldLiteGenerator() override; │ ~ImmutableEnumOneofFieldLiteGenerator() override;
│
private: │
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
│
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableStringOneofFieldLiteGenerator); │ private:
│ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableEnumOneofFieldLiteGenerator);
}; │ };
│
class RepeatedImmutableStringFieldLiteGenerator │ class RepeatedImmutableEnumFieldLiteGenerator
: public ImmutableFieldLiteGenerator { │ : public ImmutableFieldLiteGenerator {
public: │ public:
explicit RepeatedImmutableStringFieldLiteGenerator( │ explicit RepeatedImmutableEnumFieldLiteGenerator(
const FieldDescriptor* descriptor, int messageBitIndex, Context* context); │ const FieldDescriptor* descriptor, int messageBitIndex, Context* context);
~RepeatedImmutableStringFieldLiteGenerator() override; │ ~RepeatedImmutableEnumFieldLiteGenerator() override;
│
// implements ImmutableFieldLiteGenerator ------------------------------------ │ // implements ImmutableFieldLiteGenerator ------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateFieldInfo(io::Printer* printer, │ void GenerateFieldInfo(io::Printer* printer,
std::vector<uint16_t>* output) const override; │ std::vector<uint16_t>* output) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
private: │ private:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
│ Context* context_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableStringFieldLiteGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableEnumFieldLiteGenerator);
}; │ };
│
} // namespace java │ } // namespace java
} // namespace compiler │ } // namespace compiler
} // namespace protobuf │ } // namespace protobuf
} │
next prev up protobuf/src/google/protobuf/compiler/java/map_field_lite.cc:832 │ protobuf/src/google/protobuf/compiler/java/map_field.cc:692
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * An uninstantiable, behaviorless type to represent the field in\n" │ " * An uninstantiable, behaviorless type to represent the field in\n"
" * generics.\n" │ " * generics.\n"
" */\n" │ " */\n"
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"class ${$$kt_capitalized_name$Proxy$}$ private constructor()" │ "class ${$$kt_capitalized_name$Proxy$}$ private constructor()"
" : com.google.protobuf.kotlin.DslProxy()\n"); │ " : com.google.protobuf.kotlin.DslProxy()\n");
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$kt_deprecation$ val $kt_name$: " │ "$kt_deprecation$ val $kt_name$: "
"com.google.protobuf.kotlin.DslMap" │ "com.google.protobuf.kotlin.DslMap"
"<$kt_key_type$, $kt_value_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<$kt_key_type$, $kt_value_type$, ${$$kt_capitalized_name$Proxy$}$>\n"
" @kotlin.jvm.JvmSynthetic\n" │ " @kotlin.jvm.JvmSynthetic\n"
" @JvmName(\"get$kt_capitalized_name$Map\")\n" │ " @JvmName(\"get$kt_capitalized_name$Map\")\n"
" get() = com.google.protobuf.kotlin.DslMap(\n" │ " get() = com.google.protobuf.kotlin.DslMap(\n"
" $kt_dsl_builder$.${$get$capitalized_name$Map$}$()\n" │ " $kt_dsl_builder$.${$get$capitalized_name$Map$}$()\n"
" )\n"); │ " )\n");
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@JvmName(\"put$kt_capitalized_name$\")\n" │ "@JvmName(\"put$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslMap" │ "fun com.google.protobuf.kotlin.DslMap"
"<$kt_key_type$, $kt_value_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<$kt_key_type$, $kt_value_type$, ${$$kt_capitalized_name$Proxy$}$>\n"
" .put(key: $kt_key_type$, value: $kt_value_type$) {\n" │ " .put(key: $kt_key_type$, value: $kt_value_type$) {\n"
" $kt_dsl_builder$.${$put$capitalized_name$$}$(key, value)\n" │ " $kt_dsl_builder$.${$put$capitalized_name$$}$(key, value)\n"
" }\n"); │ " }\n");
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@JvmName(\"set$kt_capitalized_name$\")\n" │ "@JvmName(\"set$kt_capitalized_name$\")\n"
"@Suppress(\"NOTHING_TO_INLINE\")\n" │ "@Suppress(\"NOTHING_TO_INLINE\")\n"
"inline operator fun com.google.protobuf.kotlin.DslMap" │ "inline operator fun com.google.protobuf.kotlin.DslMap"
"<$kt_key_type$, $kt_value_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<$kt_key_type$, $kt_value_type$, ${$$kt_capitalized_name$Proxy$}$>\n"
" .set(key: $kt_key_type$, value: $kt_value_type$) {\n" │ " .set(key: $kt_key_type$, value: $kt_value_type$) {\n"
" put(key, value)\n" │ " put(key, value)\n"
" }\n"); │ " }\n");
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@JvmName(\"remove$kt_capitalized_name$\")\n" │ "@JvmName(\"remove$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslMap" │ "fun com.google.protobuf.kotlin.DslMap"
"<$kt_key_type$, $kt_value_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<$kt_key_type$, $kt_value_type$, ${$$kt_capitalized_name$Proxy$}$>\n"
" .remove(key: $kt_key_type$) {\n" │ " .remove(key: $kt_key_type$) {\n"
" $kt_dsl_builder$.${$remove$capitalized_name$$}$(key)\n" │ " $kt_dsl_builder$.${$remove$capitalized_name$$}$(key)\n"
" }\n"); │ " }\n");
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@JvmName(\"putAll$kt_capitalized_name$\")\n" │ "@JvmName(\"putAll$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslMap" │ "fun com.google.protobuf.kotlin.DslMap"
"<$kt_key_type$, $kt_value_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<$kt_key_type$, $kt_value_type$, ${$$kt_capitalized_name$Proxy$}$>\n"
" .putAll(map: kotlin.collections.Map<$kt_key_type$, $kt_value_type$>) " │ " .putAll(map: kotlin.collections.Map<$kt_key_type$, $kt_value_type$>) "
"{\n" │ "{\n"
" $kt_dsl_builder$.${$putAll$capitalized_name$$}$(map)\n" │ " $kt_dsl_builder$.${$putAll$capitalized_name$$}$(map)\n"
" }\n"); │ " }\n");
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@kotlin.jvm.JvmSynthetic\n" │ "@kotlin.jvm.JvmSynthetic\n"
"@JvmName(\"clear$kt_capitalized_name$\")\n" │ "@JvmName(\"clear$kt_capitalized_name$\")\n"
"fun com.google.protobuf.kotlin.DslMap" │ "fun com.google.protobuf.kotlin.DslMap"
"<$kt_key_type$, $kt_value_type$, ${$$kt_capitalized_name$Proxy$}$>\n" │ "<$kt_key_type$, $kt_value_type$, ${$$kt_capitalized_name$Proxy$}$>\n"
" .clear() {\n" │ " .clear() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
" }\n"); │ " }\n");
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field.cc:215 │ protobuf/src/google/protobuf/compiler/java/enum_field.cc:467
│
printer->Print(variables_, "private int $name$_ = $default_number$;\n"); │ GOOGLE_DCHECK(HasHazzer(descriptor_));
if (HasHazzer(descriptor_)) { │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ printer->Print(variables_,
printer->Print(variables_, │ "@java.lang.Override\n"
"@java.lang.Override $deprecation$public boolean " │ "$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
"${$has$capitalized_name$$}$() {\n" │ " return $has_oneof_case_message$;\n"
" return $get_has_field_bit_builder$;\n" │ "}\n");
"}\n"); │ printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_); │
} │
if (SupportUnknownEnumValue(descriptor_->file())) { │ if (SupportUnknownEnumValue(descriptor_->file())) {
WriteFieldEnumValueAccessorDocComment(printer, descriptor_, GETTER); │ WriteFieldEnumValueAccessorDocComment(printer, descriptor_, GETTER);
printer->Print(variables_, │ printer->Print(
"@java.lang.Override $deprecation$public int " │ variables_,
"${$get$capitalized_name$Value$}$() {\n" │ "@java.lang.Override\n"
" return $name$_;\n" │ "$deprecation$public int ${$get$capitalized_name$Value$}$() {\n"
"}\n"); │ " if ($has_oneof_case_message$) {\n"
│ " return ((java.lang.Integer) $oneof_name$_).intValue();\n"
│ " }\n"
│ " return $default_number$;\n"
│ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldEnumValueAccessorDocComment(printer, descriptor_, SETTER, │ WriteFieldEnumValueAccessorDocComment(printer, descriptor_, SETTER,
/* builder */ true); │ /* builder */ true);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$public Builder " │ "$deprecation$public Builder "
"${$set$capitalized_name$Value$}$(int value) {\n" │ "${$set$capitalized_name$Value$}$(int value) {\n"
" $set_has_field_bit_builder$\n" │ " $set_oneof_case_message$;\n"
" $name$_ = value;\n" │ " $oneof_name$_ = value;\n"
" $on_changed$\n" │ " $on_changed$\n"
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
} │ }
WriteFieldAccessorDocComment(printer, descriptor_, GETTER); │ WriteFieldAccessorDocComment(printer, descriptor_, GETTER);
printer->Print(variables_, │ printer->Print(variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n" │ "$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n"
" @SuppressWarnings(\"deprecation\")\n" │ " if ($has_oneof_case_message$) {\n"
" $type$ result = $type$.$for_number$($name$_);\n" │ " @SuppressWarnings(\"deprecation\")\n"
" return result == null ? $unknown$ : result;\n" │ " $type$ result = $type$.$for_number$(\n"
│ " (java.lang.Integer) $oneof_name$_);\n"
│ " return result == null ? $unknown$ : result;\n"
│ " }\n"
│ " return $default$;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldAccessorDocComment(printer, descriptor_, SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, SETTER,
/* builder */ true); │ /* builder */ true);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$public Builder " │ "$deprecation$public Builder "
"${$set$capitalized_name$$}$($type$ value) {\n" │ "${$set$capitalized_name$$}$($type$ value) {\n"
" if (value == null) {\n" │ " if (value == null) {\n"
" throw new NullPointerException();\n" │ " throw new NullPointerException();\n"
" }\n" │ " }\n"
" $set_has_field_bit_builder$\n" │ " $set_oneof_case_message$;\n"
" $name$_ = value.getNumber();\n" │ " $oneof_name$_ = value.getNumber();\n"
" $on_changed$\n" │ " $on_changed$\n"
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ true); │ /* builder */ true);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n" │ "$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n"
" $clear_has_field_bit_builder$\n" │ " if ($has_oneof_case_message$) {\n"
" $name$_ = $default_number$;\n" │ " $clear_oneof_case_message$;\n"
" $on_changed$\n" │ " $oneof_name$_ = null;\n"
│ " $on_changed$\n"
│ " }\n"
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
} │
next prev up protobuf/src/google/protobuf/map_test_util_impl.h:316 │ protobuf/src/google/protobuf/map_test_util_impl.h:258
│
EXPECT_EQ(2, message.map_int32_int32().size()); │ ASSERT_EQ(2, message.map_int32_int32().size());
EXPECT_EQ(2, message.map_int64_int64().size()); │ ASSERT_EQ(2, message.map_int64_int64().size());
EXPECT_EQ(2, message.map_uint32_uint32().size()); │ ASSERT_EQ(2, message.map_uint32_uint32().size());
EXPECT_EQ(2, message.map_uint64_uint64().size()); │ ASSERT_EQ(2, message.map_uint64_uint64().size());
EXPECT_EQ(2, message.map_sint32_sint32().size()); │ ASSERT_EQ(2, message.map_sint32_sint32().size());
EXPECT_EQ(2, message.map_sint64_sint64().size()); │ ASSERT_EQ(2, message.map_sint64_sint64().size());
EXPECT_EQ(2, message.map_fixed32_fixed32().size()); │ ASSERT_EQ(2, message.map_fixed32_fixed32().size());
EXPECT_EQ(2, message.map_fixed64_fixed64().size()); │ ASSERT_EQ(2, message.map_fixed64_fixed64().size());
EXPECT_EQ(2, message.map_sfixed32_sfixed32().size()); │ ASSERT_EQ(2, message.map_sfixed32_sfixed32().size());
EXPECT_EQ(2, message.map_sfixed64_sfixed64().size()); │ ASSERT_EQ(2, message.map_sfixed64_sfixed64().size());
EXPECT_EQ(2, message.map_int32_float().size()); │ ASSERT_EQ(2, message.map_int32_float().size());
EXPECT_EQ(2, message.map_int32_double().size()); │ ASSERT_EQ(2, message.map_int32_double().size());
EXPECT_EQ(2, message.map_bool_bool().size()); │ ASSERT_EQ(2, message.map_bool_bool().size());
EXPECT_EQ(2, message.map_string_string().size()); │ ASSERT_EQ(2, message.map_string_string().size());
EXPECT_EQ(2, message.map_int32_bytes().size()); │ ASSERT_EQ(2, message.map_int32_bytes().size());
EXPECT_EQ(2, message.map_int32_enum().size()); │ ASSERT_EQ(2, message.map_int32_enum().size());
EXPECT_EQ(2, message.map_int32_foreign_message().size()); │ ASSERT_EQ(2, message.map_int32_foreign_message().size());
│
EXPECT_EQ(0, message.map_int32_int32().at(0)); │ EXPECT_EQ(0, message.map_int32_int32().at(0));
EXPECT_EQ(0, message.map_int64_int64().at(0)); │ EXPECT_EQ(0, message.map_int64_int64().at(0));
EXPECT_EQ(0, message.map_uint32_uint32().at(0)); │ EXPECT_EQ(0, message.map_uint32_uint32().at(0));
EXPECT_EQ(0, message.map_uint64_uint64().at(0)); │ EXPECT_EQ(0, message.map_uint64_uint64().at(0));
EXPECT_EQ(0, message.map_sint32_sint32().at(0)); │ EXPECT_EQ(0, message.map_sint32_sint32().at(0));
EXPECT_EQ(0, message.map_sint64_sint64().at(0)); │ EXPECT_EQ(0, message.map_sint64_sint64().at(0));
EXPECT_EQ(0, message.map_fixed32_fixed32().at(0)); │ EXPECT_EQ(0, message.map_fixed32_fixed32().at(0));
EXPECT_EQ(0, message.map_fixed64_fixed64().at(0)); │ EXPECT_EQ(0, message.map_fixed64_fixed64().at(0));
EXPECT_EQ(0, message.map_sfixed32_sfixed32().at(0)); │ EXPECT_EQ(0, message.map_sfixed32_sfixed32().at(0));
EXPECT_EQ(0, message.map_sfixed64_sfixed64().at(0)); │ EXPECT_EQ(0, message.map_sfixed64_sfixed64().at(0));
EXPECT_EQ(0, message.map_int32_float().at(0)); │ EXPECT_EQ(0, message.map_int32_float().at(0));
EXPECT_EQ(0, message.map_int32_double().at(0)); │ EXPECT_EQ(0, message.map_int32_double().at(0));
EXPECT_EQ(false, message.map_bool_bool().at(0)); │ EXPECT_EQ(false, message.map_bool_bool().at(0));
EXPECT_EQ("0", message.map_string_string().at("0")); │ EXPECT_EQ("0", message.map_string_string().at("0"));
EXPECT_EQ("0", message.map_int32_bytes().at(0)); │ EXPECT_EQ("0", message.map_int32_bytes().at(0));
EXPECT_EQ(enum_value0, message.map_int32_enum().at(0)); │ EXPECT_EQ(enum_value0, message.map_int32_enum().at(0));
EXPECT_EQ(0, message.map_int32_foreign_message().at(0).c()); │ EXPECT_EQ(0, message.map_int32_foreign_message().at(0).c());
│
EXPECT_EQ(1, message.map_int32_int32().at(1)); │ EXPECT_EQ(1, message.map_int32_int32().at(1));
EXPECT_EQ(1, message.map_int64_int64().at(1)); │ EXPECT_EQ(1, message.map_int64_int64().at(1));
EXPECT_EQ(1, message.map_uint32_uint32().at(1)); │ EXPECT_EQ(1, message.map_uint32_uint32().at(1));
EXPECT_EQ(1, message.map_uint64_uint64().at(1)); │ EXPECT_EQ(1, message.map_uint64_uint64().at(1));
EXPECT_EQ(1, message.map_sint32_sint32().at(1)); │ EXPECT_EQ(1, message.map_sint32_sint32().at(1));
EXPECT_EQ(1, message.map_sint64_sint64().at(1)); │ EXPECT_EQ(1, message.map_sint64_sint64().at(1));
EXPECT_EQ(1, message.map_fixed32_fixed32().at(1)); │ EXPECT_EQ(1, message.map_fixed32_fixed32().at(1));
EXPECT_EQ(1, message.map_fixed64_fixed64().at(1)); │ EXPECT_EQ(1, message.map_fixed64_fixed64().at(1));
EXPECT_EQ(1, message.map_sfixed32_sfixed32().at(1)); │ EXPECT_EQ(1, message.map_sfixed32_sfixed32().at(1));
EXPECT_EQ(1, message.map_sfixed64_sfixed64().at(1)); │ EXPECT_EQ(1, message.map_sfixed64_sfixed64().at(1));
EXPECT_EQ(1, message.map_int32_float().at(1)); │ EXPECT_EQ(1, message.map_int32_float().at(1));
EXPECT_EQ(1, message.map_int32_double().at(1)); │ EXPECT_EQ(1, message.map_int32_double().at(1));
EXPECT_EQ(true, message.map_bool_bool().at(1)); │ EXPECT_EQ(true, message.map_bool_bool().at(1));
EXPECT_EQ("1", message.map_string_string().at("1")); │ EXPECT_EQ("1", message.map_string_string().at("1"));
EXPECT_EQ("1", message.map_int32_bytes().at(1)); │ EXPECT_EQ("1", message.map_int32_bytes().at(1));
EXPECT_EQ(enum_value1, message.map_int32_enum().at(1)); │ EXPECT_EQ(enum_value1, message.map_int32_enum().at(1));
EXPECT_EQ(1, message.map_int32_foreign_message().at(1).c()); │ EXPECT_EQ(1, message.map_int32_foreign_message().at(1).c());
} │
next prev up protobuf/src/google/protobuf/repeated_ptr_field.h:1546 │ protobuf/src/google/protobuf/repeated_ptr_field.h:1650
│
public: │ public:
using iterator = RepeatedPtrIterator<Element>; │ using iterator = RepeatedPtrOverPtrsIterator<Element, VoidPtr>;
using iterator_category = std::random_access_iterator_tag; │ using iterator_category = std::random_access_iterator_tag;
using value_type = typename std::remove_const<Element>::type; │ using value_type = typename std::remove_const<Element>::type;
using difference_type = std::ptrdiff_t; │ using difference_type = std::ptrdiff_t;
using pointer = Element*; │ using pointer = Element*;
using reference = Element&; │ using reference = Element&;
│
RepeatedPtrIterator() : it_(nullptr) {} │ RepeatedPtrOverPtrsIterator() : it_(nullptr) {}
explicit RepeatedPtrIterator(void* const* it) : it_(it) {} │ explicit RepeatedPtrOverPtrsIterator(VoidPtr* it) : it_(it) {}
│
// Allows "upcasting" from RepeatedPtrIterator<T**> to │ // Allows "upcasting" from RepeatedPtrOverPtrsIterator<T**> to
// RepeatedPtrIterator<const T*const*>. │ // RepeatedPtrOverPtrsIterator<const T*const*>.
template <typename OtherElement, │ template <
typename std::enable_if<std::is_convertible< │ typename OtherElement, typename OtherVoidPtr,
OtherElement*, pointer>::value>::type* = nullptr> │ typename std::enable_if<
RepeatedPtrIterator(const RepeatedPtrIterator<OtherElement>& other) │ std::is_convertible<OtherElement*, pointer>::value &&
│ std::is_convertible<OtherVoidPtr*, VoidPtr>::value>::type* = nullptr>
│ RepeatedPtrOverPtrsIterator(
│ const RepeatedPtrOverPtrsIterator<OtherElement, OtherVoidPtr>& other)
: it_(other.it_) {} │ : it_(other.it_) {}
│
// dereferenceable │ // dereferenceable
reference operator*() const { return *reinterpret_cast<Element*>(*it_); } │ reference operator*() const { return *reinterpret_cast<Element*>(it_); }
pointer operator->() const { return &(operator*()); } │ pointer operator->() const { return &(operator*()); }
│
// {inc,dec}rementable │ // {inc,dec}rementable
iterator& operator++() { │ iterator& operator++() {
++it_; │ ++it_;
return *this; │ return *this;
} │ }
iterator operator++(int) { return iterator(it_++); } │ iterator operator++(int) { return iterator(it_++); }
iterator& operator--() { │ iterator& operator--() {
--it_; │ --it_;
return *this; │ return *this;
} │ }
iterator operator--(int) { return iterator(it_--); } │ iterator operator--(int) { return iterator(it_--); }
│
// equality_comparable │ // equality_comparable
friend bool operator==(const iterator& x, const iterator& y) { │ friend bool operator==(const iterator& x, const iterator& y) {
return x.it_ == y.it_; │ return x.it_ == y.it_;
} │ }
friend bool operator!=(const iterator& x, const iterator& y) { │ friend bool operator!=(const iterator& x, const iterator& y) {
return x.it_ != y.it_; │ return x.it_ != y.it_;
} │ }
│
// less_than_comparable │ // less_than_comparable
friend bool operator<(const iterator& x, const iterator& y) { │ friend bool operator<(const iterator& x, const iterator& y) {
return x.it_ < y.it_; │ return x.it_ < y.it_;
} │ }
friend bool operator<=(const iterator& x, const iterator& y) { │ friend bool operator<=(const iterator& x, const iterator& y) {
return x.it_ <= y.it_; │ return x.it_ <= y.it_;
} │ }
friend bool operator>(const iterator& x, const iterator& y) { │ friend bool operator>(const iterator& x, const iterator& y) {
return x.it_ > y.it_; │ return x.it_ > y.it_;
} │ }
friend bool operator>=(const iterator& x, const iterator& y) { │ friend bool operator>=(const iterator& x, const iterator& y) {
return x.it_ >= y.it_; │ return x.it_ >= y.it_;
} │ }
│
// addable, subtractable │ // addable, subtractable
iterator& operator+=(difference_type d) { │ iterator& operator+=(difference_type d) {
it_ += d; │ it_ += d;
return *this; │ return *this;
} │ }
friend iterator operator+(iterator it, const difference_type d) { │ friend iterator operator+(iterator it, difference_type d) {
it += d; │ it += d;
return it; │ return it;
} │ }
friend iterator operator+(const difference_type d, iterator it) { │ friend iterator operator+(difference_type d, iterator it) {
it += d; │ it += d;
return it; │ return it;
} │ }
iterator& operator-=(difference_type d) { │ iterator& operator-=(difference_type d) {
it_ -= d; │ it_ -= d;
return *this; │ return *this;
} │ }
friend iterator operator-(iterator it, difference_type d) { │ friend iterator operator-(iterator it, difference_type d) {
it -= d; │ it -= d;
return it; │ return it;
} │ }
│
// indexable │ // indexable
reference operator[](difference_type d) const { return *(*this + d); } │ reference operator[](difference_type d) const { return *(*this + d); }
│
// random access iterator │ // random access iterator
friend difference_type operator-(iterator it1, iterator it2) { │ friend difference_type operator-(iterator it1, iterator it2) {
return it1.it_ - it2.it_; │ return it1.it_ - it2.it_;
} │ }
│
private: │ private:
template <typename OtherElement> │ template <typename OtherElement, typename OtherVoidPtr>
friend class RepeatedPtrIterator; │ friend class RepeatedPtrOverPtrsIterator;
│
// The internal iterator. │ // The internal iterator.
void* const* it_; │ VoidPtr* it_;
} │
next prev up protobuf/src/google/protobuf/compiler/java/message_field_lite.cc:425 │ protobuf/src/google/protobuf/compiler/java/message_field_lite.cc:223
│
// The comments above the methods below are based on a hypothetical │ // The comments above the methods below are based on a hypothetical
// field of type "Field" called "Field". │ // field of type "Field" called "Field".
│
// boolean hasField() │ // boolean hasField()
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$public boolean ${$has$capitalized_name$$}$() {\n" │ "$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
" return instance.has$capitalized_name$();\n" │ " return instance.has$capitalized_name$();\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
│
// Field getField() │ // Field getField()
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n" │ "$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n"
" return instance.get$capitalized_name$();\n" │ " return instance.get$capitalized_name$();\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
│
// Field.Builder setField(Field value) │ // Field.Builder setField(Field value)
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$public Builder " │ "$deprecation$public Builder "
"${$set$capitalized_name$$}$($type$ value) {\n" │ "${$set$capitalized_name$$}$($type$ value) {\n"
" copyOnWrite();\n" │ " copyOnWrite();\n"
" instance.set$capitalized_name$(value);\n" │ " instance.set$capitalized_name$(value);\n"
" return this;\n" │ " return this;\n"
"}\n"); │ " }\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
│
// Field.Builder setField(Field.Builder builderForValue) │ // Field.Builder setField(Field.Builder builderForValue)
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$public Builder ${$set$capitalized_name$$}$(\n" │ "$deprecation$public Builder ${$set$capitalized_name$$}$(\n"
" $type$.Builder builderForValue) {\n" │ " $type$.Builder builderForValue) {\n"
" copyOnWrite();\n" │ " copyOnWrite();\n"
" instance.set$capitalized_name$(builderForValue.build());\n" │ " instance.set$capitalized_name$(builderForValue.build());\n"
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
│
// Field.Builder mergeField(Field value) │ // Field.Builder mergeField(Field value)
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$public Builder " │ "$deprecation$public Builder "
"${$merge$capitalized_name$$}$($type$ value) {\n" │ "${$merge$capitalized_name$$}$($type$ value) {\n"
" copyOnWrite();\n" │ " copyOnWrite();\n"
" instance.merge$capitalized_name$(value);\n" │ " instance.merge$capitalized_name$(value);\n"
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
│
// Field.Builder clearField() │ // Field.Builder clearField()
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print( │ printer->Print(variables_,
variables_, │ "$deprecation$public Builder ${$clear$capitalized_name$$}$() {"
"$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n" │ " copyOnWrite();\n"
" copyOnWrite();\n" │ " instance.clear$capitalized_name$();\n"
" instance.clear$capitalized_name$();\n" │ " return this;\n"
" return this;\n" │ "}\n");
"}\n"); │
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field.cc:848 │ protobuf/src/google/protobuf/compiler/java/enum_field_lite.cc:760
│
WriteFieldEnumValueAccessorDocComment(printer, descriptor_, LIST_GETTER); │ WriteFieldEnumValueAccessorDocComment(printer, descriptor_, LIST_GETTER);
printer->Print(variables_, │ printer->Print(variables_,
│ "@java.lang.Override\n"
"$deprecation$public java.util.List<java.lang.Integer>\n" │ "$deprecation$public java.util.List<java.lang.Integer>\n"
"${$get$capitalized_name$ValueList$}$() {\n" │ "${$get$capitalized_name$ValueList$}$() {\n"
" return java.util.Collections.unmodifiableList($name$_);\n" │ " return java.util.Collections.unmodifiableList(\n"
│ " instance.get$capitalized_name$ValueList());\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldEnumValueAccessorDocComment(printer, descriptor_, │ WriteFieldEnumValueAccessorDocComment(printer, descriptor_,
LIST_INDEXED_GETTER); │ LIST_INDEXED_GETTER);
printer->Print(variables_, │ printer->Print(variables_,
│ "@java.lang.Override\n"
"$deprecation$public int " │ "$deprecation$public int "
"${$get$capitalized_name$Value$}$(int index) {\n" │ "${$get$capitalized_name$Value$}$(int index) {\n"
" return $name$_.get(index);\n" │ " return instance.get$capitalized_name$Value(index);\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldEnumValueAccessorDocComment(printer, descriptor_, │ WriteFieldEnumValueAccessorDocComment(printer, descriptor_,
LIST_INDEXED_SETTER, │ LIST_INDEXED_SETTER,
/* builder */ true); │ /* builder */ true);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$deprecation$public Builder ${$set$capitalized_name$Value$}$(\n" │ "$deprecation$public Builder ${$set$capitalized_name$Value$}$(\n"
" int index, int value) {\n" │ " int index, int value) {\n"
" ensure$capitalized_name$IsMutable();\n" │ " copyOnWrite();\n"
" $name$_.set(index, value);\n" │ " instance.set$capitalized_name$Value(index, value);\n"
" $on_changed$\n" │
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldEnumValueAccessorDocComment(printer, descriptor_, LIST_ADDER, │ WriteFieldEnumValueAccessorDocComment(printer, descriptor_, LIST_ADDER,
/* builder */ true); │ /* builder */ true);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$public Builder " │ "$deprecation$public Builder "
"${$add$capitalized_name$Value$}$(int value) {\n" │ "${$add$capitalized_name$Value$}$(int value) {\n"
" ensure$capitalized_name$IsMutable();\n" │ " instance.add$capitalized_name$Value(value);\n"
" $name$_.add(value);\n" │
" $on_changed$\n" │
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldEnumValueAccessorDocComment(printer, descriptor_, │ WriteFieldEnumValueAccessorDocComment(printer, descriptor_,
LIST_MULTI_ADDER, /* builder */ true); │ LIST_MULTI_ADDER,
│ /* builder */ true);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$deprecation$public Builder ${$addAll$capitalized_name$Value$}$(\n" │ "$deprecation$public Builder ${$addAll$capitalized_name$Value$}$(\n"
" java.lang.Iterable<java.lang.Integer> values) {\n" │ " java.lang.Iterable<java.lang.Integer> values) {\n"
" ensure$capitalized_name$IsMutable();\n" │ " copyOnWrite();\n"
" for (int value : values) {\n" │ " instance.addAll$capitalized_name$Value(values);\n"
" $name$_.add(value);\n" │
" }\n" │
" $on_changed$\n" │
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field_lite.cc:227 │ protobuf/src/google/protobuf/compiler/java/enum_field_lite.cc:434
│
if (HasHazzer(descriptor_)) { │ GOOGLE_DCHECK(HasHazzer(descriptor_));
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
printer->Print( │ printer->Print(variables_,
variables_, │ "@java.lang.Override\n"
"@java.lang.Override\n" │ "$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
"$deprecation$public boolean ${$has$capitalized_name$$}$() {\n" │ " return instance.has$capitalized_name$();\n"
" return instance.has$capitalized_name$();\n" │ "}\n");
"}\n"); │ printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_); │
} │
if (SupportUnknownEnumValue(descriptor_->file())) { │ if (SupportUnknownEnumValue(descriptor_->file())) {
WriteFieldEnumValueAccessorDocComment(printer, descriptor_, GETTER); │ WriteFieldEnumValueAccessorDocComment(printer, descriptor_, GETTER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$public int ${$get$capitalized_name$Value$}$() {\n" │ "$deprecation$public int ${$get$capitalized_name$Value$}$() {\n"
" return instance.get$capitalized_name$Value();\n" │ " return instance.get$capitalized_name$Value();\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldAccessorDocComment(printer, descriptor_, SETTER, │ WriteFieldEnumValueAccessorDocComment(printer, descriptor_, SETTER,
/* builder */ true); │ /* builder */ true);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$public Builder " │ "$deprecation$public Builder "
"${$set$capitalized_name$Value$}$(int value) {\n" │ "${$set$capitalized_name$Value$}$(int value) {\n"
" copyOnWrite();\n" │ " copyOnWrite();\n"
" instance.set$capitalized_name$Value(value);\n" │ " instance.set$capitalized_name$Value(value);\n"
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
} │ }
WriteFieldAccessorDocComment(printer, descriptor_, GETTER); │ WriteFieldAccessorDocComment(printer, descriptor_, GETTER);
printer->Print(variables_, │ printer->Print(variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n" │ "$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n"
" return instance.get$capitalized_name$();\n" │ " return instance.get$capitalized_name$();\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldEnumValueAccessorDocComment(printer, descriptor_, SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, SETTER,
/* builder */ true); │ /* builder */ true);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$public Builder " │ "$deprecation$public Builder "
"${$set$capitalized_name$$}$($type$ value) {\n" │ "${$set$capitalized_name$$}$($type$ value) {\n"
" copyOnWrite();\n" │ " copyOnWrite();\n"
" instance.set$capitalized_name$(value);\n" │ " instance.set$capitalized_name$(value);\n"
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ true); │ /* builder */ true);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n" │ "$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n"
" copyOnWrite();\n" │ " copyOnWrite();\n"
" instance.clear$capitalized_name$();\n" │ " instance.clear$capitalized_name$();\n"
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
} │
next prev up protobuf/src/google/protobuf/compiler/java/string_field_lite.cc:248 │ protobuf/src/google/protobuf/compiler/java/string_field_lite.cc:454
│
if (HasHazzer(descriptor_)) { │ GOOGLE_DCHECK(HasHazzer(descriptor_));
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
printer->Print( │ printer->Print(variables_,
variables_, │ "@java.lang.Override\n"
"@java.lang.Override\n" │ "$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
"$deprecation$public boolean ${$has$capitalized_name$$}$() {\n" │ " return instance.has$capitalized_name$();\n"
" return instance.has$capitalized_name$();\n" │ "}\n");
"}\n"); │ printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_); │
} │
│
WriteFieldAccessorDocComment(printer, descriptor_, GETTER); │ WriteFieldAccessorDocComment(printer, descriptor_, GETTER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$public java.lang.String ${$get$capitalized_name$$}$() {\n" │ "$deprecation$public java.lang.String ${$get$capitalized_name$$}$() {\n"
" return instance.get$capitalized_name$();\n" │ " return instance.get$capitalized_name$();\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
│
WriteFieldStringBytesAccessorDocComment(printer, descriptor_, GETTER); │ WriteFieldStringBytesAccessorDocComment(printer, descriptor_, GETTER);
printer->Print(variables_, │ printer->Print(variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$public com.google.protobuf.ByteString\n" │ "$deprecation$public com.google.protobuf.ByteString\n"
" ${$get$capitalized_name$Bytes$}$() {\n" │ " ${$get$capitalized_name$Bytes$}$() {\n"
" return instance.get$capitalized_name$Bytes();\n" │ " return instance.get$capitalized_name$Bytes();\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
│
WriteFieldAccessorDocComment(printer, descriptor_, SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, SETTER,
/* builder */ true); │ /* builder */ true);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$public Builder ${$set$capitalized_name$$}$(\n" │ "$deprecation$public Builder ${$set$capitalized_name$$}$(\n"
" java.lang.String value) {\n" │ " java.lang.String value) {\n"
" copyOnWrite();\n" │ " copyOnWrite();\n"
" instance.set$capitalized_name$(value);\n" │ " instance.set$capitalized_name$(value);\n"
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ true); │ /* builder */ true);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n" │ "$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n"
" copyOnWrite();\n" │ " copyOnWrite();\n"
" instance.clear$capitalized_name$();\n" │ " instance.clear$capitalized_name$();\n"
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
│
WriteFieldStringBytesAccessorDocComment(printer, descriptor_, SETTER, │ WriteFieldStringBytesAccessorDocComment(printer, descriptor_, SETTER,
/* builder */ true); │ /* builder */ true);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$deprecation$public Builder ${$set$capitalized_name$Bytes$}$(\n" │ "$deprecation$public Builder ${$set$capitalized_name$Bytes$}$(\n"
" com.google.protobuf.ByteString value) {\n" │ " com.google.protobuf.ByteString value) {\n"
" copyOnWrite();\n" │ " copyOnWrite();\n"
" instance.set$capitalized_name$Bytes(value);\n" │ " instance.set$capitalized_name$Bytes(value);\n"
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
} │
next prev up protobuf/src/google/protobuf/compiler/java/string_field.cc:216 │ protobuf/src/google/protobuf/compiler/java/string_field.cc:524
│
printer->Print(variables_, "private volatile java.lang.Object $name$_;\n"); │
PrintExtraFieldInfo(variables_, printer); │ PrintExtraFieldInfo(variables_, printer);
│ GOOGLE_DCHECK(HasHazzer(descriptor_));
if (HasHazzer(descriptor_)) { │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ printer->Print(variables_,
printer->Print( │ "$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
variables_, │ " return $has_oneof_case_message$;\n"
"@java.lang.Override\n" │ "}\n");
"$deprecation$public boolean ${$has$capitalized_name$$}$() {\n" │ printer->Annotate("{", "}", descriptor_);
" return $get_has_field_bit_message$;\n" │
"}\n"); │
printer->Annotate("{", "}", descriptor_); │
} │
│
WriteFieldAccessorDocComment(printer, descriptor_, GETTER); │ WriteFieldAccessorDocComment(printer, descriptor_, GETTER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@java.lang.Override\n" │
"$deprecation$public java.lang.String ${$get$capitalized_name$$}$() {\n" │ "$deprecation$public java.lang.String ${$get$capitalized_name$$}$() {\n"
" java.lang.Object ref = $name$_;\n" │ " java.lang.Object ref $default_init$;\n"
│ " if ($has_oneof_case_message$) {\n"
│ " ref = $oneof_name$_;\n"
│ " }\n"
" if (ref instanceof java.lang.String) {\n" │ " if (ref instanceof java.lang.String) {\n"
" return (java.lang.String) ref;\n" │ " return (java.lang.String) ref;\n"
" } else {\n" │ " } else {\n"
" com.google.protobuf.ByteString bs = \n" │ " com.google.protobuf.ByteString bs = \n"
" (com.google.protobuf.ByteString) ref;\n" │ " (com.google.protobuf.ByteString) ref;\n"
" java.lang.String s = bs.toStringUtf8();\n"); │ " java.lang.String s = bs.toStringUtf8();\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
if (CheckUtf8(descriptor_)) { │ if (CheckUtf8(descriptor_)) {
printer->Print(variables_, " $name$_ = s;\n"); │ printer->Print(variables_,
│ " if ($has_oneof_case_message$) {\n"
│ " $oneof_name$_ = s;\n"
│ " }\n");
} else { │ } else {
printer->Print(variables_, │ printer->Print(variables_,
" if (bs.isValidUtf8()) {\n" │ " if (bs.isValidUtf8() && ($has_oneof_case_message$)) {\n"
" $name$_ = s;\n" │ " $oneof_name$_ = s;\n"
" }\n"); │ " }\n");
} │ }
printer->Print(variables_, │ printer->Print(variables_,
" return s;\n" │ " return s;\n"
" }\n" │ " }\n"
"}\n"); │ "}\n");
WriteFieldStringBytesAccessorDocComment(printer, descriptor_, GETTER); │ WriteFieldStringBytesAccessorDocComment(printer, descriptor_, GETTER);
│
printer->Print(variables_, │ printer->Print(variables_,
"@java.lang.Override\n" │
"$deprecation$public com.google.protobuf.ByteString\n" │ "$deprecation$public com.google.protobuf.ByteString\n"
" ${$get$capitalized_name$Bytes$}$() {\n" │ " ${$get$capitalized_name$Bytes$}$() {\n"
" java.lang.Object ref = $name$_;\n" │ " java.lang.Object ref $default_init$;\n"
│ " if ($has_oneof_case_message$) {\n"
│ " ref = $oneof_name$_;\n"
│ " }\n"
" if (ref instanceof java.lang.String) {\n" │ " if (ref instanceof java.lang.String) {\n"
" com.google.protobuf.ByteString b = \n" │ " com.google.protobuf.ByteString b = \n"
" com.google.protobuf.ByteString.copyFromUtf8(\n" │ " com.google.protobuf.ByteString.copyFromUtf8(\n"
" (java.lang.String) ref);\n" │ " (java.lang.String) ref);\n"
" $name$_ = b;\n" │ " if ($has_oneof_case_message$) {\n"
│ " $oneof_name$_ = b;\n"
│ " }\n"
" return b;\n" │ " return b;\n"
" } else {\n" │ " } else {\n"
" return (com.google.protobuf.ByteString) ref;\n" │ " return (com.google.protobuf.ByteString) ref;\n"
" }\n" │ " }\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
} │
next prev up protobuf/src/google/protobuf/stubs/strutil.cc:2017 │ protobuf/src/google/protobuf/stubs/strutil.cc:1983
│
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 62/*-*/, -1, -1, │ -1, -1, -1, 62/*+*/, -1, -1, -1, 63/*/ */,
52/*0*/, 53/*1*/, 54/*2*/, 55/*3*/, 56/*4*/, 57/*5*/, 58/*6*/, 59/*7*/, │ 52/*0*/, 53/*1*/, 54/*2*/, 55/*3*/, 56/*4*/, 57/*5*/, 58/*6*/, 59/*7*/,
60/*8*/, 61/*9*/, -1, -1, -1, -1, -1, -1, │ 60/*8*/, 61/*9*/, -1, -1, -1, -1, -1, -1,
-1, 0/*A*/, 1/*B*/, 2/*C*/, 3/*D*/, 4/*E*/, 5/*F*/, 6/*G*/, │ -1, 0/*A*/, 1/*B*/, 2/*C*/, 3/*D*/, 4/*E*/, 5/*F*/, 6/*G*/,
7/*H*/, 8/*I*/, 9/*J*/, 10/*K*/, 11/*L*/, 12/*M*/, 13/*N*/, 14/*O*/, │ 7/*H*/, 8/*I*/, 9/*J*/, 10/*K*/, 11/*L*/, 12/*M*/, 13/*N*/, 14/*O*/,
15/*P*/, 16/*Q*/, 17/*R*/, 18/*S*/, 19/*T*/, 20/*U*/, 21/*V*/, 22/*W*/, │ 15/*P*/, 16/*Q*/, 17/*R*/, 18/*S*/, 19/*T*/, 20/*U*/, 21/*V*/, 22/*W*/,
23/*X*/, 24/*Y*/, 25/*Z*/, -1, -1, -1, -1, 63/*_*/, │ 23/*X*/, 24/*Y*/, 25/*Z*/, -1, -1, -1, -1, -1,
-1, 26/*a*/, 27/*b*/, 28/*c*/, 29/*d*/, 30/*e*/, 31/*f*/, 32/*g*/, │ -1, 26/*a*/, 27/*b*/, 28/*c*/, 29/*d*/, 30/*e*/, 31/*f*/, 32/*g*/,
33/*h*/, 34/*i*/, 35/*j*/, 36/*k*/, 37/*l*/, 38/*m*/, 39/*n*/, 40/*o*/, │ 33/*h*/, 34/*i*/, 35/*j*/, 36/*k*/, 37/*l*/, 38/*m*/, 39/*n*/, 40/*o*/,
41/*p*/, 42/*q*/, 43/*r*/, 44/*s*/, 45/*t*/, 46/*u*/, 47/*v*/, 48/*w*/, │ 41/*p*/, 42/*q*/, 43/*r*/, 44/*s*/, 45/*t*/, 46/*u*/, 47/*v*/, 48/*w*/,
49/*x*/, 50/*y*/, 51/*z*/, -1, -1, -1, -1, -1, │ 49/*x*/, 50/*y*/, 51/*z*/, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, │ -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1 │ -1, -1, -1, -1, -1, -1, -1, -1
} │
next prev up protobuf/src/google/protobuf/compiler/java/map_field.cc:638 │ protobuf/src/google/protobuf/compiler/java/map_field_lite.cc:458
│
printer->Print(variables_, │ printer->Print(variables_,
"/**\n" │ "/**\n"
" * Use {@link #get$capitalized_name$Map()} instead.\n" │ " * Use {@link #get$capitalized_name$Map()} instead.\n"
" */\n" │ " */\n"
"@java.lang.Override\n" │ "@java.lang.Override\n"
"@java.lang.Deprecated\n" │ "@java.lang.Deprecated\n"
"public java.util.Map<$type_parameters$> " │ "public java.util.Map<$type_parameters$> "
"${$get$capitalized_name$$}$() {\n" │ "${$get$capitalized_name$$}$() {\n"
" return get$capitalized_name$Map();\n" │ " return get$capitalized_name$Map();\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$\n" │ "$deprecation$\n"
"public java.util.Map<$type_parameters$> " │ "public java.util.Map<$type_parameters$> "
"${$get$capitalized_name$Map$}$() {\n" │ "${$get$capitalized_name$Map$}$() {\n"
" return internalGet$capitalized_name$().getMap();\n" │ " return java.util.Collections.unmodifiableMap(\n"
│ " internalGet$capitalized_name$());\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$\n" │ "$deprecation$\n"
"public $value_type$ ${$get$capitalized_name$OrDefault$}$(\n" │ "public $value_type$ ${$get$capitalized_name$OrDefault$}$(\n"
" $key_type$ key,\n" │ " $key_type$ key,\n"
" $value_type$ defaultValue) {\n" │ " $value_type$ defaultValue) {\n"
" $key_null_check$\n" │ " $key_null_check$\n"
" java.util.Map<$type_parameters$> map =\n" │ " java.util.Map<$type_parameters$> map =\n"
" internalGet$capitalized_name$().getMap();\n" │ " internalGet$capitalized_name$();\n"
" return map.containsKey(key) ? map.get(key) : defaultValue;\n" │ " return map.containsKey(key) ? map.get(key) : defaultValue;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$\n" │ "$deprecation$\n"
"public $value_type$ ${$get$capitalized_name$OrThrow$}$(\n" │ "public $value_type$ ${$get$capitalized_name$OrThrow$}$(\n"
" $key_type$ key) {\n" │ " $key_type$ key) {\n"
" $key_null_check$\n" │ " $key_null_check$\n"
" java.util.Map<$type_parameters$> map =\n" │ " java.util.Map<$type_parameters$> map =\n"
" internalGet$capitalized_name$().getMap();\n" │ " internalGet$capitalized_name$();\n"
" if (!map.containsKey(key)) {\n" │ " if (!map.containsKey(key)) {\n"
" throw new java.lang.IllegalArgumentException();\n" │ " throw new java.lang.IllegalArgumentException();\n"
" }\n" │ " }\n"
" return map.get(key);\n" │ " return map.get(key);\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field_lite.cc:171 │ protobuf/src/google/protobuf/compiler/java/enum_field_lite.cc:357
│
printer->Print(variables_, "private int $name$_;\n"); │
PrintExtraFieldInfo(variables_, printer); │ PrintExtraFieldInfo(variables_, printer);
if (HasHazzer(descriptor_)) { │ GOOGLE_DCHECK(HasHazzer(descriptor_));
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
printer->Print( │ printer->Print(variables_,
variables_, │ "@java.lang.Override\n"
"@java.lang.Override\n" │ "$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
"$deprecation$public boolean ${$has$capitalized_name$$}$() {\n" │ " return $has_oneof_case_message$;\n"
" return $get_has_field_bit_message$;\n" │ "}\n");
"}\n"); │ printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_); │
} │
if (SupportUnknownEnumValue(descriptor_->file())) { │ if (SupportUnknownEnumValue(descriptor_->file())) {
WriteFieldEnumValueAccessorDocComment(printer, descriptor_, GETTER); │ WriteFieldEnumValueAccessorDocComment(printer, descriptor_, GETTER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$public int ${$get$capitalized_name$Value$}$() {\n" │ "$deprecation$public int ${$get$capitalized_name$Value$}$() {\n"
" return $name$_;\n" │ " if ($has_oneof_case_message$) {\n"
│ " return (java.lang.Integer) $oneof_name$_;\n"
│ " }\n"
│ " return $default_number$;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
} │ }
WriteFieldAccessorDocComment(printer, descriptor_, GETTER); │ WriteFieldAccessorDocComment(printer, descriptor_, GETTER);
printer->Print(variables_, │ printer->Print(variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n" │ "$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n"
" $type$ result = $type$.forNumber($name$_);\n" │ " if ($has_oneof_case_message$) {\n"
" return result == null ? $unknown$ : result;\n" │ " $type$ result = $type$.forNumber((java.lang.Integer) "
│ "$oneof_name$_);\n"
│ " return result == null ? $unknown$ : result;\n"
│ " }\n"
│ " return $default$;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
│
// Generate private setters for the builder to proxy into. │ // Generate private setters for the builder to proxy into.
if (SupportUnknownEnumValue(descriptor_->file())) { │ if (SupportUnknownEnumValue(descriptor_->file())) {
WriteFieldEnumValueAccessorDocComment(printer, descriptor_, SETTER); │ WriteFieldEnumValueAccessorDocComment(printer, descriptor_, SETTER);
printer->Print(variables_, │ printer->Print(variables_,
"private void set$capitalized_name$Value(int value) {\n" │ "private void set$capitalized_name$Value(int value) {\n"
" $set_has_field_bit_message$" │ " $set_oneof_case_message$;\n"
" $name$_ = value;\n" │ " $oneof_name$_ = value;\n"
"}\n"); │ "}\n");
} │ }
WriteFieldAccessorDocComment(printer, descriptor_, SETTER); │ WriteFieldAccessorDocComment(printer, descriptor_, SETTER);
printer->Print(variables_, │ printer->Print(variables_,
"private void set$capitalized_name$($type$ value) {\n" │ "private void set$capitalized_name$($type$ value) {\n"
" $name$_ = value.getNumber();\n" │ " $oneof_name$_ = value.getNumber();\n"
" $set_has_field_bit_message$\n" │ " $set_oneof_case_message$;\n"
"}\n"); │ "}\n");
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER); │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER);
printer->Print(variables_, │ printer->Print(variables_,
"private void clear$capitalized_name$() {\n" │ "private void clear$capitalized_name$() {\n"
" $clear_has_field_bit_message$\n" │ " if ($has_oneof_case_message$) {\n"
" $name$_ = $default_number$;\n" │ " $clear_oneof_case_message$;\n"
│ " $oneof_name$_ = null;\n"
│ " }\n"
"}\n"); │ "}\n");
} │
next prev up protobuf/src/google/protobuf/compiler/java/message_field.h:129 │ protobuf/src/google/protobuf/compiler/java/message_field.h:59
│
public: │ public:
explicit RepeatedImmutableMessageFieldGenerator( │ explicit ImmutableMessageFieldGenerator(const FieldDescriptor* descriptor,
const FieldDescriptor* descriptor, int messageBitIndex, │ int messageBitIndex,
int builderBitIndex, Context* context); │ int builderBitIndex,
~RepeatedImmutableMessageFieldGenerator() override; │ Context* context);
│ ~ImmutableMessageFieldGenerator() override;
│
// implements ImmutableFieldGenerator --------------------------------------- │ // implements ImmutableFieldGenerator
│ // ---------------------------------------
int GetNumBitsForMessage() const override; │ int GetNumBitsForMessage() const override;
int GetNumBitsForBuilder() const override; │ int GetNumBitsForBuilder() const override;
void GenerateInterfaceMembers(io::Printer* printer) const override; │ void GenerateInterfaceMembers(io::Printer* printer) const override;
void GenerateMembers(io::Printer* printer) const override; │ void GenerateMembers(io::Printer* printer) const override;
void GenerateBuilderMembers(io::Printer* printer) const override; │ void GenerateBuilderMembers(io::Printer* printer) const override;
void GenerateInitializationCode(io::Printer* printer) const override; │ void GenerateInitializationCode(io::Printer* printer) const override;
void GenerateBuilderClearCode(io::Printer* printer) const override; │ void GenerateBuilderClearCode(io::Printer* printer) const override;
void GenerateMergingCode(io::Printer* printer) const override; │ void GenerateMergingCode(io::Printer* printer) const override;
void GenerateBuildingCode(io::Printer* printer) const override; │ void GenerateBuildingCode(io::Printer* printer) const override;
void GenerateParsingCode(io::Printer* printer) const override; │ void GenerateParsingCode(io::Printer* printer) const override;
void GenerateParsingDoneCode(io::Printer* printer) const override; │ void GenerateParsingDoneCode(io::Printer* printer) const override;
void GenerateSerializationCode(io::Printer* printer) const override; │ void GenerateSerializationCode(io::Printer* printer) const override;
void GenerateSerializedSizeCode(io::Printer* printer) const override; │ void GenerateSerializedSizeCode(io::Printer* printer) const override;
void GenerateFieldBuilderInitializationCode( │ void GenerateFieldBuilderInitializationCode(
io::Printer* printer) const override; │ io::Printer* printer) const override;
void GenerateEqualsCode(io::Printer* printer) const override; │ void GenerateEqualsCode(io::Printer* printer) const override;
void GenerateHashCode(io::Printer* printer) const override; │ void GenerateHashCode(io::Printer* printer) const override;
void GenerateKotlinDslMembers(io::Printer* printer) const override; │ void GenerateKotlinDslMembers(io::Printer* printer) const override;
│
std::string GetBoxedType() const override; │ std::string GetBoxedType() const override;
│
protected: │ protected:
const FieldDescriptor* descriptor_; │ const FieldDescriptor* descriptor_;
std::map<std::string, std::string> variables_; │ std::map<std::string, std::string> variables_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
void PrintNestedBuilderCondition(io::Printer* printer, │ void PrintNestedBuilderCondition(io::Printer* printer,
const char* regular_case, │ const char* regular_case,
const char* nested_builder_case) const; │ const char* nested_builder_case) const;
void PrintNestedBuilderFunction(io::Printer* printer, │ void PrintNestedBuilderFunction(io::Printer* printer,
const char* method_prototype, │ const char* method_prototype,
const char* regular_case, │ const char* regular_case,
const char* nested_builder_case, │ const char* nested_builder_case,
const char* trailing_code) const; │ const char* trailing_code) const;
│
private: │ private:
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(RepeatedImmutableMessageFieldGenerator); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ImmutableMessageFieldGenerator);
│ void GenerateKotlinOrNull(io::Printer* printer) const;
} │
next prev up protobuf/src/google/protobuf/compiler/java/map_field.cc:584 │ protobuf/src/google/protobuf/compiler/java/map_field_lite.cc:403
│
printer->Print( │ printer->Print(
variables_, │ variables_,
"/**\n" │ "/**\n"
" * Use {@link #get$capitalized_name$ValueMap()} instead.\n" │ " * Use {@link #get$capitalized_name$ValueMap()} instead.\n"
" */\n" │ " */\n"
"@java.lang.Override\n" │ "@java.lang.Override\n"
"@java.lang.Deprecated\n" │ "@java.lang.Deprecated\n"
"public java.util.Map<$boxed_key_type$, $boxed_value_type$>\n" │ "public java.util.Map<$boxed_key_type$, $boxed_value_type$>\n"
"${$get$capitalized_name$Value$}$() {\n" │ "${$get$capitalized_name$Value$}$() {\n"
" return get$capitalized_name$ValueMap();\n" │ " return get$capitalized_name$ValueMap();\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$\n" │ "$deprecation$\n"
"public java.util.Map<$boxed_key_type$, $boxed_value_type$>\n" │ "public java.util.Map<$boxed_key_type$, $boxed_value_type$>\n"
"${$get$capitalized_name$ValueMap$}$() {\n" │ "${$get$capitalized_name$ValueMap$}$() {\n"
" return internalGet$capitalized_name$().getMap();\n" │ " return java.util.Collections.unmodifiableMap(\n"
│ " internalGet$capitalized_name$());\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$\n" │ "$deprecation$\n"
"public $value_type$ ${$get$capitalized_name$ValueOrDefault$}$(\n" │ "public $value_type$ ${$get$capitalized_name$ValueOrDefault$}$(\n"
" $key_type$ key,\n" │ " $key_type$ key,\n"
" $value_type$ defaultValue) {\n" │ " $value_type$ defaultValue) {\n"
" $key_null_check$\n" │ " $key_null_check$\n"
" java.util.Map<$boxed_key_type$, $boxed_value_type$> map =\n" │ " java.util.Map<$boxed_key_type$, $boxed_value_type$> map =\n"
" internalGet$capitalized_name$().getMap();\n" │ " internalGet$capitalized_name$();\n"
" return map.containsKey(key) ? map.get(key) : defaultValue;\n" │ " return map.containsKey(key) ? map.get(key) : defaultValue;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$\n" │ "$deprecation$\n"
"public $value_type$ ${$get$capitalized_name$ValueOrThrow$}$(\n" │ "public $value_type$ ${$get$capitalized_name$ValueOrThrow$}$(\n"
" $key_type$ key) {\n" │ " $key_type$ key) {\n"
" $key_null_check$\n" │ " $key_null_check$\n"
" java.util.Map<$boxed_key_type$, $boxed_value_type$> map =\n" │ " java.util.Map<$boxed_key_type$, $boxed_value_type$> map =\n"
" internalGet$capitalized_name$().getMap();\n" │ " internalGet$capitalized_name$();\n"
" if (!map.containsKey(key)) {\n" │ " if (!map.containsKey(key)) {\n"
" throw new java.lang.IllegalArgumentException();\n" │ " throw new java.lang.IllegalArgumentException();\n"
" }\n" │ " }\n"
" return map.get(key);\n" │ " return map.get(key);\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
} │
next prev up protobuf/src/google/protobuf/compiler/csharp/csharp_message_field.h:37 │ protobuf/src/google/protobuf/compiler/csharp/csharp_primitive_field.h:37
│
namespace protobuf { │ namespace protobuf {
namespace compiler { │ namespace compiler {
namespace csharp { │ namespace csharp {
│
class MessageFieldGenerator : public FieldGeneratorBase { │ struct Options;
│
│ class PrimitiveFieldGenerator : public FieldGeneratorBase {
public: │ public:
MessageFieldGenerator(const FieldDescriptor* descriptor, │ PrimitiveFieldGenerator(const FieldDescriptor* descriptor,
int presenceIndex, │ int presenceIndex,
const Options *options); │ const Options *options);
~MessageFieldGenerator(); │ ~PrimitiveFieldGenerator();
│
MessageFieldGenerator(const MessageFieldGenerator&) = delete; │ PrimitiveFieldGenerator(const PrimitiveFieldGenerator&) = delete;
MessageFieldGenerator& operator=(const MessageFieldGenerator&) = delete; │ PrimitiveFieldGenerator& operator=(const PrimitiveFieldGenerator&) = delete;
│
virtual void GenerateCodecCode(io::Printer* printer) override; │ virtual void GenerateCodecCode(io::Printer* printer) override;
virtual void GenerateCloningCode(io::Printer* printer) override; │ virtual void GenerateCloningCode(io::Printer* printer) override;
virtual void GenerateFreezingCode(io::Printer* printer) override; │
virtual void GenerateMembers(io::Printer* printer) override; │ virtual void GenerateMembers(io::Printer* printer) override;
virtual void GenerateMergingCode(io::Printer* printer) override; │ virtual void GenerateMergingCode(io::Printer* printer) override;
virtual void GenerateParsingCode(io::Printer* printer) override; │ virtual void GenerateParsingCode(io::Printer* printer) override;
virtual void GenerateSerializationCode(io::Printer* printer) override; │ virtual void GenerateSerializationCode(io::Printer* printer) override;
virtual void GenerateSerializedSizeCode(io::Printer* printer) override; │ virtual void GenerateSerializedSizeCode(io::Printer* printer) override;
virtual void GenerateExtensionCode(io::Printer* printer) override; │ virtual void GenerateExtensionCode(io::Printer* printer) override;
│
virtual void WriteHash(io::Printer* printer) override; │ virtual void WriteHash(io::Printer* printer) override;
virtual void WriteEquals(io::Printer* printer) override; │ virtual void WriteEquals(io::Printer* printer) override;
virtual void WriteToString(io::Printer* printer) override; │ virtual void WriteToString(io::Printer* printer) override;
│
│ protected:
│ bool is_value_type;
}; │ };
│
class MessageOneofFieldGenerator : public MessageFieldGenerator { │ class PrimitiveOneofFieldGenerator : public PrimitiveFieldGenerator {
public: │ public:
MessageOneofFieldGenerator(const FieldDescriptor* descriptor, │ PrimitiveOneofFieldGenerator(const FieldDescriptor* descriptor,
int presenceIndex, │ int presenceIndex,
const Options *options); │ const Options *options);
~MessageOneofFieldGenerator(); │ ~PrimitiveOneofFieldGenerator();
│
MessageOneofFieldGenerator(const MessageOneofFieldGenerator&) = delete; │ PrimitiveOneofFieldGenerator(const PrimitiveOneofFieldGenerator&) = delete;
MessageOneofFieldGenerator& operator=(const MessageOneofFieldGenerator&) = │ PrimitiveOneofFieldGenerator& operator=(const PrimitiveOneofFieldGenerator&) =
delete; │ delete;
│
virtual void GenerateCloningCode(io::Printer* printer) override; │ virtual void GenerateCloningCode(io::Printer* printer) override;
virtual void GenerateMembers(io::Printer* printer) override; │ virtual void GenerateMembers(io::Printer* printer) override;
virtual void GenerateMergingCode(io::Printer* printer) override; │ virtual void GenerateMergingCode(io::Printer* printer) override;
virtual void WriteToString(io::Printer* printer) override; │ virtual void WriteToString(io::Printer* printer) override;
virtual void GenerateParsingCode(io::Printer* printer) override; │ virtual void GenerateParsingCode(io::Printer* printer) override;
}; │ };
│
} // namespace csharp │ } // namespace csharp
} // namespace compiler │ } // namespace compiler
} // namespace protobuf │ } // namespace protobuf
} │
next prev up protobuf/src/google/protobuf/reflection_internal.h:87 │ protobuf/src/google/protobuf/reflection_internal.h:142
│
public: │ public:
RepeatedFieldWrapper() {} │
bool IsEmpty(const Field* data) const override { │ bool IsEmpty(const Field* data) const override {
return GetRepeatedField(data)->empty(); │ return GetRepeatedField(data)->empty();
} │ }
int Size(const Field* data) const override { │ int Size(const Field* data) const override {
return GetRepeatedField(data)->size(); │ return GetRepeatedField(data)->size();
} │ }
const Value* Get(const Field* data, int index, │ const Value* Get(const Field* data, int index,
Value* scratch_space) const override { │ Value* scratch_space) const override {
return ConvertFromT(GetRepeatedField(data)->Get(index), scratch_space); │ return ConvertFromT(GetRepeatedField(data)->Get(index), scratch_space);
} │ }
void Clear(Field* data) const override { │ void Clear(Field* data) const override {
MutableRepeatedField(data)->Clear(); │ MutableRepeatedField(data)->Clear();
} │ }
void Set(Field* data, int index, const Value* value) const override { │ void Set(Field* data, int index, const Value* value) const override {
MutableRepeatedField(data)->Set(index, ConvertToT(value)); │ ConvertToT(value, MutableRepeatedField(data)->Mutable(index));
} │ }
void Add(Field* data, const Value* value) const override { │ void Add(Field* data, const Value* value) const override {
MutableRepeatedField(data)->Add(ConvertToT(value)); │ T* allocated = New(value);
│ ConvertToT(value, allocated);
│ MutableRepeatedField(data)->AddAllocated(allocated);
} │ }
void RemoveLast(Field* data) const override { │ void RemoveLast(Field* data) const override {
MutableRepeatedField(data)->RemoveLast(); │ MutableRepeatedField(data)->RemoveLast();
} │ }
void SwapElements(Field* data, int index1, int index2) const override { │ void SwapElements(Field* data, int index1, int index2) const override {
MutableRepeatedField(data)->SwapElements(index1, index2); │ MutableRepeatedField(data)->SwapElements(index1, index2);
} │ }
│
protected: │ protected:
~RepeatedFieldWrapper() = default; │ ~RepeatedPtrFieldWrapper() = default;
typedef RepeatedField<T> RepeatedFieldType; │ typedef RepeatedPtrField<T> RepeatedFieldType;
static const RepeatedFieldType* GetRepeatedField(const Field* data) { │ static const RepeatedFieldType* GetRepeatedField(const Field* data) {
return reinterpret_cast<const RepeatedFieldType*>(data); │ return reinterpret_cast<const RepeatedFieldType*>(data);
} │ }
static RepeatedFieldType* MutableRepeatedField(Field* data) { │ static RepeatedFieldType* MutableRepeatedField(Field* data) {
return reinterpret_cast<RepeatedFieldType*>(data); │ return reinterpret_cast<RepeatedFieldType*>(data);
} │ }
│
// Convert an object received by this accessor to an object to be stored in │ // Create a new T instance. For repeated message fields, T can be specified
// the underlying RepeatedField. │ // as google::protobuf::Message so we can't use "new T()" directly. In that case, valu
virtual T ConvertToT(const Value* value) const = 0; │ // should be a message of the same type (it's ensured by the caller) and a
│ // new message object will be created using it.
│ virtual T* New(const Value* value) const = 0;
│
│ // Convert an object received by this accessor to an object that will be
│ // stored in the underlying RepeatedPtrField.
│ virtual void ConvertToT(const Value* value, T* result) const = 0;
│
// Convert an object stored in RepeatedPtrField to an object that will be │ // Convert an object stored in RepeatedPtrField to an object that will be
// returned by this accessor. If the two objects have the same type (true for │ // returned by this accessor. If the two objects have the same type (true for
// string fields with ctype=STRING), a pointer to the source object can be │ // string fields with ctype=STRING), a pointer to the source object can be
// returned directly. Otherwise, data should be copied from value to │ // returned directly. Otherwise, data should be copied from value to
// scratch_space and scratch_space should be returned. │ // scratch_space and scratch_space should be returned.
virtual const Value* ConvertFromT(const T& value, │ virtual const Value* ConvertFromT(const T& value,
Value* scratch_space) const = 0; │ Value* scratch_space) const = 0;
} │
next prev up protobuf/src/google/protobuf/generated_message_reflection_unittest.cc:1017 │ protobuf/src/google/protobuf/generated_message_reflection_unittest.cc:1065
│
unittest::TestOneof2 from_message1; │ unittest::TestOneof2 from_message1;
unittest::TestOneof2 from_message2; │ unittest::TestOneof2 from_message2;
unittest::TestOneof2 to_message; │ Arena arena;
│ unittest::TestOneof2* to_message =
│ Arena::CreateMessage<unittest::TestOneof2>(&arena);
const Descriptor* descriptor = unittest::TestOneof2::descriptor(); │ const Descriptor* descriptor = unittest::TestOneof2::descriptor();
const Reflection* reflection = to_message.GetReflection(); │ const Reflection* reflection = to_message->GetReflection();
│
Message* released = reflection->ReleaseMessage( │ Message* released = reflection->ReleaseMessage(
&to_message, descriptor->FindFieldByName("foo_lazy_message")); │ to_message, descriptor->FindFieldByName("foo_lazy_message"));
EXPECT_TRUE(released == nullptr); │ EXPECT_TRUE(released == nullptr);
released = reflection->ReleaseMessage( │ released = reflection->ReleaseMessage(
&to_message, descriptor->FindFieldByName("foo_message")); │ to_message, descriptor->FindFieldByName("foo_message"));
EXPECT_TRUE(released == nullptr); │ EXPECT_TRUE(released == nullptr);
│
TestUtil::ReflectionTester::SetOneofViaReflection(&from_message1); │ TestUtil::ReflectionTester::SetOneofViaReflection(&from_message1);
TestUtil::ReflectionTester::ExpectOneofSetViaReflection(from_message1); │ TestUtil::ReflectionTester::ExpectOneofSetViaReflection(from_message1);
│
TestUtil::ReflectionTester:: │ TestUtil::ReflectionTester::
SetAllocatedOptionalMessageFieldsToMessageViaReflection(&from_message1, │ SetAllocatedOptionalMessageFieldsToMessageViaReflection(&from_message1,
&to_message); │ to_message);
const Message& sub_message = reflection->GetMessage( │ const Message& sub_message = reflection->GetMessage(
to_message, descriptor->FindFieldByName("foo_lazy_message")); │ *to_message, descriptor->FindFieldByName("foo_lazy_message"));
(void)sub_message; // unused in somce configurations │
released = reflection->ReleaseMessage( │ released = reflection->ReleaseMessage(
&to_message, descriptor->FindFieldByName("foo_lazy_message")); │ to_message, descriptor->FindFieldByName("foo_lazy_message"));
EXPECT_TRUE(released != nullptr); │ EXPECT_TRUE(released != nullptr);
EXPECT_EQ(&sub_message, released); │ // Since sub_message is arena allocated, releasing it results in copying it
│ // into new heap-allocated memory.
│ EXPECT_NE(&sub_message, released);
delete released; │ delete released;
│
TestUtil::ReflectionTester::SetOneofViaReflection(&from_message2); │ TestUtil::ReflectionTester::SetOneofViaReflection(&from_message2);
│
reflection->MutableMessage(&from_message2, │ reflection->MutableMessage(&from_message2,
descriptor->FindFieldByName("foo_message")); │ descriptor->FindFieldByName("foo_message"));
│
TestUtil::ReflectionTester:: │ TestUtil::ReflectionTester::
SetAllocatedOptionalMessageFieldsToMessageViaReflection(&from_message2, │ SetAllocatedOptionalMessageFieldsToMessageViaReflection(&from_message2,
&to_message); │ to_message);
│
const Message& sub_message2 = reflection->GetMessage( │ const Message& sub_message2 = reflection->GetMessage(
to_message, descriptor->FindFieldByName("foo_message")); │ *to_message, descriptor->FindFieldByName("foo_message"));
(void)sub_message2; // unused in somce configurations │
released = reflection->ReleaseMessage( │ released = reflection->ReleaseMessage(
&to_message, descriptor->FindFieldByName("foo_message")); │ to_message, descriptor->FindFieldByName("foo_message"));
EXPECT_TRUE(released != nullptr); │ EXPECT_TRUE(released != nullptr);
EXPECT_EQ(&sub_message2, released); │ // Since sub_message2 is arena allocated, releasing it results in copying it
│ // into new heap-allocated memory.
│ EXPECT_NE(&sub_message2, released);
delete released; │ delete released;
} │
next prev up protobuf/src/google/protobuf/compiler/java/message_builder.cc:643 │ protobuf/src/google/protobuf/compiler/java/message.cc:915
│
const FieldDescriptor* field = descriptor_->field(i); │ const FieldDescriptor* field = descriptor_->field(i);
const FieldGeneratorInfo* info = context_->GetFieldGeneratorInfo(field); │ const FieldGeneratorInfo* info = context_->GetFieldGeneratorInfo(field);
if (GetJavaType(field) == JAVATYPE_MESSAGE && │ if (GetJavaType(field) == JAVATYPE_MESSAGE &&
HasRequiredFields(field->message_type())) { │ HasRequiredFields(field->message_type())) {
switch (field->label()) { │ switch (field->label()) {
case FieldDescriptor::LABEL_REQUIRED: │ case FieldDescriptor::LABEL_REQUIRED:
printer->Print( │ printer->Print(
"if (!get$name$().isInitialized()) {\n" │ "if (!get$name$().isInitialized()) {\n"
│ " memoizedIsInitialized = 0;\n"
" return false;\n" │ " return false;\n"
"}\n", │ "}\n",
"type", │ "type",
name_resolver_->GetImmutableClassName(field->message_type()), │ name_resolver_->GetImmutableClassName(field->message_type()),
"name", info->capitalized_name); │ "name", info->capitalized_name);
break; │ break;
case FieldDescriptor::LABEL_OPTIONAL: │ case FieldDescriptor::LABEL_OPTIONAL:
printer->Print( │ printer->Print(
"if (has$name$()) {\n" │ "if (has$name$()) {\n"
" if (!get$name$().isInitialized()) {\n" │ " if (!get$name$().isInitialized()) {\n"
│ " memoizedIsInitialized = 0;\n"
" return false;\n" │ " return false;\n"
" }\n" │ " }\n"
"}\n", │ "}\n",
"name", info->capitalized_name); │ "name", info->capitalized_name);
break; │ break;
case FieldDescriptor::LABEL_REPEATED: │ case FieldDescriptor::LABEL_REPEATED:
if (IsMapEntry(field->message_type())) { │ if (IsMapEntry(field->message_type())) {
printer->Print( │ printer->Print(
"for ($type$ item : get$name$Map().values()) {\n" │ "for ($type$ item : get$name$Map().values()) {\n"
" if (!item.isInitialized()) {\n" │ " if (!item.isInitialized()) {\n"
│ " memoizedIsInitialized = 0;\n"
" return false;\n" │ " return false;\n"
" }\n" │ " }\n"
"}\n", │ "}\n",
"type", │ "type",
MapValueImmutableClassdName(field->message_type(), │ MapValueImmutableClassdName(field->message_type(),
name_resolver_), │ name_resolver_),
"name", info->capitalized_name); │ "name", info->capitalized_name);
} else { │ } else {
printer->Print( │ printer->Print(
"for (int i = 0; i < get$name$Count(); i++) {\n" │ "for (int i = 0; i < get$name$Count(); i++) {\n"
" if (!get$name$(i).isInitialized()) {\n" │ " if (!get$name$(i).isInitialized()) {\n"
│ " memoizedIsInitialized = 0;\n"
" return false;\n" │ " return false;\n"
" }\n" │ " }\n"
"}\n", │ "}\n",
"type", │ "type",
name_resolver_->GetImmutableClassName(field->message_type()), │ name_resolver_->GetImmutableClassName(field->message_type()),
"name", info->capitalized_name); │ "name", info->capitalized_name);
} │ }
break; │ break;
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/io/tokenizer_unittest.cc:468 │ protobuf/src/google/protobuf/io/tokenizer_unittest.cc:540
│
// Set up the tokenizer. │ // Set up the tokenizer.
TestInputStream input(kMultiTokenCases_case.input.data(), │ TestInputStream input(kMultiWhitespaceTokenCases_case.input.data(),
kMultiTokenCases_case.input.size(), kBlockSizes_case); │ kMultiWhitespaceTokenCases_case.input.size(),
│ kBlockSizes_case);
TestErrorCollector error_collector; │ TestErrorCollector error_collector;
Tokenizer tokenizer(&input, &error_collector); │ Tokenizer tokenizer(&input, &error_collector);
│ tokenizer.set_report_whitespace(true);
│ tokenizer.set_report_newlines(true);
│
// Before Next() is called, the initial token should always be TYPE_START. │ // Before Next() is called, the initial token should always be TYPE_START.
EXPECT_EQ(Tokenizer::TYPE_START, tokenizer.current().type); │ EXPECT_EQ(Tokenizer::TYPE_START, tokenizer.current().type);
EXPECT_EQ("", tokenizer.current().text); │ EXPECT_EQ("", tokenizer.current().text);
EXPECT_EQ(0, tokenizer.current().line); │ EXPECT_EQ(0, tokenizer.current().line);
EXPECT_EQ(0, tokenizer.current().column); │ EXPECT_EQ(0, tokenizer.current().column);
EXPECT_EQ(0, tokenizer.current().end_column); │ EXPECT_EQ(0, tokenizer.current().end_column);
│
// Loop through all expected tokens. │ // Loop through all expected tokens.
int i = 0; │ int i = 0;
Tokenizer::Token token; │ Tokenizer::Token token;
do { │ do {
token = kMultiTokenCases_case.output[i++]; │ token = kMultiWhitespaceTokenCases_case.output[i++];
│
SCOPED_TRACE(testing::Message() << "Token #" << i << ": " << token.text); │ SCOPED_TRACE(testing::Message() << "Token #" << i << ": " << token.text);
│
Tokenizer::Token previous = tokenizer.current(); │ Tokenizer::Token previous = tokenizer.current();
│
// Next() should only return false when it hits the end token. │ // Next() should only return false when it hits the end token.
if (token.type != Tokenizer::TYPE_END) { │ if (token.type != Tokenizer::TYPE_END) {
ASSERT_TRUE(tokenizer.Next()); │ ASSERT_TRUE(tokenizer.Next());
} else { │ } else {
ASSERT_FALSE(tokenizer.Next()); │ ASSERT_FALSE(tokenizer.Next());
} │ }
│
// Check that the previous token is set correctly. │ // Check that the previous token is set correctly.
EXPECT_EQ(previous.type, tokenizer.previous().type); │ EXPECT_EQ(previous.type, tokenizer.previous().type);
EXPECT_EQ(previous.text, tokenizer.previous().text); │ EXPECT_EQ(previous.text, tokenizer.previous().text);
EXPECT_EQ(previous.line, tokenizer.previous().line); │ EXPECT_EQ(previous.line, tokenizer.previous().line);
EXPECT_EQ(previous.column, tokenizer.previous().column); │ EXPECT_EQ(previous.column, tokenizer.previous().column);
EXPECT_EQ(previous.end_column, tokenizer.previous().end_column); │ EXPECT_EQ(previous.end_column, tokenizer.previous().end_column);
│
// Check that the token matches the expected one. │ // Check that the token matches the expected one.
EXPECT_EQ(token.type, tokenizer.current().type); │ EXPECT_EQ(token.type, tokenizer.current().type);
EXPECT_EQ(token.text, tokenizer.current().text); │ EXPECT_EQ(token.text, tokenizer.current().text);
EXPECT_EQ(token.line, tokenizer.current().line); │ EXPECT_EQ(token.line, tokenizer.current().line);
EXPECT_EQ(token.column, tokenizer.current().column); │ EXPECT_EQ(token.column, tokenizer.current().column);
EXPECT_EQ(token.end_column, tokenizer.current().end_column); │ EXPECT_EQ(token.end_column, tokenizer.current().end_column);
│
} while (token.type != Tokenizer::TYPE_END); │ } while (token.type != Tokenizer::TYPE_END);
│
// There should be no errors. │ // There should be no errors.
EXPECT_TRUE(error_collector.text_.empty()); │ EXPECT_TRUE(error_collector.text_.empty());
} │
next prev up protobuf/src/google/protobuf/compiler/java/doc_comment.cc:346 │ protobuf/src/google/protobuf/compiler/java/doc_comment.cc:276
│
printer->Print("/**\n"); │ printer->Print("/**\n");
WriteDocCommentBody(printer, field); │ WriteDocCommentBody(printer, field);
printer->Print(" * <code>$def$</code>\n", "def", │ printer->Print(" * <code>$def$</code>\n", "def",
EscapeJavadoc(FirstLineOf(field->DebugString()))); │ EscapeJavadoc(FirstLineOf(field->DebugString())));
WriteDeprecatedJavadoc(printer, field, type); │ WriteDeprecatedJavadoc(printer, field, type);
switch (type) { │ switch (type) {
case HAZZER: │ case HAZZER:
// Should never happen │ // Should never happen
break; │ break;
case GETTER: │ case GETTER:
printer->Print(" * @return The bytes for $name$.\n", "name", │ printer->Print(
field->camelcase_name()); │ " * @return The enum numeric value on the wire for $name$.\n", "name",
│ field->camelcase_name());
break; │ break;
case SETTER: │ case SETTER:
printer->Print(" * @param value The bytes for $name$ to set.\n", "name", │ printer->Print(
field->camelcase_name()); │ " * @param value The enum numeric value on the wire for $name$ to "
│ "set.\n",
│ "name", field->camelcase_name());
break; │ break;
case CLEARER: │ case CLEARER:
// Print nothing │ // Print nothing
break; │ break;
// Repeated │ // Repeated
case LIST_COUNT: │ case LIST_COUNT:
// Should never happen │ // Should never happen
break; │ break;
case LIST_GETTER: │ case LIST_GETTER:
printer->Print(" * @return A list containing the bytes for $name$.\n", │ printer->Print(
"name", field->camelcase_name()); │ " * @return A list containing the enum numeric values on the wire "
│ "for $name$.\n",
│ "name", field->camelcase_name());
break; │ break;
case LIST_INDEXED_GETTER: │ case LIST_INDEXED_GETTER:
printer->Print(" * @param index The index of the value to return.\n"); │ printer->Print(" * @param index The index of the value to return.\n");
printer->Print(" * @return The bytes of the $name$ at the given index.\n", │ printer->Print(
"name", field->camelcase_name()); │ " * @return The enum numeric value on the wire of $name$ at the "
│ "given index.\n",
│ "name", field->camelcase_name());
break; │ break;
case LIST_INDEXED_SETTER: │ case LIST_INDEXED_SETTER:
printer->Print(" * @param index The index to set the value at.\n"); │ printer->Print(" * @param index The index to set the value at.\n");
printer->Print(" * @param value The bytes of the $name$ to set.\n", │ printer->Print(
"name", field->camelcase_name()); │ " * @param value The enum numeric value on the wire for $name$ to "
│ "set.\n",
│ "name", field->camelcase_name());
break; │ break;
case LIST_ADDER: │ case LIST_ADDER:
printer->Print(" * @param value The bytes of the $name$ to add.\n", │ printer->Print(
"name", field->camelcase_name()); │ " * @param value The enum numeric value on the wire for $name$ to "
│ "add.\n",
│ "name", field->camelcase_name());
break; │ break;
case LIST_MULTI_ADDER: │ case LIST_MULTI_ADDER:
printer->Print(" * @param values The bytes of the $name$ to add.\n", │ printer->Print(
"name", field->camelcase_name()); │ " * @param values The enum numeric values on the wire for $name$ to "
│ "add.\n",
│ "name", field->camelcase_name());
break; │ break;
} │ }
if (builder) { │ if (builder) {
printer->Print(" * @return This builder for chaining.\n"); │ printer->Print(" * @return This builder for chaining.\n");
} │ }
printer->Print(" */\n"); │ printer->Print(" */\n");
} │
next prev up protobuf/src/google/protobuf/compiler/java/doc_comment.cc:346 │ protobuf/src/google/protobuf/compiler/java/doc_comment.cc:217
│
printer->Print("/**\n"); │ printer->Print("/**\n");
WriteDocCommentBody(printer, field); │ WriteDocCommentBody(printer, field);
printer->Print(" * <code>$def$</code>\n", "def", │ printer->Print(" * <code>$def$</code>\n", "def",
EscapeJavadoc(FirstLineOf(field->DebugString()))); │ EscapeJavadoc(FirstLineOf(field->DebugString())));
WriteDeprecatedJavadoc(printer, field, type); │ WriteDeprecatedJavadoc(printer, field, type);
switch (type) { │ switch (type) {
case HAZZER: │ case HAZZER:
// Should never happen │ printer->Print(" * @return Whether the $name$ field is set.\n", "name",
│ field->camelcase_name());
break; │ break;
case GETTER: │ case GETTER:
printer->Print(" * @return The bytes for $name$.\n", "name", │ printer->Print(" * @return The $name$.\n", "name",
field->camelcase_name()); │ field->camelcase_name());
break; │ break;
case SETTER: │ case SETTER:
printer->Print(" * @param value The bytes for $name$ to set.\n", "name", │ printer->Print(" * @param value The $name$ to set.\n", "name",
field->camelcase_name()); │ field->camelcase_name());
break; │ break;
case CLEARER: │ case CLEARER:
// Print nothing │ // Print nothing
break; │ break;
// Repeated │ // Repeated
case LIST_COUNT: │ case LIST_COUNT:
// Should never happen │ printer->Print(" * @return The count of $name$.\n", "name",
│ field->camelcase_name());
break; │ break;
case LIST_GETTER: │ case LIST_GETTER:
printer->Print(" * @return A list containing the bytes for $name$.\n", │ printer->Print(" * @return A list containing the $name$.\n", "name",
"name", field->camelcase_name()); │ field->camelcase_name());
break; │ break;
case LIST_INDEXED_GETTER: │ case LIST_INDEXED_GETTER:
printer->Print(" * @param index The index of the value to return.\n"); │ printer->Print(" * @param index The index of the element to return.\n");
printer->Print(" * @return The bytes of the $name$ at the given index.\n", │ printer->Print(" * @return The $name$ at the given index.\n", "name",
"name", field->camelcase_name()); │ field->camelcase_name());
break; │ break;
case LIST_INDEXED_SETTER: │ case LIST_INDEXED_SETTER:
printer->Print(" * @param index The index to set the value at.\n"); │ printer->Print(" * @param index The index to set the value at.\n");
printer->Print(" * @param value The bytes of the $name$ to set.\n", │ printer->Print(" * @param value The $name$ to set.\n", "name",
"name", field->camelcase_name()); │ field->camelcase_name());
break; │ break;
case LIST_ADDER: │ case LIST_ADDER:
printer->Print(" * @param value The bytes of the $name$ to add.\n", │ printer->Print(" * @param value The $name$ to add.\n", "name",
"name", field->camelcase_name()); │ field->camelcase_name());
break; │ break;
case LIST_MULTI_ADDER: │ case LIST_MULTI_ADDER:
printer->Print(" * @param values The bytes of the $name$ to add.\n", │ printer->Print(" * @param values The $name$ to add.\n", "name",
"name", field->camelcase_name()); │ field->camelcase_name());
break; │ break;
} │ }
if (builder) { │ if (builder) {
printer->Print(" * @return This builder for chaining.\n"); │ printer->Print(" * @return This builder for chaining.\n");
} │ }
printer->Print(" */\n"); │ printer->Print(" */\n");
} │
next prev up protobuf/src/google/protobuf/map_test_util_impl.h:151 │ protobuf/src/google/protobuf/map_test_util_impl.h:109
│
// Add first element. │ // Add first element.
(*message->mutable_map_int32_int32())[0] = 0; │ (*message->mutable_map_int32_int32())[0] = 0;
(*message->mutable_map_int64_int64())[0] = 0; │ (*message->mutable_map_int64_int64())[0] = 0;
(*message->mutable_map_uint32_uint32())[0] = 0; │ (*message->mutable_map_uint32_uint32())[0] = 0;
(*message->mutable_map_uint64_uint64())[0] = 0; │ (*message->mutable_map_uint64_uint64())[0] = 0;
(*message->mutable_map_sint32_sint32())[0] = 0; │ (*message->mutable_map_sint32_sint32())[0] = 0;
(*message->mutable_map_sint64_sint64())[0] = 0; │ (*message->mutable_map_sint64_sint64())[0] = 0;
(*message->mutable_map_fixed32_fixed32())[0] = 0; │ (*message->mutable_map_fixed32_fixed32())[0] = 0;
(*message->mutable_map_fixed64_fixed64())[0] = 0; │ (*message->mutable_map_fixed64_fixed64())[0] = 0;
(*message->mutable_map_sfixed32_sfixed32())[0] = 0; │ (*message->mutable_map_sfixed32_sfixed32())[0] = 0;
(*message->mutable_map_sfixed64_sfixed64())[0] = 0; │ (*message->mutable_map_sfixed64_sfixed64())[0] = 0;
(*message->mutable_map_int32_float())[0] = 0.0; │ (*message->mutable_map_int32_float())[0] = 0.0;
(*message->mutable_map_int32_double())[0] = 0.0; │ (*message->mutable_map_int32_double())[0] = 0.0;
(*message->mutable_map_bool_bool())[0] = false; │ (*message->mutable_map_bool_bool())[0] = false;
(*message->mutable_map_string_string())["0"] = "0"; │ (*message->mutable_map_string_string())["0"] = "0";
(*message->mutable_map_int32_bytes())[0] = "0"; │ (*message->mutable_map_int32_bytes())[0] = "0";
(*message->mutable_map_int32_enum())[0] = enum_value0; │ (*message->mutable_map_int32_enum())[0] = enum_value0;
(*message->mutable_map_int32_foreign_message())[0].set_c(0); │ (*message->mutable_map_int32_foreign_message())[0].set_c(0);
│
// Add second element │ // Add second element
(*message->mutable_map_int32_int32())[1] = 1; │ (*message->mutable_map_int32_int32())[1] = 1;
(*message->mutable_map_int64_int64())[1] = 1; │ (*message->mutable_map_int64_int64())[1] = 1;
(*message->mutable_map_uint32_uint32())[1] = 1; │ (*message->mutable_map_uint32_uint32())[1] = 1;
(*message->mutable_map_uint64_uint64())[1] = 1; │ (*message->mutable_map_uint64_uint64())[1] = 1;
(*message->mutable_map_sint32_sint32())[1] = 1; │ (*message->mutable_map_sint32_sint32())[1] = 1;
(*message->mutable_map_sint64_sint64())[1] = 1; │ (*message->mutable_map_sint64_sint64())[1] = 1;
(*message->mutable_map_fixed32_fixed32())[1] = 1; │ (*message->mutable_map_fixed32_fixed32())[1] = 1;
(*message->mutable_map_fixed64_fixed64())[1] = 1; │ (*message->mutable_map_fixed64_fixed64())[1] = 1;
(*message->mutable_map_sfixed32_sfixed32())[1] = 1; │ (*message->mutable_map_sfixed32_sfixed32())[1] = 1;
(*message->mutable_map_sfixed64_sfixed64())[1] = 1; │ (*message->mutable_map_sfixed64_sfixed64())[1] = 1;
(*message->mutable_map_int32_float())[1] = 1.0; │ (*message->mutable_map_int32_float())[1] = 1.0;
(*message->mutable_map_int32_double())[1] = 1.0; │ (*message->mutable_map_int32_double())[1] = 1.0;
(*message->mutable_map_bool_bool())[1] = true; │ (*message->mutable_map_bool_bool())[1] = true;
(*message->mutable_map_string_string())["1"] = "1"; │ (*message->mutable_map_string_string())["1"] = "1";
(*message->mutable_map_int32_bytes())[1] = "1"; │ (*message->mutable_map_int32_bytes())[1] = "1";
(*message->mutable_map_int32_enum())[1] = enum_value1; │ (*message->mutable_map_int32_enum())[1] = enum_value1;
(*message->mutable_map_int32_foreign_message())[1].set_c(1); │ (*message->mutable_map_int32_foreign_message())[1].set_c(1);
} │
next prev up protobuf/src/google/protobuf/compiler/java/message.cc:260 │ protobuf/src/google/protobuf/compiler/java/message_lite.cc:114
│
MaybePrintGeneratedAnnotation(context_, printer, descriptor_, │ MaybePrintGeneratedAnnotation(context_, printer, descriptor_,
/* immutable = */ true, "OrBuilder"); │ /* immutable = */ true, "OrBuilder");
if (descriptor_->extension_range_count() > 0) { │ if (descriptor_->extension_range_count() > 0) {
printer->Print( │ printer->Print(
"$deprecation$public interface ${$$classname$OrBuilder$}$ extends\n" │ "$deprecation$public interface ${$$classname$OrBuilder$}$ extends \n"
" $extra_interfaces$\n" │ " $extra_interfaces$\n"
" com.google.protobuf.GeneratedMessage$ver$.\n" │ " com.google.protobuf.GeneratedMessageLite.\n"
" ExtendableMessageOrBuilder<$classname$> {\n", │ " ExtendableMessageOrBuilder<\n"
│ " $classname$, $classname$.Builder> {\n",
"deprecation", │ "deprecation",
descriptor_->options().deprecated() ? "@java.lang.Deprecated " : "", │ descriptor_->options().deprecated() ? "@java.lang.Deprecated " : "",
"extra_interfaces", ExtraMessageOrBuilderInterfaces(descriptor_), │ "extra_interfaces", ExtraMessageOrBuilderInterfaces(descriptor_),
"classname", descriptor_->name(), "{", "", "}", "", "ver", │ "classname", descriptor_->name(), "{", "", "}", "");
GeneratedCodeVersionSuffix()); │
} else { │ } else {
printer->Print( │ printer->Print(
"$deprecation$public interface ${$$classname$OrBuilder$}$ extends\n" │ "$deprecation$public interface ${$$classname$OrBuilder$}$ extends\n"
" $extra_interfaces$\n" │ " $extra_interfaces$\n"
" com.google.protobuf.MessageOrBuilder {\n", │ " com.google.protobuf.MessageLiteOrBuilder {\n",
"deprecation", │ "deprecation",
descriptor_->options().deprecated() ? "@java.lang.Deprecated " : "", │ descriptor_->options().deprecated() ? "@java.lang.Deprecated " : "",
"extra_interfaces", ExtraMessageOrBuilderInterfaces(descriptor_), │ "extra_interfaces", ExtraMessageOrBuilderInterfaces(descriptor_),
"classname", descriptor_->name(), "{", "", "}", ""); │ "classname", descriptor_->name(), "{", "", "}", "");
} │ }
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
│
printer->Indent(); │ printer->Indent();
for (int i = 0; i < descriptor_->field_count(); i++) { │ for (int i = 0; i < descriptor_->field_count(); i++) {
printer->Print("\n"); │ printer->Print("\n");
field_generators_.get(descriptor_->field(i)) │ field_generators_.get(descriptor_->field(i))
.GenerateInterfaceMembers(printer); │ .GenerateInterfaceMembers(printer);
} │ }
for (auto oneof : oneofs_) { │ for (auto oneof : oneofs_) {
printer->Print( │ printer->Print(
"\n" │ "\n"
"public $classname$.$oneof_capitalized_name$Case " │ "public $classname$.$oneof_capitalized_name$Case "
"get$oneof_capitalized_name$Case();\n", │ "get$oneof_capitalized_name$Case();\n",
"oneof_capitalized_name", │ "oneof_capitalized_name",
context_->GetOneofGeneratorInfo(oneof)->capitalized_name, "classname", │ context_->GetOneofGeneratorInfo(oneof)->capitalized_name, "classname",
context_->GetNameResolver()->GetImmutableClassName(descriptor_)); │ context_->GetNameResolver()->GetImmutableClassName(descriptor_));
} │ }
printer->Outdent(); │ printer->Outdent();
│
printer->Print("}\n"); │ printer->Print("}\n");
} │
next prev up protobuf/src/google/protobuf/util/message_differencer_unittest.cc:613 │ protobuf/src/google/protobuf/util/message_differencer_unittest.cc:560
│
// Create the testing protos │ // Create the testing protos
unittest::TestAllTypes msg1; │ unittest::TestAllTypes msg1;
unittest::TestAllTypes msg2; │ unittest::TestAllTypes msg2;
│
TestUtil::SetAllFields(&msg1); │ TestUtil::SetAllFields(&msg1);
TestUtil::SetAllFields(&msg2); │ TestUtil::SetAllFields(&msg2);
│
// Should fail on approximate equality check │ // Should fail on approximate equality check
const double v1 = 100.0; │ const float v1 = 100.0f;
const double v2 = 109.9; │ const float v2 = 109.9f;
msg1.set_optional_double(v1); │ msg1.set_optional_float(v1);
msg2.set_optional_double(v2); │ msg2.set_optional_float(v2);
│
// Compare │ // Compare
util::MessageDifferencer differencer; │ util::MessageDifferencer differencer;
EXPECT_FALSE(differencer.Compare(msg1, msg2)); │ EXPECT_FALSE(differencer.Compare(msg1, msg2));
│ const FieldDescriptor* fd =
│ msg1.GetDescriptor()->FindFieldByName("optional_float");
│
// Set comparison to exact, margin and fraction value should not matter. │ // Set float comparison to exact, margin and fraction value should not matter.
differencer.set_float_comparison(util::MessageDifferencer::EXACT); │ differencer.set_float_comparison(util::MessageDifferencer::EXACT);
// Set margin for float comparison. │ // Set margin for float comparison.
const FieldDescriptor* fd = │
msg1.GetDescriptor()->FindFieldByName("optional_double"); │
differencer.SetFractionAndMargin(fd, 0.0, 10.0); │ differencer.SetFractionAndMargin(fd, 0.0, 10.0);
EXPECT_FALSE(differencer.Compare(msg1, msg2)); │ EXPECT_FALSE(differencer.Compare(msg1, msg2));
│
// Margin and fraction comparison is activated when float comparison is │ // Margin and fraction float comparison is activated when float comparison is
// set to approximate. │ // set to approximate.
differencer.set_float_comparison(util::MessageDifferencer::APPROXIMATE); │ differencer.set_float_comparison(util::MessageDifferencer::APPROXIMATE);
EXPECT_TRUE(differencer.Compare(msg1, msg2)); │ EXPECT_TRUE(differencer.Compare(msg1, msg2));
│
// Test out comparison with fraction. │ // Test out float comparison with fraction.
differencer.SetFractionAndMargin(fd, 0.2, 0.0); │ differencer.SetFractionAndMargin(fd, 0.2, 0.0);
EXPECT_TRUE(differencer.Compare(msg1, msg2)); │ EXPECT_TRUE(differencer.Compare(msg1, msg2));
│
// Should fail since the fraction is smaller than error. │ // Should fail since the fraction is smaller than error.
differencer.SetFractionAndMargin(fd, 0.01, 0.0); │ differencer.SetFractionAndMargin(fd, 0.01, 0.0);
EXPECT_FALSE(differencer.Compare(msg1, msg2)); │ EXPECT_FALSE(differencer.Compare(msg1, msg2));
│
// Should pass if either fraction or margin are satisfied. │ // Should pass if either fraction or margin are satisfied.
differencer.SetFractionAndMargin(fd, 0.01, 10.0); │ differencer.SetFractionAndMargin(fd, 0.01, 10.0);
EXPECT_TRUE(differencer.Compare(msg1, msg2)); │ EXPECT_TRUE(differencer.Compare(msg1, msg2));
│
// Make sure that the margin and fraction only affects the field that it was │ // Make sure that the margin and fraction only affects the field that it was
// set for. │ // set for.
msg1.set_default_double(v1); │ msg1.set_default_float(v1);
msg2.set_default_double(v2); │ msg2.set_default_float(v2);
EXPECT_FALSE(differencer.Compare(msg1, msg2)); │ EXPECT_FALSE(differencer.Compare(msg1, msg2));
msg1.set_default_double(v1); │ msg1.set_default_float(v1);
msg2.set_default_double(v1); │ msg2.set_default_float(v1);
EXPECT_TRUE(differencer.Compare(msg1, msg2)); │ EXPECT_TRUE(differencer.Compare(msg1, msg2));
} │
next prev up protobuf/src/google/protobuf/generated_message_tctable_lite_test.cc:171 │ protobuf/src/google/protobuf/generated_message_tctable_lite_test.cc:215
│
// Look up fields past `lookup_table_offset`, but before binary search. │ // Fields after the sequential and small-scan ranges are looked up using
│ // binary search.
ASSERT_THAT(small_scan_size(), Eq(4)) << "test needs to be updated"; │ ASSERT_THAT(small_scan_size(), Eq(4)) << "test needs to be updated";
│
// clang-format off │ // clang-format off
TcParseTable<0, 6, 0, 0, 8> table = { │ TcParseTable<0, 10, 0, 0, 8> table = {
// header: │ // header:
{ │ {
0, 0, 0, 0, // has_bits_offset, extensions │ 0, 0, 0, 0, // has_bits_offset, extensions
111, // max_field_number │ 70, // max_field_number
0, // fast_idx_mask, │ 0, // fast_idx_mask,
offsetof(decltype(table), field_lookup_table), │ offsetof(decltype(table), field_lookup_table),
0xFFFFFFFF - (1<<0) - (1<<2) - (1<<3) - (1<<4) - (1<<6), // 1,3-5,7 │ 0xFFFFFFFF - (1<<0) - (1<<2) - (1<<3) - (1<<4) // 1, 3, 4, 5, 6
│ - (1<<5) - (1<<7) - (1<<8) - (1<<10) // 8, 9, 11, 12
│ - (1<<11),
offsetof(decltype(table), field_entries), │ offsetof(decltype(table), field_entries),
6, // num_field_entries │ 10, // num_field_entries
0, 0, // num_aux_entries, aux_offset, │ 0, 0, // num_aux_entries, aux_offset,
nullptr, // default instance │ nullptr, // default instance
{}, // fallback function │ {}, // fallback function
}, │ },
{}, // fast_entries │ {}, // fast_entries
// field_lookup_table for 1, 3, 4, 5, 7, 111: │ // field_lookup_table for 1, 3, 4, 5, 6, 8, 9, 11, 12, 70
{{ │ {{
111, 0, // field 111 │ 70, 0, // field 70
1, // 1 skip entry │ 1, // 1 skip entry
0xFFFE, 5, // 1 field, entry 5 │ 0xFFFE, 9, // 1 field, entry 9
65535, 65535 // end of table │ 65535, 65535 // end of table
}}, │ }},
}; │ };
│ int table_field_numbers[] = {
│ // Sequential entries:
│ 1,
│ // Small scan range:
│ 3, 4, 5, 6,
│ // Binary search range:
│ 8, 9, 11, 12, 70
│ };
// clang-format on │ // clang-format on
int table_field_numbers[] = {// Sequential entries: │
1, │
// Small scan range: │
3, 4, 5, 7, │
// Binary search range: │
111}; │
│
for (int i : table_field_numbers) { │ for (int i : table_field_numbers) {
EXPECT_THAT(FindFieldEntry(table, i), │ EXPECT_THAT(FindFieldEntry(table, i),
IsEntryForFieldNum(&table, i, table_field_numbers)); │ IsEntryForFieldNum(&table, i, table_field_numbers));
} │ }
for (int i : {0, 2, 6, 8, 9, 110, 112, 500000000}) { │ for (int i : {0, 2, 7, 10, 13, 69, 71, 112, 500000000}) {
EXPECT_THAT(FindFieldEntry(table, i), Eq(nullptr)); │ EXPECT_THAT(FindFieldEntry(table, i), Eq(nullptr));
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/cpp/primitive_field.cc:358 │ protobuf/src/google/protobuf/compiler/cpp/enum_field.cc:280
│
Formatter format(printer, variables_); │ Formatter format(printer, variables_);
format( │ format(
"inline $type$ $classname$::_internal_$name$(int index) const {\n" │ "inline $type$ $classname$::_internal_$name$(int index) const {\n"
" return $field$.Get(index);\n" │ " return static_cast< $type$ >($field$.Get(index));\n"
"}\n" │ "}\n"
"inline $type$ $classname$::$name$(int index) const {\n" │ "inline $type$ $classname$::$name$(int index) const {\n"
"$annotate_get$" │ "$annotate_get$"
" // @@protoc_insertion_point(field_get:$full_name$)\n" │ " // @@protoc_insertion_point(field_get:$full_name$)\n"
" return _internal_$name$(index);\n" │ " return _internal_$name$(index);\n"
"}\n" │ "}\n"
"inline void $classname$::set_$name$(int index, $type$ value) {\n" │ "inline void $classname$::set_$name$(int index, $type$ value) {\n");
"$annotate_set$" │ if (!HasPreservingUnknownEnumSemantics(descriptor_)) {
│ format(" assert($type$_IsValid(value));\n");
│ }
│ format(
" $field$.Set(index, value);\n" │ " $field$.Set(index, value);\n"
│ "$annotate_set$"
" // @@protoc_insertion_point(field_set:$full_name$)\n" │ " // @@protoc_insertion_point(field_set:$full_name$)\n"
"}\n" │ "}\n"
"inline void $classname$::_internal_add_$name$($type$ value) {\n" │ "inline void $classname$::_internal_add_$name$($type$ value) {\n");
│ if (!HasPreservingUnknownEnumSemantics(descriptor_)) {
│ format(" assert($type$_IsValid(value));\n");
│ }
│ format(
" $field$.Add(value);\n" │ " $field$.Add(value);\n"
"}\n" │ "}\n"
"inline void $classname$::add_$name$($type$ value) {\n" │ "inline void $classname$::add_$name$($type$ value) {\n"
" _internal_add_$name$(value);\n" │ " _internal_add_$name$(value);\n"
"$annotate_add$" │ "$annotate_add$"
" // @@protoc_insertion_point(field_add:$full_name$)\n" │ " // @@protoc_insertion_point(field_add:$full_name$)\n"
"}\n" │ "}\n"
"inline const ::$proto_ns$::RepeatedField< $type$ >&\n" │ "inline const ::$proto_ns$::RepeatedField<int>&\n"
"$classname$::_internal_$name$() const {\n" │
" return $field$;\n" │
"}\n" │
"inline const ::$proto_ns$::RepeatedField< $type$ >&\n" │
"$classname$::$name$() const {\n" │ "$classname$::$name$() const {\n"
"$annotate_list$" │ "$annotate_list$"
" // @@protoc_insertion_point(field_list:$full_name$)\n" │ " // @@protoc_insertion_point(field_list:$full_name$)\n"
" return _internal_$name$();\n" │ " return $field$;\n"
"}\n" │ "}\n"
"inline ::$proto_ns$::RepeatedField< $type$ >*\n" │ "inline ::$proto_ns$::RepeatedField<int>*\n"
"$classname$::_internal_mutable_$name$() {\n" │ "$classname$::_internal_mutable_$name$() {\n"
" return &$field$;\n" │ " return &$field$;\n"
"}\n" │ "}\n"
"inline ::$proto_ns$::RepeatedField< $type$ >*\n" │ "inline ::$proto_ns$::RepeatedField<int>*\n"
"$classname$::mutable_$name$() {\n" │ "$classname$::mutable_$name$() {\n"
"$annotate_mutable_list$" │ "$annotate_mutable_list$"
" // @@protoc_insertion_point(field_mutable_list:$full_name$)\n" │ " // @@protoc_insertion_point(field_mutable_list:$full_name$)\n"
" return _internal_mutable_$name$();\n" │ " return _internal_mutable_$name$();\n"
"}\n"); │ "}\n");
} │
next prev up protobuf/src/google/protobuf/compiler/java/message.cc:1410 │ protobuf/src/google/protobuf/compiler/java/message_lite.cc:731
│
printer->Print( │ printer->Print(
"@kotlin.OptIn" │ "@kotlin.OptIn"
"(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n" │ "(com.google.protobuf.kotlin.OnlyForUseByGeneratedProtoCode::class)\n"
"@com.google.protobuf.kotlin.ProtoDslMarker\n"); │ "@com.google.protobuf.kotlin.ProtoDslMarker\n");
printer->Print( │ printer->Print(
"class Dsl private constructor(\n" │ "class Dsl private constructor(\n"
" private val _builder: $message$.Builder\n" │ " private val _builder: $message$.Builder\n"
") {\n" │ ") {\n"
" companion object {\n" │ " companion object {\n"
" @kotlin.jvm.JvmSynthetic\n" │ " @kotlin.jvm.JvmSynthetic\n"
" @kotlin.PublishedApi\n" │ " @kotlin.PublishedApi\n"
" internal fun _create(builder: $message$.Builder): Dsl = " │ " internal fun _create(builder: $message$.Builder): Dsl = "
"Dsl(builder)\n" │ "Dsl(builder)\n"
" }\n" │ " }\n"
"\n" │ "\n"
" @kotlin.jvm.JvmSynthetic\n" │ " @kotlin.jvm.JvmSynthetic\n"
" @kotlin.PublishedApi\n" │ " @kotlin.PublishedApi\n"
" internal fun _build(): $message$ = _builder.build()\n", │ " internal fun _build(): $message$ = _builder.build()\n",
"message", name_resolver_->GetClassName(descriptor_, true)); │ "message", name_resolver_->GetClassName(descriptor_, true));
│
printer->Indent(); │ printer->Indent();
│
for (int i = 0; i < descriptor_->field_count(); i++) { │ for (int i = 0; i < descriptor_->field_count(); i++) {
printer->Print("\n"); │ printer->Print("\n");
field_generators_.get(descriptor_->field(i)) │ field_generators_.get(descriptor_->field(i))
.GenerateKotlinDslMembers(printer); │ .GenerateKotlinDslMembers(printer);
} │ }
│
for (auto oneof : oneofs_) { │ for (auto oneof : oneofs_) {
printer->Print( │ printer->Print(
"val $oneof_name$Case: $message$.$oneof_capitalized_name$Case\n" │ "val $oneof_name$Case: $message$.$oneof_capitalized_name$Case\n"
" @JvmName(\"get$oneof_capitalized_name$Case\")\n" │ " @JvmName(\"get$oneof_capitalized_name$Case\")\n"
" get() = _builder.get$oneof_capitalized_name$Case()\n\n" │ " get() = _builder.get$oneof_capitalized_name$Case()\n\n"
"fun clear$oneof_capitalized_name$() {\n" │ "fun clear$oneof_capitalized_name$() {\n"
" _builder.clear$oneof_capitalized_name$()\n" │ " _builder.clear$oneof_capitalized_name$()\n"
"}\n", │ "}\n",
"oneof_name", context_->GetOneofGeneratorInfo(oneof)->name, │ "oneof_name", context_->GetOneofGeneratorInfo(oneof)->name,
"oneof_capitalized_name", │ "oneof_capitalized_name",
context_->GetOneofGeneratorInfo(oneof)->capitalized_name, "message", │ context_->GetOneofGeneratorInfo(oneof)->capitalized_name, "message",
name_resolver_->GetClassName(descriptor_, true)); │ name_resolver_->GetClassName(descriptor_, true));
} │ }
│
if (descriptor_->extension_range_count() > 0) { │ if (descriptor_->extension_range_count() > 0) {
GenerateKotlinExtensions(printer); │ GenerateKotlinExtensions(printer);
} │ }
│
printer->Outdent(); │ printer->Outdent();
printer->Print("}\n"); │ printer->Print("}\n");
} │
next prev up protobuf/src/google/protobuf/reflection_ops_unittest.cc:359 │ protobuf/src/google/protobuf/reflection_ops_unittest.cc:396
│
unittest::TestRequiredForeign message; │ unittest::TestAllExtensions message;
│
// Starts out initialized because the foreign message is itself an optional │ // Starts out initialized because the foreign message is itself an optional
// field. │ // field.
EXPECT_TRUE(ReflectionOps::IsInitialized(message)); │ EXPECT_TRUE(ReflectionOps::IsInitialized(message));
│ EXPECT_TRUE(ReflectionOps::IsInitialized(message, true, false));
EXPECT_TRUE(ReflectionOps::IsInitialized(message, false, true)); │ EXPECT_TRUE(ReflectionOps::IsInitialized(message, false, true));
│
// Once we create that field, the message is no longer initialized. │ // Once we create that field, the message is no longer initialized.
message.mutable_optional_message(); │ message.MutableExtension(unittest::TestRequired::single);
EXPECT_FALSE(ReflectionOps::IsInitialized(message)); │ EXPECT_FALSE(ReflectionOps::IsInitialized(message));
EXPECT_TRUE(ReflectionOps::IsInitialized(message, true, false)); │ EXPECT_TRUE(ReflectionOps::IsInitialized(message, true, false));
EXPECT_FALSE(ReflectionOps::IsInitialized(message, false, true)); │ EXPECT_FALSE(ReflectionOps::IsInitialized(message, false, true));
│
// Initialize it. Now we're initialized. │ // Initialize it. Now we're initialized.
message.mutable_optional_message()->set_a(1); │ message.MutableExtension(unittest::TestRequired::single)->set_a(1);
message.mutable_optional_message()->set_b(2); │ message.MutableExtension(unittest::TestRequired::single)->set_b(2);
message.mutable_optional_message()->set_c(3); │ message.MutableExtension(unittest::TestRequired::single)->set_c(3);
EXPECT_TRUE(ReflectionOps::IsInitialized(message)); │ EXPECT_TRUE(ReflectionOps::IsInitialized(message));
EXPECT_TRUE(ReflectionOps::IsInitialized(message, true, false)); │ EXPECT_TRUE(ReflectionOps::IsInitialized(message, true, false));
EXPECT_TRUE(ReflectionOps::IsInitialized(message, false, true)); │ EXPECT_TRUE(ReflectionOps::IsInitialized(message, false, true));
│
// Add a repeated version of the message. No longer initialized. │ // Add a repeated version of the message. No longer initialized.
unittest::TestRequired* sub_message = message.add_repeated_message(); │ message.AddExtension(unittest::TestRequired::multi);
EXPECT_FALSE(ReflectionOps::IsInitialized(message)); │ EXPECT_FALSE(ReflectionOps::IsInitialized(message));
EXPECT_TRUE(ReflectionOps::IsInitialized(message, true, false)); │ EXPECT_TRUE(ReflectionOps::IsInitialized(message, true, false));
EXPECT_FALSE(ReflectionOps::IsInitialized(message, false, true)); │ EXPECT_FALSE(ReflectionOps::IsInitialized(message, false, true));
│
// Initialize that repeated version. │ // Initialize that repeated version.
sub_message->set_a(1); │ message.MutableExtension(unittest::TestRequired::multi, 0)->set_a(1);
sub_message->set_b(2); │ message.MutableExtension(unittest::TestRequired::multi, 0)->set_b(2);
sub_message->set_c(3); │ message.MutableExtension(unittest::TestRequired::multi, 0)->set_c(3);
EXPECT_TRUE(ReflectionOps::IsInitialized(message)); │ EXPECT_TRUE(ReflectionOps::IsInitialized(message));
EXPECT_TRUE(ReflectionOps::IsInitialized(message, true, false)); │ EXPECT_TRUE(ReflectionOps::IsInitialized(message, true, false));
EXPECT_TRUE(ReflectionOps::IsInitialized(message, false, true)); │ EXPECT_TRUE(ReflectionOps::IsInitialized(message, false, true));
} │
next prev up protobuf/src/google/protobuf/io/printer_unittest.cc:253 │ protobuf/src/google/protobuf/io/printer_unittest.cc:210
│
char buffer[8192]; │ char buffer[8192];
ArrayOutputStream output(buffer, sizeof(buffer)); │ ArrayOutputStream output(buffer, sizeof(buffer));
GeneratedCodeInfo info; │ GeneratedCodeInfo info;
AnnotationProtoCollector<GeneratedCodeInfo> info_collector(&info); │ AnnotationProtoCollector<GeneratedCodeInfo> info_collector(&info);
{ │ {
Printer printer(&output, '$', &info_collector); │ Printer printer(&output, '$', &info_collector);
printer.Print("012$foo$4$bar$\n", "foo", "3", "bar", "5"); │ std::map<std::string, std::string> vars;
│ vars["foo"] = "3";
│ vars["bar"] = "5";
│ printer.Print(vars, "012$foo$4$bar$\n");
std::vector<int> path_1; │ std::vector<int> path_1;
path_1.push_back(33); │ path_1.push_back(33);
std::vector<int> path_2; │ std::vector<int> path_2;
path_2.push_back(11); │ path_2.push_back(11);
path_2.push_back(22); │ path_2.push_back(22);
MockDescriptor descriptor_1("path_1", path_1); │ MockDescriptor descriptor_1("path_1", path_1);
MockDescriptor descriptor_2("path_2", path_2); │ MockDescriptor descriptor_2("path_2", path_2);
printer.Annotate("foo", "foo", &descriptor_1); │ printer.Annotate("foo", "foo", &descriptor_1);
printer.Annotate("bar", "bar", &descriptor_2); │ printer.Annotate("bar", "bar", &descriptor_2);
} │ }
buffer[output.ByteCount()] = '\0'; │ buffer[output.ByteCount()] = '\0';
EXPECT_STREQ("012345\n", buffer); │ EXPECT_STREQ("012345\n", buffer);
ASSERT_EQ(2, info.annotation_size()); │ ASSERT_EQ(2, info.annotation_size());
const GeneratedCodeInfo::Annotation* foo = info.annotation(0).path_size() == 1 │ const GeneratedCodeInfo::Annotation* foo = info.annotation(0).path_size() == 1
? &info.annotation(0) │ ? &info.annotation(0)
: &info.annotation(1); │ : &info.annotation(1);
const GeneratedCodeInfo::Annotation* bar = info.annotation(0).path_size() == 1 │ const GeneratedCodeInfo::Annotation* bar = info.annotation(0).path_size() == 1
? &info.annotation(1) │ ? &info.annotation(1)
: &info.annotation(0); │ : &info.annotation(0);
ASSERT_EQ(1, foo->path_size()); │ ASSERT_EQ(1, foo->path_size());
ASSERT_EQ(2, bar->path_size()); │ ASSERT_EQ(2, bar->path_size());
EXPECT_EQ(33, foo->path(0)); │ EXPECT_EQ(33, foo->path(0));
EXPECT_EQ(11, bar->path(0)); │ EXPECT_EQ(11, bar->path(0));
EXPECT_EQ(22, bar->path(1)); │ EXPECT_EQ(22, bar->path(1));
EXPECT_EQ("path_1", foo->source_file()); │ EXPECT_EQ("path_1", foo->source_file());
EXPECT_EQ("path_2", bar->source_file()); │ EXPECT_EQ("path_2", bar->source_file());
EXPECT_EQ(3, foo->begin()); │ EXPECT_EQ(3, foo->begin());
EXPECT_EQ(4, foo->end()); │ EXPECT_EQ(4, foo->end());
EXPECT_EQ(5, bar->begin()); │ EXPECT_EQ(5, bar->begin());
EXPECT_EQ(6, bar->end()); │ EXPECT_EQ(6, bar->end());
} │
next prev up protobuf/src/google/protobuf/compiler/java/primitive_field_lite.cc:281 │ protobuf/src/google/protobuf/compiler/java/primitive_field_lite.cc:443
│
if (HasHazzer(descriptor_)) { │ GOOGLE_DCHECK(HasHazzer(descriptor_));
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
printer->Print( │ printer->Print(variables_,
variables_, │ "@java.lang.Override\n"
"@java.lang.Override\n" │ "$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
"$deprecation$public boolean ${$has$capitalized_name$$}$() {\n" │ " return instance.has$capitalized_name$();\n"
" return instance.has$capitalized_name$();\n" │ "}\n");
"}\n"); │ printer->Annotate("{", "}", descriptor_);
printer->Annotate("{", "}", descriptor_); │
} │
│
WriteFieldAccessorDocComment(printer, descriptor_, GETTER); │ WriteFieldAccessorDocComment(printer, descriptor_, GETTER);
printer->Print(variables_, │ printer->Print(variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n" │ "$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n"
" return instance.get$capitalized_name$();\n" │ " return instance.get$capitalized_name$();\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
│
WriteFieldAccessorDocComment(printer, descriptor_, SETTER, │ WriteFieldAccessorDocComment(printer, descriptor_, SETTER,
/* builder */ true); │ /* builder */ true);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$public Builder " │ "$deprecation$public Builder "
"${$set$capitalized_name$$}$($type$ value) {\n" │ "${$set$capitalized_name$$}$($type$ value) {\n"
" copyOnWrite();\n" │ " copyOnWrite();\n"
" instance.set$capitalized_name$(value);\n" │ " instance.set$capitalized_name$(value);\n"
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ true); │ /* builder */ true);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n" │ "$deprecation$public Builder ${$clear$capitalized_name$$}$() {\n"
" copyOnWrite();\n" │ " copyOnWrite();\n"
" instance.clear$capitalized_name$();\n" │ " instance.clear$capitalized_name$();\n"
" return this;\n" │ " return this;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
} │
next prev up protobuf/src/google/protobuf/proto3_arena_lite_unittest.cc:70 │ protobuf/src/google/protobuf/proto3_arena_unittest.cc:93
│
EXPECT_EQ(100, m.optional_int32()); │ EXPECT_EQ(100, m.optional_int32());
EXPECT_EQ("asdf", m.optional_string()); │ EXPECT_EQ("asdf", m.optional_string());
EXPECT_EQ("jkl;", m.optional_bytes()); │ EXPECT_EQ("jkl;", m.optional_bytes());
EXPECT_EQ(true, m.has_optional_nested_message()); │ EXPECT_EQ(true, m.has_optional_nested_message());
EXPECT_EQ(42, m.optional_nested_message().bb()); │ EXPECT_EQ(42, m.optional_nested_message().bb());
EXPECT_EQ(true, m.has_optional_foreign_message()); │ EXPECT_EQ(true, m.has_optional_foreign_message());
EXPECT_EQ(43, m.optional_foreign_message().c()); │ EXPECT_EQ(43, m.optional_foreign_message().c());
EXPECT_EQ(proto3_arena_unittest::TestAllTypes::BAZ, m.optional_nested_enum()); │ EXPECT_EQ(proto3_arena_unittest::TestAllTypes::BAZ, m.optional_nested_enum());
EXPECT_EQ(proto3_arena_unittest::FOREIGN_BAZ, m.optional_foreign_enum()); │ EXPECT_EQ(proto3_arena_unittest::FOREIGN_BAZ, m.optional_foreign_enum());
EXPECT_EQ(true, m.has_optional_lazy_message()); │ EXPECT_EQ(true, m.has_optional_lazy_message());
EXPECT_EQ(45, m.optional_lazy_message().bb()); │ EXPECT_EQ(45, m.optional_lazy_message().bb());
│ EXPECT_EQ(true, m.has_optional_unverified_lazy_message());
│ EXPECT_EQ(46, m.optional_unverified_lazy_message().bb());
│
EXPECT_EQ(1, m.repeated_int32_size()); │ EXPECT_EQ(1, m.repeated_int32_size());
EXPECT_EQ(100, m.repeated_int32(0)); │ EXPECT_EQ(100, m.repeated_int32(0));
EXPECT_EQ(1, m.repeated_string_size()); │ EXPECT_EQ(1, m.repeated_string_size());
EXPECT_EQ("asdf", m.repeated_string(0)); │ EXPECT_EQ("asdf", m.repeated_string(0));
EXPECT_EQ(1, m.repeated_bytes_size()); │ EXPECT_EQ(1, m.repeated_bytes_size());
EXPECT_EQ("jkl;", m.repeated_bytes(0)); │ EXPECT_EQ("jkl;", m.repeated_bytes(0));
EXPECT_EQ(1, m.repeated_nested_message_size()); │ EXPECT_EQ(1, m.repeated_nested_message_size());
EXPECT_EQ(46, m.repeated_nested_message(0).bb()); │ EXPECT_EQ(46, m.repeated_nested_message(0).bb());
EXPECT_EQ(1, m.repeated_foreign_message_size()); │ EXPECT_EQ(1, m.repeated_foreign_message_size());
EXPECT_EQ(47, m.repeated_foreign_message(0).c()); │ EXPECT_EQ(47, m.repeated_foreign_message(0).c());
EXPECT_EQ(1, m.repeated_nested_enum_size()); │ EXPECT_EQ(1, m.repeated_nested_enum_size());
EXPECT_EQ(proto3_arena_unittest::TestAllTypes::BAZ, │ EXPECT_EQ(proto3_arena_unittest::TestAllTypes::BAZ,
m.repeated_nested_enum(0)); │ m.repeated_nested_enum(0));
EXPECT_EQ(1, m.repeated_foreign_enum_size()); │ EXPECT_EQ(1, m.repeated_foreign_enum_size());
EXPECT_EQ(proto3_arena_unittest::FOREIGN_BAZ, m.repeated_foreign_enum(0)); │ EXPECT_EQ(proto3_arena_unittest::FOREIGN_BAZ, m.repeated_foreign_enum(0));
EXPECT_EQ(1, m.repeated_lazy_message_size()); │ EXPECT_EQ(1, m.repeated_lazy_message_size());
EXPECT_EQ(49, m.repeated_lazy_message(0).bb()); │ EXPECT_EQ(49, m.repeated_lazy_message(0).bb());
│
EXPECT_EQ(proto3_arena_unittest::TestAllTypes::kOneofString, │ EXPECT_EQ(proto3_arena_unittest::TestAllTypes::kOneofString,
m.oneof_field_case()); │ m.oneof_field_case());
EXPECT_EQ("test", m.oneof_string()); │ EXPECT_EQ("test", m.oneof_string());
} │
next prev up protobuf/src/google/protobuf/text_format_unittest.cc:917 │ protobuf/src/google/protobuf/text_format_unittest.cc:986
│
std::string parse_string = │ std::string parse_string =
│ // Starting with empty [] should have no impact.
│ "repeated_int32: []\n"
│ "repeated_nested_enum: []\n"
│ "repeated_string: []\n"
│ "repeated_nested_message: []\n"
│ "RepeatedGroup []\n"
// Mixed short-form and long-form are simply concatenated. │ // Mixed short-form and long-form are simply concatenated.
"repeated_int32: 1\n" │ "repeated_int32: 1\n"
"repeated_int32: [456, 789]\n" │ "repeated_int32: [456, 789]\n"
"repeated_nested_enum: [ FOO ,BAR, # comment\n" │ "repeated_nested_enum: [ FOO ,BAR, # comment\n"
" 3]\n" │ " 3]\n"
// Note that while the printer won't print repeated strings in short-form, │ // Note that while the printer won't print repeated strings in short-form,
// the parser will accept them. │ // the parser will accept them.
"repeated_string: [ \"foo\", 'bar' ]\n" │ "repeated_string: [ \"foo\", 'bar' ]\n"
// Repeated message │ // Repeated message
"repeated_nested_message: [ { bb: 1 }, { bb : 2 }]\n" │ "repeated_nested_message: [ { bb: 1 }, { bb : 2 }]\n"
// Repeated group │ // Repeated group
"RepeatedGroup [{ a: 3 },{ a: 4 }]\n"; │ "RepeatedGroup [{ a: 3 },{ a: 4 }]\n"
│ // Adding empty [] should have no impact.
│ "repeated_int32: []\n"
│ "repeated_nested_enum: []\n"
│ "repeated_string: []\n"
│ "repeated_nested_message: []\n"
│ "RepeatedGroup []\n";
│
ASSERT_TRUE(TextFormat::ParseFromString(parse_string, &proto_)); │ ASSERT_TRUE(TextFormat::ParseFromString(parse_string, &proto_));
│
ASSERT_EQ(3, proto_.repeated_int32_size()); │ ASSERT_EQ(3, proto_.repeated_int32_size());
EXPECT_EQ(1, proto_.repeated_int32(0)); │ EXPECT_EQ(1, proto_.repeated_int32(0));
EXPECT_EQ(456, proto_.repeated_int32(1)); │ EXPECT_EQ(456, proto_.repeated_int32(1));
EXPECT_EQ(789, proto_.repeated_int32(2)); │ EXPECT_EQ(789, proto_.repeated_int32(2));
│
ASSERT_EQ(3, proto_.repeated_nested_enum_size()); │ ASSERT_EQ(3, proto_.repeated_nested_enum_size());
EXPECT_EQ(unittest::TestAllTypes::FOO, proto_.repeated_nested_enum(0)); │ EXPECT_EQ(unittest::TestAllTypes::FOO, proto_.repeated_nested_enum(0));
EXPECT_EQ(unittest::TestAllTypes::BAR, proto_.repeated_nested_enum(1)); │ EXPECT_EQ(unittest::TestAllTypes::BAR, proto_.repeated_nested_enum(1));
EXPECT_EQ(unittest::TestAllTypes::BAZ, proto_.repeated_nested_enum(2)); │ EXPECT_EQ(unittest::TestAllTypes::BAZ, proto_.repeated_nested_enum(2));
│
ASSERT_EQ(2, proto_.repeated_string_size()); │ ASSERT_EQ(2, proto_.repeated_string_size());
EXPECT_EQ("foo", proto_.repeated_string(0)); │ EXPECT_EQ("foo", proto_.repeated_string(0));
EXPECT_EQ("bar", proto_.repeated_string(1)); │ EXPECT_EQ("bar", proto_.repeated_string(1));
│
ASSERT_EQ(2, proto_.repeated_nested_message_size()); │ ASSERT_EQ(2, proto_.repeated_nested_message_size());
EXPECT_EQ(1, proto_.repeated_nested_message(0).bb()); │ EXPECT_EQ(1, proto_.repeated_nested_message(0).bb());
EXPECT_EQ(2, proto_.repeated_nested_message(1).bb()); │ EXPECT_EQ(2, proto_.repeated_nested_message(1).bb());
│
ASSERT_EQ(2, proto_.repeatedgroup_size()); │ ASSERT_EQ(2, proto_.repeatedgroup_size());
EXPECT_EQ(3, proto_.repeatedgroup(0).a()); │ EXPECT_EQ(3, proto_.repeatedgroup(0).a());
EXPECT_EQ(4, proto_.repeatedgroup(1).a()); │ EXPECT_EQ(4, proto_.repeatedgroup(1).a());
} │
next prev up protobuf/src/google/protobuf/generated_message_reflection_unittest.cc:778 │ protobuf/src/google/protobuf/generated_message_reflection_unittest.cc:846
│
unittest::TestAllTypes from_message1; │
unittest::TestAllTypes from_message2; │
Arena arena; │ Arena arena;
unittest::TestAllTypes* to_message = │ unittest::TestAllExtensions* to_message =
Arena::CreateMessage<unittest::TestAllTypes>(&arena); │ Arena::CreateMessage<unittest::TestAllExtensions>(&arena);
│ unittest::TestAllExtensions from_message1;
│ unittest::TestAllExtensions from_message2;
TestUtil::ReflectionTester reflection_tester( │ TestUtil::ReflectionTester reflection_tester(
unittest::TestAllTypes::descriptor()); │ unittest::TestAllExtensions::descriptor());
reflection_tester.SetAllFieldsViaReflection(&from_message1); │ reflection_tester.SetAllFieldsViaReflection(&from_message1);
reflection_tester.SetAllFieldsViaReflection(&from_message2); │ reflection_tester.SetAllFieldsViaReflection(&from_message2);
│
// Before moving fields, we expect the nested messages to be nullptr. │ // Before moving fields, we expect the nested messages to be nullptr.
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
to_message, TestUtil::ReflectionTester::IS_NULL); │ to_message, TestUtil::ReflectionTester::IS_NULL);
│
// After fields are moved we should get non-nullptr releases. │ // After fields are moved we should get non-nullptr releases.
reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection(
&from_message1, to_message); │ &from_message1, to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
to_message, TestUtil::ReflectionTester::NOT_NULL); │ to_message, TestUtil::ReflectionTester::NOT_NULL);
│
// Another move to make sure that we can SetAllocated several times. │ // Another move to make sure that we can SetAllocated several times.
reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection(
&from_message2, to_message); │ &from_message2, to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
to_message, TestUtil::ReflectionTester::NOT_NULL); │ to_message, TestUtil::ReflectionTester::NOT_NULL);
│
// After SetAllocatedOptionalMessageFieldsToNullViaReflection() we expect the │ // After SetAllocatedOptionalMessageFieldsToNullViaReflection() we expect the
// releases to be nullptr again. │ // releases to be nullptr again.
reflection_tester.SetAllocatedOptionalMessageFieldsToNullViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToNullViaReflection(
to_message); │ to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
to_message, TestUtil::ReflectionTester::IS_NULL); │ to_message, TestUtil::ReflectionTester::IS_NULL);
} │
next prev up protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_primitive_field.h:37 │ protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_message_field.h:37
│
namespace protobuf { │ namespace protobuf {
namespace compiler { │ namespace compiler {
namespace csharp { │ namespace csharp {
│
class RepeatedPrimitiveFieldGenerator : public FieldGeneratorBase { │ struct Options;
│
│ class RepeatedMessageFieldGenerator : public FieldGeneratorBase {
public: │ public:
RepeatedPrimitiveFieldGenerator(const FieldDescriptor* descriptor, │ RepeatedMessageFieldGenerator(const FieldDescriptor* descriptor,
int presenceIndex, const Options* options); │ int presenceIndex,
~RepeatedPrimitiveFieldGenerator(); │ const Options *options);
│ ~RepeatedMessageFieldGenerator();
│
RepeatedPrimitiveFieldGenerator(const RepeatedPrimitiveFieldGenerator&) = delete; │ RepeatedMessageFieldGenerator(const RepeatedMessageFieldGenerator&) = delete;
RepeatedPrimitiveFieldGenerator& operator=(const RepeatedPrimitiveFieldGenerator&) = d │ RepeatedMessageFieldGenerator& operator=(
│ const RepeatedMessageFieldGenerator&) = delete;
│
virtual void GenerateCloningCode(io::Printer* printer) override; │ virtual void GenerateCloningCode(io::Printer* printer) override;
virtual void GenerateFreezingCode(io::Printer* printer) override; │ virtual void GenerateFreezingCode(io::Printer* printer) override;
virtual void GenerateMembers(io::Printer* printer) override; │ virtual void GenerateMembers(io::Printer* printer) override;
virtual void GenerateMergingCode(io::Printer* printer) override; │ virtual void GenerateMergingCode(io::Printer* printer) override;
virtual void GenerateParsingCode(io::Printer* printer) override; │ virtual void GenerateParsingCode(io::Printer* printer) override;
virtual void GenerateParsingCode(io::Printer* printer, bool use_parse_context) overrid │ virtual void GenerateParsingCode(io::Printer* printer, bool use_parse_context) overrid
virtual void GenerateSerializationCode(io::Printer* printer) override; │ virtual void GenerateSerializationCode(io::Printer* printer) override;
virtual void GenerateSerializationCode(io::Printer* printer, bool use_write_context) o │ virtual void GenerateSerializationCode(io::Printer* printer, bool use_write_context) o
virtual void GenerateSerializedSizeCode(io::Printer* printer) override; │ virtual void GenerateSerializedSizeCode(io::Printer* printer) override;
virtual void GenerateExtensionCode(io::Printer* printer) override; │ virtual void GenerateExtensionCode(io::Printer* printer) override;
│
virtual void WriteHash(io::Printer* printer) override; │ virtual void WriteHash(io::Printer* printer) override;
virtual void WriteEquals(io::Printer* printer) override; │ virtual void WriteEquals(io::Printer* printer) override;
virtual void WriteToString(io::Printer* printer) override; │ virtual void WriteToString(io::Printer* printer) override;
}; │ };
│
} // namespace csharp │ } // namespace csharp
} // namespace compiler │ } // namespace compiler
} // namespace protobuf │ } // namespace protobuf
} │
next prev up protobuf/src/google/protobuf/descriptor_database_unittest.cc:663 │ protobuf/src/google/protobuf/descriptor_database_unittest.cc:711
│
{ │ {
// Can find file that is only in database1_. │ // Can find file that is only in database1_.
FileDescriptorProto file; │ FileDescriptorProto file;
EXPECT_TRUE(forward_merged_.FindFileContainingSymbol("Foo", &file)); │ EXPECT_TRUE(forward_merged_.FindFileContainingExtension("Foo", 3, &file));
EXPECT_EQ("foo.proto", file.name()); │ EXPECT_EQ("foo.proto", file.name());
ExpectContainsType(file, "Foo"); │ ExpectContainsType(file, "Foo");
} │ }
│
{ │ {
// Can find file that is only in database2_. │ // Can find file that is only in database2_.
FileDescriptorProto file; │ FileDescriptorProto file;
EXPECT_TRUE(forward_merged_.FindFileContainingSymbol("Bar", &file)); │ EXPECT_TRUE(forward_merged_.FindFileContainingExtension("Bar", 5, &file));
EXPECT_EQ("bar.proto", file.name()); │ EXPECT_EQ("bar.proto", file.name());
ExpectContainsType(file, "Bar"); │ ExpectContainsType(file, "Bar");
} │ }
│
{ │ {
// In forward_merged_, database1_'s baz.proto takes precedence. │ // In forward_merged_, database1_'s baz.proto takes precedence.
FileDescriptorProto file; │ FileDescriptorProto file;
EXPECT_TRUE(forward_merged_.FindFileContainingSymbol("Baz", &file)); │ EXPECT_TRUE(forward_merged_.FindFileContainingExtension("Baz", 12, &file));
EXPECT_EQ("baz.proto", file.name()); │ EXPECT_EQ("baz.proto", file.name());
ExpectContainsType(file, "FromPool1"); │ ExpectContainsType(file, "FromPool1");
} │ }
│
{ │ {
// In reverse_merged_, database2_'s baz.proto takes precedence. │ // In reverse_merged_, database2_'s baz.proto takes precedence.
FileDescriptorProto file; │ FileDescriptorProto file;
EXPECT_TRUE(reverse_merged_.FindFileContainingSymbol("Baz", &file)); │ EXPECT_TRUE(reverse_merged_.FindFileContainingExtension("Baz", 12, &file));
EXPECT_EQ("baz.proto", file.name()); │ EXPECT_EQ("baz.proto", file.name());
ExpectContainsType(file, "FromPool2"); │ ExpectContainsType(file, "FromPool2");
} │ }
│
{ │ {
// FromPool1 only shows up in forward_merged_ because it is masked by │ // Baz's extension 13 only shows up in forward_merged_ because it is
// database2_'s baz.proto in reverse_merged_. │ // masked by database2_'s baz.proto in reverse_merged_.
FileDescriptorProto file; │ FileDescriptorProto file;
EXPECT_TRUE(forward_merged_.FindFileContainingSymbol("FromPool1", &file)); │ EXPECT_TRUE(forward_merged_.FindFileContainingExtension("Baz", 13, &file));
EXPECT_FALSE(reverse_merged_.FindFileContainingSymbol("FromPool1", &file)); │ EXPECT_FALSE(reverse_merged_.FindFileContainingExtension("Baz", 13, &file));
} │ }
│
{ │ {
// Can't find non-existent symbol. │ // Can't find non-existent extension.
FileDescriptorProto file; │ FileDescriptorProto file;
EXPECT_FALSE(forward_merged_.FindFileContainingSymbol("NoSuchType", &file)); │ EXPECT_FALSE(forward_merged_.FindFileContainingExtension("Foo", 6, &file));
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/parser.cc:1814 │ protobuf/src/google/protobuf/compiler/parser.cc:1737
│
bool first = true; │ bool first = true;
do { │ do {
LocationRecorder location(parent_location, message->reserved_range_size()); │ LocationRecorder location(parent_location, message->reserved_range_size());
│
EnumDescriptorProto::EnumReservedRange* range = │ DescriptorProto::ReservedRange* range = message->add_reserved_range();
message->add_reserved_range(); │
int start, end; │ int start, end;
io::Tokenizer::Token start_token; │ io::Tokenizer::Token start_token;
{ │ {
LocationRecorder start_location( │ LocationRecorder start_location(
location, EnumDescriptorProto::EnumReservedRange::kStartFieldNumber); │ location, DescriptorProto::ReservedRange::kStartFieldNumber);
start_token = input_->current(); │ start_token = input_->current();
DO(ConsumeSignedInteger(&start, │ DO(ConsumeInteger(&start, (first ? "Expected field name or number range."
(first ? "Expected enum value or number range." │ : "Expected field number range.")));
: "Expected enum number range."))); │
} │ }
│
if (TryConsume("to")) { │ if (TryConsume("to")) {
LocationRecorder end_location( │ LocationRecorder end_location(
location, EnumDescriptorProto::EnumReservedRange::kEndFieldNumber); │ location, DescriptorProto::ReservedRange::kEndFieldNumber);
if (TryConsume("max")) { │ if (TryConsume("max")) {
// This is in the enum descriptor path, which doesn't have the message │ // Set to the sentinel value - 1 since we increment the value below.
// set duality to fix up, so it doesn't integrate with the sentinel. │ // The actual value of the end of the range should be set with
end = INT_MAX; │ // AdjustExtensionRangesWithMaxEndNumber.
│ end = kMaxRangeSentinel - 1;
} else { │ } else {
DO(ConsumeSignedInteger(&end, "Expected integer.")); │ DO(ConsumeInteger(&end, "Expected integer."));
} │ }
} else { │ } else {
LocationRecorder end_location( │ LocationRecorder end_location(
location, EnumDescriptorProto::EnumReservedRange::kEndFieldNumber); │ location, DescriptorProto::ReservedRange::kEndFieldNumber);
end_location.StartAt(start_token); │ end_location.StartAt(start_token);
end_location.EndAt(start_token); │ end_location.EndAt(start_token);
end = start; │ end = start;
} │ }
│
│ // Users like to specify inclusive ranges, but in code we like the end
│ // number to be exclusive.
│ ++end;
│
range->set_start(start); │ range->set_start(start);
range->set_end(end); │ range->set_end(end);
first = false; │ first = false;
} while (TryConsume(",")); │ } while (TryConsume(","));
│
DO(ConsumeEndOfDeclaration(";", &parent_location)); │ DO(ConsumeEndOfDeclaration(";", &parent_location));
return true; │ return true;
} │
next prev up protobuf/src/google/protobuf/generated_message_reflection_unittest.cc:813 │ protobuf/src/google/protobuf/generated_message_reflection_unittest.cc:846
│
│ Arena arena;
│ unittest::TestAllExtensions* to_message =
│ Arena::CreateMessage<unittest::TestAllExtensions>(&arena);
unittest::TestAllExtensions from_message1; │ unittest::TestAllExtensions from_message1;
unittest::TestAllExtensions from_message2; │ unittest::TestAllExtensions from_message2;
unittest::TestAllExtensions to_message; │
TestUtil::ReflectionTester reflection_tester( │ TestUtil::ReflectionTester reflection_tester(
unittest::TestAllExtensions::descriptor()); │ unittest::TestAllExtensions::descriptor());
reflection_tester.SetAllFieldsViaReflection(&from_message1); │ reflection_tester.SetAllFieldsViaReflection(&from_message1);
reflection_tester.SetAllFieldsViaReflection(&from_message2); │ reflection_tester.SetAllFieldsViaReflection(&from_message2);
│
// Before moving fields, we expect the nested messages to be nullptr. │ // Before moving fields, we expect the nested messages to be nullptr.
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::IS_NULL); │ to_message, TestUtil::ReflectionTester::IS_NULL);
│
// After fields are moved we should get non-nullptr releases. │ // After fields are moved we should get non-nullptr releases.
reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection(
&from_message1, &to_message); │ &from_message1, to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::NOT_NULL); │ to_message, TestUtil::ReflectionTester::NOT_NULL);
│
// Another move to make sure that we can SetAllocated several times. │ // Another move to make sure that we can SetAllocated several times.
reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection(
&from_message2, &to_message); │ &from_message2, to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::NOT_NULL); │ to_message, TestUtil::ReflectionTester::NOT_NULL);
│
// After SetAllocatedOptionalMessageFieldsToNullViaReflection() we expect the │ // After SetAllocatedOptionalMessageFieldsToNullViaReflection() we expect the
// releases to be nullptr again. │ // releases to be nullptr again.
reflection_tester.SetAllocatedOptionalMessageFieldsToNullViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToNullViaReflection(
&to_message); │ to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::IS_NULL); │ to_message, TestUtil::ReflectionTester::IS_NULL);
} │
next prev up protobuf/src/google/protobuf/generated_message_reflection_unittest.cc:813 │ protobuf/src/google/protobuf/generated_message_reflection_unittest.cc:778
│
unittest::TestAllExtensions from_message1; │ unittest::TestAllTypes from_message1;
unittest::TestAllExtensions from_message2; │ unittest::TestAllTypes from_message2;
unittest::TestAllExtensions to_message; │ Arena arena;
│ unittest::TestAllTypes* to_message =
│ Arena::CreateMessage<unittest::TestAllTypes>(&arena);
TestUtil::ReflectionTester reflection_tester( │ TestUtil::ReflectionTester reflection_tester(
unittest::TestAllExtensions::descriptor()); │ unittest::TestAllTypes::descriptor());
reflection_tester.SetAllFieldsViaReflection(&from_message1); │ reflection_tester.SetAllFieldsViaReflection(&from_message1);
reflection_tester.SetAllFieldsViaReflection(&from_message2); │ reflection_tester.SetAllFieldsViaReflection(&from_message2);
│
// Before moving fields, we expect the nested messages to be nullptr. │ // Before moving fields, we expect the nested messages to be nullptr.
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::IS_NULL); │ to_message, TestUtil::ReflectionTester::IS_NULL);
│
// After fields are moved we should get non-nullptr releases. │ // After fields are moved we should get non-nullptr releases.
reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection(
&from_message1, &to_message); │ &from_message1, to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::NOT_NULL); │ to_message, TestUtil::ReflectionTester::NOT_NULL);
│
// Another move to make sure that we can SetAllocated several times. │ // Another move to make sure that we can SetAllocated several times.
reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection(
&from_message2, &to_message); │ &from_message2, to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::NOT_NULL); │ to_message, TestUtil::ReflectionTester::NOT_NULL);
│
// After SetAllocatedOptionalMessageFieldsToNullViaReflection() we expect the │ // After SetAllocatedOptionalMessageFieldsToNullViaReflection() we expect the
// releases to be nullptr again. │ // releases to be nullptr again.
reflection_tester.SetAllocatedOptionalMessageFieldsToNullViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToNullViaReflection(
&to_message); │ to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::IS_NULL); │ to_message, TestUtil::ReflectionTester::IS_NULL);
} │
next prev up protobuf/src/google/protobuf/descriptor_unittest.cc:2651 │ protobuf/src/google/protobuf/descriptor_unittest.cc:2626
│
// Test that enum_type() is nullptr for non-enum fields │ // Test that message_type() is nullptr for non-aggregate fields
│
typedef FieldDescriptor FD; // avoid ugly line wrapping │ typedef FieldDescriptor FD; // avoid ugly line wrapping
│
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_DOUBLE)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_DOUBLE));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_FLOAT)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_FLOAT));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_INT64)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_INT64));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_UINT64)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_UINT64));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_INT32)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_INT32));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_FIXED64)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_FIXED64));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_FIXED32)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_FIXED32));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_BOOL)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_BOOL));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_STRING)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_STRING));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_GROUP)); │ EXPECT_TRUE(nullptr != GetMessageDescriptorForFieldType(FD::TYPE_GROUP));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_MESSAGE)); │ EXPECT_TRUE(nullptr != GetMessageDescriptorForFieldType(FD::TYPE_MESSAGE));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_BYTES)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_BYTES));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_UINT32)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_UINT32));
EXPECT_TRUE(nullptr != GetEnumDescriptorForFieldType(FD::TYPE_ENUM)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_ENUM));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_SFIXED32)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_SFIXED32));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_SFIXED64)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_SFIXED64));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_SINT32)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_SINT32));
EXPECT_TRUE(nullptr == GetEnumDescriptorForFieldType(FD::TYPE_SINT64)); │ EXPECT_TRUE(nullptr == GetMessageDescriptorForFieldType(FD::TYPE_SINT64));
} │
next prev up protobuf/src/google/protobuf/generated_message_reflection_unittest.cc:745 │ protobuf/src/google/protobuf/generated_message_reflection_unittest.cc:846
│
unittest::TestAllTypes from_message1; │ Arena arena;
unittest::TestAllTypes from_message2; │ unittest::TestAllExtensions* to_message =
unittest::TestAllTypes to_message; │ Arena::CreateMessage<unittest::TestAllExtensions>(&arena);
│ unittest::TestAllExtensions from_message1;
│ unittest::TestAllExtensions from_message2;
TestUtil::ReflectionTester reflection_tester( │ TestUtil::ReflectionTester reflection_tester(
unittest::TestAllTypes::descriptor()); │ unittest::TestAllExtensions::descriptor());
reflection_tester.SetAllFieldsViaReflection(&from_message1); │ reflection_tester.SetAllFieldsViaReflection(&from_message1);
reflection_tester.SetAllFieldsViaReflection(&from_message2); │ reflection_tester.SetAllFieldsViaReflection(&from_message2);
│
// Before moving fields, we expect the nested messages to be nullptr. │ // Before moving fields, we expect the nested messages to be nullptr.
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::IS_NULL); │ to_message, TestUtil::ReflectionTester::IS_NULL);
│
// After fields are moved we should get non-nullptr releases. │ // After fields are moved we should get non-nullptr releases.
reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection(
&from_message1, &to_message); │ &from_message1, to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::NOT_NULL); │ to_message, TestUtil::ReflectionTester::NOT_NULL);
│
// Another move to make sure that we can SetAllocated several times. │ // Another move to make sure that we can SetAllocated several times.
reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection(
&from_message2, &to_message); │ &from_message2, to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::NOT_NULL); │ to_message, TestUtil::ReflectionTester::NOT_NULL);
│
// After SetAllocatedOptionalMessageFieldsToNullViaReflection() we expect the │ // After SetAllocatedOptionalMessageFieldsToNullViaReflection() we expect the
// releases to be nullptr again. │ // releases to be nullptr again.
reflection_tester.SetAllocatedOptionalMessageFieldsToNullViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToNullViaReflection(
&to_message); │ to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::IS_NULL); │ to_message, TestUtil::ReflectionTester::IS_NULL);
} │
next prev up protobuf/src/google/protobuf/generated_message_reflection_unittest.cc:745 │ protobuf/src/google/protobuf/generated_message_reflection_unittest.cc:778
│
unittest::TestAllTypes from_message1; │ unittest::TestAllTypes from_message1;
unittest::TestAllTypes from_message2; │ unittest::TestAllTypes from_message2;
unittest::TestAllTypes to_message; │ Arena arena;
│ unittest::TestAllTypes* to_message =
│ Arena::CreateMessage<unittest::TestAllTypes>(&arena);
TestUtil::ReflectionTester reflection_tester( │ TestUtil::ReflectionTester reflection_tester(
unittest::TestAllTypes::descriptor()); │ unittest::TestAllTypes::descriptor());
reflection_tester.SetAllFieldsViaReflection(&from_message1); │ reflection_tester.SetAllFieldsViaReflection(&from_message1);
reflection_tester.SetAllFieldsViaReflection(&from_message2); │ reflection_tester.SetAllFieldsViaReflection(&from_message2);
│
// Before moving fields, we expect the nested messages to be nullptr. │ // Before moving fields, we expect the nested messages to be nullptr.
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::IS_NULL); │ to_message, TestUtil::ReflectionTester::IS_NULL);
│
// After fields are moved we should get non-nullptr releases. │ // After fields are moved we should get non-nullptr releases.
reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection(
&from_message1, &to_message); │ &from_message1, to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::NOT_NULL); │ to_message, TestUtil::ReflectionTester::NOT_NULL);
│
// Another move to make sure that we can SetAllocated several times. │ // Another move to make sure that we can SetAllocated several times.
reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection(
&from_message2, &to_message); │ &from_message2, to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::NOT_NULL); │ to_message, TestUtil::ReflectionTester::NOT_NULL);
│
// After SetAllocatedOptionalMessageFieldsToNullViaReflection() we expect the │ // After SetAllocatedOptionalMessageFieldsToNullViaReflection() we expect the
// releases to be nullptr again. │ // releases to be nullptr again.
reflection_tester.SetAllocatedOptionalMessageFieldsToNullViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToNullViaReflection(
&to_message); │ to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::IS_NULL); │ to_message, TestUtil::ReflectionTester::IS_NULL);
} │
next prev up protobuf/src/google/protobuf/generated_message_reflection_unittest.cc:745 │ protobuf/src/google/protobuf/generated_message_reflection_unittest.cc:813
│
unittest::TestAllTypes from_message1; │ unittest::TestAllExtensions from_message1;
unittest::TestAllTypes from_message2; │ unittest::TestAllExtensions from_message2;
unittest::TestAllTypes to_message; │ unittest::TestAllExtensions to_message;
TestUtil::ReflectionTester reflection_tester( │ TestUtil::ReflectionTester reflection_tester(
unittest::TestAllTypes::descriptor()); │ unittest::TestAllExtensions::descriptor());
reflection_tester.SetAllFieldsViaReflection(&from_message1); │ reflection_tester.SetAllFieldsViaReflection(&from_message1);
reflection_tester.SetAllFieldsViaReflection(&from_message2); │ reflection_tester.SetAllFieldsViaReflection(&from_message2);
│
// Before moving fields, we expect the nested messages to be nullptr. │ // Before moving fields, we expect the nested messages to be nullptr.
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::IS_NULL); │ &to_message, TestUtil::ReflectionTester::IS_NULL);
│
// After fields are moved we should get non-nullptr releases. │ // After fields are moved we should get non-nullptr releases.
reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection(
&from_message1, &to_message); │ &from_message1, &to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::NOT_NULL); │ &to_message, TestUtil::ReflectionTester::NOT_NULL);
│
// Another move to make sure that we can SetAllocated several times. │ // Another move to make sure that we can SetAllocated several times.
reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToMessageViaReflection(
&from_message2, &to_message); │ &from_message2, &to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::NOT_NULL); │ &to_message, TestUtil::ReflectionTester::NOT_NULL);
│
// After SetAllocatedOptionalMessageFieldsToNullViaReflection() we expect the │ // After SetAllocatedOptionalMessageFieldsToNullViaReflection() we expect the
// releases to be nullptr again. │ // releases to be nullptr again.
reflection_tester.SetAllocatedOptionalMessageFieldsToNullViaReflection( │ reflection_tester.SetAllocatedOptionalMessageFieldsToNullViaReflection(
&to_message); │ &to_message);
reflection_tester.ExpectMessagesReleasedViaReflection( │ reflection_tester.ExpectMessagesReleasedViaReflection(
&to_message, TestUtil::ReflectionTester::IS_NULL); │ &to_message, TestUtil::ReflectionTester::IS_NULL);
} │
next prev up protobuf/src/google/protobuf/map_entry_lite.h:517 │ protobuf/src/google/protobuf/map_entry_lite.h:474
│
public: │ public:
using value_type = typename MapT::value_type; │ using value_type = typename MapT::value_type;
using storage_type = const typename MapT::value_type*; │ using storage_type = std::pair<typename MapT::key_type, const value_type*>;
│
// This const_iterator dereferenes the map entry pointer stored in the sorting │ // This const_iterator dereferenes to the map entry stored in the sorting
// array. This is the same interface as the Map::const_iterator type, and │ // array pairs. This is the same interface as the Map::const_iterator type,
// allows generated code to use the same loop body with either form: │ // and allows generated code to use the same loop body with either form:
// for (const auto& entry : map) { ... } │ // for (const auto& entry : map) { ... }
// for (const auto& entry : MapSorterPtr(map)) { ... } │ // for (const auto& entry : MapSorterFlat(map)) { ... }
struct const_iterator : public MapSorterIt<storage_type> { │ struct const_iterator : public MapSorterIt<storage_type> {
using pointer = const typename MapT::value_type*; │ using pointer = const typename MapT::value_type*;
using reference = const typename MapT::value_type&; │ using reference = const typename MapT::value_type&;
using MapSorterIt<storage_type>::MapSorterIt; │ using MapSorterIt<storage_type>::MapSorterIt;
│
pointer operator->() const { return *this->ptr; } │ pointer operator->() const { return this->ptr->second; }
reference operator*() const { return *this->operator->(); } │ reference operator*() const { return *this->operator->(); }
}; │ };
│
explicit MapSorterPtr(const MapT& m) │ explicit MapSorterFlat(const MapT& m)
: size_(m.size()), items_(size_ ? new storage_type[size_] : nullptr) { │ : size_(m.size()), items_(size_ ? new storage_type[size_] : nullptr) {
if (!size_) return; │ if (!size_) return;
storage_type* it = &items_[0]; │ storage_type* it = &items_[0];
for (const auto& entry : m) { │ for (const auto& entry : m) {
*it++ = &entry; │ *it++ = {entry.first, &entry};
} │ }
std::sort(&items_[0], &items_[size_], │ std::sort(&items_[0], &items_[size_],
[](const storage_type& a, const storage_type& b) { │ [](const storage_type& a, const storage_type& b) {
return a->first < b->first; │ return a.first < b.first;
}); │ });
} │ }
size_t size() const { return size_; } │ size_t size() const { return size_; }
const_iterator begin() const { return {items_.get()}; } │ const_iterator begin() const { return {items_.get()}; }
const_iterator end() const { return {items_.get() + size_}; } │ const_iterator end() const { return {items_.get() + size_}; }
│
private: │ private:
size_t size_; │ size_t size_;
std::unique_ptr<storage_type[]> items_; │ std::unique_ptr<storage_type[]> items_;
} │
next prev up protobuf/src/google/protobuf/extension_set.cc:1727 │ protobuf/src/google/protobuf/extension_set.cc:1361
│
#define HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE) \ │ #define HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE) \
case WireFormatLite::TYPE_##UPPERCASE: \ │ case WireFormatLite::TYPE_##UPPERCASE: \
for (int i = 0; i < repeated_##LOWERCASE##_value->size(); i++) { \ │ for (int i = 0; i < repeated_##LOWERCASE##_value->size(); i++) { \
target = stream->EnsureSpace(target); \ │ result += WireFormatLite::CAMELCASE##Size( \
target = WireFormatLite::Write##CAMELCASE##NoTagToArray( \ │ repeated_##LOWERCASE##_value->Get(i)); \
repeated_##LOWERCASE##_value->Get(i), target); \ │
} \ │ } \
break │ break
│
HANDLE_TYPE(INT32, Int32, int32_t); │ HANDLE_TYPE(INT32, Int32, int32_t);
HANDLE_TYPE(INT64, Int64, int64_t); │ HANDLE_TYPE(INT64, Int64, int64_t);
HANDLE_TYPE(UINT32, UInt32, uint32_t); │ HANDLE_TYPE(UINT32, UInt32, uint32_t);
HANDLE_TYPE(UINT64, UInt64, uint64_t); │ HANDLE_TYPE(UINT64, UInt64, uint64_t);
HANDLE_TYPE(SINT32, SInt32, int32_t); │ HANDLE_TYPE(SINT32, SInt32, int32_t);
HANDLE_TYPE(SINT64, SInt64, int64_t); │ HANDLE_TYPE(SINT64, SInt64, int64_t);
│ HANDLE_TYPE(ENUM, Enum, enum);
│ #undef HANDLE_TYPE
│
│ // Stuff with fixed size.
│ #define HANDLE_TYPE(UPPERCASE, CAMELCASE, LOWERCASE) \
│ case WireFormatLite::TYPE_##UPPERCASE: \
│ result += WireFormatLite::k##CAMELCASE##Size * \
│ FromIntSize(repeated_##LOWERCASE##_value->size()); \
│ break
HANDLE_TYPE(FIXED32, Fixed32, uint32_t); │ HANDLE_TYPE(FIXED32, Fixed32, uint32_t);
HANDLE_TYPE(FIXED64, Fixed64, uint64_t); │ HANDLE_TYPE(FIXED64, Fixed64, uint64_t);
HANDLE_TYPE(SFIXED32, SFixed32, int32_t); │ HANDLE_TYPE(SFIXED32, SFixed32, int32_t);
HANDLE_TYPE(SFIXED64, SFixed64, int64_t); │ HANDLE_TYPE(SFIXED64, SFixed64, int64_t);
HANDLE_TYPE(FLOAT, Float, float); │ HANDLE_TYPE(FLOAT, Float, float);
HANDLE_TYPE(DOUBLE, Double, double); │ HANDLE_TYPE(DOUBLE, Double, double);
HANDLE_TYPE(BOOL, Bool, bool); │ HANDLE_TYPE(BOOL, Bool, bool);
HANDLE_TYPE(ENUM, Enum, enum); │
#undef HANDLE_TYPE │ #undef HANDLE_TYPE
│
case WireFormatLite::TYPE_STRING: │ case WireFormatLite::TYPE_STRING:
case WireFormatLite::TYPE_BYTES: │ case WireFormatLite::TYPE_BYTES:
case WireFormatLite::TYPE_GROUP: │ case WireFormatLite::TYPE_GROUP:
case WireFormatLite::TYPE_MESSAGE: │ case WireFormatLite::TYPE_MESSAGE:
GOOGLE_LOG(FATAL) << "Non-primitive types can't be packed."; │ GOOGLE_LOG(FATAL) << "Non-primitive types can't be packed.";
break; │ break;
} │
next prev up protobuf/src/google/protobuf/util/message_differencer.cc:785 │ protobuf/src/google/protobuf/util/message_differencer.cc:830
│
// Field 1 is not in the field list for message 2. │ // Field 2 is not in the field list for message 1.
if (IsIgnored(message1, message2, field1, *parent_fields)) { │ if (IsIgnored(message1, message2, field2, *parent_fields)) {
// We are ignoring field1. Report the ignore and move on to │ // We are ignoring field2. Report the ignore and move on to
// the next field in message1_fields. │ // the next field in message2_fields.
if (reporter_ != NULL) { │ if (reporter_ != NULL) {
SpecificField specific_field; │ SpecificField specific_field;
specific_field.field = field1; │ specific_field.field = field2;
parent_fields->push_back(specific_field); │ parent_fields->push_back(specific_field);
if (report_ignores_) { │ if (report_ignores_) {
reporter_->ReportIgnored(message1, message2, *parent_fields); │ reporter_->ReportIgnored(message1, message2, *parent_fields);
} │ }
parent_fields->pop_back(); │ parent_fields->pop_back();
} │ }
++field_index1; │ ++field_index2;
continue; │ continue;
} │ }
│
if (reporter_ != NULL) { │ if (reporter_ != NULL) {
assert(field1 != NULL); │ int count = field2->is_repeated()
int count = field1->is_repeated() │ ? reflection2->FieldSize(message2, field2)
? reflection1->FieldSize(message1, field1) │
: 1; │ : 1;
│
for (int i = 0; i < count; ++i) { │ for (int i = 0; i < count; ++i) {
SpecificField specific_field; │ SpecificField specific_field;
specific_field.field = field1; │ specific_field.field = field2;
if (field1->is_repeated()) { │ if (field2->is_repeated()) {
AddSpecificIndex(&specific_field, message1, field1, i); │ specific_field.index = i;
│ AddSpecificNewIndex(&specific_field, message2, field2, i);
} else { │ } else {
specific_field.index = -1; │ specific_field.index = -1;
│ specific_field.new_index = -1;
} │ }
│
parent_fields->push_back(specific_field); │ parent_fields->push_back(specific_field);
reporter_->ReportDeleted(message1, message2, *parent_fields); │ reporter_->ReportAdded(message1, message2, *parent_fields);
parent_fields->pop_back(); │ parent_fields->pop_back();
} │ }
│
isDifferent = true; │ isDifferent = true;
} else { │ } else {
return false; │ return false;
} │ }
│
++field_index1; │ ++field_index2;
continue; │ continue;
} │
next prev up protobuf/src/google/protobuf/wire_format_lite.cc:125 │ protobuf/src/google/protobuf/wire_format_lite.cc:172
│
// Field number 0 is illegal. │ // Field number 0 is illegal.
if (WireFormatLite::GetTagFieldNumber(tag) == 0) return false; │ if (WireFormatLite::GetTagFieldNumber(tag) == 0) return false;
switch (WireFormatLite::GetTagWireType(tag)) { │ switch (WireFormatLite::GetTagWireType(tag)) {
case WireFormatLite::WIRETYPE_VARINT: { │ case WireFormatLite::WIRETYPE_VARINT: {
uint64_t value; │ uint64_t value;
if (!input->ReadVarint64(&value)) return false; │ if (!input->ReadVarint64(&value)) return false;
│ output->WriteVarint32(tag);
│ output->WriteVarint64(value);
return true; │ return true;
} │ }
case WireFormatLite::WIRETYPE_FIXED64: { │ case WireFormatLite::WIRETYPE_FIXED64: {
uint64_t value; │ uint64_t value;
if (!input->ReadLittleEndian64(&value)) return false; │ if (!input->ReadLittleEndian64(&value)) return false;
│ output->WriteVarint32(tag);
│ output->WriteLittleEndian64(value);
return true; │ return true;
} │ }
case WireFormatLite::WIRETYPE_LENGTH_DELIMITED: { │ case WireFormatLite::WIRETYPE_LENGTH_DELIMITED: {
uint32_t length; │ uint32_t length;
if (!input->ReadVarint32(&length)) return false; │ if (!input->ReadVarint32(&length)) return false;
if (!input->Skip(length)) return false; │ output->WriteVarint32(tag);
│ output->WriteVarint32(length);
│ // TODO(mkilavuz): Provide API to prevent extra string copying.
│ std::string temp;
│ if (!input->ReadString(&temp, length)) return false;
│ output->WriteString(temp);
return true; │ return true;
} │ }
case WireFormatLite::WIRETYPE_START_GROUP: { │ case WireFormatLite::WIRETYPE_START_GROUP: {
│ output->WriteVarint32(tag);
if (!input->IncrementRecursionDepth()) return false; │ if (!input->IncrementRecursionDepth()) return false;
if (!SkipMessage(input)) return false; │ if (!SkipMessage(input, output)) return false;
input->DecrementRecursionDepth(); │ input->DecrementRecursionDepth();
// Check that the ending tag matched the starting tag. │ // Check that the ending tag matched the starting tag.
if (!input->LastTagWas( │ if (!input->LastTagWas(
WireFormatLite::MakeTag(WireFormatLite::GetTagFieldNumber(tag), │ WireFormatLite::MakeTag(WireFormatLite::GetTagFieldNumber(tag),
WireFormatLite::WIRETYPE_END_GROUP))) { │ WireFormatLite::WIRETYPE_END_GROUP))) {
return false; │ return false;
} │ }
return true; │ return true;
} │ }
case WireFormatLite::WIRETYPE_END_GROUP: { │ case WireFormatLite::WIRETYPE_END_GROUP: {
return false; │ return false;
} │ }
case WireFormatLite::WIRETYPE_FIXED32: { │ case WireFormatLite::WIRETYPE_FIXED32: {
uint32_t value; │ uint32_t value;
if (!input->ReadLittleEndian32(&value)) return false; │ if (!input->ReadLittleEndian32(&value)) return false;
│ output->WriteVarint32(tag);
│ output->WriteLittleEndian32(value);
return true; │ return true;
} │ }
default: { │ default: {
return false; │ return false;
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/descriptor_unittest.cc:2509 │ protobuf/src/google/protobuf/descriptor_unittest.cc:2584
│
// Test that correct type names are returned. │ // Test that correct CPP type names are returned.
│
typedef FieldDescriptor FD; // avoid ugly line wrapping │ typedef FieldDescriptor FD; // avoid ugly line wrapping
│
EXPECT_STREQ("double", GetTypeNameForFieldType(FD::TYPE_DOUBLE)); │ EXPECT_STREQ("double", GetCppTypeNameForFieldType(FD::TYPE_DOUBLE));
EXPECT_STREQ("float", GetTypeNameForFieldType(FD::TYPE_FLOAT)); │ EXPECT_STREQ("float", GetCppTypeNameForFieldType(FD::TYPE_FLOAT));
EXPECT_STREQ("int64", GetTypeNameForFieldType(FD::TYPE_INT64)); │ EXPECT_STREQ("int64", GetCppTypeNameForFieldType(FD::TYPE_INT64));
EXPECT_STREQ("uint64", GetTypeNameForFieldType(FD::TYPE_UINT64)); │ EXPECT_STREQ("uint64", GetCppTypeNameForFieldType(FD::TYPE_UINT64));
EXPECT_STREQ("int32", GetTypeNameForFieldType(FD::TYPE_INT32)); │ EXPECT_STREQ("int32", GetCppTypeNameForFieldType(FD::TYPE_INT32));
EXPECT_STREQ("fixed64", GetTypeNameForFieldType(FD::TYPE_FIXED64)); │ EXPECT_STREQ("uint64", GetCppTypeNameForFieldType(FD::TYPE_FIXED64));
EXPECT_STREQ("fixed32", GetTypeNameForFieldType(FD::TYPE_FIXED32)); │ EXPECT_STREQ("uint32", GetCppTypeNameForFieldType(FD::TYPE_FIXED32));
EXPECT_STREQ("bool", GetTypeNameForFieldType(FD::TYPE_BOOL)); │ EXPECT_STREQ("bool", GetCppTypeNameForFieldType(FD::TYPE_BOOL));
EXPECT_STREQ("string", GetTypeNameForFieldType(FD::TYPE_STRING)); │ EXPECT_STREQ("string", GetCppTypeNameForFieldType(FD::TYPE_STRING));
EXPECT_STREQ("group", GetTypeNameForFieldType(FD::TYPE_GROUP)); │ EXPECT_STREQ("message", GetCppTypeNameForFieldType(FD::TYPE_GROUP));
EXPECT_STREQ("message", GetTypeNameForFieldType(FD::TYPE_MESSAGE)); │ EXPECT_STREQ("message", GetCppTypeNameForFieldType(FD::TYPE_MESSAGE));
EXPECT_STREQ("bytes", GetTypeNameForFieldType(FD::TYPE_BYTES)); │ EXPECT_STREQ("string", GetCppTypeNameForFieldType(FD::TYPE_BYTES));
EXPECT_STREQ("uint32", GetTypeNameForFieldType(FD::TYPE_UINT32)); │ EXPECT_STREQ("uint32", GetCppTypeNameForFieldType(FD::TYPE_UINT32));
EXPECT_STREQ("enum", GetTypeNameForFieldType(FD::TYPE_ENUM)); │ EXPECT_STREQ("enum", GetCppTypeNameForFieldType(FD::TYPE_ENUM));
EXPECT_STREQ("sfixed32", GetTypeNameForFieldType(FD::TYPE_SFIXED32)); │ EXPECT_STREQ("int32", GetCppTypeNameForFieldType(FD::TYPE_SFIXED32));
EXPECT_STREQ("sfixed64", GetTypeNameForFieldType(FD::TYPE_SFIXED64)); │ EXPECT_STREQ("int64", GetCppTypeNameForFieldType(FD::TYPE_SFIXED64));
EXPECT_STREQ("sint32", GetTypeNameForFieldType(FD::TYPE_SINT32)); │ EXPECT_STREQ("int32", GetCppTypeNameForFieldType(FD::TYPE_SINT32));
EXPECT_STREQ("sint64", GetTypeNameForFieldType(FD::TYPE_SINT64)); │ EXPECT_STREQ("int64", GetCppTypeNameForFieldType(FD::TYPE_SINT64));
} │
next prev up protobuf/src/google/protobuf/compiler/java/field.cc:146 │ protobuf/src/google/protobuf/compiler/java/field.cc:89
│
if (IsRealOneof(field)) { │ if (IsRealOneof(field)) {
switch (GetJavaType(field)) { │ switch (GetJavaType(field)) {
case JAVATYPE_MESSAGE: │ case JAVATYPE_MESSAGE:
return new ImmutableMessageOneofFieldLiteGenerator( │ return new ImmutableMessageOneofFieldGenerator(
field, messageBitIndex, context); │ field, messageBitIndex, builderBitIndex, context);
case JAVATYPE_ENUM: │ case JAVATYPE_ENUM:
return new ImmutableEnumOneofFieldLiteGenerator( │ return new ImmutableEnumOneofFieldGenerator(field, messageBitIndex,
field, messageBitIndex, context); │ builderBitIndex, context);
case JAVATYPE_STRING: │ case JAVATYPE_STRING:
return new ImmutableStringOneofFieldLiteGenerator( │ return new ImmutableStringOneofFieldGenerator(
field, messageBitIndex, context); │ field, messageBitIndex, builderBitIndex, context);
default: │ default:
return new ImmutablePrimitiveOneofFieldLiteGenerator( │ return new ImmutablePrimitiveOneofFieldGenerator(
field, messageBitIndex, context); │ field, messageBitIndex, builderBitIndex, context);
} │ }
} else { │ } else {
switch (GetJavaType(field)) { │ switch (GetJavaType(field)) {
case JAVATYPE_MESSAGE: │ case JAVATYPE_MESSAGE:
return new ImmutableMessageFieldLiteGenerator(field, messageBitIndex, │ return new ImmutableMessageFieldGenerator(field, messageBitIndex,
context); │ builderBitIndex, context);
case JAVATYPE_ENUM: │ case JAVATYPE_ENUM:
return new ImmutableEnumFieldLiteGenerator(field, messageBitIndex, │ return new ImmutableEnumFieldGenerator(field, messageBitIndex,
context); │ builderBitIndex, context);
case JAVATYPE_STRING: │ case JAVATYPE_STRING:
return new ImmutableStringFieldLiteGenerator(field, messageBitIndex, │ return new ImmutableStringFieldGenerator(field, messageBitIndex,
context); │ builderBitIndex, context);
default: │ default:
return new ImmutablePrimitiveFieldLiteGenerator( │ return new ImmutablePrimitiveFieldGenerator(field, messageBitIndex,
field, messageBitIndex, context); │ builderBitIndex, context);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/generated_message_reflection.cc:1291 │ protobuf/src/google/protobuf/generated_message_reflection.cc:298
│
switch (field->cpp_type()) { │
#define HANDLE_TYPE(UPPERCASE, LOWERCASE) \ │ #define HANDLE_TYPE(UPPERCASE, LOWERCASE) \
case FieldDescriptor::CPPTYPE_##UPPERCASE: \ │ case FieldDescriptor::CPPTYPE_##UPPERCASE: \
MutableRaw<RepeatedField<LOWERCASE> >(message, field)->Clear(); \ │ total_size += GetRaw<RepeatedField<LOWERCASE> >(message, field) \
│ .SpaceUsedExcludingSelfLong(); \
break │ break
│
HANDLE_TYPE(INT32, int32_t); │ HANDLE_TYPE(INT32, int32_t);
HANDLE_TYPE(INT64, int64_t); │ HANDLE_TYPE(INT64, int64_t);
HANDLE_TYPE(UINT32, uint32_t); │ HANDLE_TYPE(UINT32, uint32_t);
HANDLE_TYPE(UINT64, uint64_t); │ HANDLE_TYPE(UINT64, uint64_t);
HANDLE_TYPE(DOUBLE, double); │ HANDLE_TYPE(DOUBLE, double);
HANDLE_TYPE(FLOAT, float); │ HANDLE_TYPE(FLOAT, float);
HANDLE_TYPE(BOOL, bool); │ HANDLE_TYPE(BOOL, bool);
HANDLE_TYPE(ENUM, int); │ HANDLE_TYPE(ENUM, int);
#undef HANDLE_TYPE │ #undef HANDLE_TYPE
│
case FieldDescriptor::CPPTYPE_STRING: { │ case FieldDescriptor::CPPTYPE_STRING:
switch (field->options().ctype()) { │ switch (field->options().ctype()) {
default: // TODO(kenton): Support other string reps. │ default: // TODO(kenton): Support other string reps.
case FieldOptions::STRING: │ case FieldOptions::STRING:
MutableRaw<RepeatedPtrField<std::string> >(message, field)->Clear(); │ total_size +=
break; │ GetRaw<RepeatedPtrField<std::string> >(message, field)
} │ .SpaceUsedExcludingSelfLong();
break; │ break;
} │ }
│ break;
│
case FieldDescriptor::CPPTYPE_MESSAGE: { │ case FieldDescriptor::CPPTYPE_MESSAGE:
if (IsMapFieldInApi(field)) { │ if (IsMapFieldInApi(field)) {
MutableRaw<MapFieldBase>(message, field)->Clear(); │ total_size += GetRaw<internal::MapFieldBase>(message, field)
} else { │ .SpaceUsedExcludingSelfLong();
// We don't know which subclass of RepeatedPtrFieldBase the type is, │ } else {
// so we use RepeatedPtrFieldBase directly. │ // We don't know which subclass of RepeatedPtrFieldBase the type is,
MutableRaw<RepeatedPtrFieldBase>(message, field) │ // so we use RepeatedPtrFieldBase directly.
->Clear<GenericTypeHandler<Message> >(); │ total_size +=
} │ GetRaw<RepeatedPtrFieldBase>(message, field)
break; │ .SpaceUsedExcludingSelfLong<GenericTypeHandler<Message> >();
} │ }
} │
│
next prev up protobuf/src/google/protobuf/generated_message_reflection.cc:1341 │ protobuf/src/google/protobuf/generated_message_reflection.cc:1291
│
switch (field->cpp_type()) { │ switch (field->cpp_type()) {
#define HANDLE_TYPE(UPPERCASE, LOWERCASE) \ │ #define HANDLE_TYPE(UPPERCASE, LOWERCASE) \
case FieldDescriptor::CPPTYPE_##UPPERCASE: \ │ case FieldDescriptor::CPPTYPE_##UPPERCASE: \
MutableRaw<RepeatedField<LOWERCASE> >(message, field)->RemoveLast(); \ │ MutableRaw<RepeatedField<LOWERCASE> >(message, field)->Clear(); \
break │ break
│
HANDLE_TYPE(INT32, int32_t); │ HANDLE_TYPE(INT32, int32_t);
HANDLE_TYPE(INT64, int64_t); │ HANDLE_TYPE(INT64, int64_t);
HANDLE_TYPE(UINT32, uint32_t); │ HANDLE_TYPE(UINT32, uint32_t);
HANDLE_TYPE(UINT64, uint64_t); │ HANDLE_TYPE(UINT64, uint64_t);
HANDLE_TYPE(DOUBLE, double); │ HANDLE_TYPE(DOUBLE, double);
HANDLE_TYPE(FLOAT, float); │ HANDLE_TYPE(FLOAT, float);
HANDLE_TYPE(BOOL, bool); │ HANDLE_TYPE(BOOL, bool);
HANDLE_TYPE(ENUM, int); │ HANDLE_TYPE(ENUM, int);
#undef HANDLE_TYPE │ #undef HANDLE_TYPE
│
case FieldDescriptor::CPPTYPE_STRING: │ case FieldDescriptor::CPPTYPE_STRING: {
switch (field->options().ctype()) { │ switch (field->options().ctype()) {
default: // TODO(kenton): Support other string reps. │ default: // TODO(kenton): Support other string reps.
case FieldOptions::STRING: │ case FieldOptions::STRING:
MutableRaw<RepeatedPtrField<std::string> >(message, field) │ MutableRaw<RepeatedPtrField<std::string> >(message, field)->Clear();
->RemoveLast(); │
break; │ break;
} │ }
break; │ break;
│ }
│
case FieldDescriptor::CPPTYPE_MESSAGE: │ case FieldDescriptor::CPPTYPE_MESSAGE: {
if (IsMapFieldInApi(field)) { │ if (IsMapFieldInApi(field)) {
MutableRaw<MapFieldBase>(message, field) │ MutableRaw<MapFieldBase>(message, field)->Clear();
->MutableRepeatedField() │
->RemoveLast<GenericTypeHandler<Message> >(); │
} else { │ } else {
│ // We don't know which subclass of RepeatedPtrFieldBase the type is,
│ // so we use RepeatedPtrFieldBase directly.
MutableRaw<RepeatedPtrFieldBase>(message, field) │ MutableRaw<RepeatedPtrFieldBase>(message, field)
->RemoveLast<GenericTypeHandler<Message> >(); │ ->Clear<GenericTypeHandler<Message> >();
} │ }
break; │ break;
│ }
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/helpers.cc:528 │ protobuf/src/google/protobuf/compiler/java/helpers.cc:809
│
switch (field_type) { │ switch (GetType(field)) {
case FieldDescriptor::TYPE_INT32: │ case FieldDescriptor::TYPE_INT32:
return "INT32"; │ return "Int32";
case FieldDescriptor::TYPE_UINT32: │ case FieldDescriptor::TYPE_UINT32:
return "UINT32"; │ return "UInt32";
case FieldDescriptor::TYPE_SINT32: │ case FieldDescriptor::TYPE_SINT32:
return "SINT32"; │ return "SInt32";
case FieldDescriptor::TYPE_FIXED32: │ case FieldDescriptor::TYPE_FIXED32:
return "FIXED32"; │ return "Fixed32";
case FieldDescriptor::TYPE_SFIXED32: │ case FieldDescriptor::TYPE_SFIXED32:
return "SFIXED32"; │ return "SFixed32";
case FieldDescriptor::TYPE_INT64: │ case FieldDescriptor::TYPE_INT64:
return "INT64"; │ return "Int64";
case FieldDescriptor::TYPE_UINT64: │ case FieldDescriptor::TYPE_UINT64:
return "UINT64"; │ return "UInt64";
case FieldDescriptor::TYPE_SINT64: │ case FieldDescriptor::TYPE_SINT64:
return "SINT64"; │ return "SInt64";
case FieldDescriptor::TYPE_FIXED64: │ case FieldDescriptor::TYPE_FIXED64:
return "FIXED64"; │ return "Fixed64";
case FieldDescriptor::TYPE_SFIXED64: │ case FieldDescriptor::TYPE_SFIXED64:
return "SFIXED64"; │ return "SFixed64";
case FieldDescriptor::TYPE_FLOAT: │ case FieldDescriptor::TYPE_FLOAT:
return "FLOAT"; │ return "Float";
case FieldDescriptor::TYPE_DOUBLE: │ case FieldDescriptor::TYPE_DOUBLE:
return "DOUBLE"; │ return "Double";
case FieldDescriptor::TYPE_BOOL: │ case FieldDescriptor::TYPE_BOOL:
return "BOOL"; │ return "Bool";
case FieldDescriptor::TYPE_STRING: │ case FieldDescriptor::TYPE_STRING:
return "STRING"; │ return "String";
case FieldDescriptor::TYPE_BYTES: │ case FieldDescriptor::TYPE_BYTES: {
return "BYTES"; │ return "Bytes";
│ }
case FieldDescriptor::TYPE_ENUM: │ case FieldDescriptor::TYPE_ENUM:
return "ENUM"; │ return "Enum";
case FieldDescriptor::TYPE_GROUP: │ case FieldDescriptor::TYPE_GROUP:
return "GROUP"; │ return "Group";
case FieldDescriptor::TYPE_MESSAGE: │ case FieldDescriptor::TYPE_MESSAGE:
return "MESSAGE"; │ return "Message";
│
// No default because we want the compiler to complain if any new │ // No default because we want the compiler to complain if any new
// types are added. │ // types are added.
} │ }
│
GOOGLE_LOG(FATAL) << "Can't get here."; │ GOOGLE_LOG(FATAL) << "Can't get here.";
return NULL; │ return NULL;
} │
next prev up protobuf/src/google/protobuf/compiler/cpp/helpers.cc:664 │ protobuf/src/google/protobuf/compiler/java/helpers.cc:859
│
switch (type) { │ switch (type) {
case FieldDescriptor::TYPE_INT32: │ case FieldDescriptor::TYPE_INT32:
return "Int32"; │ return -1;
case FieldDescriptor::TYPE_INT64: │ case FieldDescriptor::TYPE_INT64:
return "Int64"; │ return -1;
case FieldDescriptor::TYPE_UINT32: │ case FieldDescriptor::TYPE_UINT32:
return "UInt32"; │ return -1;
case FieldDescriptor::TYPE_UINT64: │ case FieldDescriptor::TYPE_UINT64:
return "UInt64"; │ return -1;
case FieldDescriptor::TYPE_SINT32: │ case FieldDescriptor::TYPE_SINT32:
return "SInt32"; │ return -1;
case FieldDescriptor::TYPE_SINT64: │ case FieldDescriptor::TYPE_SINT64:
return "SInt64"; │ return -1;
case FieldDescriptor::TYPE_FIXED32: │ case FieldDescriptor::TYPE_FIXED32:
return "Fixed32"; │ return WireFormatLite::kFixed32Size;
case FieldDescriptor::TYPE_FIXED64: │ case FieldDescriptor::TYPE_FIXED64:
return "Fixed64"; │ return WireFormatLite::kFixed64Size;
case FieldDescriptor::TYPE_SFIXED32: │ case FieldDescriptor::TYPE_SFIXED32:
return "SFixed32"; │ return WireFormatLite::kSFixed32Size;
case FieldDescriptor::TYPE_SFIXED64: │ case FieldDescriptor::TYPE_SFIXED64:
return "SFixed64"; │ return WireFormatLite::kSFixed64Size;
case FieldDescriptor::TYPE_FLOAT: │ case FieldDescriptor::TYPE_FLOAT:
return "Float"; │ return WireFormatLite::kFloatSize;
case FieldDescriptor::TYPE_DOUBLE: │ case FieldDescriptor::TYPE_DOUBLE:
return "Double"; │ return WireFormatLite::kDoubleSize;
│
case FieldDescriptor::TYPE_BOOL: │ case FieldDescriptor::TYPE_BOOL:
return "Bool"; │ return WireFormatLite::kBoolSize;
case FieldDescriptor::TYPE_ENUM: │ case FieldDescriptor::TYPE_ENUM:
return "Enum"; │ return -1;
│
case FieldDescriptor::TYPE_STRING: │ case FieldDescriptor::TYPE_STRING:
return "String"; │ return -1;
case FieldDescriptor::TYPE_BYTES: │ case FieldDescriptor::TYPE_BYTES:
return "Bytes"; │ return -1;
case FieldDescriptor::TYPE_GROUP: │ case FieldDescriptor::TYPE_GROUP:
return "Group"; │ return -1;
case FieldDescriptor::TYPE_MESSAGE: │ case FieldDescriptor::TYPE_MESSAGE:
return "Message"; │ return -1;
│
// No default because we want the compiler to complain if any new │ // No default because we want the compiler to complain if any new
// types are added. │ // types are added.
} │ }
GOOGLE_LOG(FATAL) << "Can't get here."; │ GOOGLE_LOG(FATAL) << "Can't get here.";
return ""; │ return -1;
} │
next prev up protobuf/src/google/protobuf/compiler/csharp/csharp_repeated_enum_field.h:44 │ protobuf/src/google/protobuf/compiler/csharp/csharp_wrapper_field.h:44
│
public: │ public:
RepeatedEnumFieldGenerator(const FieldDescriptor* descriptor, │ WrapperFieldGenerator(const FieldDescriptor* descriptor,
int presenceIndex, │ int presenceIndex,
const Options *options); │ const Options *options);
~RepeatedEnumFieldGenerator(); │ ~WrapperFieldGenerator();
│
RepeatedEnumFieldGenerator(const RepeatedEnumFieldGenerator&) = delete; │ WrapperFieldGenerator(const WrapperFieldGenerator&) = delete;
RepeatedEnumFieldGenerator& operator=(const RepeatedEnumFieldGenerator&) = │ WrapperFieldGenerator& operator=(const WrapperFieldGenerator&) = delete;
delete; │
│
│ virtual void GenerateCodecCode(io::Printer* printer) override;
virtual void GenerateCloningCode(io::Printer* printer) override; │ virtual void GenerateCloningCode(io::Printer* printer) override;
virtual void GenerateFreezingCode(io::Printer* printer) override; │
virtual void GenerateMembers(io::Printer* printer) override; │ virtual void GenerateMembers(io::Printer* printer) override;
virtual void GenerateMergingCode(io::Printer* printer) override; │ virtual void GenerateMergingCode(io::Printer* printer) override;
virtual void GenerateParsingCode(io::Printer* printer) override; │ virtual void GenerateParsingCode(io::Printer* printer) override;
virtual void GenerateParsingCode(io::Printer* printer, bool use_parse_context) overrid │ virtual void GenerateParsingCode(io::Printer* printer, bool use_parse_context) overrid
virtual void GenerateSerializationCode(io::Printer* printer) override; │ virtual void GenerateSerializationCode(io::Printer* printer) override;
virtual void GenerateSerializationCode(io::Printer* printer, bool use_write_context) o │ virtual void GenerateSerializationCode(io::Printer* printer, bool use_write_context) o
virtual void GenerateSerializedSizeCode(io::Printer* printer) override; │ virtual void GenerateSerializedSizeCode(io::Printer* printer) override;
virtual void GenerateExtensionCode(io::Printer* printer) override; │ virtual void GenerateExtensionCode(io::Printer* printer) override;
│
virtual void WriteHash(io::Printer* printer) override; │ virtual void WriteHash(io::Printer* printer) override;
virtual void WriteEquals(io::Printer* printer) override; │ virtual void WriteEquals(io::Printer* printer) override;
virtual void WriteToString(io::Printer* printer) override; │ virtual void WriteToString(io::Printer* printer) override;
│
│ private:
│ bool is_value_type; // True for int32 etc; false for bytes and string
} │
next prev up protobuf/src/google/protobuf/extension_set.cc:831 │ protobuf/src/google/protobuf/extension_set.cc:886
│
Extension* extension = FindOrNull(number); │ Extension* extension = FindOrNull(number);
GOOGLE_CHECK(extension != nullptr) << "Index out-of-bounds (field is empty)."; │ GOOGLE_CHECK(extension != nullptr) << "Index out-of-bounds (field is empty).";
GOOGLE_DCHECK(extension->is_repeated); │ GOOGLE_DCHECK(extension->is_repeated);
│
switch (cpp_type(extension->type)) { │ switch (cpp_type(extension->type)) {
case WireFormatLite::CPPTYPE_INT32: │ case WireFormatLite::CPPTYPE_INT32:
extension->repeated_int32_t_value->RemoveLast(); │ extension->repeated_int32_t_value->SwapElements(index1, index2);
break; │ break;
case WireFormatLite::CPPTYPE_INT64: │ case WireFormatLite::CPPTYPE_INT64:
extension->repeated_int64_t_value->RemoveLast(); │ extension->repeated_int64_t_value->SwapElements(index1, index2);
break; │ break;
case WireFormatLite::CPPTYPE_UINT32: │ case WireFormatLite::CPPTYPE_UINT32:
extension->repeated_uint32_t_value->RemoveLast(); │ extension->repeated_uint32_t_value->SwapElements(index1, index2);
break; │ break;
case WireFormatLite::CPPTYPE_UINT64: │ case WireFormatLite::CPPTYPE_UINT64:
extension->repeated_uint64_t_value->RemoveLast(); │ extension->repeated_uint64_t_value->SwapElements(index1, index2);
break; │ break;
case WireFormatLite::CPPTYPE_FLOAT: │ case WireFormatLite::CPPTYPE_FLOAT:
extension->repeated_float_value->RemoveLast(); │ extension->repeated_float_value->SwapElements(index1, index2);
break; │ break;
case WireFormatLite::CPPTYPE_DOUBLE: │ case WireFormatLite::CPPTYPE_DOUBLE:
extension->repeated_double_value->RemoveLast(); │ extension->repeated_double_value->SwapElements(index1, index2);
break; │ break;
case WireFormatLite::CPPTYPE_BOOL: │ case WireFormatLite::CPPTYPE_BOOL:
extension->repeated_bool_value->RemoveLast(); │ extension->repeated_bool_value->SwapElements(index1, index2);
break; │ break;
case WireFormatLite::CPPTYPE_ENUM: │ case WireFormatLite::CPPTYPE_ENUM:
extension->repeated_enum_value->RemoveLast(); │ extension->repeated_enum_value->SwapElements(index1, index2);
break; │ break;
case WireFormatLite::CPPTYPE_STRING: │ case WireFormatLite::CPPTYPE_STRING:
extension->repeated_string_value->RemoveLast(); │ extension->repeated_string_value->SwapElements(index1, index2);
break; │ break;
case WireFormatLite::CPPTYPE_MESSAGE: │ case WireFormatLite::CPPTYPE_MESSAGE:
extension->repeated_message_value->RemoveLast(); │ extension->repeated_message_value->SwapElements(index1, index2);
break; │ break;
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/csharp/csharp_message_field.cc:219 │ protobuf/src/google/protobuf/compiler/csharp/csharp_wrapper_field.cc:221
│
│ // Note: deliberately _oneof_$name$_codec, not _$oneof_name$_codec... we have one code
│ printer->Print(
│ variables_,
│ "private static readonly pb::FieldCodec<$type_name$> _oneof_$name$_codec = ");
│ GenerateCodecCode(printer);
│ printer->Print(";\n");
WritePropertyDocComment(printer, descriptor_); │ WritePropertyDocComment(printer, descriptor_);
AddPublicMemberAttributes(printer); │ AddPublicMemberAttributes(printer);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$access_level$ $type_name$ $property_name$ {\n" │ "$access_level$ $type_name$ $property_name$ {\n"
" get { return $has_property_check$ ? ($type_name$) $oneof_name$_ : null; }\n" │ " get { return $has_property_check$ ? ($type_name$) $oneof_name$_ : ($type_name$) n
" set {\n" │ " set {\n"
" $oneof_name$_ = value;\n" │ " $oneof_name$_ = value;\n"
" $oneof_name$Case_ = value == null ? $oneof_property_name$OneofCase.None : $oneo │ " $oneof_name$Case_ = value == null ? $oneof_property_name$OneofCase.None : $oneo
" }\n" │ " }\n"
"}\n"); │ "}\n");
if (SupportsPresenceApi(descriptor_)) { │ if (SupportsPresenceApi(descriptor_)) {
printer->Print( │ printer->Print(
variables_, │ variables_,
"/// <summary>Gets whether the \"$descriptor_name$\" field is set</summary>\n"); │ "/// <summary>Gets whether the \"$descriptor_name$\" field is set</summary>\n");
AddPublicMemberAttributes(printer); │ AddPublicMemberAttributes(printer);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$access_level$ bool Has$property_name$ {\n" │ "$access_level$ bool Has$property_name$ {\n"
" get { return $oneof_name$Case_ == $oneof_property_name$OneofCase.$oneof_case_na │ " get { return $oneof_name$Case_ == $oneof_property_name$OneofCase.$oneof_case_na
"}\n"); │ "}\n");
printer->Print( │ printer->Print(
variables_, │ variables_,
"/// <summary> Clears the value of the oneof if it's currently set to \"$descripto │ "/// <summary> Clears the value of the oneof if it's currently set to \"$descripto
AddPublicMemberAttributes(printer); │ AddPublicMemberAttributes(printer);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$access_level$ void Clear$property_name$() {\n" │ "$access_level$ void Clear$property_name$() {\n"
" if ($has_property_check$) {\n" │ " if ($has_property_check$) {\n"
" Clear$oneof_property_name$();\n" │ " Clear$oneof_property_name$();\n"
" }\n" │ " }\n"
"}\n"); │ "}\n");
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/csharp/csharp_message_field.cc:219 │ protobuf/src/google/protobuf/compiler/csharp/csharp_primitive_field.cc:280
│
WritePropertyDocComment(printer, descriptor_); │ WritePropertyDocComment(printer, descriptor_);
AddPublicMemberAttributes(printer); │ AddPublicMemberAttributes(printer);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$access_level$ $type_name$ $property_name$ {\n" │ "$access_level$ $type_name$ $property_name$ {\n"
" get { return $has_property_check$ ? ($type_name$) $oneof_name$_ : null; }\n" │ " get { return $has_property_check$ ? ($type_name$) $oneof_name$_ : $default_value$
" set {\n" │ " set {\n");
" $oneof_name$_ = value;\n" │ if (is_value_type) {
" $oneof_name$Case_ = value == null ? $oneof_property_name$OneofCase.None : $oneo │ printer->Print(
│ variables_,
│ " $oneof_name$_ = value;\n");
│ } else {
│ printer->Print(
│ variables_,
│ " $oneof_name$_ = pb::ProtoPreconditions.CheckNotNull(value, \"value\");\n");
│ }
│ printer->Print(
│ variables_,
│ " $oneof_name$Case_ = $oneof_property_name$OneofCase.$oneof_case_name$;\n"
" }\n" │ " }\n"
"}\n"); │ "}\n");
if (SupportsPresenceApi(descriptor_)) { │ if (SupportsPresenceApi(descriptor_)) {
printer->Print( │ printer->Print(
variables_, │ variables_,
"/// <summary>Gets whether the \"$descriptor_name$\" field is set</summary>\n"); │ "/// <summary>Gets whether the \"$descriptor_name$\" field is set</summary>\n");
AddPublicMemberAttributes(printer); │ AddPublicMemberAttributes(printer);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$access_level$ bool Has$property_name$ {\n" │ "$access_level$ bool Has$property_name$ {\n"
" get { return $oneof_name$Case_ == $oneof_property_name$OneofCase.$oneof_case_na │ " get { return $oneof_name$Case_ == $oneof_property_name$OneofCase.$oneof_case_na
"}\n"); │ "}\n");
printer->Print( │ printer->Print(
variables_, │ variables_,
"/// <summary> Clears the value of the oneof if it's currently set to \"$descripto │ "/// <summary> Clears the value of the oneof if it's currently set to \"$descripto
AddPublicMemberAttributes(printer); │ AddPublicMemberAttributes(printer);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$access_level$ void Clear$property_name$() {\n" │ "$access_level$ void Clear$property_name$() {\n"
" if ($has_property_check$) {\n" │ " if ($has_property_check$) {\n"
" Clear$oneof_property_name$();\n" │ " Clear$oneof_property_name$();\n"
" }\n" │ " }\n"
"}\n"); │ "}\n");
} │ }
} │
next prev up protobuf/src/google/protobuf/util/internal/protostream_objectwriter_test.cc:571 │ protobuf/src/google/protobuf/util/internal/protostream_objectwriter_test.cc:538
│
Primitive full; │ Primitive full;
full.set_double_(std::numeric_limits<double>::quiet_NaN()); │ full.set_double_(std::numeric_limits<double>::infinity());
full.set_float_(std::numeric_limits<float>::quiet_NaN()); │ full.set_float_(std::numeric_limits<float>::infinity());
full.set_str("NaN"); │ full.set_str("-Infinity");
│
ResetTypeInfo(Primitive::descriptor()); │ ResetTypeInfo(Primitive::descriptor());
│
EXPECT_CALL(listener_, InvalidValue(_, StringPiece("TYPE_INT32"), │ EXPECT_CALL(listener_, InvalidValue(_, StringPiece("TYPE_INT32"),
StringPiece("\"NaN\""))) │ StringPiece("\"Infinity\"")))
.With(Args<0>(HasObjectLocation("i32"))); │ .With(Args<0>(HasObjectLocation("i32")));
EXPECT_CALL(listener_, InvalidValue(_, StringPiece("TYPE_UINT32"), │ EXPECT_CALL(listener_, InvalidValue(_, StringPiece("TYPE_UINT32"),
StringPiece("\"NaN\""))) │ StringPiece("\"Infinity\"")))
.With(Args<0>(HasObjectLocation("u32"))); │ .With(Args<0>(HasObjectLocation("u32")));
EXPECT_CALL(listener_, InvalidValue(_, StringPiece("TYPE_SFIXED64"), │ EXPECT_CALL(listener_, InvalidValue(_, StringPiece("TYPE_SFIXED64"),
StringPiece("\"NaN\""))) │ StringPiece("\"-Infinity\"")))
.With(Args<0>(HasObjectLocation("sf64"))); │ .With(Args<0>(HasObjectLocation("sf64")));
EXPECT_CALL(listener_, InvalidValue(_, StringPiece("TYPE_BOOL"), │ EXPECT_CALL(listener_, InvalidValue(_, StringPiece("TYPE_BOOL"),
StringPiece("\"NaN\""))) │ StringPiece("\"Infinity\"")))
.With(Args<0>(HasObjectLocation("bool"))); │ .With(Args<0>(HasObjectLocation("bool")));
│
ow_->StartObject("") │ ow_->StartObject("")
->RenderString("double", "NaN") │ ->RenderString("double", "Infinity")
->RenderString("float", "NaN") │ ->RenderString("float", "Infinity")
->RenderString("i32", "NaN") │ ->RenderString("i32", "Infinity")
->RenderString("u32", "NaN") │ ->RenderString("u32", "Infinity")
->RenderString("sf64", "NaN") │ ->RenderString("sf64", "-Infinity")
->RenderString("str", "NaN") │ ->RenderString("str", "-Infinity")
->RenderString("bool", "NaN") │ ->RenderString("bool", "Infinity")
->EndObject(); │ ->EndObject();
│
CheckOutput(full); │ CheckOutput(full);
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1143 │ protobuf/src/google/protobuf/reflection_tester.cc:1114
│
std::map<int64_t, int64_t> map; │ std::map<int32_t, int32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>( │ reflection->GetRaw<internal::MapFieldBase>(
message, F("map_sfixed64_sfixed64")); │ message, F("map_sfixed32_sfixed32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message = &reflection->GetRepeatedMessage(
message, F("map_sfixed64_sfixed64"), i); │ message, F("map_sfixed32_sfixed32"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_sfixed64_sfixed64_key_); │ *sub_message, map_sfixed32_sfixed32_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_sfixed64_sfixed64_val_); │ *sub_message, map_sfixed32_sfixed32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_sfixed64_sfixed64"), map_key)); │ message, F("map_sfixed32_sfixed32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, │ EXPECT_TRUE(reflection->LookupMapValue(message,
F("map_sfixed64_sfixed64"), │ F("map_sfixed32_sfixed32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:946 │ protobuf/src/google/protobuf/reflection_tester.cc:1316
│
std::map<uint32_t, uint32_t> map; │ std::map<int32_t, const EnumValueDescriptor*> map;
map[0] = 0; │ map[0] = map_enum_bar_;
map[1] = 1; │ map[1] = map_enum_baz_;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_uint32_uint32")); │ F("map_int32_enum"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_uint32_uint32"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_enum"), i);
uint32_t key = sub_message->GetReflection()->GetUInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_uint32_uint32_key_); │ *sub_message, map_int32_enum_key_);
uint32_t val = sub_message->GetReflection()->GetUInt32( │ const EnumValueDescriptor* val = sub_message->GetReflection()->GetEnum(
*sub_message, map_uint32_uint32_val_); │ *sub_message, map_int32_enum_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint32_uint32"), │ EXPECT_EQ(true, reflection->ContainsMapKey(message, F("map_int32_enum"),
map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint32_uint32"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_enum"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetEnumValue(), map[i]->number());
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:974 │ protobuf/src/google/protobuf/reflection_tester.cc:1316
│
std::map<uint64_t, uint64_t> map; │ std::map<int32_t, const EnumValueDescriptor*> map;
map[0] = 0; │ map[0] = map_enum_bar_;
map[1] = 1; │ map[1] = map_enum_baz_;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_uint64_uint64")); │ F("map_int32_enum"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_uint64_uint64"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_enum"), i);
uint64_t key = sub_message->GetReflection()->GetUInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_uint64_uint64_key_); │ *sub_message, map_int32_enum_key_);
uint64_t val = sub_message->GetReflection()->GetUInt64( │ const EnumValueDescriptor* val = sub_message->GetReflection()->GetEnum(
*sub_message, map_uint64_uint64_val_); │ *sub_message, map_int32_enum_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint64_uint64"), │ EXPECT_EQ(true, reflection->ContainsMapKey(message, F("map_int32_enum"),
map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint64_uint64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_enum"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetEnumValue(), map[i]->number());
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:946 │ protobuf/src/google/protobuf/reflection_tester.cc:1114
│
std::map<uint32_t, uint32_t> map; │ std::map<int32_t, int32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_uint32_uint32")); │ message, F("map_sfixed32_sfixed32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_uint32_uint32"), i); │ message, F("map_sfixed32_sfixed32"), i);
uint32_t key = sub_message->GetReflection()->GetUInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_uint32_uint32_key_); │ *sub_message, map_sfixed32_sfixed32_key_);
uint32_t val = sub_message->GetReflection()->GetUInt32( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_uint32_uint32_val_); │ *sub_message, map_sfixed32_sfixed32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint32_uint32"), │ EXPECT_EQ(true, reflection->ContainsMapKey(
map_key)); │ message, F("map_sfixed32_sfixed32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint32_uint32"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed32_sfixed32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:974 │ protobuf/src/google/protobuf/reflection_tester.cc:1114
│
std::map<uint64_t, uint64_t> map; │ std::map<int32_t, int32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_uint64_uint64")); │ message, F("map_sfixed32_sfixed32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_uint64_uint64"), i); │ message, F("map_sfixed32_sfixed32"), i);
uint64_t key = sub_message->GetReflection()->GetUInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_uint64_uint64_key_); │ *sub_message, map_sfixed32_sfixed32_key_);
uint64_t val = sub_message->GetReflection()->GetUInt64( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_uint64_uint64_val_); │ *sub_message, map_sfixed32_sfixed32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint64_uint64"), │ EXPECT_EQ(true, reflection->ContainsMapKey(
map_key)); │ message, F("map_sfixed32_sfixed32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint64_uint64"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed32_sfixed32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:946 │ protobuf/src/google/protobuf/reflection_tester.cc:1143
│
std::map<uint32_t, uint32_t> map; │ std::map<int64_t, int64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_uint32_uint32")); │ message, F("map_sfixed64_sfixed64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_uint32_uint32"), i); │ message, F("map_sfixed64_sfixed64"), i);
uint32_t key = sub_message->GetReflection()->GetUInt32( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_uint32_uint32_key_); │ *sub_message, map_sfixed64_sfixed64_key_);
uint32_t val = sub_message->GetReflection()->GetUInt32( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_uint32_uint32_val_); │ *sub_message, map_sfixed64_sfixed64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt32Value(i); │ map_key.SetInt64Value(i);
EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint32_uint32"), │ EXPECT_EQ(true, reflection->ContainsMapKey(
map_key)); │ message, F("map_sfixed64_sfixed64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint32_uint32"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed64_sfixed64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:974 │ protobuf/src/google/protobuf/reflection_tester.cc:1143
│
std::map<uint64_t, uint64_t> map; │ std::map<int64_t, int64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_uint64_uint64")); │ message, F("map_sfixed64_sfixed64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_uint64_uint64"), i); │ message, F("map_sfixed64_sfixed64"), i);
uint64_t key = sub_message->GetReflection()->GetUInt64( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_uint64_uint64_key_); │ *sub_message, map_sfixed64_sfixed64_key_);
uint64_t val = sub_message->GetReflection()->GetUInt64( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_uint64_uint64_val_); │ *sub_message, map_sfixed64_sfixed64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt64Value(i); │ map_key.SetInt64Value(i);
EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint64_uint64"), │ EXPECT_EQ(true, reflection->ContainsMapKey(
map_key)); │ message, F("map_sfixed64_sfixed64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint64_uint64"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed64_sfixed64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:974 │ protobuf/src/google/protobuf/reflection_tester.cc:946
│
std::map<uint64_t, uint64_t> map; │ std::map<uint32_t, uint32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_uint64_uint64")); │ F("map_uint32_uint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_uint64_uint64"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint32_uint32"), i);
uint64_t key = sub_message->GetReflection()->GetUInt64( │ uint32_t key = sub_message->GetReflection()->GetUInt32(
*sub_message, map_uint64_uint64_key_); │ *sub_message, map_uint32_uint32_key_);
uint64_t val = sub_message->GetReflection()->GetUInt64( │ uint32_t val = sub_message->GetReflection()->GetUInt32(
*sub_message, map_uint64_uint64_val_); │ *sub_message, map_uint32_uint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt64Value(i); │ map_key.SetUInt32Value(i);
EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint64_uint64"), │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint32_uint32"),
map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint64_uint64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint32_uint32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/wire_format.cc:1536 │ protobuf/src/google/protobuf/wire_format.cc:1576
│
case FieldDescriptor::TYPE_DOUBLE: │
case FieldDescriptor::TYPE_FLOAT: │
case FieldDescriptor::TYPE_GROUP: │ case FieldDescriptor::TYPE_GROUP:
case FieldDescriptor::TYPE_MESSAGE: │
case FieldDescriptor::TYPE_BYTES: │
case FieldDescriptor::TYPE_ENUM: │
GOOGLE_LOG(FATAL) << "Unsupported"; │ GOOGLE_LOG(FATAL) << "Unsupported";
return 0; │ return 0;
#define CASE_TYPE(FieldType, CamelFieldType, CamelCppType) \ │ #define CASE_TYPE(FieldType, CamelFieldType, CamelCppType) \
case FieldDescriptor::TYPE_##FieldType: \ │ case FieldDescriptor::TYPE_##FieldType: \
return WireFormatLite::CamelFieldType##Size( \ │ return WireFormatLite::CamelFieldType##Size( \
value.Get##CamelCppType##Value()); │ value.Get##CamelCppType##Value());
│
#define FIXED_CASE_TYPE(FieldType, CamelFieldType) \ │ #define FIXED_CASE_TYPE(FieldType, CamelFieldType) \
case FieldDescriptor::TYPE_##FieldType: \ │ case FieldDescriptor::TYPE_##FieldType: \
return WireFormatLite::k##CamelFieldType##Size; │ return WireFormatLite::k##CamelFieldType##Size;
│
CASE_TYPE(INT32, Int32, Int32); │ CASE_TYPE(INT32, Int32, Int32);
CASE_TYPE(INT64, Int64, Int64); │ CASE_TYPE(INT64, Int64, Int64);
CASE_TYPE(UINT32, UInt32, UInt32); │ CASE_TYPE(UINT32, UInt32, UInt32);
CASE_TYPE(UINT64, UInt64, UInt64); │ CASE_TYPE(UINT64, UInt64, UInt64);
CASE_TYPE(SINT32, SInt32, Int32); │ CASE_TYPE(SINT32, SInt32, Int32);
CASE_TYPE(SINT64, SInt64, Int64); │ CASE_TYPE(SINT64, SInt64, Int64);
CASE_TYPE(STRING, String, String); │ CASE_TYPE(STRING, String, String);
│ CASE_TYPE(BYTES, Bytes, String);
│ CASE_TYPE(ENUM, Enum, Enum);
│ CASE_TYPE(MESSAGE, Message, Message);
FIXED_CASE_TYPE(FIXED32, Fixed32); │ FIXED_CASE_TYPE(FIXED32, Fixed32);
FIXED_CASE_TYPE(FIXED64, Fixed64); │ FIXED_CASE_TYPE(FIXED64, Fixed64);
FIXED_CASE_TYPE(SFIXED32, SFixed32); │ FIXED_CASE_TYPE(SFIXED32, SFixed32);
FIXED_CASE_TYPE(SFIXED64, SFixed64); │ FIXED_CASE_TYPE(SFIXED64, SFixed64);
│ FIXED_CASE_TYPE(DOUBLE, Double);
│ FIXED_CASE_TYPE(FLOAT, Float);
FIXED_CASE_TYPE(BOOL, Bool); │ FIXED_CASE_TYPE(BOOL, Bool);
│
#undef CASE_TYPE │ #undef CASE_TYPE
#undef FIXED_CASE_TYPE │ #undef FIXED_CASE_TYPE
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1288 │ protobuf/src/google/protobuf/reflection_tester.cc:1316
│
std::map<int32_t, std::string> map; │ std::map<int32_t, const EnumValueDescriptor*> map;
map[0] = "0"; │ map[0] = map_enum_bar_;
map[1] = "1"; │ map[1] = map_enum_baz_;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_bytes")); │ F("map_int32_enum"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_bytes"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_enum"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_bytes_key_); │ *sub_message, map_int32_enum_key_);
std::string val = sub_message->GetReflection()->GetString( │ const EnumValueDescriptor* val = sub_message->GetReflection()->GetEnum(
*sub_message, map_int32_bytes_val_); │ *sub_message, map_int32_enum_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(message, F("map_int32_enum"),
message, F("map_int32_bytes"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_bytes"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_enum"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetStringValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetEnumValue(), map[i]->number());
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1288 │ protobuf/src/google/protobuf/reflection_tester.cc:1114
│
std::map<int32_t, std::string> map; │ std::map<int32_t, int32_t> map;
map[0] = "0"; │ map[0] = 0;
map[1] = "1"; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_int32_bytes")); │ message, F("map_sfixed32_sfixed32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_int32_bytes"), i); │ message, F("map_sfixed32_sfixed32"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_bytes_key_); │ *sub_message, map_sfixed32_sfixed32_key_);
std::string val = sub_message->GetReflection()->GetString( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_bytes_val_); │ *sub_message, map_sfixed32_sfixed32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_int32_bytes"), map_key)); │ message, F("map_sfixed32_sfixed32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_bytes"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed32_sfixed32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetStringValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1288 │ protobuf/src/google/protobuf/reflection_tester.cc:1143
│
std::map<int32_t, std::string> map; │ std::map<int64_t, int64_t> map;
map[0] = "0"; │ map[0] = 0;
map[1] = "1"; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_int32_bytes")); │ message, F("map_sfixed64_sfixed64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_int32_bytes"), i); │ message, F("map_sfixed64_sfixed64"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_int32_bytes_key_); │ *sub_message, map_sfixed64_sfixed64_key_);
std::string val = sub_message->GetReflection()->GetString( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_int32_bytes_val_); │ *sub_message, map_sfixed64_sfixed64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_int32_bytes"), map_key)); │ message, F("map_sfixed64_sfixed64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_bytes"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed64_sfixed64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetStringValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1288 │ protobuf/src/google/protobuf/reflection_tester.cc:946
│
std::map<int32_t, std::string> map; │ std::map<uint32_t, uint32_t> map;
map[0] = "0"; │ map[0] = 0;
map[1] = "1"; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_bytes")); │ F("map_uint32_uint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_bytes"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint32_uint32"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ uint32_t key = sub_message->GetReflection()->GetUInt32(
*sub_message, map_int32_bytes_key_); │ *sub_message, map_uint32_uint32_key_);
std::string val = sub_message->GetReflection()->GetString( │ uint32_t val = sub_message->GetReflection()->GetUInt32(
*sub_message, map_int32_bytes_val_); │ *sub_message, map_uint32_uint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetUInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint32_uint32"),
message, F("map_int32_bytes"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_bytes"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint32_uint32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetStringValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1288 │ protobuf/src/google/protobuf/reflection_tester.cc:974
│
std::map<int32_t, std::string> map; │ std::map<uint64_t, uint64_t> map;
map[0] = "0"; │ map[0] = 0;
map[1] = "1"; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_bytes")); │ F("map_uint64_uint64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_bytes"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint64_uint64"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ uint64_t key = sub_message->GetReflection()->GetUInt64(
*sub_message, map_int32_bytes_key_); │ *sub_message, map_uint64_uint64_key_);
std::string val = sub_message->GetReflection()->GetString( │ uint64_t val = sub_message->GetReflection()->GetUInt64(
*sub_message, map_int32_bytes_val_); │ *sub_message, map_uint64_uint64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetUInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint64_uint64"),
message, F("map_int32_bytes"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_bytes"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint64_uint64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetStringValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1002 │ protobuf/src/google/protobuf/reflection_tester.cc:1258
│
std::map<int32_t, int32_t> map; │ std::map<std::string, std::string> map;
map[0] = 0; │ map["0"] = "0";
map[1] = 1; │ map["1"] = "1";
│ std::vector<std::string> keys = {"0", "1"};
│ std::vector<std::string> vals = {"0", "1"};
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_sint32_sint32")); │ F("map_string_string"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_sint32_sint32"), i); │ &reflection->GetRepeatedMessage(message, F("map_string_string"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ std::string key = sub_message->GetReflection()->GetString(
*sub_message, map_sint32_sint32_key_); │ *sub_message, map_string_string_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ std::string val = sub_message->GetReflection()->GetString(
*sub_message, map_sint32_sint32_val_); │ *sub_message, map_string_string_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetStringValue(keys[i]);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_sint32_sint32"), map_key)); │ message, F("map_string_string"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint32_sint32"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_string_string"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetStringValue(), vals[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1030 │ protobuf/src/google/protobuf/reflection_tester.cc:1258
│
std::map<int64_t, int64_t> map; │ std::map<std::string, std::string> map;
map[0] = 0; │ map["0"] = "0";
map[1] = 1; │ map["1"] = "1";
│ std::vector<std::string> keys = {"0", "1"};
│ std::vector<std::string> vals = {"0", "1"};
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_sint64_sint64")); │ F("map_string_string"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_sint64_sint64"), i); │ &reflection->GetRepeatedMessage(message, F("map_string_string"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ std::string key = sub_message->GetReflection()->GetString(
*sub_message, map_sint64_sint64_key_); │ *sub_message, map_string_string_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ std::string val = sub_message->GetReflection()->GetString(
*sub_message, map_sint64_sint64_val_); │ *sub_message, map_string_string_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetStringValue(keys[i]);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_sint64_sint64"), map_key)); │ message, F("map_string_string"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint64_sint64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_string_string"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetStringValue(), vals[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1002 │ protobuf/src/google/protobuf/reflection_tester.cc:1316
│
std::map<int32_t, int32_t> map; │ std::map<int32_t, const EnumValueDescriptor*> map;
map[0] = 0; │ map[0] = map_enum_bar_;
map[1] = 1; │ map[1] = map_enum_baz_;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_sint32_sint32")); │ F("map_int32_enum"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_sint32_sint32"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_enum"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_sint32_sint32_key_); │ *sub_message, map_int32_enum_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ const EnumValueDescriptor* val = sub_message->GetReflection()->GetEnum(
*sub_message, map_sint32_sint32_val_); │ *sub_message, map_int32_enum_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(message, F("map_int32_enum"),
message, F("map_sint32_sint32"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint32_sint32"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_enum"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetEnumValue(), map[i]->number());
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1030 │ protobuf/src/google/protobuf/reflection_tester.cc:1316
│
std::map<int64_t, int64_t> map; │ std::map<int32_t, const EnumValueDescriptor*> map;
map[0] = 0; │ map[0] = map_enum_bar_;
map[1] = 1; │ map[1] = map_enum_baz_;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_sint64_sint64")); │ F("map_int32_enum"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_sint64_sint64"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_enum"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_sint64_sint64_key_); │ *sub_message, map_int32_enum_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ const EnumValueDescriptor* val = sub_message->GetReflection()->GetEnum(
*sub_message, map_sint64_sint64_val_); │ *sub_message, map_int32_enum_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(message, F("map_int32_enum"),
message, F("map_sint64_sint64"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint64_sint64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_enum"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetEnumValue(), map[i]->number());
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1002 │ protobuf/src/google/protobuf/reflection_tester.cc:1114
│
std::map<int32_t, int32_t> map; │ std::map<int32_t, int32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_sint32_sint32")); │ message, F("map_sfixed32_sfixed32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_sint32_sint32"), i); │ message, F("map_sfixed32_sfixed32"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_sint32_sint32_key_); │ *sub_message, map_sfixed32_sfixed32_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_sint32_sint32_val_); │ *sub_message, map_sfixed32_sfixed32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_sint32_sint32"), map_key)); │ message, F("map_sfixed32_sfixed32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint32_sint32"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed32_sfixed32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1030 │ protobuf/src/google/protobuf/reflection_tester.cc:1114
│
std::map<int64_t, int64_t> map; │ std::map<int32_t, int32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_sint64_sint64")); │ message, F("map_sfixed32_sfixed32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_sint64_sint64"), i); │ message, F("map_sfixed32_sfixed32"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_sint64_sint64_key_); │ *sub_message, map_sfixed32_sfixed32_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_sint64_sint64_val_); │ *sub_message, map_sfixed32_sfixed32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_sint64_sint64"), map_key)); │ message, F("map_sfixed32_sfixed32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint64_sint64"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed32_sfixed32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1002 │ protobuf/src/google/protobuf/reflection_tester.cc:1143
│
std::map<int32_t, int32_t> map; │ std::map<int64_t, int64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_sint32_sint32")); │ message, F("map_sfixed64_sfixed64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_sint32_sint32"), i); │ message, F("map_sfixed64_sfixed64"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_sint32_sint32_key_); │ *sub_message, map_sfixed64_sfixed64_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_sint32_sint32_val_); │ *sub_message, map_sfixed64_sfixed64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_sint32_sint32"), map_key)); │ message, F("map_sfixed64_sfixed64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint32_sint32"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed64_sfixed64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1030 │ protobuf/src/google/protobuf/reflection_tester.cc:1143
│
std::map<int64_t, int64_t> map; │ std::map<int64_t, int64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_sint64_sint64")); │ message, F("map_sfixed64_sfixed64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_sint64_sint64"), i); │ message, F("map_sfixed64_sfixed64"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_sint64_sint64_key_); │ *sub_message, map_sfixed64_sfixed64_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_sint64_sint64_val_); │ *sub_message, map_sfixed64_sfixed64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_sint64_sint64"), map_key)); │ message, F("map_sfixed64_sfixed64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint64_sint64"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed64_sfixed64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1002 │ protobuf/src/google/protobuf/reflection_tester.cc:946
│
std::map<int32_t, int32_t> map; │ std::map<uint32_t, uint32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_sint32_sint32")); │ F("map_uint32_uint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_sint32_sint32"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint32_uint32"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ uint32_t key = sub_message->GetReflection()->GetUInt32(
*sub_message, map_sint32_sint32_key_); │ *sub_message, map_uint32_uint32_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ uint32_t val = sub_message->GetReflection()->GetUInt32(
*sub_message, map_sint32_sint32_val_); │ *sub_message, map_uint32_uint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetUInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint32_uint32"),
message, F("map_sint32_sint32"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint32_sint32"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint32_uint32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1030 │ protobuf/src/google/protobuf/reflection_tester.cc:946
│
std::map<int64_t, int64_t> map; │ std::map<uint32_t, uint32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_sint64_sint64")); │ F("map_uint32_uint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_sint64_sint64"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint32_uint32"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ uint32_t key = sub_message->GetReflection()->GetUInt32(
*sub_message, map_sint64_sint64_key_); │ *sub_message, map_uint32_uint32_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ uint32_t val = sub_message->GetReflection()->GetUInt32(
*sub_message, map_sint64_sint64_val_); │ *sub_message, map_uint32_uint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetUInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint32_uint32"),
message, F("map_sint64_sint64"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint64_sint64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint32_uint32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1002 │ protobuf/src/google/protobuf/reflection_tester.cc:974
│
std::map<int32_t, int32_t> map; │ std::map<uint64_t, uint64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_sint32_sint32")); │ F("map_uint64_uint64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_sint32_sint32"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint64_uint64"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ uint64_t key = sub_message->GetReflection()->GetUInt64(
*sub_message, map_sint32_sint32_key_); │ *sub_message, map_uint64_uint64_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ uint64_t val = sub_message->GetReflection()->GetUInt64(
*sub_message, map_sint32_sint32_val_); │ *sub_message, map_uint64_uint64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetUInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint64_uint64"),
message, F("map_sint32_sint32"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint32_sint32"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint64_uint64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1030 │ protobuf/src/google/protobuf/reflection_tester.cc:974
│
std::map<int64_t, int64_t> map; │ std::map<uint64_t, uint64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_sint64_sint64")); │ F("map_uint64_uint64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_sint64_sint64"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint64_uint64"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ uint64_t key = sub_message->GetReflection()->GetUInt64(
*sub_message, map_sint64_sint64_key_); │ *sub_message, map_uint64_uint64_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ uint64_t val = sub_message->GetReflection()->GetUInt64(
*sub_message, map_sint64_sint64_val_); │ *sub_message, map_uint64_uint64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetUInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint64_uint64"),
message, F("map_sint64_sint64"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint64_sint64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint64_uint64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1002 │ protobuf/src/google/protobuf/reflection_tester.cc:1288
│
std::map<int32_t, int32_t> map; │ std::map<int32_t, std::string> map;
map[0] = 0; │ map[0] = "0";
map[1] = 1; │ map[1] = "1";
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_sint32_sint32")); │ F("map_int32_bytes"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_sint32_sint32"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_bytes"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_sint32_sint32_key_); │ *sub_message, map_int32_bytes_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ std::string val = sub_message->GetReflection()->GetString(
*sub_message, map_sint32_sint32_val_); │ *sub_message, map_int32_bytes_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_sint32_sint32"), map_key)); │ message, F("map_int32_bytes"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint32_sint32"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_bytes"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetStringValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1030 │ protobuf/src/google/protobuf/reflection_tester.cc:1288
│
std::map<int64_t, int64_t> map; │ std::map<int32_t, std::string> map;
map[0] = 0; │ map[0] = "0";
map[1] = 1; │ map[1] = "1";
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_sint64_sint64")); │ F("map_int32_bytes"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_sint64_sint64"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_bytes"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_sint64_sint64_key_); │ *sub_message, map_int32_bytes_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ std::string val = sub_message->GetReflection()->GetString(
*sub_message, map_sint64_sint64_val_); │ *sub_message, map_int32_bytes_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_sint64_sint64"), map_key)); │ message, F("map_int32_bytes"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint64_sint64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_bytes"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetStringValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1030 │ protobuf/src/google/protobuf/reflection_tester.cc:1002
│
std::map<int64_t, int64_t> map; │ std::map<int32_t, int32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_sint64_sint64")); │ F("map_sint32_sint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_sint64_sint64"), i); │ &reflection->GetRepeatedMessage(message, F("map_sint32_sint32"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_sint64_sint64_key_); │ *sub_message, map_sint32_sint32_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_sint64_sint64_val_); │ *sub_message, map_sint32_sint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_sint64_sint64"), map_key)); │ message, F("map_sint32_sint32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint64_sint64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint32_sint32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1200 │ protobuf/src/google/protobuf/reflection_tester.cc:1316
│
std::map<int32_t, double> map; │ std::map<int32_t, const EnumValueDescriptor*> map;
map[0] = 0.0; │ map[0] = map_enum_bar_;
map[1] = 1.0; │ map[1] = map_enum_baz_;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_double")); │ F("map_int32_enum"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_double"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_enum"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_double_key_); │ *sub_message, map_int32_enum_key_);
double val = sub_message->GetReflection()->GetDouble( │ const EnumValueDescriptor* val = sub_message->GetReflection()->GetEnum(
*sub_message, map_int32_double_val_); │ *sub_message, map_int32_enum_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(message, F("map_int32_enum"),
message, F("map_int32_double"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_double"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_enum"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetDoubleValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetEnumValue(), map[i]->number());
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1200 │ protobuf/src/google/protobuf/reflection_tester.cc:1114
│
std::map<int32_t, double> map; │ std::map<int32_t, int32_t> map;
map[0] = 0.0; │ map[0] = 0;
map[1] = 1.0; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_int32_double")); │ message, F("map_sfixed32_sfixed32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_int32_double"), i); │ message, F("map_sfixed32_sfixed32"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_double_key_); │ *sub_message, map_sfixed32_sfixed32_key_);
double val = sub_message->GetReflection()->GetDouble( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_double_val_); │ *sub_message, map_sfixed32_sfixed32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_int32_double"), map_key)); │ message, F("map_sfixed32_sfixed32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_double"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed32_sfixed32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetDoubleValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1200 │ protobuf/src/google/protobuf/reflection_tester.cc:1143
│
std::map<int32_t, double> map; │ std::map<int64_t, int64_t> map;
map[0] = 0.0; │ map[0] = 0;
map[1] = 1.0; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_int32_double")); │ message, F("map_sfixed64_sfixed64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_int32_double"), i); │ message, F("map_sfixed64_sfixed64"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_int32_double_key_); │ *sub_message, map_sfixed64_sfixed64_key_);
double val = sub_message->GetReflection()->GetDouble( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_int32_double_val_); │ *sub_message, map_sfixed64_sfixed64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_int32_double"), map_key)); │ message, F("map_sfixed64_sfixed64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_double"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed64_sfixed64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetDoubleValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1200 │ protobuf/src/google/protobuf/reflection_tester.cc:946
│
std::map<int32_t, double> map; │ std::map<uint32_t, uint32_t> map;
map[0] = 0.0; │ map[0] = 0;
map[1] = 1.0; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_double")); │ F("map_uint32_uint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_double"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint32_uint32"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ uint32_t key = sub_message->GetReflection()->GetUInt32(
*sub_message, map_int32_double_key_); │ *sub_message, map_uint32_uint32_key_);
double val = sub_message->GetReflection()->GetDouble( │ uint32_t val = sub_message->GetReflection()->GetUInt32(
*sub_message, map_int32_double_val_); │ *sub_message, map_uint32_uint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetUInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint32_uint32"),
message, F("map_int32_double"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_double"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint32_uint32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetDoubleValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1200 │ protobuf/src/google/protobuf/reflection_tester.cc:974
│
std::map<int32_t, double> map; │ std::map<uint64_t, uint64_t> map;
map[0] = 0.0; │ map[0] = 0;
map[1] = 1.0; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_double")); │ F("map_uint64_uint64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_double"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint64_uint64"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ uint64_t key = sub_message->GetReflection()->GetUInt64(
*sub_message, map_int32_double_key_); │ *sub_message, map_uint64_uint64_key_);
double val = sub_message->GetReflection()->GetDouble( │ uint64_t val = sub_message->GetReflection()->GetUInt64(
*sub_message, map_int32_double_val_); │ *sub_message, map_uint64_uint64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetUInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint64_uint64"),
message, F("map_int32_double"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_double"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint64_uint64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetDoubleValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1200 │ protobuf/src/google/protobuf/reflection_tester.cc:1288
│
std::map<int32_t, double> map; │ std::map<int32_t, std::string> map;
map[0] = 0.0; │ map[0] = "0";
map[1] = 1.0; │ map[1] = "1";
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_double")); │ F("map_int32_bytes"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_double"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_bytes"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_double_key_); │ *sub_message, map_int32_bytes_key_);
double val = sub_message->GetReflection()->GetDouble( │ std::string val = sub_message->GetReflection()->GetString(
*sub_message, map_int32_double_val_); │ *sub_message, map_int32_bytes_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_int32_double"), map_key)); │ message, F("map_int32_bytes"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_double"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_bytes"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetDoubleValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetStringValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1200 │ protobuf/src/google/protobuf/reflection_tester.cc:1002
│
std::map<int32_t, double> map; │ std::map<int32_t, int32_t> map;
map[0] = 0.0; │ map[0] = 0;
map[1] = 1.0; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_double")); │ F("map_sint32_sint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_double"), i); │ &reflection->GetRepeatedMessage(message, F("map_sint32_sint32"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_double_key_); │ *sub_message, map_sint32_sint32_key_);
double val = sub_message->GetReflection()->GetDouble( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_double_val_); │ *sub_message, map_sint32_sint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_int32_double"), map_key)); │ message, F("map_sint32_sint32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_double"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint32_sint32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetDoubleValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1200 │ protobuf/src/google/protobuf/reflection_tester.cc:1030
│
std::map<int32_t, double> map; │ std::map<int64_t, int64_t> map;
map[0] = 0.0; │ map[0] = 0;
map[1] = 1.0; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_double")); │ F("map_sint64_sint64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_double"), i); │ &reflection->GetRepeatedMessage(message, F("map_sint64_sint64"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_int32_double_key_); │ *sub_message, map_sint64_sint64_key_);
double val = sub_message->GetReflection()->GetDouble( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_int32_double_val_); │ *sub_message, map_sint64_sint64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_int32_double"), map_key)); │ message, F("map_sint64_sint64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_double"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint64_sint64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetDoubleValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1172 │ protobuf/src/google/protobuf/reflection_tester.cc:1258
│
std::map<int32_t, float> map; │ std::map<std::string, std::string> map;
map[0] = 0.0; │ map["0"] = "0";
map[1] = 1.0; │ map["1"] = "1";
│ std::vector<std::string> keys = {"0", "1"};
│ std::vector<std::string> vals = {"0", "1"};
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_float")); │ F("map_string_string"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_float"), i); │ &reflection->GetRepeatedMessage(message, F("map_string_string"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ std::string key = sub_message->GetReflection()->GetString(
*sub_message, map_int32_float_key_); │ *sub_message, map_string_string_key_);
float val = sub_message->GetReflection()->GetFloat( │ std::string val = sub_message->GetReflection()->GetString(
*sub_message, map_int32_float_val_); │ *sub_message, map_string_string_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetStringValue(keys[i]);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_int32_float"), map_key)); │ message, F("map_string_string"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_float"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_string_string"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetFloatValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetStringValue(), vals[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1172 │ protobuf/src/google/protobuf/reflection_tester.cc:1316
│
std::map<int32_t, float> map; │ std::map<int32_t, const EnumValueDescriptor*> map;
map[0] = 0.0; │ map[0] = map_enum_bar_;
map[1] = 1.0; │ map[1] = map_enum_baz_;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_float")); │ F("map_int32_enum"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_float"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_enum"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_float_key_); │ *sub_message, map_int32_enum_key_);
float val = sub_message->GetReflection()->GetFloat( │ const EnumValueDescriptor* val = sub_message->GetReflection()->GetEnum(
*sub_message, map_int32_float_val_); │ *sub_message, map_int32_enum_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(message, F("map_int32_enum"),
message, F("map_int32_float"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_float"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_enum"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetFloatValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetEnumValue(), map[i]->number());
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1172 │ protobuf/src/google/protobuf/reflection_tester.cc:1114
│
std::map<int32_t, float> map; │ std::map<int32_t, int32_t> map;
map[0] = 0.0; │ map[0] = 0;
map[1] = 1.0; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_int32_float")); │ message, F("map_sfixed32_sfixed32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_int32_float"), i); │ message, F("map_sfixed32_sfixed32"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_float_key_); │ *sub_message, map_sfixed32_sfixed32_key_);
float val = sub_message->GetReflection()->GetFloat( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_float_val_); │ *sub_message, map_sfixed32_sfixed32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_int32_float"), map_key)); │ message, F("map_sfixed32_sfixed32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_float"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed32_sfixed32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetFloatValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1172 │ protobuf/src/google/protobuf/reflection_tester.cc:1143
│
std::map<int32_t, float> map; │ std::map<int64_t, int64_t> map;
map[0] = 0.0; │ map[0] = 0;
map[1] = 1.0; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_int32_float")); │ message, F("map_sfixed64_sfixed64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_int32_float"), i); │ message, F("map_sfixed64_sfixed64"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_int32_float_key_); │ *sub_message, map_sfixed64_sfixed64_key_);
float val = sub_message->GetReflection()->GetFloat( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_int32_float_val_); │ *sub_message, map_sfixed64_sfixed64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_int32_float"), map_key)); │ message, F("map_sfixed64_sfixed64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_float"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed64_sfixed64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetFloatValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1172 │ protobuf/src/google/protobuf/reflection_tester.cc:946
│
std::map<int32_t, float> map; │ std::map<uint32_t, uint32_t> map;
map[0] = 0.0; │ map[0] = 0;
map[1] = 1.0; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_float")); │ F("map_uint32_uint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_float"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint32_uint32"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ uint32_t key = sub_message->GetReflection()->GetUInt32(
*sub_message, map_int32_float_key_); │ *sub_message, map_uint32_uint32_key_);
float val = sub_message->GetReflection()->GetFloat( │ uint32_t val = sub_message->GetReflection()->GetUInt32(
*sub_message, map_int32_float_val_); │ *sub_message, map_uint32_uint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetUInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint32_uint32"),
message, F("map_int32_float"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_float"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint32_uint32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetFloatValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1172 │ protobuf/src/google/protobuf/reflection_tester.cc:974
│
std::map<int32_t, float> map; │ std::map<uint64_t, uint64_t> map;
map[0] = 0.0; │ map[0] = 0;
map[1] = 1.0; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_float")); │ F("map_uint64_uint64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_float"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint64_uint64"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ uint64_t key = sub_message->GetReflection()->GetUInt64(
*sub_message, map_int32_float_key_); │ *sub_message, map_uint64_uint64_key_);
float val = sub_message->GetReflection()->GetFloat( │ uint64_t val = sub_message->GetReflection()->GetUInt64(
*sub_message, map_int32_float_val_); │ *sub_message, map_uint64_uint64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetUInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint64_uint64"),
message, F("map_int32_float"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_float"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint64_uint64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetFloatValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1172 │ protobuf/src/google/protobuf/reflection_tester.cc:1288
│
std::map<int32_t, float> map; │ std::map<int32_t, std::string> map;
map[0] = 0.0; │ map[0] = "0";
map[1] = 1.0; │ map[1] = "1";
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_float")); │ F("map_int32_bytes"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_float"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_bytes"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_float_key_); │ *sub_message, map_int32_bytes_key_);
float val = sub_message->GetReflection()->GetFloat( │ std::string val = sub_message->GetReflection()->GetString(
*sub_message, map_int32_float_val_); │ *sub_message, map_int32_bytes_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_int32_float"), map_key)); │ message, F("map_int32_bytes"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_float"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_bytes"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetFloatValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetStringValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1172 │ protobuf/src/google/protobuf/reflection_tester.cc:1002
│
std::map<int32_t, float> map; │ std::map<int32_t, int32_t> map;
map[0] = 0.0; │ map[0] = 0;
map[1] = 1.0; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_float")); │ F("map_sint32_sint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_float"), i); │ &reflection->GetRepeatedMessage(message, F("map_sint32_sint32"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_float_key_); │ *sub_message, map_sint32_sint32_key_);
float val = sub_message->GetReflection()->GetFloat( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_float_val_); │ *sub_message, map_sint32_sint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_int32_float"), map_key)); │ message, F("map_sint32_sint32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_float"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint32_sint32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetFloatValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1172 │ protobuf/src/google/protobuf/reflection_tester.cc:1030
│
std::map<int32_t, float> map; │ std::map<int64_t, int64_t> map;
map[0] = 0.0; │ map[0] = 0;
map[1] = 1.0; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_float")); │ F("map_sint64_sint64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_float"), i); │ &reflection->GetRepeatedMessage(message, F("map_sint64_sint64"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_int32_float_key_); │ *sub_message, map_sint64_sint64_key_);
float val = sub_message->GetReflection()->GetFloat( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_int32_float_val_); │ *sub_message, map_sint64_sint64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_int32_float"), map_key)); │ message, F("map_sint64_sint64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_float"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint64_sint64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetFloatValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1172 │ protobuf/src/google/protobuf/reflection_tester.cc:1200
│
std::map<int32_t, float> map; │ std::map<int32_t, double> map;
map[0] = 0.0; │ map[0] = 0.0;
map[1] = 1.0; │ map[1] = 1.0;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_float")); │ F("map_int32_double"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_float"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_double"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_float_key_); │ *sub_message, map_int32_double_key_);
float val = sub_message->GetReflection()->GetFloat( │ double val = sub_message->GetReflection()->GetDouble(
*sub_message, map_int32_float_val_); │ *sub_message, map_int32_double_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_int32_float"), map_key)); │ message, F("map_int32_double"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_float"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_double"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetFloatValue(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetDoubleValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1058 │ protobuf/src/google/protobuf/reflection_tester.cc:1316
│
std::map<uint32_t, uint32_t> map; │ std::map<int32_t, const EnumValueDescriptor*> map;
map[0] = 0; │ map[0] = map_enum_bar_;
map[1] = 1; │ map[1] = map_enum_baz_;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed32_fixed32")); │ F("map_int32_enum"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed32_fixed32"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_enum"), i);
uint32_t key = sub_message->GetReflection()->GetUInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed32_fixed32_key_); │ *sub_message, map_int32_enum_key_);
uint32_t val = sub_message->GetReflection()->GetUInt32( │ const EnumValueDescriptor* val = sub_message->GetReflection()->GetEnum(
*sub_message, map_fixed32_fixed32_val_); │ *sub_message, map_int32_enum_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(message, F("map_int32_enum"),
message, F("map_fixed32_fixed32"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_enum"),
message, F("map_fixed32_fixed32"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetEnumValue(), map[i]->number());
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1086 │ protobuf/src/google/protobuf/reflection_tester.cc:1316
│
std::map<uint64_t, uint64_t> map; │ std::map<int32_t, const EnumValueDescriptor*> map;
map[0] = 0; │ map[0] = map_enum_bar_;
map[1] = 1; │ map[1] = map_enum_baz_;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed64_fixed64")); │ F("map_int32_enum"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed64_fixed64"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_enum"), i);
uint64_t key = sub_message->GetReflection()->GetUInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed64_fixed64_key_); │ *sub_message, map_int32_enum_key_);
uint64_t val = sub_message->GetReflection()->GetUInt64( │ const EnumValueDescriptor* val = sub_message->GetReflection()->GetEnum(
*sub_message, map_fixed64_fixed64_val_); │ *sub_message, map_int32_enum_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(message, F("map_int32_enum"),
message, F("map_fixed64_fixed64"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_enum"),
message, F("map_fixed64_fixed64"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetEnumValue(), map[i]->number());
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1058 │ protobuf/src/google/protobuf/reflection_tester.cc:1114
│
std::map<uint32_t, uint32_t> map; │ std::map<int32_t, int32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_fixed32_fixed32")); │ message, F("map_sfixed32_sfixed32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message = &reflection->GetRepeatedMessage(
message, F("map_fixed32_fixed32"), i); │ message, F("map_sfixed32_sfixed32"), i);
uint32_t key = sub_message->GetReflection()->GetUInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed32_fixed32_key_); │ *sub_message, map_sfixed32_sfixed32_key_);
uint32_t val = sub_message->GetReflection()->GetUInt32( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed32_fixed32_val_); │ *sub_message, map_sfixed32_sfixed32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_fixed32_fixed32"), map_key)); │ message, F("map_sfixed32_sfixed32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message,
message, F("map_fixed32_fixed32"), map_key, &map_value_const_ref)); │ F("map_sfixed32_sfixed32"),
EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]); │ map_key, &map_value_const_ref));
│ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1086 │ protobuf/src/google/protobuf/reflection_tester.cc:1114
│
std::map<uint64_t, uint64_t> map; │ std::map<int32_t, int32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_fixed64_fixed64")); │ message, F("map_sfixed32_sfixed32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message = &reflection->GetRepeatedMessage(
message, F("map_fixed64_fixed64"), i); │ message, F("map_sfixed32_sfixed32"), i);
uint64_t key = sub_message->GetReflection()->GetUInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed64_fixed64_key_); │ *sub_message, map_sfixed32_sfixed32_key_);
uint64_t val = sub_message->GetReflection()->GetUInt64( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed64_fixed64_val_); │ *sub_message, map_sfixed32_sfixed32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_fixed64_fixed64"), map_key)); │ message, F("map_sfixed32_sfixed32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message,
message, F("map_fixed64_fixed64"), map_key, &map_value_const_ref)); │ F("map_sfixed32_sfixed32"),
EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]); │ map_key, &map_value_const_ref));
│ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1058 │ protobuf/src/google/protobuf/reflection_tester.cc:1143
│
std::map<uint32_t, uint32_t> map; │ std::map<int64_t, int64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_fixed32_fixed32")); │ message, F("map_sfixed64_sfixed64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message = &reflection->GetRepeatedMessage(
message, F("map_fixed32_fixed32"), i); │ message, F("map_sfixed64_sfixed64"), i);
uint32_t key = sub_message->GetReflection()->GetUInt32( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_fixed32_fixed32_key_); │ *sub_message, map_sfixed64_sfixed64_key_);
uint32_t val = sub_message->GetReflection()->GetUInt32( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_fixed32_fixed32_val_); │ *sub_message, map_sfixed64_sfixed64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt32Value(i); │ map_key.SetInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_fixed32_fixed32"), map_key)); │ message, F("map_sfixed64_sfixed64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message,
message, F("map_fixed32_fixed32"), map_key, &map_value_const_ref)); │ F("map_sfixed64_sfixed64"),
EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]); │ map_key, &map_value_const_ref));
│ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1086 │ protobuf/src/google/protobuf/reflection_tester.cc:1143
│
std::map<uint64_t, uint64_t> map; │ std::map<int64_t, int64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_fixed64_fixed64")); │ message, F("map_sfixed64_sfixed64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message = &reflection->GetRepeatedMessage(
message, F("map_fixed64_fixed64"), i); │ message, F("map_sfixed64_sfixed64"), i);
uint64_t key = sub_message->GetReflection()->GetUInt64( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_fixed64_fixed64_key_); │ *sub_message, map_sfixed64_sfixed64_key_);
uint64_t val = sub_message->GetReflection()->GetUInt64( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_fixed64_fixed64_val_); │ *sub_message, map_sfixed64_sfixed64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt64Value(i); │ map_key.SetInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_fixed64_fixed64"), map_key)); │ message, F("map_sfixed64_sfixed64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message,
message, F("map_fixed64_fixed64"), map_key, &map_value_const_ref)); │ F("map_sfixed64_sfixed64"),
EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]); │ map_key, &map_value_const_ref));
│ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1058 │ protobuf/src/google/protobuf/reflection_tester.cc:946
│
std::map<uint32_t, uint32_t> map; │ std::map<uint32_t, uint32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed32_fixed32")); │ F("map_uint32_uint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed32_fixed32"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint32_uint32"), i);
uint32_t key = sub_message->GetReflection()->GetUInt32( │ uint32_t key = sub_message->GetReflection()->GetUInt32(
*sub_message, map_fixed32_fixed32_key_); │ *sub_message, map_uint32_uint32_key_);
uint32_t val = sub_message->GetReflection()->GetUInt32( │ uint32_t val = sub_message->GetReflection()->GetUInt32(
*sub_message, map_fixed32_fixed32_val_); │ *sub_message, map_uint32_uint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt32Value(i); │ map_key.SetUInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint32_uint32"),
message, F("map_fixed32_fixed32"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint32_uint32"),
message, F("map_fixed32_fixed32"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1086 │ protobuf/src/google/protobuf/reflection_tester.cc:946
│
std::map<uint64_t, uint64_t> map; │ std::map<uint32_t, uint32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed64_fixed64")); │ F("map_uint32_uint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed64_fixed64"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint32_uint32"), i);
uint64_t key = sub_message->GetReflection()->GetUInt64( │ uint32_t key = sub_message->GetReflection()->GetUInt32(
*sub_message, map_fixed64_fixed64_key_); │ *sub_message, map_uint32_uint32_key_);
uint64_t val = sub_message->GetReflection()->GetUInt64( │ uint32_t val = sub_message->GetReflection()->GetUInt32(
*sub_message, map_fixed64_fixed64_val_); │ *sub_message, map_uint32_uint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt64Value(i); │ map_key.SetUInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint32_uint32"),
message, F("map_fixed64_fixed64"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint32_uint32"),
message, F("map_fixed64_fixed64"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1058 │ protobuf/src/google/protobuf/reflection_tester.cc:974
│
std::map<uint32_t, uint32_t> map; │ std::map<uint64_t, uint64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed32_fixed32")); │ F("map_uint64_uint64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed32_fixed32"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint64_uint64"), i);
uint32_t key = sub_message->GetReflection()->GetUInt32( │ uint64_t key = sub_message->GetReflection()->GetUInt64(
*sub_message, map_fixed32_fixed32_key_); │ *sub_message, map_uint64_uint64_key_);
uint32_t val = sub_message->GetReflection()->GetUInt32( │ uint64_t val = sub_message->GetReflection()->GetUInt64(
*sub_message, map_fixed32_fixed32_val_); │ *sub_message, map_uint64_uint64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt32Value(i); │ map_key.SetUInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint64_uint64"),
message, F("map_fixed32_fixed32"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint64_uint64"),
message, F("map_fixed32_fixed32"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1086 │ protobuf/src/google/protobuf/reflection_tester.cc:974
│
std::map<uint64_t, uint64_t> map; │ std::map<uint64_t, uint64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed64_fixed64")); │ F("map_uint64_uint64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed64_fixed64"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint64_uint64"), i);
uint64_t key = sub_message->GetReflection()->GetUInt64( │ uint64_t key = sub_message->GetReflection()->GetUInt64(
*sub_message, map_fixed64_fixed64_key_); │ *sub_message, map_uint64_uint64_key_);
uint64_t val = sub_message->GetReflection()->GetUInt64( │ uint64_t val = sub_message->GetReflection()->GetUInt64(
*sub_message, map_fixed64_fixed64_val_); │ *sub_message, map_uint64_uint64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt64Value(i); │ map_key.SetUInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint64_uint64"),
message, F("map_fixed64_fixed64"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint64_uint64"),
message, F("map_fixed64_fixed64"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1058 │ protobuf/src/google/protobuf/reflection_tester.cc:1288
│
std::map<uint32_t, uint32_t> map; │ std::map<int32_t, std::string> map;
map[0] = 0; │ map[0] = "0";
map[1] = 1; │ map[1] = "1";
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed32_fixed32")); │ F("map_int32_bytes"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed32_fixed32"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_bytes"), i);
uint32_t key = sub_message->GetReflection()->GetUInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed32_fixed32_key_); │ *sub_message, map_int32_bytes_key_);
uint32_t val = sub_message->GetReflection()->GetUInt32( │ std::string val = sub_message->GetReflection()->GetString(
*sub_message, map_fixed32_fixed32_val_); │ *sub_message, map_int32_bytes_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_fixed32_fixed32"), map_key)); │ message, F("map_int32_bytes"), map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_bytes"),
message, F("map_fixed32_fixed32"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetStringValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1086 │ protobuf/src/google/protobuf/reflection_tester.cc:1288
│
std::map<uint64_t, uint64_t> map; │ std::map<int32_t, std::string> map;
map[0] = 0; │ map[0] = "0";
map[1] = 1; │ map[1] = "1";
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed64_fixed64")); │ F("map_int32_bytes"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed64_fixed64"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_bytes"), i);
uint64_t key = sub_message->GetReflection()->GetUInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed64_fixed64_key_); │ *sub_message, map_int32_bytes_key_);
uint64_t val = sub_message->GetReflection()->GetUInt64( │ std::string val = sub_message->GetReflection()->GetString(
*sub_message, map_fixed64_fixed64_val_); │ *sub_message, map_int32_bytes_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_fixed64_fixed64"), map_key)); │ message, F("map_int32_bytes"), map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_bytes"),
message, F("map_fixed64_fixed64"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetStringValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1058 │ protobuf/src/google/protobuf/reflection_tester.cc:1002
│
std::map<uint32_t, uint32_t> map; │ std::map<int32_t, int32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed32_fixed32")); │ F("map_sint32_sint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed32_fixed32"), i); │ &reflection->GetRepeatedMessage(message, F("map_sint32_sint32"), i);
uint32_t key = sub_message->GetReflection()->GetUInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed32_fixed32_key_); │ *sub_message, map_sint32_sint32_key_);
uint32_t val = sub_message->GetReflection()->GetUInt32( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed32_fixed32_val_); │ *sub_message, map_sint32_sint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_fixed32_fixed32"), map_key)); │ message, F("map_sint32_sint32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint32_sint32"),
message, F("map_fixed32_fixed32"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1086 │ protobuf/src/google/protobuf/reflection_tester.cc:1002
│
std::map<uint64_t, uint64_t> map; │ std::map<int32_t, int32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed64_fixed64")); │ F("map_sint32_sint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed64_fixed64"), i); │ &reflection->GetRepeatedMessage(message, F("map_sint32_sint32"), i);
uint64_t key = sub_message->GetReflection()->GetUInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed64_fixed64_key_); │ *sub_message, map_sint32_sint32_key_);
uint64_t val = sub_message->GetReflection()->GetUInt64( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed64_fixed64_val_); │ *sub_message, map_sint32_sint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_fixed64_fixed64"), map_key)); │ message, F("map_sint32_sint32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint32_sint32"),
message, F("map_fixed64_fixed64"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1058 │ protobuf/src/google/protobuf/reflection_tester.cc:1030
│
std::map<uint32_t, uint32_t> map; │ std::map<int64_t, int64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed32_fixed32")); │ F("map_sint64_sint64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed32_fixed32"), i); │ &reflection->GetRepeatedMessage(message, F("map_sint64_sint64"), i);
uint32_t key = sub_message->GetReflection()->GetUInt32( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_fixed32_fixed32_key_); │ *sub_message, map_sint64_sint64_key_);
uint32_t val = sub_message->GetReflection()->GetUInt32( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_fixed32_fixed32_val_); │ *sub_message, map_sint64_sint64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt32Value(i); │ map_key.SetInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_fixed32_fixed32"), map_key)); │ message, F("map_sint64_sint64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint64_sint64"),
message, F("map_fixed32_fixed32"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1086 │ protobuf/src/google/protobuf/reflection_tester.cc:1030
│
std::map<uint64_t, uint64_t> map; │ std::map<int64_t, int64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed64_fixed64")); │ F("map_sint64_sint64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed64_fixed64"), i); │ &reflection->GetRepeatedMessage(message, F("map_sint64_sint64"), i);
uint64_t key = sub_message->GetReflection()->GetUInt64( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_fixed64_fixed64_key_); │ *sub_message, map_sint64_sint64_key_);
uint64_t val = sub_message->GetReflection()->GetUInt64( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_fixed64_fixed64_val_); │ *sub_message, map_sint64_sint64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt64Value(i); │ map_key.SetInt64Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_fixed64_fixed64"), map_key)); │ message, F("map_sint64_sint64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint64_sint64"),
message, F("map_fixed64_fixed64"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1058 │ protobuf/src/google/protobuf/reflection_tester.cc:1200
│
std::map<uint32_t, uint32_t> map; │ std::map<int32_t, double> map;
map[0] = 0; │ map[0] = 0.0;
map[1] = 1; │ map[1] = 1.0;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed32_fixed32")); │ F("map_int32_double"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed32_fixed32"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_double"), i);
uint32_t key = sub_message->GetReflection()->GetUInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed32_fixed32_key_); │ *sub_message, map_int32_double_key_);
uint32_t val = sub_message->GetReflection()->GetUInt32( │ double val = sub_message->GetReflection()->GetDouble(
*sub_message, map_fixed32_fixed32_val_); │ *sub_message, map_int32_double_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_fixed32_fixed32"), map_key)); │ message, F("map_int32_double"), map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_double"),
message, F("map_fixed32_fixed32"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetDoubleValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1086 │ protobuf/src/google/protobuf/reflection_tester.cc:1200
│
std::map<uint64_t, uint64_t> map; │ std::map<int32_t, double> map;
map[0] = 0; │ map[0] = 0.0;
map[1] = 1; │ map[1] = 1.0;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed64_fixed64")); │ F("map_int32_double"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed64_fixed64"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_double"), i);
uint64_t key = sub_message->GetReflection()->GetUInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed64_fixed64_key_); │ *sub_message, map_int32_double_key_);
uint64_t val = sub_message->GetReflection()->GetUInt64( │ double val = sub_message->GetReflection()->GetDouble(
*sub_message, map_fixed64_fixed64_val_); │ *sub_message, map_int32_double_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_fixed64_fixed64"), map_key)); │ message, F("map_int32_double"), map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_double"),
message, F("map_fixed64_fixed64"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetDoubleValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1058 │ protobuf/src/google/protobuf/reflection_tester.cc:1172
│
std::map<uint32_t, uint32_t> map; │ std::map<int32_t, float> map;
map[0] = 0; │ map[0] = 0.0;
map[1] = 1; │ map[1] = 1.0;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed32_fixed32")); │ F("map_int32_float"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed32_fixed32"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_float"), i);
uint32_t key = sub_message->GetReflection()->GetUInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed32_fixed32_key_); │ *sub_message, map_int32_float_key_);
uint32_t val = sub_message->GetReflection()->GetUInt32( │ float val = sub_message->GetReflection()->GetFloat(
*sub_message, map_fixed32_fixed32_val_); │ *sub_message, map_int32_float_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_fixed32_fixed32"), map_key)); │ message, F("map_int32_float"), map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_float"),
message, F("map_fixed32_fixed32"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetFloatValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1086 │ protobuf/src/google/protobuf/reflection_tester.cc:1172
│
std::map<uint64_t, uint64_t> map; │ std::map<int32_t, float> map;
map[0] = 0; │ map[0] = 0.0;
map[1] = 1; │ map[1] = 1.0;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed64_fixed64")); │ F("map_int32_float"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message =
message, F("map_fixed64_fixed64"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_float"), i);
uint64_t key = sub_message->GetReflection()->GetUInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_fixed64_fixed64_key_); │ *sub_message, map_int32_float_key_);
uint64_t val = sub_message->GetReflection()->GetUInt64( │ float val = sub_message->GetReflection()->GetFloat(
*sub_message, map_fixed64_fixed64_val_); │ *sub_message, map_int32_float_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_fixed64_fixed64"), map_key)); │ message, F("map_int32_float"), map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_float"),
message, F("map_fixed64_fixed64"), map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetFloatValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:1086 │ protobuf/src/google/protobuf/reflection_tester.cc:1058
│
std::map<uint64_t, uint64_t> map; │ std::map<uint32_t, uint32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_fixed64_fixed64")); │ F("map_fixed32_fixed32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = &reflection->GetRepeatedMessage( │ sub_message = &reflection->GetRepeatedMessage(
message, F("map_fixed64_fixed64"), i); │ message, F("map_fixed32_fixed32"), i);
uint64_t key = sub_message->GetReflection()->GetUInt64( │ uint32_t key = sub_message->GetReflection()->GetUInt32(
*sub_message, map_fixed64_fixed64_key_); │ *sub_message, map_fixed32_fixed32_key_);
uint64_t val = sub_message->GetReflection()->GetUInt64( │ uint32_t val = sub_message->GetReflection()->GetUInt32(
*sub_message, map_fixed64_fixed64_val_); │ *sub_message, map_fixed32_fixed32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetUInt64Value(i); │ map_key.SetUInt32Value(i);
EXPECT_EQ(true, reflection->ContainsMapKey( │ EXPECT_EQ(true, reflection->ContainsMapKey(
message, F("map_fixed64_fixed64"), map_key)); │ message, F("map_fixed32_fixed32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue( │ EXPECT_TRUE(reflection->LookupMapValue(
message, F("map_fixed64_fixed64"), map_key, &map_value_const_ref)); │ message, F("map_fixed32_fixed32"), map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/util/internal/protostream_objectsource_test.cc:193 │ protobuf/src/google/protobuf/util/internal/protostream_objectsource_test.cc:232
│
Primitive primitive; │ PackedPrimitive primitive;
primitive.add_rep_fix32(3201); │ primitive.add_rep_fix32(3201);
primitive.add_rep_fix32(0); │ primitive.add_rep_fix32(0);
primitive.add_rep_fix32(3202); │ primitive.add_rep_fix32(3202);
primitive.add_rep_u32(3203); │ primitive.add_rep_u32(3203);
primitive.add_rep_u32(0); │ primitive.add_rep_u32(0);
primitive.add_rep_i32(0); │ primitive.add_rep_i32(0);
primitive.add_rep_i32(3204); │ primitive.add_rep_i32(3204);
primitive.add_rep_i32(3205); │ primitive.add_rep_i32(3205);
primitive.add_rep_sf32(3206); │ primitive.add_rep_sf32(3206);
primitive.add_rep_sf32(0); │ primitive.add_rep_sf32(0);
primitive.add_rep_s32(0); │ primitive.add_rep_s32(0);
primitive.add_rep_s32(3207); │ primitive.add_rep_s32(3207);
primitive.add_rep_s32(3208); │ primitive.add_rep_s32(3208);
primitive.add_rep_fix64(6401L); │ primitive.add_rep_fix64(6401L);
primitive.add_rep_fix64(0L); │ primitive.add_rep_fix64(0L);
primitive.add_rep_u64(0L); │ primitive.add_rep_u64(0L);
primitive.add_rep_u64(6402L); │ primitive.add_rep_u64(6402L);
primitive.add_rep_u64(6403L); │ primitive.add_rep_u64(6403L);
primitive.add_rep_i64(6404L); │ primitive.add_rep_i64(6404L);
primitive.add_rep_i64(0L); │ primitive.add_rep_i64(0L);
primitive.add_rep_sf64(0L); │ primitive.add_rep_sf64(0L);
primitive.add_rep_sf64(6405L); │ primitive.add_rep_sf64(6405L);
primitive.add_rep_sf64(6406L); │ primitive.add_rep_sf64(6406L);
primitive.add_rep_s64(6407L); │ primitive.add_rep_s64(6407L);
primitive.add_rep_s64(0L); │ primitive.add_rep_s64(0L);
primitive.add_rep_float(0.0f); │ primitive.add_rep_float(0.0f);
primitive.add_rep_float(32.1f); │ primitive.add_rep_float(32.1f);
primitive.add_rep_float(32.2f); │ primitive.add_rep_float(32.2f);
primitive.add_rep_double(64.1L); │ primitive.add_rep_double(64.1L);
primitive.add_rep_double(0.0); │ primitive.add_rep_double(0.0);
primitive.add_rep_bool(true); │ primitive.add_rep_bool(true);
primitive.add_rep_bool(false); │ primitive.add_rep_bool(false);
│
PrepareExpectingObjectWriterForRepeatedPrimitive(); │ PrepareExpectingObjectWriterForRepeatedPrimitive();
return primitive; │ return primitive;
} │
next prev up protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h:104 │ protobuf/src/google/protobuf/io/zero_copy_stream_impl_lite.h:69
│
public: │ public:
// Create an OutputStream that writes to the bytes pointed to by "data". │ // Create an InputStream that returns the bytes pointed to by "data".
// "data" remains the property of the caller but must remain valid until │ // "data" remains the property of the caller but must remain valid until
// the stream is destroyed. If a block_size is given, calls to Next() │ // the stream is destroyed. If a block_size is given, calls to Next()
// will return data blocks no larger than the given size. Otherwise, the │ // will return data blocks no larger than the given size. Otherwise, the
// first call to Next() returns the entire array. block_size is mainly │ // first call to Next() returns the entire array. block_size is mainly
// useful for testing; in production you would probably never want to set │ // useful for testing; in production you would probably never want to set
// it. │ // it.
ArrayOutputStream(void* data, int size, int block_size = -1); │ ArrayInputStream(const void* data, int size, int block_size = -1);
~ArrayOutputStream() override = default; │ ~ArrayInputStream() override = default;
│
// implements ZeroCopyOutputStream --------------------------------- │ // implements ZeroCopyInputStream ----------------------------------
bool Next(void** data, int* size) override; │ bool Next(const void** data, int* size) override;
void BackUp(int count) override; │ void BackUp(int count) override;
│ bool Skip(int count) override;
int64_t ByteCount() const override; │ int64_t ByteCount() const override;
│
│
private: │ private:
uint8_t* const data_; // The byte array. │ const uint8_t* const data_; // The byte array.
const int size_; // Total size of the array. │ const int size_; // Total size of the array.
const int block_size_; // How many bytes to return at a time. │ const int block_size_; // How many bytes to return at a time.
│
int position_; │ int position_;
int last_returned_size_; // How many bytes we returned last time Next() │ int last_returned_size_; // How many bytes we returned last time Next()
// was called (used for error checking only). │ // was called (used for error checking only).
│
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ArrayOutputStream); │ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(ArrayInputStream);
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:890 │ protobuf/src/google/protobuf/reflection_tester.cc:1258
│
std::map<int32_t, int32_t> map; │ std::map<std::string, std::string> map;
map[0] = 0; │ map["0"] = "0";
map[1] = 1; │ map["1"] = "1";
│ std::vector<std::string> keys = {"0", "1"};
│ std::vector<std::string> vals = {"0", "1"};
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_int32")); │ F("map_string_string"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_int32"), i); │ &reflection->GetRepeatedMessage(message, F("map_string_string"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ std::string key = sub_message->GetReflection()->GetString(
*sub_message, map_int32_int32_key_); │ *sub_message, map_string_string_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ std::string val = sub_message->GetReflection()->GetString(
*sub_message, map_int32_int32_val_); │ *sub_message, map_string_string_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetStringValue(keys[i]);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int32_int32"), map_key)); │ message, F("map_string_string"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_int32"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_string_string"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetStringValue(), vals[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:918 │ protobuf/src/google/protobuf/reflection_tester.cc:1258
│
std::map<int64_t, int64_t> map; │ std::map<std::string, std::string> map;
map[0] = 0; │ map["0"] = "0";
map[1] = 1; │ map["1"] = "1";
│ std::vector<std::string> keys = {"0", "1"};
│ std::vector<std::string> vals = {"0", "1"};
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int64_int64")); │ F("map_string_string"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int64_int64"), i); │ &reflection->GetRepeatedMessage(message, F("map_string_string"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ std::string key = sub_message->GetReflection()->GetString(
*sub_message, map_int64_int64_key_); │ *sub_message, map_string_string_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ std::string val = sub_message->GetReflection()->GetString(
*sub_message, map_int64_int64_val_); │ *sub_message, map_string_string_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetStringValue(keys[i]);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int64_int64"), map_key)); │ message, F("map_string_string"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int64_int64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_string_string"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetStringValue(), vals[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:890 │ protobuf/src/google/protobuf/reflection_tester.cc:1316
│
std::map<int32_t, int32_t> map; │ std::map<int32_t, const EnumValueDescriptor*> map;
map[0] = 0; │ map[0] = map_enum_bar_;
map[1] = 1; │ map[1] = map_enum_baz_;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_int32")); │ F("map_int32_enum"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_int32"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_enum"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_int32_key_); │ *sub_message, map_int32_enum_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ const EnumValueDescriptor* val = sub_message->GetReflection()->GetEnum(
*sub_message, map_int32_int32_val_); │ *sub_message, map_int32_enum_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(message, F("map_int32_enum"),
reflection->ContainsMapKey(message, F("map_int32_int32"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_int32"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_enum"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetEnumValue(), map[i]->number());
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:918 │ protobuf/src/google/protobuf/reflection_tester.cc:1316
│
std::map<int64_t, int64_t> map; │ std::map<int32_t, const EnumValueDescriptor*> map;
map[0] = 0; │ map[0] = map_enum_bar_;
map[1] = 1; │ map[1] = map_enum_baz_;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int64_int64")); │ F("map_int32_enum"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int64_int64"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_enum"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int64_int64_key_); │ *sub_message, map_int32_enum_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ const EnumValueDescriptor* val = sub_message->GetReflection()->GetEnum(
*sub_message, map_int64_int64_val_); │ *sub_message, map_int32_enum_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(message, F("map_int32_enum"),
reflection->ContainsMapKey(message, F("map_int64_int64"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int64_int64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_enum"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetEnumValue(), map[i]->number());
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:890 │ protobuf/src/google/protobuf/reflection_tester.cc:1114
│
std::map<int32_t, int32_t> map; │ std::map<int32_t, int32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_int32_int32")); │ message, F("map_sfixed32_sfixed32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_int32_int32"), i); │ message, F("map_sfixed32_sfixed32"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_int32_key_); │ *sub_message, map_sfixed32_sfixed32_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_int32_val_); │ *sub_message, map_sfixed32_sfixed32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int32_int32"), map_key)); │ message, F("map_sfixed32_sfixed32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_int32"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed32_sfixed32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:918 │ protobuf/src/google/protobuf/reflection_tester.cc:1114
│
std::map<int64_t, int64_t> map; │ std::map<int32_t, int32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_int64_int64")); │ message, F("map_sfixed32_sfixed32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_int64_int64"), i); │ message, F("map_sfixed32_sfixed32"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int64_int64_key_); │ *sub_message, map_sfixed32_sfixed32_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_int64_int64_val_); │ *sub_message, map_sfixed32_sfixed32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int64_int64"), map_key)); │ message, F("map_sfixed32_sfixed32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int64_int64"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed32_sfixed32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:890 │ protobuf/src/google/protobuf/reflection_tester.cc:1143
│
std::map<int32_t, int32_t> map; │ std::map<int64_t, int64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_int32_int32")); │ message, F("map_sfixed64_sfixed64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_int32_int32"), i); │ message, F("map_sfixed64_sfixed64"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_int32_int32_key_); │ *sub_message, map_sfixed64_sfixed64_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_int32_int32_val_); │ *sub_message, map_sfixed64_sfixed64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt64Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int32_int32"), map_key)); │ message, F("map_sfixed64_sfixed64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_int32"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed64_sfixed64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:918 │ protobuf/src/google/protobuf/reflection_tester.cc:1143
│
std::map<int64_t, int64_t> map; │ std::map<int64_t, int64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(
F("map_int64_int64")); │ message, F("map_sfixed64_sfixed64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_int64_int64"), i); │ message, F("map_sfixed64_sfixed64"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_int64_int64_key_); │ *sub_message, map_sfixed64_sfixed64_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_int64_int64_val_); │ *sub_message, map_sfixed64_sfixed64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetInt64Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int64_int64"), map_key)); │ message, F("map_sfixed64_sfixed64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int64_int64"), │ EXPECT_TRUE(reflection->LookupMapValue(message,
│ F("map_sfixed64_sfixed64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:890 │ protobuf/src/google/protobuf/reflection_tester.cc:946
│
std::map<int32_t, int32_t> map; │ std::map<uint32_t, uint32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_int32")); │ F("map_uint32_uint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_int32"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint32_uint32"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ uint32_t key = sub_message->GetReflection()->GetUInt32(
*sub_message, map_int32_int32_key_); │ *sub_message, map_uint32_uint32_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ uint32_t val = sub_message->GetReflection()->GetUInt32(
*sub_message, map_int32_int32_val_); │ *sub_message, map_uint32_uint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetUInt32Value(i);
EXPECT_TRUE( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint32_uint32"),
reflection->ContainsMapKey(message, F("map_int32_int32"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_int32"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint32_uint32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:918 │ protobuf/src/google/protobuf/reflection_tester.cc:946
│
std::map<int64_t, int64_t> map; │ std::map<uint32_t, uint32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int64_int64")); │ F("map_uint32_uint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int64_int64"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint32_uint32"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ uint32_t key = sub_message->GetReflection()->GetUInt32(
*sub_message, map_int64_int64_key_); │ *sub_message, map_uint32_uint32_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ uint32_t val = sub_message->GetReflection()->GetUInt32(
*sub_message, map_int64_int64_val_); │ *sub_message, map_uint32_uint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetUInt32Value(i);
EXPECT_TRUE( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint32_uint32"),
reflection->ContainsMapKey(message, F("map_int64_int64"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int64_int64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint32_uint32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:890 │ protobuf/src/google/protobuf/reflection_tester.cc:974
│
std::map<int32_t, int32_t> map; │ std::map<uint64_t, uint64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_int32")); │ F("map_uint64_uint64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_int32"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint64_uint64"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ uint64_t key = sub_message->GetReflection()->GetUInt64(
*sub_message, map_int32_int32_key_); │ *sub_message, map_uint64_uint64_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ uint64_t val = sub_message->GetReflection()->GetUInt64(
*sub_message, map_int32_int32_val_); │ *sub_message, map_uint64_uint64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetUInt64Value(i);
EXPECT_TRUE( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint64_uint64"),
reflection->ContainsMapKey(message, F("map_int32_int32"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_int32"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint64_uint64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:918 │ protobuf/src/google/protobuf/reflection_tester.cc:974
│
std::map<int64_t, int64_t> map; │ std::map<uint64_t, uint64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int64_int64")); │ F("map_uint64_uint64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int64_int64"), i); │ &reflection->GetRepeatedMessage(message, F("map_uint64_uint64"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ uint64_t key = sub_message->GetReflection()->GetUInt64(
*sub_message, map_int64_int64_key_); │ *sub_message, map_uint64_uint64_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ uint64_t val = sub_message->GetReflection()->GetUInt64(
*sub_message, map_int64_int64_val_); │ *sub_message, map_uint64_uint64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetUInt64Value(i);
EXPECT_TRUE( │ EXPECT_TRUE(reflection->ContainsMapKey(message, F("map_uint64_uint64"),
reflection->ContainsMapKey(message, F("map_int64_int64"), map_key)); │ map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int64_int64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_uint64_uint64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:890 │ protobuf/src/google/protobuf/reflection_tester.cc:1288
│
std::map<int32_t, int32_t> map; │ std::map<int32_t, std::string> map;
map[0] = 0; │ map[0] = "0";
map[1] = 1; │ map[1] = "1";
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_int32")); │ F("map_int32_bytes"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_int32"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_bytes"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_int32_key_); │ *sub_message, map_int32_bytes_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ std::string val = sub_message->GetReflection()->GetString(
*sub_message, map_int32_int32_val_); │ *sub_message, map_int32_bytes_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int32_int32"), map_key)); │ message, F("map_int32_bytes"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_int32"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_bytes"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetStringValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:918 │ protobuf/src/google/protobuf/reflection_tester.cc:1288
│
std::map<int64_t, int64_t> map; │ std::map<int32_t, std::string> map;
map[0] = 0; │ map[0] = "0";
map[1] = 1; │ map[1] = "1";
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int64_int64")); │ F("map_int32_bytes"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int64_int64"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_bytes"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int64_int64_key_); │ *sub_message, map_int32_bytes_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ std::string val = sub_message->GetReflection()->GetString(
*sub_message, map_int64_int64_val_); │ *sub_message, map_int32_bytes_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int64_int64"), map_key)); │ message, F("map_int32_bytes"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int64_int64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_bytes"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetStringValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:890 │ protobuf/src/google/protobuf/reflection_tester.cc:1002
│
std::map<int32_t, int32_t> map; │ std::map<int32_t, int32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_int32")); │ F("map_sint32_sint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_int32"), i); │ &reflection->GetRepeatedMessage(message, F("map_sint32_sint32"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_int32_key_); │ *sub_message, map_sint32_sint32_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_int32_val_); │ *sub_message, map_sint32_sint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int32_int32"), map_key)); │ message, F("map_sint32_sint32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_int32"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint32_sint32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:918 │ protobuf/src/google/protobuf/reflection_tester.cc:1002
│
std::map<int64_t, int64_t> map; │ std::map<int32_t, int32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int64_int64")); │ F("map_sint32_sint32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int64_int64"), i); │ &reflection->GetRepeatedMessage(message, F("map_sint32_sint32"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int64_int64_key_); │ *sub_message, map_sint32_sint32_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_int64_int64_val_); │ *sub_message, map_sint32_sint32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int64_int64"), map_key)); │ message, F("map_sint32_sint32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int64_int64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint32_sint32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:890 │ protobuf/src/google/protobuf/reflection_tester.cc:1030
│
std::map<int32_t, int32_t> map; │ std::map<int64_t, int64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_int32")); │ F("map_sint64_sint64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_int32"), i); │ &reflection->GetRepeatedMessage(message, F("map_sint64_sint64"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_int32_int32_key_); │ *sub_message, map_sint64_sint64_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_int32_int32_val_); │ *sub_message, map_sint64_sint64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt64Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int32_int32"), map_key)); │ message, F("map_sint64_sint64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_int32"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint64_sint64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:918 │ protobuf/src/google/protobuf/reflection_tester.cc:1030
│
std::map<int64_t, int64_t> map; │ std::map<int64_t, int64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int64_int64")); │ F("map_sint64_sint64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int64_int64"), i); │ &reflection->GetRepeatedMessage(message, F("map_sint64_sint64"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ int64_t key = sub_message->GetReflection()->GetInt64(
*sub_message, map_int64_int64_key_); │ *sub_message, map_sint64_sint64_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ int64_t val = sub_message->GetReflection()->GetInt64(
*sub_message, map_int64_int64_val_); │ *sub_message, map_sint64_sint64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetInt64Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int64_int64"), map_key)); │ message, F("map_sint64_sint64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int64_int64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_sint64_sint64"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:890 │ protobuf/src/google/protobuf/reflection_tester.cc:1200
│
std::map<int32_t, int32_t> map; │ std::map<int32_t, double> map;
map[0] = 0; │ map[0] = 0.0;
map[1] = 1; │ map[1] = 1.0;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_int32")); │ F("map_int32_double"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_int32"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_double"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_int32_key_); │ *sub_message, map_int32_double_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ double val = sub_message->GetReflection()->GetDouble(
*sub_message, map_int32_int32_val_); │ *sub_message, map_int32_double_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int32_int32"), map_key)); │ message, F("map_int32_double"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_int32"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_double"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetDoubleValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:918 │ protobuf/src/google/protobuf/reflection_tester.cc:1200
│
std::map<int64_t, int64_t> map; │ std::map<int32_t, double> map;
map[0] = 0; │ map[0] = 0.0;
map[1] = 1; │ map[1] = 1.0;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int64_int64")); │ F("map_int32_double"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int64_int64"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_double"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int64_int64_key_); │ *sub_message, map_int32_double_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ double val = sub_message->GetReflection()->GetDouble(
*sub_message, map_int64_int64_val_); │ *sub_message, map_int32_double_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int64_int64"), map_key)); │ message, F("map_int32_double"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int64_int64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_double"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetDoubleValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:890 │ protobuf/src/google/protobuf/reflection_tester.cc:1172
│
std::map<int32_t, int32_t> map; │ std::map<int32_t, float> map;
map[0] = 0; │ map[0] = 0.0;
map[1] = 1; │ map[1] = 1.0;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_int32")); │ F("map_int32_float"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int32_int32"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_float"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int32_int32_key_); │ *sub_message, map_int32_float_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ float val = sub_message->GetReflection()->GetFloat(
*sub_message, map_int32_int32_val_); │ *sub_message, map_int32_float_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int32_int32"), map_key)); │ message, F("map_int32_float"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_int32"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_float"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetFloatValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:918 │ protobuf/src/google/protobuf/reflection_tester.cc:1172
│
std::map<int64_t, int64_t> map; │ std::map<int32_t, float> map;
map[0] = 0; │ map[0] = 0.0;
map[1] = 1; │ map[1] = 1.0;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int64_int64")); │ F("map_int32_float"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int64_int64"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_float"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int64_int64_key_); │ *sub_message, map_int32_float_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ float val = sub_message->GetReflection()->GetFloat(
*sub_message, map_int64_int64_val_); │ *sub_message, map_int32_float_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int64_int64"), map_key)); │ message, F("map_int32_float"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int64_int64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_float"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetFloatValue(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:890 │ protobuf/src/google/protobuf/reflection_tester.cc:1058
│
std::map<int32_t, int32_t> map; │ std::map<uint32_t, uint32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_int32")); │ F("map_fixed32_fixed32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_int32_int32"), i); │ message, F("map_fixed32_fixed32"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ uint32_t key = sub_message->GetReflection()->GetUInt32(
*sub_message, map_int32_int32_key_); │ *sub_message, map_fixed32_fixed32_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ uint32_t val = sub_message->GetReflection()->GetUInt32(
*sub_message, map_int32_int32_val_); │ *sub_message, map_fixed32_fixed32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetUInt32Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int32_int32"), map_key)); │ message, F("map_fixed32_fixed32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_int32"), │ EXPECT_TRUE(reflection->LookupMapValue(
map_key, &map_value_const_ref)); │ message, F("map_fixed32_fixed32"), map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:918 │ protobuf/src/google/protobuf/reflection_tester.cc:1058
│
std::map<int64_t, int64_t> map; │ std::map<uint32_t, uint32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int64_int64")); │ F("map_fixed32_fixed32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_int64_int64"), i); │ message, F("map_fixed32_fixed32"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ uint32_t key = sub_message->GetReflection()->GetUInt32(
*sub_message, map_int64_int64_key_); │ *sub_message, map_fixed32_fixed32_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ uint32_t val = sub_message->GetReflection()->GetUInt32(
*sub_message, map_int64_int64_val_); │ *sub_message, map_fixed32_fixed32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetUInt32Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int64_int64"), map_key)); │ message, F("map_fixed32_fixed32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int64_int64"), │ EXPECT_TRUE(reflection->LookupMapValue(
map_key, &map_value_const_ref)); │ message, F("map_fixed32_fixed32"), map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:890 │ protobuf/src/google/protobuf/reflection_tester.cc:1086
│
std::map<int32_t, int32_t> map; │ std::map<uint64_t, uint64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int32_int32")); │ F("map_fixed64_fixed64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_int32_int32"), i); │ message, F("map_fixed64_fixed64"), i);
int32_t key = sub_message->GetReflection()->GetInt32( │ uint64_t key = sub_message->GetReflection()->GetUInt64(
*sub_message, map_int32_int32_key_); │ *sub_message, map_fixed64_fixed64_key_);
int32_t val = sub_message->GetReflection()->GetInt32( │ uint64_t val = sub_message->GetReflection()->GetUInt64(
*sub_message, map_int32_int32_val_); │ *sub_message, map_fixed64_fixed64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt32Value(i); │ map_key.SetUInt64Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int32_int32"), map_key)); │ message, F("map_fixed64_fixed64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_int32"), │ EXPECT_TRUE(reflection->LookupMapValue(
map_key, &map_value_const_ref)); │ message, F("map_fixed64_fixed64"), map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:918 │ protobuf/src/google/protobuf/reflection_tester.cc:1086
│
std::map<int64_t, int64_t> map; │ std::map<uint64_t, uint64_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int64_int64")); │ F("map_fixed64_fixed64"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message = &reflection->GetRepeatedMessage(
&reflection->GetRepeatedMessage(message, F("map_int64_int64"), i); │ message, F("map_fixed64_fixed64"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ uint64_t key = sub_message->GetReflection()->GetUInt64(
*sub_message, map_int64_int64_key_); │ *sub_message, map_fixed64_fixed64_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ uint64_t val = sub_message->GetReflection()->GetUInt64(
*sub_message, map_int64_int64_val_); │ *sub_message, map_fixed64_fixed64_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetUInt64Value(i);
EXPECT_TRUE( │ EXPECT_EQ(true, reflection->ContainsMapKey(
reflection->ContainsMapKey(message, F("map_int64_int64"), map_key)); │ message, F("map_fixed64_fixed64"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int64_int64"), │ EXPECT_TRUE(reflection->LookupMapValue(
map_key, &map_value_const_ref)); │ message, F("map_fixed64_fixed64"), map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetUInt64Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_tester.cc:918 │ protobuf/src/google/protobuf/reflection_tester.cc:890
│
std::map<int64_t, int64_t> map; │ std::map<int32_t, int32_t> map;
map[0] = 0; │ map[0] = 0;
map[1] = 1; │ map[1] = 1;
for (int i = 0; i < 2; i++) { │ for (int i = 0; i < 2; i++) {
const internal::MapFieldBase& map_field = │ const internal::MapFieldBase& map_field =
reflection->GetRaw<internal::MapFieldBase>(message, │ reflection->GetRaw<internal::MapFieldBase>(message,
F("map_int64_int64")); │ F("map_int32_int32"));
if (map_field.IsRepeatedFieldValid()) { │ if (map_field.IsRepeatedFieldValid()) {
// Check with RepeatedField Reflection │ // Check with RepeatedField Reflection
sub_message = │ sub_message =
&reflection->GetRepeatedMessage(message, F("map_int64_int64"), i); │ &reflection->GetRepeatedMessage(message, F("map_int32_int32"), i);
int64_t key = sub_message->GetReflection()->GetInt64( │ int32_t key = sub_message->GetReflection()->GetInt32(
*sub_message, map_int64_int64_key_); │ *sub_message, map_int32_int32_key_);
int64_t val = sub_message->GetReflection()->GetInt64( │ int32_t val = sub_message->GetReflection()->GetInt32(
*sub_message, map_int64_int64_val_); │ *sub_message, map_int32_int32_val_);
EXPECT_EQ(map[key], val); │ EXPECT_EQ(map[key], val);
} else { │ } else {
// Check with Map Reflection │ // Check with Map Reflection
map_key.SetInt64Value(i); │ map_key.SetInt32Value(i);
EXPECT_TRUE( │ EXPECT_TRUE(
reflection->ContainsMapKey(message, F("map_int64_int64"), map_key)); │ reflection->ContainsMapKey(message, F("map_int32_int32"), map_key));
EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int64_int64"), │ EXPECT_TRUE(reflection->LookupMapValue(message, F("map_int32_int32"),
map_key, &map_value_const_ref)); │ map_key, &map_value_const_ref));
EXPECT_EQ(map_value_const_ref.GetInt64Value(), map[i]); │ EXPECT_EQ(map_value_const_ref.GetInt32Value(), map[i]);
} │ }
} │ }
} │
next prev up protobuf/src/google/protobuf/reflection_ops.cc:140 │ protobuf/src/google/protobuf/reflection_ops.cc:106
│
#define HANDLE_TYPE(CPPTYPE, METHOD) \ │ switch (field->cpp_type()) {
case FieldDescriptor::CPPTYPE_##CPPTYPE: \ │ #define HANDLE_TYPE(CPPTYPE, METHOD) \
to_reflection->Set##METHOD(to, field, \ │ case FieldDescriptor::CPPTYPE_##CPPTYPE: \
from_reflection->Get##METHOD(from, field)); \ │ to_reflection->Add##METHOD( \
│ to, field, from_reflection->GetRepeated##METHOD(from, field, j)); \
break; │ break;
│
HANDLE_TYPE(INT32, Int32); │ HANDLE_TYPE(INT32, Int32);
HANDLE_TYPE(INT64, Int64); │ HANDLE_TYPE(INT64, Int64);
HANDLE_TYPE(UINT32, UInt32); │ HANDLE_TYPE(UINT32, UInt32);
HANDLE_TYPE(UINT64, UInt64); │ HANDLE_TYPE(UINT64, UInt64);
HANDLE_TYPE(FLOAT, Float); │ HANDLE_TYPE(FLOAT, Float);
HANDLE_TYPE(DOUBLE, Double); │ HANDLE_TYPE(DOUBLE, Double);
HANDLE_TYPE(BOOL, Bool); │ HANDLE_TYPE(BOOL, Bool);
HANDLE_TYPE(STRING, String); │ HANDLE_TYPE(STRING, String);
HANDLE_TYPE(ENUM, Enum); │ HANDLE_TYPE(ENUM, Enum);
#undef HANDLE_TYPE │ #undef HANDLE_TYPE
│
case FieldDescriptor::CPPTYPE_MESSAGE: │ case FieldDescriptor::CPPTYPE_MESSAGE:
const Message& from_child = from_reflection->GetMessage(from, field); │ const Message& from_child =
if (from_reflection == to_reflection) { │ from_reflection->GetRepeatedMessage(from, field, j);
to_reflection │ if (from_reflection == to_reflection) {
->MutableMessage( │ to_reflection
to, field, from_child.GetReflection()->GetMessageFactory()) │ ->AddMessage(to, field,
->MergeFrom(from_child); │ from_child.GetReflection()->GetMessageFactory())
} else { │ ->MergeFrom(from_child);
to_reflection->MutableMessage(to, field)->MergeFrom(from_child); │ } else {
} │ to_reflection->AddMessage(to, field)->MergeFrom(from_child);
break; │ }
│ break;
│ }
} │
next prev up protobuf/src/google/protobuf/compiler/csharp/csharp_map_field.h:42 │ protobuf/src/google/protobuf/compiler/csharp/csharp_wrapper_field.h:44
│
public: │ public:
MapFieldGenerator(const FieldDescriptor* descriptor, │ WrapperFieldGenerator(const FieldDescriptor* descriptor,
int presenceIndex, │ int presenceIndex,
const Options* options); │ const Options *options);
~MapFieldGenerator(); │ ~WrapperFieldGenerator();
│
MapFieldGenerator(const MapFieldGenerator&) = delete; │ WrapperFieldGenerator(const WrapperFieldGenerator&) = delete;
MapFieldGenerator& operator=(const MapFieldGenerator&) = delete; │ WrapperFieldGenerator& operator=(const WrapperFieldGenerator&) = delete;
│
│ virtual void GenerateCodecCode(io::Printer* printer) override;
virtual void GenerateCloningCode(io::Printer* printer) override; │ virtual void GenerateCloningCode(io::Printer* printer) override;
virtual void GenerateFreezingCode(io::Printer* printer) override; │
virtual void GenerateMembers(io::Printer* printer) override; │ virtual void GenerateMembers(io::Printer* printer) override;
virtual void GenerateMergingCode(io::Printer* printer) override; │ virtual void GenerateMergingCode(io::Printer* printer) override;
virtual void GenerateParsingCode(io::Printer* printer) override; │ virtual void GenerateParsingCode(io::Printer* printer) override;
virtual void GenerateParsingCode(io::Printer* printer, bool use_parse_context) overrid │ virtual void GenerateParsingCode(io::Printer* printer, bool use_parse_context) overrid
virtual void GenerateSerializationCode(io::Printer* printer) override; │ virtual void GenerateSerializationCode(io::Printer* printer) override;
virtual void GenerateSerializationCode(io::Printer* printer, bool use_write_context) o │ virtual void GenerateSerializationCode(io::Printer* printer, bool use_write_context) o
virtual void GenerateSerializedSizeCode(io::Printer* printer) override; │ virtual void GenerateSerializedSizeCode(io::Printer* printer) override;
│ virtual void GenerateExtensionCode(io::Printer* printer) override;
│
virtual void WriteHash(io::Printer* printer) override; │ virtual void WriteHash(io::Printer* printer) override;
virtual void WriteEquals(io::Printer* printer) override; │ virtual void WriteEquals(io::Printer* printer) override;
virtual void WriteToString(io::Printer* printer) override; │ virtual void WriteToString(io::Printer* printer) override;
│
│ private:
│ bool is_value_type; // True for int32 etc; false for bytes and string
} │
next prev up protobuf/src/google/protobuf/compiler/csharp/csharp_bootstrap_unittest.cc:78 │ protobuf/src/google/protobuf/compiler/cpp/bootstrap_unittest.cc:84
│
public: │ public:
void ExpectFileMatches(const std::string& virtual_filename, │ void ExpectFileMatches(const std::string& virtual_filename,
const std::string& physical_filename) { │ const std::string& physical_filename) {
auto it = files_.find(virtual_filename); │ auto it = files_.find(virtual_filename);
ASSERT_TRUE(it != files_.end()) │ ASSERT_TRUE(it != files_.end())
<< "Generator failed to generate file: " << virtual_filename; │ << "Generator failed to generate file: " << virtual_filename;
std::string expected_contents = *it->second; │
│
│ std::string expected_contents = *it->second;
std::string actual_contents; │ std::string actual_contents;
GOOGLE_CHECK_OK( │ GOOGLE_CHECK_OK(
File::GetContentsAsText(TestSourceDir() + "/" + physical_filename, │ File::GetContents(TestUtil::TestSourceDir() + "/" + physical_filename,
&actual_contents, true)) │ &actual_contents, true))
<< "Unable to get " << physical_filename; │ << physical_filename;
EXPECT_TRUE(actual_contents == expected_contents) │ CleanStringLineEndings(&actual_contents, false);
<< physical_filename << " needs to be regenerated. Please run " │
"generate_descriptor_proto.sh. Then add this file " │ #ifdef WRITE_FILES // Define to debug mismatched files.
"to your CL."; │ GOOGLE_CHECK_OK(File::SetContents("/tmp/expected.cc", expected_contents,
│ true));
│ GOOGLE_CHECK_OK(
│ File::SetContents("/tmp/actual.cc", actual_contents, true));
│ #endif
│
│ ASSERT_EQ(expected_contents, actual_contents)
│ << physical_filename
│ << " needs to be regenerated. Please run "
│ "generate_descriptor_proto.sh. "
│ "Then add this file to your CL.";
} │ }
│
// implements GeneratorContext -------------------------------------- │ // implements GeneratorContext --------------------------------------
│
virtual io::ZeroCopyOutputStream* Open(const std::string& filename) { │ io::ZeroCopyOutputStream* Open(const std::string& filename) override {
auto& map_slot = files_[filename]; │ auto& map_slot = files_[filename];
map_slot.reset(new std::string); │ map_slot.reset(new std::string);
return new io::StringOutputStream(map_slot.get()); │ return new io::StringOutputStream(map_slot.get());
} │ }
│
private: │ private:
std::map<std::string, std::unique_ptr<std::string>> files_; │ std::map<std::string, std::unique_ptr<std::string>> files_;
} │
next prev up protobuf/src/google/protobuf/map_field.h:185 │ protobuf/src/google/protobuf/map_field.h:156
│
if (type_ != other.type_) { │ if (type_ != other.type_) {
// To be consistent with operator<, we don't allow this either. │ // We could define a total order that handles this case, but
│ // there currently no need. So, for now, fail.
GOOGLE_LOG(FATAL) << "Unsupported: type mismatch"; │ GOOGLE_LOG(FATAL) << "Unsupported: type mismatch";
} │ }
switch (type()) { │ switch (type()) {
case FieldDescriptor::CPPTYPE_DOUBLE: │ case FieldDescriptor::CPPTYPE_DOUBLE:
case FieldDescriptor::CPPTYPE_FLOAT: │ case FieldDescriptor::CPPTYPE_FLOAT:
case FieldDescriptor::CPPTYPE_ENUM: │ case FieldDescriptor::CPPTYPE_ENUM:
case FieldDescriptor::CPPTYPE_MESSAGE: │ case FieldDescriptor::CPPTYPE_MESSAGE:
GOOGLE_LOG(FATAL) << "Unsupported"; │ GOOGLE_LOG(FATAL) << "Unsupported";
break; │ return false;
case FieldDescriptor::CPPTYPE_STRING: │ case FieldDescriptor::CPPTYPE_STRING:
return val_.string_value_.get() == other.val_.string_value_.get(); │ return val_.string_value_.get() < other.val_.string_value_.get();
case FieldDescriptor::CPPTYPE_INT64: │ case FieldDescriptor::CPPTYPE_INT64:
return val_.int64_value_ == other.val_.int64_value_; │ return val_.int64_value_ < other.val_.int64_value_;
case FieldDescriptor::CPPTYPE_INT32: │ case FieldDescriptor::CPPTYPE_INT32:
return val_.int32_value_ == other.val_.int32_value_; │ return val_.int32_value_ < other.val_.int32_value_;
case FieldDescriptor::CPPTYPE_UINT64: │ case FieldDescriptor::CPPTYPE_UINT64:
return val_.uint64_value_ == other.val_.uint64_value_; │ return val_.uint64_value_ < other.val_.uint64_value_;
case FieldDescriptor::CPPTYPE_UINT32: │ case FieldDescriptor::CPPTYPE_UINT32:
return val_.uint32_value_ == other.val_.uint32_value_; │ return val_.uint32_value_ < other.val_.uint32_value_;
case FieldDescriptor::CPPTYPE_BOOL: │ case FieldDescriptor::CPPTYPE_BOOL:
return val_.bool_value_ == other.val_.bool_value_; │ return val_.bool_value_ < other.val_.bool_value_;
} │ }
GOOGLE_LOG(FATAL) << "Can't get here."; │
return false; │ return false;
} │
next prev up protobuf/src/google/protobuf/compiler/command_line_interface_unittest.cc:1656 │ protobuf/src/google/protobuf/compiler/command_line_interface_unittest.cc:1625
│
CreateTempFile("foo.proto", │ CreateTempFile("foo.proto",
"syntax = \"proto2\";\n" │ "syntax = \"proto2\";\n"
"message Foo {}\n"); │ "message Foo {}\n");
CreateTempFile("bar.proto", │ CreateTempFile("bar.proto",
"syntax = \"proto2\";\n" │ "syntax = \"proto2\";\n"
"import \"foo.proto\";\n" │ "import \"foo.proto\";\n"
"message Bar {\n" │ "message Bar {\n"
" optional Foo foo = 1;\n" │ " optional Foo foo = 1;\n"
"}\n"); │ "}\n");
│
Run("protocol_compiler --descriptor_set_out=$tmpdir/descriptor_set " │ Run("protocol_compiler --descriptor_set_out=$tmpdir/descriptor_set "
"--include_imports --include_source_info --proto_path=$tmpdir bar.proto"); │ "--include_imports --proto_path=$tmpdir bar.proto");
│
ExpectNoErrors(); │ ExpectNoErrors();
│
FileDescriptorSet descriptor_set; │ FileDescriptorSet descriptor_set;
ReadDescriptorSet("descriptor_set", &descriptor_set); │ ReadDescriptorSet("descriptor_set", &descriptor_set);
if (HasFatalFailure()) return; │ if (HasFatalFailure()) return;
EXPECT_EQ(2, descriptor_set.file_size()); │ EXPECT_EQ(2, descriptor_set.file_size());
if (descriptor_set.file(0).name() == "bar.proto") { │ if (descriptor_set.file(0).name() == "bar.proto") {
std::swap(descriptor_set.mutable_file()->mutable_data()[0], │ std::swap(descriptor_set.mutable_file()->mutable_data()[0],
descriptor_set.mutable_file()->mutable_data()[1]); │ descriptor_set.mutable_file()->mutable_data()[1]);
} │ }
EXPECT_EQ("foo.proto", descriptor_set.file(0).name()); │ EXPECT_EQ("foo.proto", descriptor_set.file(0).name());
EXPECT_EQ("bar.proto", descriptor_set.file(1).name()); │ EXPECT_EQ("bar.proto", descriptor_set.file(1).name());
// Source code info included. │ // Descriptor set should not have source code info.
EXPECT_TRUE(descriptor_set.file(0).has_source_code_info()); │ EXPECT_FALSE(descriptor_set.file(0).has_source_code_info());
EXPECT_TRUE(descriptor_set.file(1).has_source_code_info()); │ EXPECT_FALSE(descriptor_set.file(1).has_source_code_info());
} │
next prev up protobuf/src/google/protobuf/repeated_field_reflection_unittest.cc:155 │ protobuf/src/google/protobuf/repeated_field_reflection_unittest.cc:529
│
TestAllExtensions extended_message; │ TestAllExtensions extended_message;
const Reflection* refl = extended_message.GetReflection(); │ const Reflection* refl = extended_message.GetReflection();
const Descriptor* desc = extended_message.GetDescriptor(); │ const Descriptor* desc = extended_message.GetDescriptor();
│
for (int i = 0; i < 10; ++i) { │ for (int i = 0; i < 10; ++i) {
extended_message.AddExtension(unittest::repeated_int64_extension, │ extended_message.AddExtension(unittest::repeated_int64_extension,
Func(i, 1)); │ Func(i, 1));
} │ }
│
const FieldDescriptor* fd_repeated_int64_extension = │ const FieldDescriptor* fd_repeated_int64_extension =
desc->file()->FindExtensionByName("repeated_int64_extension"); │ desc->file()->FindExtensionByName("repeated_int64_extension");
GOOGLE_CHECK(fd_repeated_int64_extension != nullptr); │ GOOGLE_CHECK(fd_repeated_int64_extension != nullptr);
│
const RepeatedField<int64_t>& rf_int64_extension = │ const RepeatedFieldRef<int64_t> rf_int64_extension =
refl->GetRepeatedField<int64_t>(extended_message, │ refl->GetRepeatedFieldRef<int64_t>(extended_message,
fd_repeated_int64_extension); │ fd_repeated_int64_extension);
│
RepeatedField<int64_t>* mrf_int64_extension = │ const MutableRepeatedFieldRef<int64_t> mrf_int64_extension =
refl->MutableRepeatedField<int64_t>(&extended_message, │ refl->GetMutableRepeatedFieldRef<int64_t>(&extended_message,
fd_repeated_int64_extension); │ fd_repeated_int64_extension);
│
for (int i = 0; i < 10; ++i) { │ for (int i = 0; i < 10; ++i) {
EXPECT_EQ(Func(i, 1), rf_int64_extension.Get(i)); │ EXPECT_EQ(Func(i, 1), rf_int64_extension.Get(i));
mrf_int64_extension->Set(i, Func(i, -1)); │ mrf_int64_extension.Set(i, Func(i, -1));
EXPECT_EQ(Func(i, -1), extended_message.GetExtension( │ EXPECT_EQ(Func(i, -1), extended_message.GetExtension(
unittest::repeated_int64_extension, i)); │ unittest::repeated_int64_extension, i));
} │ }
} │
next prev up protobuf/src/google/protobuf/util/internal/protostream_objectwriter_test.cc:1983 │ protobuf/src/google/protobuf/util/internal/protostream_objectsource_test.cc:877
│
AnyOut out; │ AnyOut out;
::google::protobuf::Any* any = out.mutable_any(); │ ::google::protobuf::Any* any = out.mutable_any();
any->set_type_url("type.googleapis.com/google.protobuf.Any"); │ any->set_type_url("type.googleapis.com/google.protobuf.Any");
│
::google::protobuf::Any nested_any; │ ::google::protobuf::Any nested_any;
nested_any.set_type_url("type.googleapis.com/google.protobuf.Any"); │ nested_any.set_type_url("type.googleapis.com/google.protobuf.Any");
│
::google::protobuf::Any second_nested_any; │ ::google::protobuf::Any second_nested_any;
second_nested_any.set_type_url( │ second_nested_any.set_type_url(
"type.googleapis.com/proto_util_converter.testing.AnyM"); │ "type.googleapis.com/proto_util_converter.testing.AnyM");
│
AnyM m; │ AnyM m;
m.set_foo("foovalue"); │ m.set_foo("foovalue");
second_nested_any.set_value(m.SerializeAsString()); │ second_nested_any.set_value(m.SerializeAsString());
│
nested_any.set_value(second_nested_any.SerializeAsString()); │ nested_any.set_value(second_nested_any.SerializeAsString());
any->set_value(nested_any.SerializeAsString()); │ any->set_value(nested_any.SerializeAsString());
│
ow_->StartObject("") │ ow_.StartObject("")
->StartObject("any") │ ->StartObject("any")
->RenderString("@type", "type.googleapis.com/google.protobuf.Any") │ ->RenderString("@type", "type.googleapis.com/google.protobuf.Any")
->StartObject("value") │ ->StartObject("value")
->RenderString("@type", "type.googleapis.com/google.protobuf.Any") │ ->RenderString("@type", "type.googleapis.com/google.protobuf.Any")
->StartObject("value") │ ->StartObject("value")
->RenderString("@type", │ ->RenderString("@type",
"type.googleapis.com/proto_util_converter.testing.AnyM") │ "type.googleapis.com/proto_util_converter.testing.AnyM")
->RenderString("foo", "foovalue") │ ->RenderString("foo", "foovalue")
->EndObject() │ ->EndObject()
->EndObject() │ ->EndObject()
->EndObject() │ ->EndObject()
->EndObject(); │ ->EndObject();
CheckOutput(out, 156); │
│ DoTest(out, AnyOut::descriptor());
} │
next prev up protobuf/src/google/protobuf/compiler/java/string_field.cc:379 │ protobuf/src/google/protobuf/compiler/java/string_field_lite.cc:313
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$var $kt_name$: kotlin.String\n" │ "$kt_deprecation$var $kt_name$: kotlin.String\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
if (HasHazzer(descriptor_)) { │ if (HasHazzer(descriptor_)) {
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field.cc:283 │ protobuf/src/google/protobuf/compiler/java/string_field.cc:379
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$ var $kt_name$: $kt_type$\n" │ "$kt_deprecation$var $kt_name$: kotlin.String\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
if (HasHazzer(descriptor_)) { │ if (HasHazzer(descriptor_)) {
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/primitive_field_lite.cc:325 │ protobuf/src/google/protobuf/compiler/java/string_field_lite.cc:313
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$var $kt_name$: $kt_type$\n" │ "$kt_deprecation$var $kt_name$: kotlin.String\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
if (HasHazzer(descriptor_)) { │ if (HasHazzer(descriptor_)) {
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field_lite.cc:288 │ protobuf/src/google/protobuf/compiler/java/string_field_lite.cc:313
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$var $kt_name$: $kt_type$\n" │ "$kt_deprecation$var $kt_name$: kotlin.String\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
if (HasHazzer(descriptor_)) { │ if (HasHazzer(descriptor_)) {
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/primitive_field.cc:320 │ protobuf/src/google/protobuf/compiler/java/string_field.cc:379
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$var $kt_name$: $kt_type$\n" │ "$kt_deprecation$var $kt_name$: kotlin.String\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
if (HasHazzer(descriptor_)) { │ if (HasHazzer(descriptor_)) {
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/primitive_field.cc:320 │ protobuf/src/google/protobuf/compiler/java/enum_field.cc:283
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$var $kt_name$: $kt_type$\n" │ "$kt_deprecation$ var $kt_name$: $kt_type$\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
if (HasHazzer(descriptor_)) { │ if (HasHazzer(descriptor_)) {
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field_lite.cc:288 │ protobuf/src/google/protobuf/compiler/java/enum_field.cc:283
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$var $kt_name$: $kt_type$\n" │ "$kt_deprecation$ var $kt_name$: $kt_type$\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
if (HasHazzer(descriptor_)) { │ if (HasHazzer(descriptor_)) {
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/primitive_field_lite.cc:325 │ protobuf/src/google/protobuf/compiler/java/primitive_field.cc:320
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$var $kt_name$: $kt_type$\n" │ "$kt_deprecation$var $kt_name$: $kt_type$\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
if (HasHazzer(descriptor_)) { │ if (HasHazzer(descriptor_)) {
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field_lite.cc:288 │ protobuf/src/google/protobuf/compiler/java/primitive_field_lite.cc:325
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$var $kt_name$: $kt_type$\n" │ "$kt_deprecation$var $kt_name$: $kt_type$\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
if (HasHazzer(descriptor_)) { │ if (HasHazzer(descriptor_)) {
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/message_field.cc:421 │ protobuf/src/google/protobuf/compiler/java/string_field.cc:379
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$var $kt_name$: $kt_type$\n" │ "$kt_deprecation$var $kt_name$: kotlin.String\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ if (HasHazzer(descriptor_)) {
printer->Print( │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
variables_, │ printer->Print(
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ variables_,
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
"}\n"); │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
│ "}\n");
GenerateKotlinOrNull(printer); │ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/message_field.cc:421 │ protobuf/src/google/protobuf/compiler/java/enum_field.cc:283
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$var $kt_name$: $kt_type$\n" │ "$kt_deprecation$ var $kt_name$: $kt_type$\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ if (HasHazzer(descriptor_)) {
printer->Print( │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
variables_, │ printer->Print(
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ variables_,
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
"}\n"); │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
│ "}\n");
GenerateKotlinOrNull(printer); │ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/message_field.cc:421 │ protobuf/src/google/protobuf/compiler/java/primitive_field.cc:320
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$var $kt_name$: $kt_type$\n" │ "$kt_deprecation$var $kt_name$: $kt_type$\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ if (HasHazzer(descriptor_)) {
printer->Print( │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
variables_, │ printer->Print(
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ variables_,
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
"}\n"); │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
│ "}\n");
GenerateKotlinOrNull(printer); │ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/message_field_lite.cc:290 │ protobuf/src/google/protobuf/compiler/java/string_field_lite.cc:313
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$var $kt_name$: $kt_type$\n" │ "$kt_deprecation$var $kt_name$: kotlin.String\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ if (HasHazzer(descriptor_)) {
printer->Print( │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
variables_, │ printer->Print(
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ variables_,
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
"}\n"); │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
GenerateKotlinOrNull(printer); │ "}\n");
│ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/message_field_lite.cc:290 │ protobuf/src/google/protobuf/compiler/java/primitive_field_lite.cc:325
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$var $kt_name$: $kt_type$\n" │ "$kt_deprecation$var $kt_name$: $kt_type$\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ if (HasHazzer(descriptor_)) {
printer->Print( │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
variables_, │ printer->Print(
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ variables_,
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
"}\n"); │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
GenerateKotlinOrNull(printer); │ "}\n");
│ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/message_field_lite.cc:290 │ protobuf/src/google/protobuf/compiler/java/enum_field_lite.cc:288
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$var $kt_name$: $kt_type$\n" │ "$kt_deprecation$var $kt_name$: $kt_type$\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ if (HasHazzer(descriptor_)) {
printer->Print( │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
variables_, │ printer->Print(
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ variables_,
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
"}\n"); │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
GenerateKotlinOrNull(printer); │ "}\n");
│ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/message_field_lite.cc:290 │ protobuf/src/google/protobuf/compiler/java/message_field.cc:421
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print(variables_, │ printer->Print(variables_,
"$kt_deprecation$var $kt_name$: $kt_type$\n" │ "$kt_deprecation$var $kt_name$: $kt_type$\n"
" @JvmName(\"${$get$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$get$kt_capitalized_name$$}$\")\n"
" get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n" │ " get() = $kt_dsl_builder$.${$get$capitalized_name$$}$()\n"
" @JvmName(\"${$set$kt_capitalized_name$$}$\")\n" │ " @JvmName(\"${$set$kt_capitalized_name$$}$\")\n"
" set(value) {\n" │ " set(value) {\n"
" $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n" │ " $kt_dsl_builder$.${$set$capitalized_name$$}$(value)\n"
" }\n"); │ " }\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, CLEARER, │ WriteFieldAccessorDocComment(printer, descriptor_, CLEARER,
/* builder */ false); │ /* builder */ false);
printer->Print(variables_, │ printer->Print(variables_,
"fun ${$clear$kt_capitalized_name$$}$() {\n" │ "fun ${$clear$kt_capitalized_name$$}$() {\n"
" $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n" │ " $kt_dsl_builder$.${$clear$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n" │ "fun ${$has$kt_capitalized_name$$}$(): kotlin.Boolean {\n"
" return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n" │ " return $kt_dsl_builder$.${$has$capitalized_name$$}$()\n"
"}\n"); │ "}\n");
│
GenerateKotlinOrNull(printer); │ GenerateKotlinOrNull(printer);
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_field_lite.cc:515 │ protobuf/src/google/protobuf/compiler/java/enum_field.cc:654
│
WriteFieldAccessorDocComment(printer, descriptor_, LIST_GETTER); │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_GETTER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"$deprecation$java.util.List<$type$> get$capitalized_name$List();\n"); │ "$deprecation$java.util.List<$type$> get$capitalized_name$List();\n");
WriteFieldAccessorDocComment(printer, descriptor_, LIST_COUNT); │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_COUNT);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$int get$capitalized_name$Count();\n"); │ "$deprecation$int get$capitalized_name$Count();\n");
WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_GETTER); │ WriteFieldAccessorDocComment(printer, descriptor_, LIST_INDEXED_GETTER);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$$type$ get$capitalized_name$(int index);\n"); │ "$deprecation$$type$ get$capitalized_name$(int index);\n");
if (SupportUnknownEnumValue(descriptor_->file())) { │ if (SupportUnknownEnumValue(descriptor_->file())) {
WriteFieldEnumValueAccessorDocComment(printer, descriptor_, LIST_GETTER); │ WriteFieldEnumValueAccessorDocComment(printer, descriptor_, LIST_GETTER);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$java.util.List<java.lang.Integer>\n" │ "$deprecation$java.util.List<java.lang.Integer>\n"
"get$capitalized_name$ValueList();\n"); │ "get$capitalized_name$ValueList();\n");
WriteFieldEnumValueAccessorDocComment(printer, descriptor_, │ WriteFieldEnumValueAccessorDocComment(printer, descriptor_,
LIST_INDEXED_GETTER); │ LIST_INDEXED_GETTER);
printer->Print(variables_, │ printer->Print(variables_,
"$deprecation$int get$capitalized_name$Value(int index);\n"); │ "$deprecation$int get$capitalized_name$Value(int index);\n");
} │ }
} │
next prev up protobuf/src/google/protobuf/compiler/java/enum_lite.h:56 │ protobuf/src/google/protobuf/compiler/java/enum.h:56
│
namespace protobuf { │ namespace protobuf {
namespace compiler { │ namespace compiler {
namespace java { │ namespace java {
│
class EnumLiteGenerator { │ class EnumGenerator {
public: │ public:
EnumLiteGenerator(const EnumDescriptor* descriptor, bool immutable_api, │ EnumGenerator(const EnumDescriptor* descriptor, bool immutable_api,
Context* context); │ Context* context);
~EnumLiteGenerator(); │ ~EnumGenerator();
│
void Generate(io::Printer* printer); │ void Generate(io::Printer* printer);
│
private: │ private:
const EnumDescriptor* descriptor_; │ const EnumDescriptor* descriptor_;
│
// The proto language allows multiple enum constants to have the same │ // The proto language allows multiple enum constants to have the same
// numeric value. Java, however, does not allow multiple enum constants to │ // numeric value. Java, however, does not allow multiple enum constants to
// be considered equivalent. We treat the first defined constant for any │ // be considered equivalent. We treat the first defined constant for any
// given numeric value as "canonical" and the rest as aliases of that │ // given numeric value as "canonical" and the rest as aliases of that
// canonical value. │ // canonical value.
std::vector<const EnumValueDescriptor*> canonical_values_; │ std::vector<const EnumValueDescriptor*> canonical_values_;
│
struct Alias { │ struct Alias {
const EnumValueDescriptor* value; │ const EnumValueDescriptor* value;
const EnumValueDescriptor* canonical_value; │ const EnumValueDescriptor* canonical_value;
}; │ };
std::vector<Alias> aliases_; │ std::vector<Alias> aliases_;
│
bool immutable_api_; │ bool immutable_api_;
│
Context* context_; │ Context* context_;
ClassNameResolver* name_resolver_; │ ClassNameResolver* name_resolver_;
│
GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumLiteGenerator); │ bool CanUseEnumValues();
│
│ GOOGLE_DISALLOW_EVIL_CONSTRUCTORS(EnumGenerator);
}; │ };
│
} // namespace java │ } // namespace java
} // namespace compiler │ } // namespace compiler
} // namespace protobuf │ } // namespace protobuf
} │
next prev up protobuf/src/google/protobuf/unknown_field_set_unittest.cc:485 │ protobuf/src/google/protobuf/unknown_field_set_unittest.cc:509
│
TestAllTypes message; │ using unittest::optional_nested_enum_extension;
│ using unittest::repeated_nested_enum_extension;
│
│ TestAllExtensions message;
ASSERT_TRUE(message.ParseFromString(data)); │ ASSERT_TRUE(message.ParseFromString(data));
EXPECT_EQ(TestAllTypes::BAR, message.optional_nested_enum()); │ EXPECT_EQ(TestAllTypes::BAR,
ASSERT_EQ(2, message.repeated_nested_enum_size()); │ message.GetExtension(optional_nested_enum_extension));
EXPECT_EQ(TestAllTypes::FOO, message.repeated_nested_enum(0)); │ ASSERT_EQ(2, message.ExtensionSize(repeated_nested_enum_extension));
EXPECT_EQ(TestAllTypes::BAZ, message.repeated_nested_enum(1)); │ EXPECT_EQ(TestAllTypes::FOO,
│ message.GetExtension(repeated_nested_enum_extension, 0));
│ EXPECT_EQ(TestAllTypes::BAZ,
│ message.GetExtension(repeated_nested_enum_extension, 1));
│
const UnknownFieldSet& unknown_fields = message.unknown_fields(); │ const UnknownFieldSet& unknown_fields = message.unknown_fields();
ASSERT_EQ(3, unknown_fields.field_count()); │ ASSERT_EQ(3, unknown_fields.field_count());
│
EXPECT_EQ(singular_field->number(), unknown_fields.field(0).number()); │ EXPECT_EQ(singular_field->number(), unknown_fields.field(0).number());
ASSERT_EQ(UnknownField::TYPE_VARINT, unknown_fields.field(0).type()); │ ASSERT_EQ(UnknownField::TYPE_VARINT, unknown_fields.field(0).type());
EXPECT_EQ(5, unknown_fields.field(0).varint()); │ EXPECT_EQ(5, unknown_fields.field(0).varint());
│
EXPECT_EQ(repeated_field->number(), unknown_fields.field(1).number()); │ EXPECT_EQ(repeated_field->number(), unknown_fields.field(1).number());
ASSERT_EQ(UnknownField::TYPE_VARINT, unknown_fields.field(1).type()); │ ASSERT_EQ(UnknownField::TYPE_VARINT, unknown_fields.field(1).type());
EXPECT_EQ(4, unknown_fields.field(1).varint()); │ EXPECT_EQ(4, unknown_fields.field(1).varint());
│
EXPECT_EQ(repeated_field->number(), unknown_fields.field(2).number()); │ EXPECT_EQ(repeated_field->number(), unknown_fields.field(2).number());
ASSERT_EQ(UnknownField::TYPE_VARINT, unknown_fields.field(2).type()); │ ASSERT_EQ(UnknownField::TYPE_VARINT, unknown_fields.field(2).type());
EXPECT_EQ(6, unknown_fields.field(2).varint()); │ EXPECT_EQ(6, unknown_fields.field(2).varint());
} │
next prev up protobuf/src/google/protobuf/compiler/java/message_field.cc:174 │ protobuf/src/google/protobuf/compiler/java/message_field.cc:201
│
WriteFieldAccessorDocComment(printer, descriptor_, HAZZER); │ WriteFieldAccessorDocComment(printer, descriptor_, HAZZER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$public boolean ${$has$capitalized_name$$}$() {\n" │ "$deprecation$public boolean ${$has$capitalized_name$$}$() {\n"
" return $get_has_field_bit_message$;\n" │ " return $name$_ != null;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
WriteFieldAccessorDocComment(printer, descriptor_, GETTER); │ WriteFieldAccessorDocComment(printer, descriptor_, GETTER);
printer->Print( │ printer->Print(
variables_, │ variables_,
"@java.lang.Override\n" │ "@java.lang.Override\n"
"$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n" │ "$deprecation$public $type$ ${$get$capitalized_name$$}$() {\n"
" return $name$_ == null ? $type$.getDefaultInstance() : $name$_;\n" │ " return $name$_ == null ? $type$.getDefaultInstance() : $name$_;\n"
"}\n"); │ "}\n");
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
│
WriteFieldDocComment(printer, descriptor_); │ WriteFieldDocComment(printer, descriptor_);
printer->Print( │ printer->Print(variables_,
variables_, │ "@java.lang.Override\n"
"@java.lang.Override\n" │ "$deprecation$public $type$OrBuilder "
"$deprecation$public $type$OrBuilder " │ "${$get$capitalized_name$OrBuilder$}$() {\n"
"${$get$capitalized_name$OrBuilder$}$() {\n" │ " return get$capitalized_name$();\n"
" return $name$_ == null ? $type$.getDefaultInstance() : $name$_;\n" │ "}\n");
"}\n"); │
printer->Annotate("{", "}", descriptor_); │ printer->Annotate("{", "}", descriptor_);
} │
next prev up protobuf/src/google/protobuf/descriptor_unittest.cc:212 │ protobuf/src/google/protobuf/descriptor_unittest.cc:257
│
const char* location_name = nullptr; │ const char* location_name = nullptr;
switch (location) { │ switch (location) {
case NAME: │ case NAME:
location_name = "NAME"; │ location_name = "NAME";
break; │ break;
case NUMBER: │ case NUMBER:
location_name = "NUMBER"; │ location_name = "NUMBER";
break; │ break;
case TYPE: │ case TYPE:
location_name = "TYPE"; │ location_name = "TYPE";
break; │ break;
case EXTENDEE: │ case EXTENDEE:
location_name = "EXTENDEE"; │ location_name = "EXTENDEE";
break; │ break;
case DEFAULT_VALUE: │ case DEFAULT_VALUE:
location_name = "DEFAULT_VALUE"; │ location_name = "DEFAULT_VALUE";
break; │ break;
case OPTION_NAME: │ case OPTION_NAME:
location_name = "OPTION_NAME"; │ location_name = "OPTION_NAME";
break; │ break;
case OPTION_VALUE: │ case OPTION_VALUE:
location_name = "OPTION_VALUE"; │ location_name = "OPTION_VALUE";
break; │ break;
case INPUT_TYPE: │ case INPUT_TYPE:
location_name = "INPUT_TYPE"; │ location_name = "INPUT_TYPE";
break; │ break;
case OUTPUT_TYPE: │ case OUTPUT_TYPE:
location_name = "OUTPUT_TYPE"; │ location_name = "OUTPUT_TYPE";
break; │ break;
case IMPORT: │ case IMPORT:
location_name = "IMPORT"; │ location_name = "IMPORT";
break; │ break;
case OTHER: │ case OTHER:
location_name = "OTHER"; │ location_name = "OTHER";
break; │ break;
} │ }
│
strings::SubstituteAndAppend(&text_, "$0: $1: $2: $3\n", filename, │ strings::SubstituteAndAppend(&warning_text_, "$0: $1: $2: $3\n", filename,
element_name, location_name, message); │ element_name, location_name, message);
} │
next prev up protobuf/src/google/protobuf/compiler/cpp/message.cc:1319 │ protobuf/src/google/protobuf/compiler/cpp/message.cc:1348
│
if (utf8_check == Utf8CheckMode::kStrict) { │ if (utf8_check == Utf8CheckMode::kStrict) {
format( │ format(
" static bool ValidateKey(std::string* s) {\n" │ " static bool ValidateValue(std::string* s) {\n"
" return ::$proto_ns$::internal::WireFormatLite::" │ " return ::$proto_ns$::internal::WireFormatLite::"
"VerifyUtf8String(s->data(), static_cast<int>(s->size()), " │ "VerifyUtf8String(s->data(), static_cast<int>(s->size()), "
"::$proto_ns$::internal::WireFormatLite::PARSE, \"$1$\");\n" │ "::$proto_ns$::internal::WireFormatLite::PARSE, \"$1$\");\n"
" }\n", │ " }\n",
descriptor_->field(0)->full_name()); │ descriptor_->field(1)->full_name());
} else { │ } else {
GOOGLE_CHECK(utf8_check == Utf8CheckMode::kVerify); │ GOOGLE_CHECK(utf8_check == Utf8CheckMode::kVerify);
format( │ format(
" static bool ValidateKey(std::string* s) {\n" │ " static bool ValidateValue(std::string* s) {\n"
"#ifndef NDEBUG\n" │ "#ifndef NDEBUG\n"
" ::$proto_ns$::internal::WireFormatLite::VerifyUtf8String(\n" │ " ::$proto_ns$::internal::WireFormatLite::VerifyUtf8String(\n"
" s->data(), static_cast<int>(s->size()), " │ " s->data(), static_cast<int>(s->size()), "
"::$proto_ns$::internal::" │ "::$proto_ns$::internal::"
"WireFormatLite::PARSE, \"$1$\");\n" │ "WireFormatLite::PARSE, \"$1$\");\n"
"#else\n" │ "#else\n"
" (void) s;\n" │ " (void) s;\n"
"#endif\n" │ "#endif\n"
" return true;\n" │ " return true;\n"
" }\n", │ " }\n",
descriptor_->field(0)->full_name()); │ descriptor_->field(1)->full_name());
} │ }
} │