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());                                        
      }                                                                                          }                                                                                 
    }