From a761f061f4cc0e50324261cc1eb12526ae8783e3 Mon Sep 17 00:00:00 2001 From: Krishna Date: Wed, 10 Dec 2014 20:39:34 +0100 Subject: Source code refactoring. Extracted common functionality in cpp_helpers.cc and python/python_generator.cc --- .../protobuf/compiler/python/python_generator.cc | 28 +++++++--------------- 1 file changed, 8 insertions(+), 20 deletions(-) (limited to 'src/google/protobuf/compiler/python') diff --git a/src/google/protobuf/compiler/python/python_generator.cc b/src/google/protobuf/compiler/python/python_generator.cc index e6faf7ef..508cab0d 100644 --- a/src/google/protobuf/compiler/python/python_generator.cc +++ b/src/google/protobuf/compiler/python/python_generator.cc @@ -580,11 +580,9 @@ void Generator::PrintServiceDescriptor( printer_->Print("])\n\n"); } -void Generator::PrintServiceClass(const ServiceDescriptor& descriptor) const { - // Print the service. - printer_->Print("$class_name$ = service_reflection.GeneratedServiceType(" - "'$class_name$', (_service.Service,), dict(\n", - "class_name", descriptor.name()); + +void Generator::PrintDescriptorKeyAndModuleName(const ServiceDescriptor& descriptor, string keyandmodule) { + printer_->Print(keyandmodule,"class_name", descriptor.name()); printer_->Indent(); printer_->Print( "$descriptor_key$ = $descriptor_name$,\n", @@ -597,22 +595,12 @@ void Generator::PrintServiceClass(const ServiceDescriptor& descriptor) const { printer_->Outdent(); } +void Generator::PrintServiceClass(const ServiceDescriptor& descriptor) const { + Generator::PrintDescriptorKeyAndModuleName(descriptor, "$class_name$_Stub = service_reflection.GeneratedServiceStubType('$class_name$_Stub', ($class_name$,), dict(\n"); +} + void Generator::PrintServiceStub(const ServiceDescriptor& descriptor) const { - // Print the service stub. - printer_->Print("$class_name$_Stub = " - "service_reflection.GeneratedServiceStubType(" - "'$class_name$_Stub', ($class_name$,), dict(\n", - "class_name", descriptor.name()); - printer_->Indent(); - printer_->Print( - "$descriptor_key$ = $descriptor_name$,\n", - "descriptor_key", kDescriptorKey, - "descriptor_name", ModuleLevelServiceDescriptorName(descriptor)); - printer_->Print( - "__module__ = '$module_name$'\n", - "module_name", ModuleName(file_->name())); - printer_->Print("))\n\n"); - printer_->Outdent(); + Generator::PrintDescriptorKeyAndModuleName(descriptor, "$class_name$ = service_reflection.GeneratedServiceType('$class_name$', (_service.Service,), dict(\n"); } // Prints statement assigning ModuleLevelDescriptorName(message_descriptor) -- cgit v1.2.3