|
|
|
@ -96,8 +96,14 @@ GenerateAccessorDeclarations(io::Printer* printer) const { |
|
|
|
|
|
|
|
|
|
printer->Print(variables_, |
|
|
|
|
"inline const ::std::string& $name$() const;\n" |
|
|
|
|
"inline void set_$name$(const ::std::string& value);\n" |
|
|
|
|
"inline void set_$name$(const char* value);\n"); |
|
|
|
|
"inline void set_$name$(const ::std::string& value);\n"); |
|
|
|
|
if (descriptor_->type() == FieldDescriptor::TYPE_BYTES) { |
|
|
|
|
printer->Print(variables_, |
|
|
|
|
"inline void set_$name$(const char* value, size_t size);\n"); |
|
|
|
|
} else { |
|
|
|
|
printer->Print(variables_, |
|
|
|
|
"inline void set_$name$(const char* value);\n"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
printer->Print(variables_, |
|
|
|
|
"inline ::std::string* mutable_$name$();\n"); |
|
|
|
@ -121,14 +127,28 @@ GenerateInlineAccessorDefinitions(io::Printer* printer) const { |
|
|
|
|
" $name$_ = new ::std::string;\n" |
|
|
|
|
" }\n" |
|
|
|
|
" $name$_->assign(value);\n" |
|
|
|
|
"}\n" |
|
|
|
|
"inline void $classname$::set_$name$(const char* value) {\n" |
|
|
|
|
" _set_bit($index$);\n" |
|
|
|
|
" if ($name$_ == &_default_$name$_) {\n" |
|
|
|
|
" $name$_ = new ::std::string;\n" |
|
|
|
|
" }\n" |
|
|
|
|
" $name$_->assign(value);\n" |
|
|
|
|
"}\n"); |
|
|
|
|
|
|
|
|
|
if (descriptor_->type() == FieldDescriptor::TYPE_BYTES) { |
|
|
|
|
printer->Print(variables_, |
|
|
|
|
"inline void $classname$::set_$name$(const char* value, size_t size) {\n" |
|
|
|
|
" _set_bit($index$);\n" |
|
|
|
|
" if ($name$_ == &_default_$name$_) {\n" |
|
|
|
|
" $name$_ = new ::std::string;\n" |
|
|
|
|
" }\n" |
|
|
|
|
" $name$_->assign(value, size);\n" |
|
|
|
|
"}\n"); |
|
|
|
|
} else { |
|
|
|
|
printer->Print(variables_, |
|
|
|
|
"inline void $classname$::set_$name$(const char* value) {\n" |
|
|
|
|
" _set_bit($index$);\n" |
|
|
|
|
" if ($name$_ == &_default_$name$_) {\n" |
|
|
|
|
" $name$_ = new ::std::string;\n" |
|
|
|
|
" }\n" |
|
|
|
|
" $name$_->assign(value);\n" |
|
|
|
|
"}\n"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
printer->Print(variables_, |
|
|
|
|
"inline ::std::string* $classname$::mutable_$name$() {\n" |
|
|
|
|
" _set_bit($index$);\n" |
|
|
|
@ -245,10 +265,18 @@ GenerateAccessorDeclarations(io::Printer* printer) const { |
|
|
|
|
"inline const ::std::string& $name$(int index) const;\n" |
|
|
|
|
"inline ::std::string* mutable_$name$(int index);\n" |
|
|
|
|
"inline void set_$name$(int index, const ::std::string& value);\n" |
|
|
|
|
"inline void set_$name$(int index, const char* value);\n" |
|
|
|
|
"inline ::std::string* add_$name$();\n" |
|
|
|
|
"inline void add_$name$(const ::std::string& value);\n" |
|
|
|
|
"inline void add_$name$(const char* value);\n"); |
|
|
|
|
"inline void add_$name$(const ::std::string& value);\n"); |
|
|
|
|
|
|
|
|
|
if (descriptor_->type() == FieldDescriptor::TYPE_BYTES) { |
|
|
|
|
printer->Print(variables_, |
|
|
|
|
"inline void set_$name$(int index, const char* value, size_t size);\n" |
|
|
|
|
"inline void add_$name$(const char* value, size_t size);\n"); |
|
|
|
|
} else { |
|
|
|
|
printer->Print(variables_, |
|
|
|
|
"inline void set_$name$(int index, const char* value);\n" |
|
|
|
|
"inline void add_$name$(const char* value);\n"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (descriptor_->options().has_ctype()) { |
|
|
|
|
printer->Outdent(); |
|
|
|
@ -277,18 +305,31 @@ GenerateInlineAccessorDefinitions(io::Printer* printer) const { |
|
|
|
|
"inline void $classname$::set_$name$(int index, const ::std::string& value) {\n" |
|
|
|
|
" $name$_.Mutable(index)->assign(value);\n" |
|
|
|
|
"}\n" |
|
|
|
|
"inline void $classname$::set_$name$(int index, const char* value) {\n" |
|
|
|
|
" $name$_.Mutable(index)->assign(value);\n" |
|
|
|
|
"}\n" |
|
|
|
|
"inline ::std::string* $classname$::add_$name$() {\n" |
|
|
|
|
" return $name$_.Add();\n" |
|
|
|
|
"}\n" |
|
|
|
|
"inline void $classname$::add_$name$(const ::std::string& value) {\n" |
|
|
|
|
" $name$_.Add()->assign(value);\n" |
|
|
|
|
"}\n" |
|
|
|
|
"inline void $classname$::add_$name$(const char* value) {\n" |
|
|
|
|
" $name$_.Add()->assign(value);\n" |
|
|
|
|
"}\n"); |
|
|
|
|
|
|
|
|
|
if (descriptor_->type() == FieldDescriptor::TYPE_BYTES) { |
|
|
|
|
printer->Print(variables_, |
|
|
|
|
"inline void " |
|
|
|
|
"$classname$::set_$name$(int index, const char* value, size_t size) {\n" |
|
|
|
|
" $name$_.Mutable(index)->assign(value, size);\n" |
|
|
|
|
"}\n" |
|
|
|
|
"inline void $classname$::add_$name$(const char* value, size_t size) {\n" |
|
|
|
|
" $name$_.Add()->assign(value, size);\n" |
|
|
|
|
"}\n"); |
|
|
|
|
} else { |
|
|
|
|
printer->Print(variables_, |
|
|
|
|
"inline void $classname$::set_$name$(int index, const char* value) {\n" |
|
|
|
|
" $name$_.Mutable(index)->assign(value);\n" |
|
|
|
|
"}\n" |
|
|
|
|
"inline void $classname$::add_$name$(const char* value) {\n" |
|
|
|
|
" $name$_.Add()->assign(value);\n" |
|
|
|
|
"}\n"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void RepeatedStringFieldGenerator:: |
|
|
|
|