| 368 | } |
| 369 | |
| 370 | string* ExtensionSet::MutableString(int number, FieldType type, |
| 371 | const FieldDescriptor* descriptor) { |
| 372 | Extension* extension; |
| 373 | if (MaybeNewExtension(number, descriptor, &extension)) { |
| 374 | extension->type = type; |
| 375 | GOOGLE_DCHECK_EQ(cpp_type(extension->type), WireFormatLite::CPPTYPE_STRING); |
| 376 | extension->is_repeated = false; |
| 377 | extension->string_value = new string; |
| 378 | } else { |
| 379 | GOOGLE_DCHECK_TYPE(*extension, OPTIONAL, STRING); |
| 380 | } |
| 381 | extension->is_cleared = false; |
| 382 | return extension->string_value; |
| 383 | } |
| 384 | |
| 385 | const string& ExtensionSet::GetRepeatedString(int number, int index) const { |
| 386 | map<int, Extension>::const_iterator iter = extensions_.find(number); |