@@ -644,43 +644,50 @@ void GenerateFieldAccessor(const FieldDescriptor* field, const Options& options,
644
644
// Generate getter.
645
645
GenerateFieldDocComment (printer, field, options, kFieldGetter );
646
646
647
+ // deprecation
648
+ std::string deprecation_trigger = (field->options ().deprecated ()) ? " @trigger_error('" +
649
+ field->name () + " is deprecated.', E_USER_DEPRECATED);\n " : " " ;
650
+
647
651
if (oneof != NULL ) {
648
652
printer->Print (
649
653
" public function get^camel_name^()\n "
650
654
" {\n "
651
- " return $this->readOneof(^number^);\n "
655
+ " ^deprecation_trigger^ return $this->readOneof(^number^);\n "
652
656
" }\n\n "
653
657
" public function has^camel_name^()\n "
654
658
" {\n "
655
- " return $this->hasOneof(^number^);\n "
659
+ " ^deprecation_trigger^ return $this->hasOneof(^number^);\n "
656
660
" }\n\n " ,
657
661
" camel_name" , UnderscoresToCamelCase (field->name (), true ),
658
- " number" , IntToString (field->number ()));
662
+ " number" , IntToString (field->number ()),
663
+ " deprecation_trigger" , deprecation_trigger);
659
664
} else if (field->has_presence ()) {
660
665
printer->Print (
661
666
" public function get^camel_name^()\n "
662
667
" {\n "
663
- " return isset($this->^name^) ? $this->^name^ : ^default_value^;\n "
668
+ " ^deprecation_trigger^ return isset($this->^name^) ? $this->^name^ : ^default_value^;\n "
664
669
" }\n\n "
665
670
" public function has^camel_name^()\n "
666
671
" {\n "
667
- " return isset($this->^name^);\n "
672
+ " ^deprecation_trigger^ return isset($this->^name^);\n "
668
673
" }\n\n "
669
674
" public function clear^camel_name^()\n "
670
675
" {\n "
671
- " unset($this->^name^);\n "
676
+ " ^deprecation_trigger^ unset($this->^name^);\n "
672
677
" }\n\n " ,
673
678
" camel_name" , UnderscoresToCamelCase (field->name (), true ),
674
679
" name" , field->name (),
675
- " default_value" , DefaultForField (field));
680
+ " default_value" , DefaultForField (field),
681
+ " deprecation_trigger" , deprecation_trigger);
676
682
} else {
677
683
printer->Print (
678
684
" public function get^camel_name^()\n "
679
685
" {\n "
680
- " return $this->^name^;\n "
686
+ " ^deprecation_trigger^ return $this->^name^;\n "
681
687
" }\n\n " ,
682
- " camel_name" , UnderscoresToCamelCase (field->name (), true ), " name" ,
683
- field->name ());
688
+ " camel_name" , UnderscoresToCamelCase (field->name (), true ),
689
+ " name" , field->name (),
690
+ " deprecation_trigger" , deprecation_trigger);
684
691
}
685
692
686
693
// For wrapper types, generate an additional getXXXUnwrapped getter
@@ -692,10 +699,11 @@ void GenerateFieldAccessor(const FieldDescriptor* field, const Options& options,
692
699
printer->Print (
693
700
" public function get^camel_name^Unwrapped()\n "
694
701
" {\n "
695
- " return $this->readWrapperValue(\" ^field_name^\" );\n "
702
+ " ^deprecation_trigger^ return $this->readWrapperValue(\" ^field_name^\" );\n "
696
703
" }\n\n " ,
697
704
" camel_name" , UnderscoresToCamelCase (field->name (), true ),
698
- " field_name" , field->name ());
705
+ " field_name" , field->name (),
706
+ " deprecation_trigger" , deprecation_trigger);
699
707
}
700
708
701
709
// Generate setter.
@@ -707,6 +715,13 @@ void GenerateFieldAccessor(const FieldDescriptor* field, const Options& options,
707
715
708
716
Indent (printer);
709
717
718
+ if (field->options ().deprecated ()) {
719
+ printer->Print (
720
+ " ^deprecation_trigger^" ,
721
+ " deprecation_trigger" , deprecation_trigger
722
+ );
723
+ }
724
+
710
725
// Type check.
711
726
if (field->is_map ()) {
712
727
const Descriptor* map_entry = field->message_type ();
@@ -1741,6 +1756,9 @@ void GenerateFieldDocComment(io::Printer* printer, const FieldDescriptor* field,
1741
1756
" php_type" , PhpGetterTypeName (field, options),
1742
1757
" maybe_null" , can_return_null ? " |null" : " " );
1743
1758
}
1759
+ if (field->options ().deprecated ()) {
1760
+ printer->Print (" * @deprecated\n " );
1761
+ }
1744
1762
printer->Print (" */\n " );
1745
1763
}
1746
1764
0 commit comments