|
@@ -644,43 +644,50 @@ void GenerateFieldAccessor(const FieldDescriptor* field, const Options& options,
|
|
// Generate getter.
|
|
// Generate getter.
|
|
GenerateFieldDocComment(printer, field, options, kFieldGetter);
|
|
GenerateFieldDocComment(printer, field, options, kFieldGetter);
|
|
|
|
|
|
|
|
+ // deprecation
|
|
|
|
+ std::string deprecation_trigger = (field->options().deprecated()) ? "@trigger_error('" +
|
|
|
|
+ field->name() + " is deprecated.', E_USER_DEPRECATED);\n " : "";
|
|
|
|
+
|
|
if (oneof != NULL) {
|
|
if (oneof != NULL) {
|
|
printer->Print(
|
|
printer->Print(
|
|
"public function get^camel_name^()\n"
|
|
"public function get^camel_name^()\n"
|
|
"{\n"
|
|
"{\n"
|
|
- " return $this->readOneof(^number^);\n"
|
|
|
|
|
|
+ " ^deprecation_trigger^return $this->readOneof(^number^);\n"
|
|
"}\n\n"
|
|
"}\n\n"
|
|
"public function has^camel_name^()\n"
|
|
"public function has^camel_name^()\n"
|
|
"{\n"
|
|
"{\n"
|
|
- " return $this->hasOneof(^number^);\n"
|
|
|
|
|
|
+ " ^deprecation_trigger^return $this->hasOneof(^number^);\n"
|
|
"}\n\n",
|
|
"}\n\n",
|
|
"camel_name", UnderscoresToCamelCase(field->name(), true),
|
|
"camel_name", UnderscoresToCamelCase(field->name(), true),
|
|
- "number", IntToString(field->number()));
|
|
|
|
|
|
+ "number", IntToString(field->number()),
|
|
|
|
+ "deprecation_trigger", deprecation_trigger);
|
|
} else if (field->has_presence()) {
|
|
} else if (field->has_presence()) {
|
|
printer->Print(
|
|
printer->Print(
|
|
"public function get^camel_name^()\n"
|
|
"public function get^camel_name^()\n"
|
|
"{\n"
|
|
"{\n"
|
|
- " return isset($this->^name^) ? $this->^name^ : ^default_value^;\n"
|
|
|
|
|
|
+ " ^deprecation_trigger^return isset($this->^name^) ? $this->^name^ : ^default_value^;\n"
|
|
"}\n\n"
|
|
"}\n\n"
|
|
"public function has^camel_name^()\n"
|
|
"public function has^camel_name^()\n"
|
|
"{\n"
|
|
"{\n"
|
|
- " return isset($this->^name^);\n"
|
|
|
|
|
|
+ " ^deprecation_trigger^return isset($this->^name^);\n"
|
|
"}\n\n"
|
|
"}\n\n"
|
|
"public function clear^camel_name^()\n"
|
|
"public function clear^camel_name^()\n"
|
|
"{\n"
|
|
"{\n"
|
|
- " unset($this->^name^);\n"
|
|
|
|
|
|
+ " ^deprecation_trigger^unset($this->^name^);\n"
|
|
"}\n\n",
|
|
"}\n\n",
|
|
"camel_name", UnderscoresToCamelCase(field->name(), true),
|
|
"camel_name", UnderscoresToCamelCase(field->name(), true),
|
|
"name", field->name(),
|
|
"name", field->name(),
|
|
- "default_value", DefaultForField(field));
|
|
|
|
|
|
+ "default_value", DefaultForField(field),
|
|
|
|
+ "deprecation_trigger", deprecation_trigger);
|
|
} else {
|
|
} else {
|
|
printer->Print(
|
|
printer->Print(
|
|
"public function get^camel_name^()\n"
|
|
"public function get^camel_name^()\n"
|
|
"{\n"
|
|
"{\n"
|
|
- " return $this->^name^;\n"
|
|
|
|
|
|
+ " ^deprecation_trigger^return $this->^name^;\n"
|
|
"}\n\n",
|
|
"}\n\n",
|
|
- "camel_name", UnderscoresToCamelCase(field->name(), true), "name",
|
|
|
|
- field->name());
|
|
|
|
|
|
+ "camel_name", UnderscoresToCamelCase(field->name(), true),
|
|
|
|
+ "name", field->name(),
|
|
|
|
+ "deprecation_trigger", deprecation_trigger);
|
|
}
|
|
}
|
|
|
|
|
|
// For wrapper types, generate an additional getXXXUnwrapped getter
|
|
// For wrapper types, generate an additional getXXXUnwrapped getter
|
|
@@ -692,10 +699,11 @@ void GenerateFieldAccessor(const FieldDescriptor* field, const Options& options,
|
|
printer->Print(
|
|
printer->Print(
|
|
"public function get^camel_name^Unwrapped()\n"
|
|
"public function get^camel_name^Unwrapped()\n"
|
|
"{\n"
|
|
"{\n"
|
|
- " return $this->readWrapperValue(\"^field_name^\");\n"
|
|
|
|
|
|
+ " ^deprecation_trigger^return $this->readWrapperValue(\"^field_name^\");\n"
|
|
"}\n\n",
|
|
"}\n\n",
|
|
"camel_name", UnderscoresToCamelCase(field->name(), true),
|
|
"camel_name", UnderscoresToCamelCase(field->name(), true),
|
|
- "field_name", field->name());
|
|
|
|
|
|
+ "field_name", field->name(),
|
|
|
|
+ "deprecation_trigger", deprecation_trigger);
|
|
}
|
|
}
|
|
|
|
|
|
// Generate setter.
|
|
// Generate setter.
|
|
@@ -707,6 +715,13 @@ void GenerateFieldAccessor(const FieldDescriptor* field, const Options& options,
|
|
|
|
|
|
Indent(printer);
|
|
Indent(printer);
|
|
|
|
|
|
|
|
+ if (field->options().deprecated()) {
|
|
|
|
+ printer->Print(
|
|
|
|
+ "^deprecation_trigger^",
|
|
|
|
+ "deprecation_trigger", deprecation_trigger
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+
|
|
// Type check.
|
|
// Type check.
|
|
if (field->is_map()) {
|
|
if (field->is_map()) {
|
|
const Descriptor* map_entry = field->message_type();
|
|
const Descriptor* map_entry = field->message_type();
|
|
@@ -1741,6 +1756,9 @@ void GenerateFieldDocComment(io::Printer* printer, const FieldDescriptor* field,
|
|
"php_type", PhpGetterTypeName(field, options),
|
|
"php_type", PhpGetterTypeName(field, options),
|
|
"maybe_null", can_return_null ? "|null" : "");
|
|
"maybe_null", can_return_null ? "|null" : "");
|
|
}
|
|
}
|
|
|
|
+ if (field->options().deprecated()) {
|
|
|
|
+ printer->Print(" * @deprecated\n");
|
|
|
|
+ }
|
|
printer->Print(" */\n");
|
|
printer->Print(" */\n");
|
|
}
|
|
}
|
|
|
|
|