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