File tree Expand file tree Collapse file tree 4 files changed +57
-19
lines changed
compiler/cpp/field_generators Expand file tree Collapse file tree 4 files changed +57
-19
lines changed Original file line number Diff line number Diff line change @@ -405,25 +405,35 @@ void RepeatedEnum::GenerateInlineAccessorDefinitions(io::Printer* p) const {
405405 // @@protoc_insertion_point(field_get:$pkg.Msg.field$)
406406 return static_cast<$Enum$>(_internal_$name$().Get(index));
407407 }
408+ )cc" );
409+ p->Emit (R"cc(
408410 inline void $Msg$::set_$name$(int index, $Enum$ value) {
409411 $assert_valid$;
410412 _internal_mutable_$name$()->Set(index, value);
411413 $annotate_set$
412414 // @@protoc_insertion_point(field_set:$pkg.Msg.field$)
413415 }
416+ )cc" );
417+ p->Emit (R"cc(
414418 inline void $Msg$::add_$name$($Enum$ value) {
415419 $assert_valid$;
416420 $TsanDetectConcurrentMutation$;
417421 _internal_mutable_$name$()->Add(value);
418422 $annotate_add$
419423 // @@protoc_insertion_point(field_add:$pkg.Msg.field$)
420424 }
421- inline const $pb$::RepeatedField<int>& $Msg$::$name$() const {
425+ )cc" );
426+ p->Emit (R"cc(
427+ inline const $pb$::RepeatedField<int>& $Msg$::$name$() const
428+ ABSL_ATTRIBUTE_LIFETIME_BOUND {
422429 $annotate_list$;
423430 // @@protoc_insertion_point(field_list:$pkg.Msg.field$)
424431 return _internal_$name$();
425432 }
426- inline $pb$::RepeatedField<int>* $Msg$::mutable_$name$() {
433+ )cc" );
434+ p->Emit (R"cc(
435+ inline $pb$::RepeatedField<int>* $Msg$::mutable_$name$()
436+ ABSL_ATTRIBUTE_LIFETIME_BOUND {
427437 $annotate_mutable_list$;
428438 // @@protoc_insertion_point(field_mutable_list:$pkg.Msg.field$)
429439 $TsanDetectConcurrentMutation$;
Original file line number Diff line number Diff line change @@ -224,17 +224,23 @@ void Map::GenerateInlineAccessorDefinitions(io::Printer* p) const {
224224 $TsanDetectConcurrentRead$;
225225 return $field_$.GetMap();
226226 }
227- inline const $Map$& $Msg$::$name$() const {
227+ )cc" );
228+ p->Emit (R"cc(
229+ inline const $Map$& $Msg$::$name$() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
228230 $annotate_get$;
229231 // @@protoc_insertion_point(field_map:$pkg.Msg.field$)
230232 return _internal_$name$();
231233 }
234+ )cc" );
235+ p->Emit (R"cc(
232236 inline $Map$* $Msg$::_internal_mutable_$name$() {
233237 $PrepareSplitMessageForWrite$;
234238 $TsanDetectConcurrentMutation$;
235239 return $field_$.MutableMap();
236240 }
237- inline $Map$* $Msg$::mutable_$name$() {
241+ )cc" );
242+ p->Emit (R"cc(
243+ inline $Map$* $Msg$::mutable_$name$() ABSL_ATTRIBUTE_LIFETIME_BOUND {
238244 $annotate_mutable$;
239245 // @@protoc_insertion_point(field_mutable_map:$pkg.Msg.field$)
240246 return _internal_mutable_$name$();
Original file line number Diff line number Diff line change @@ -474,30 +474,40 @@ void RepeatedPrimitive::GenerateInlineAccessorDefinitions(
474474 // @@protoc_insertion_point(field_get:$pkg.Msg.field$)
475475 return _internal_$name$().Get(index);
476476 }
477+ )cc" );
478+ p->Emit (R"cc(
477479 inline void $Msg$::set_$name$(int index, $Type$ value) {
478480 $annotate_set$;
479481 _internal_mutable_$name$()->Set(index, value);
480482 // @@protoc_insertion_point(field_set:$pkg.Msg.field$)
481483 }
484+ )cc" );
485+ p->Emit (R"cc(
482486 inline void $Msg$::add_$name$($Type$ value) {
483487 $TsanDetectConcurrentMutation$;
484488 _internal_mutable_$name$()->Add(value);
485489 $annotate_add$;
486490 // @@protoc_insertion_point(field_add:$pkg.Msg.field$)
487491 }
488- inline const $pb$::RepeatedField<$Type$>& $Msg$::$name$() const {
492+ )cc" );
493+ p->Emit (R"cc(
494+ inline const $pb$::RepeatedField<$Type$>& $Msg$::$name$() const
495+ ABSL_ATTRIBUTE_LIFETIME_BOUND {
489496 $annotate_list$;
490497 // @@protoc_insertion_point(field_list:$pkg.Msg.field$)
491498 return _internal_$name$();
492499 }
493- inline $pb$::RepeatedField<$Type$>* $Msg$::mutable_$name$() {
500+ )cc" );
501+ p->Emit (R"cc(
502+ inline $pb$::RepeatedField<$Type$>* $Msg$::mutable_$name$()
503+ ABSL_ATTRIBUTE_LIFETIME_BOUND {
494504 $annotate_mutable_list$;
495505 // @@protoc_insertion_point(field_mutable_list:$pkg.Msg.field$)
496506 $TsanDetectConcurrentMutation$;
497507 return _internal_mutable_$name$();
498508 }
499-
500509 )cc" );
510+
501511 if (should_split ()) {
502512 p->Emit (R"cc(
503513 inline const $pb$::RepeatedField<$Type$>& $Msg$::_internal_$name$()
You can’t perform that action at this time.
0 commit comments