diff options
author | Nate Kibler <nkibler@google.com> | 2015-09-25 10:02:20 -0700 |
---|---|---|
committer | Nate Kibler <nkibler@google.com> | 2015-09-25 10:02:20 -0700 |
commit | 6d19724a9008919eb1ef0a01790a2fa6299ac9d8 (patch) | |
tree | e25b4af01ab4adb24784b8159d52db13d3ea1207 /src/compiler/objective_c_generator.cc | |
parent | d09a28e4a3e4f579e05d8c5b45c2ab9a06feee85 (diff) |
Adds class factory method to generated ProtoService classes
Diffstat (limited to 'src/compiler/objective_c_generator.cc')
-rw-r--r-- | src/compiler/objective_c_generator.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/compiler/objective_c_generator.cc b/src/compiler/objective_c_generator.cc index a3157db0fb..9eed78c961 100644 --- a/src/compiler/objective_c_generator.cc +++ b/src/compiler/objective_c_generator.cc @@ -203,6 +203,7 @@ void PrintMethodImplementations(Printer *printer, printer.Print( "- (instancetype)initWithHost:(NSString *)host" " NS_DESIGNATED_INITIALIZER;\n"); + printer.Print("+ (instancetype)serviceWithHost:(NSString *)host;\n"); printer.Print("@end\n"); } return output; @@ -239,6 +240,10 @@ void PrintMethodImplementations(Printer *printer, printer.Print(" packageName:(NSString *)packageName\n"); printer.Print(" serviceName:(NSString *)serviceName {\n"); printer.Print(" return [self initWithHost:host];\n"); + printer.Print("}\n\n"); + printer.Print("// Class factory method\n"); + printer.Print("+ (instancetype)serviceWithHost:(NSString *)host {\n"); + printer.Print(" return [[self alloc] initWithHost:host];\n"); printer.Print("}\n\n\n"); for (int i = 0; i < service->method_count(); i++) { |