|
|
|
@ -78,6 +78,7 @@ void SetCommonFieldVariables(const FieldDescriptor* descriptor, |
|
|
|
|
classname + "_FieldNumber_" + capitalized_name; |
|
|
|
|
(*variables)["field_number"] = SimpleItoa(descriptor->number()); |
|
|
|
|
(*variables)["field_type"] = GetCapitalizedType(descriptor); |
|
|
|
|
(*variables)["deprecated_attribute"] = GetOptionalDeprecatedAttribute(descriptor); |
|
|
|
|
std::vector<string> field_flags; |
|
|
|
|
if (descriptor->is_repeated()) field_flags.push_back("GPBFieldRepeated"); |
|
|
|
|
if (descriptor->is_required()) field_flags.push_back("GPBFieldRequired"); |
|
|
|
@ -266,12 +267,12 @@ void SingleFieldGenerator::GeneratePropertyDeclaration( |
|
|
|
|
printer->Print(variables_, "$comments$"); |
|
|
|
|
printer->Print( |
|
|
|
|
variables_, |
|
|
|
|
"@property(nonatomic, readwrite) $property_type$ $name$;\n" |
|
|
|
|
"@property(nonatomic, readwrite) $property_type$ $name$$deprecated_attribute$;\n" |
|
|
|
|
"\n"); |
|
|
|
|
if (WantsHasProperty()) { |
|
|
|
|
printer->Print( |
|
|
|
|
variables_, |
|
|
|
|
"@property(nonatomic, readwrite) BOOL has$capitalized_name$;\n"); |
|
|
|
|
"@property(nonatomic, readwrite) BOOL has$capitalized_name$$deprecated_attribute$;\n"); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -330,18 +331,18 @@ void ObjCObjFieldGenerator::GeneratePropertyDeclaration( |
|
|
|
|
printer->Print(variables_, "$comments$"); |
|
|
|
|
printer->Print( |
|
|
|
|
variables_, |
|
|
|
|
"@property(nonatomic, readwrite, $property_storage_attribute$, null_resettable) $property_type$ *$name$$storage_attribute$;\n"); |
|
|
|
|
"@property(nonatomic, readwrite, $property_storage_attribute$, null_resettable) $property_type$ *$name$$storage_attribute$$deprecated_attribute$;\n"); |
|
|
|
|
if (WantsHasProperty()) { |
|
|
|
|
printer->Print( |
|
|
|
|
variables_, |
|
|
|
|
"/// Test to see if @c $name$ has been set.\n" |
|
|
|
|
"@property(nonatomic, readwrite) BOOL has$capitalized_name$;\n"); |
|
|
|
|
"@property(nonatomic, readwrite) BOOL has$capitalized_name$$deprecated_attribute$;\n"); |
|
|
|
|
} |
|
|
|
|
if (IsInitName(variables_.find("name")->second)) { |
|
|
|
|
// If property name starts with init we need to annotate it to get past ARC.
|
|
|
|
|
// http://stackoverflow.com/questions/18723226/how-do-i-annotate-an-objective-c-property-with-an-objc-method-family/18723227#18723227
|
|
|
|
|
printer->Print(variables_, |
|
|
|
|
"- ($property_type$ *)$name$ GPB_METHOD_FAMILY_NONE;\n"); |
|
|
|
|
"- ($property_type$ *)$name$ GPB_METHOD_FAMILY_NONE$deprecated_attribute$;\n"); |
|
|
|
|
} |
|
|
|
|
printer->Print("\n"); |
|
|
|
|
} |
|
|
|
@ -385,14 +386,14 @@ void RepeatedFieldGenerator::GeneratePropertyDeclaration( |
|
|
|
|
variables_, |
|
|
|
|
"$comments$" |
|
|
|
|
"$array_comment$" |
|
|
|
|
"@property(nonatomic, readwrite, strong, null_resettable) $array_property_type$ *$name$$storage_attribute$;\n" |
|
|
|
|
"@property(nonatomic, readwrite, strong, null_resettable) $array_property_type$ *$name$$storage_attribute$$deprecated_attribute$;\n" |
|
|
|
|
"/// The number of items in @c $name$ without causing the array to be created.\n" |
|
|
|
|
"@property(nonatomic, readonly) NSUInteger $name$_Count;\n"); |
|
|
|
|
"@property(nonatomic, readonly) NSUInteger $name$_Count$deprecated_attribute$;\n"); |
|
|
|
|
if (IsInitName(variables_.find("name")->second)) { |
|
|
|
|
// If property name starts with init we need to annotate it to get past ARC.
|
|
|
|
|
// http://stackoverflow.com/questions/18723226/how-do-i-annotate-an-objective-c-property-with-an-objc-method-family/18723227#18723227
|
|
|
|
|
printer->Print(variables_, |
|
|
|
|
"- ($array_property_type$ *)$name$ GPB_METHOD_FAMILY_NONE;\n"); |
|
|
|
|
"- ($array_property_type$ *)$name$ GPB_METHOD_FAMILY_NONE$deprecated_attribute$;\n"); |
|
|
|
|
} |
|
|
|
|
printer->Print("\n"); |
|
|
|
|
} |
|
|
|
|