aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Muxi Yan <mxyan@google.com>2018-12-18 11:13:13 -0800
committerGravatar Muxi Yan <mxyan@google.com>2018-12-18 11:13:13 -0800
commit8bc8ff3dce507f912b8985fefaa22da1e2d95b6d (patch)
treecf4b044c93d4be009d44fab477893bcc40963ae0 /src
parentd36a13af3182495079bee65ff78e3e7e7f0d5901 (diff)
Fix nullability incompatibility
Diffstat (limited to 'src')
-rw-r--r--src/compiler/objective_c_generator.cc11
-rw-r--r--src/objective-c/ProtoRPC/ProtoRPC.h5
-rw-r--r--src/objective-c/ProtoRPC/ProtoService.m10
3 files changed, 19 insertions, 7 deletions
diff --git a/src/compiler/objective_c_generator.cc b/src/compiler/objective_c_generator.cc
index 0a6b64f595..af5398ec68 100644
--- a/src/compiler/objective_c_generator.cc
+++ b/src/compiler/objective_c_generator.cc
@@ -355,7 +355,7 @@ void PrintMethodImplementations(Printer* printer,
"@implementation $service_class$\n\n"
"// Designated initializer\n"
"- (instancetype)initWithHost:(NSString *)host "
- "callOptions:(GRPCCallOptions *_Nullable)callOptions{\n"
+ "callOptions:(GRPCCallOptions *_Nullable)callOptions {\n"
" self = [super initWithHost:host\n"
" packageName:@\"$package$\"\n"
" serviceName:@\"$service_name$\"\n"
@@ -363,10 +363,9 @@ void PrintMethodImplementations(Printer* printer,
" return self;\n"
"}\n\n"
"- (instancetype)initWithHost:(NSString *)host {\n"
- " return [self initWithHost:host\n"
- " packageName:@\"$package$\"\n"
- " serviceName:@\"$service_name$\"\n"
- " callOptions:nil];\n"
+ " return [super initWithHost:host\n"
+ " packageName:@\"$package$\"\n"
+ " serviceName:@\"$service_name$\"];\n"
"}\n\n");
printer.Print(
@@ -381,7 +380,7 @@ void PrintMethodImplementations(Printer* printer,
printer.Print(
"#pragma mark - Class Methods\n\n"
"+ (instancetype)serviceWithHost:(NSString *)host {\n"
- " return [self serviceWithHost:host callOptions:nil];\n"
+ " return [[self alloc] initWithHost:host];\n"
"}\n\n"
"+ (instancetype)serviceWithHost:(NSString *)host "
"callOptions:(GRPCCallOptions *_Nullable)callOptions {\n"
diff --git a/src/objective-c/ProtoRPC/ProtoRPC.h b/src/objective-c/ProtoRPC/ProtoRPC.h
index 91a50d395a..8ce3421cc1 100644
--- a/src/objective-c/ProtoRPC/ProtoRPC.h
+++ b/src/objective-c/ProtoRPC/ProtoRPC.h
@@ -134,6 +134,9 @@ NS_ASSUME_NONNULL_BEGIN
NS_ASSUME_NONNULL_END
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wnullability-completeness"
+
__attribute__((deprecated("Please use GRPCProtoCall."))) @interface ProtoRPC
: GRPCCall
@@ -160,3 +163,5 @@ __attribute__((deprecated("Please use GRPCProtoCall."))) @interface ProtoRPC
#pragma clang diagnostic pop
@end
+
+#pragma clang diagnostic pop
diff --git a/src/objective-c/ProtoRPC/ProtoService.m b/src/objective-c/ProtoRPC/ProtoService.m
index 3d998bfaeb..b7c7fadbcf 100644
--- a/src/objective-c/ProtoRPC/ProtoService.m
+++ b/src/objective-c/ProtoRPC/ProtoService.m
@@ -61,7 +61,15 @@
- (instancetype)initWithHost:(NSString *)host
packageName:(NSString *)packageName
serviceName:(NSString *)serviceName {
- return [self initWithHost:host packageName:packageName serviceName:serviceName callOptions:nil];
+ // Do not call designated initializer here due to nullability incompatibility. This method is from
+ // old API and does not assert on nullability of the parameters.
+ if ((self = [super init])) {
+ _host = [host copy];
+ _packageName = [packageName copy];
+ _serviceName = [serviceName copy];
+ _callOptions = nil;
+ }
+ return self;
}
- (GRPCProtoCall *)RPCToMethod:(NSString *)method