Fix nullability incompatibility

pull/16190/head
Muxi Yan 6 years ago
parent d36a13af31
commit 8bc8ff3dce
  1. 11
      src/compiler/objective_c_generator.cc
  2. 5
      src/objective-c/ProtoRPC/ProtoRPC.h
  3. 10
      src/objective-c/ProtoRPC/ProtoService.m

@ -355,7 +355,7 @@ void PrintMethodImplementations(Printer* printer,
"@implementation $service_class$\n\n" "@implementation $service_class$\n\n"
"// Designated initializer\n" "// Designated initializer\n"
"- (instancetype)initWithHost:(NSString *)host " "- (instancetype)initWithHost:(NSString *)host "
"callOptions:(GRPCCallOptions *_Nullable)callOptions{\n" "callOptions:(GRPCCallOptions *_Nullable)callOptions {\n"
" self = [super initWithHost:host\n" " self = [super initWithHost:host\n"
" packageName:@\"$package$\"\n" " packageName:@\"$package$\"\n"
" serviceName:@\"$service_name$\"\n" " serviceName:@\"$service_name$\"\n"
@ -363,10 +363,9 @@ void PrintMethodImplementations(Printer* printer,
" return self;\n" " return self;\n"
"}\n\n" "}\n\n"
"- (instancetype)initWithHost:(NSString *)host {\n" "- (instancetype)initWithHost:(NSString *)host {\n"
" return [self initWithHost:host\n" " return [super initWithHost:host\n"
" packageName:@\"$package$\"\n" " packageName:@\"$package$\"\n"
" serviceName:@\"$service_name$\"\n" " serviceName:@\"$service_name$\"];\n"
" callOptions:nil];\n"
"}\n\n"); "}\n\n");
printer.Print( printer.Print(
@ -381,7 +380,7 @@ void PrintMethodImplementations(Printer* printer,
printer.Print( printer.Print(
"#pragma mark - Class Methods\n\n" "#pragma mark - Class Methods\n\n"
"+ (instancetype)serviceWithHost:(NSString *)host {\n" "+ (instancetype)serviceWithHost:(NSString *)host {\n"
" return [self serviceWithHost:host callOptions:nil];\n" " return [[self alloc] initWithHost:host];\n"
"}\n\n" "}\n\n"
"+ (instancetype)serviceWithHost:(NSString *)host " "+ (instancetype)serviceWithHost:(NSString *)host "
"callOptions:(GRPCCallOptions *_Nullable)callOptions {\n" "callOptions:(GRPCCallOptions *_Nullable)callOptions {\n"

@ -134,6 +134,9 @@ NS_ASSUME_NONNULL_BEGIN
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnullability-completeness"
__attribute__((deprecated("Please use GRPCProtoCall."))) @interface ProtoRPC __attribute__((deprecated("Please use GRPCProtoCall."))) @interface ProtoRPC
: GRPCCall : GRPCCall
@ -160,3 +163,5 @@ __attribute__((deprecated("Please use GRPCProtoCall."))) @interface ProtoRPC
#pragma clang diagnostic pop #pragma clang diagnostic pop
@end @end
#pragma clang diagnostic pop

@ -61,7 +61,15 @@
- (instancetype)initWithHost:(NSString *)host - (instancetype)initWithHost:(NSString *)host
packageName:(NSString *)packageName packageName:(NSString *)packageName
serviceName:(NSString *)serviceName { 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 - (GRPCProtoCall *)RPCToMethod:(NSString *)method

Loading…
Cancel
Save