diff options
author | Muxi Yan <mxyan@google.com> | 2018-12-18 11:13:13 -0800 |
---|---|---|
committer | Muxi Yan <mxyan@google.com> | 2018-12-18 11:13:13 -0800 |
commit | 8bc8ff3dce507f912b8985fefaa22da1e2d95b6d (patch) | |
tree | cf4b044c93d4be009d44fab477893bcc40963ae0 /src | |
parent | d36a13af3182495079bee65ff78e3e7e7f0d5901 (diff) |
Fix nullability incompatibility
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/objective_c_generator.cc | 11 | ||||
-rw-r--r-- | src/objective-c/ProtoRPC/ProtoRPC.h | 5 | ||||
-rw-r--r-- | src/objective-c/ProtoRPC/ProtoService.m | 10 |
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 |