浏览代码

Reverted changes to cpp_helpers.cc and made code reviews to python_geenerator.cc

Krishna 11 年之前
父节点
当前提交
060a2096a3

+ 7 - 17
src/google/protobuf/compiler/cpp/cpp_helpers.cc

@@ -360,31 +360,21 @@ string FilenameIdentifier(const string& filename) {
   return result;
 }
 
-
-string GlobalSymbolName(const string& filename, string prefix)
-{
-  return prefix + FilenameIdentifier(filename);
-}
-
 // Return the name of the AddDescriptors() function for a given file.
-string GlobalAddDescriptorsName(const string& filename) 
-{
-  return  GlobalSymbolName(filename,"protobuf_AddDesc_");
+string GlobalAddDescriptorsName(const string& filename) {
+  return "protobuf_AddDesc_" + FilenameIdentifier(filename);
 }
 
 // Return the name of the AssignDescriptors() function for a given file.
-string GlobalAssignDescriptorsName(const string& filename) 
-{
-  return GlobalSymbolName(filename,"protobuf_AssignDesc_");
+string GlobalAssignDescriptorsName(const string& filename) {
+  return "protobuf_AssignDesc_" + FilenameIdentifier(filename);
 }
 
 // Return the name of the ShutdownFile() function for a given file.
-string GlobalShutdownFileName(const string& filename) 
-{
-  return GlobalSymbolName(filename,"protobuf_ShutdownFile_");
+string GlobalShutdownFileName(const string& filename) {
+  return "protobuf_ShutdownFile_" + FilenameIdentifier(filename);
 }
 
-
 // Return the qualified C++ name for a file level symbol.
 string QualifiedFileLevelSymbol(const string& package, const string& name) {
   if (package.empty()) {
@@ -521,4 +511,4 @@ bool IsStringOrMessage(const FieldDescriptor* field) {
 }  // namespace cpp
 }  // namespace compiler
 }  // namespace protobuf
-}  // namespace google
+}  // namespace google

+ 12 - 4
src/google/protobuf/compiler/python/python_generator.cc

@@ -581,8 +581,7 @@ void Generator::PrintServiceDescriptor(
 }
 
 
-void Generator::PrintDescriptorKeyAndModuleName(const ServiceDescriptor& descriptor, const char* keyandmodule) const {	
-  printer_->Print(keyandmodule,"class_name", descriptor.name());
+void Generator::PrintDescriptorKeyAndModuleName(const ServiceDescriptor& descriptor) const {	
   printer_->Indent();
   printer_->Print(
       "$descriptor_key$ = $descriptor_name$,\n",
@@ -596,11 +595,20 @@ void Generator::PrintDescriptorKeyAndModuleName(const ServiceDescriptor& descrip
 }
 
 void Generator::PrintServiceClass(const ServiceDescriptor& descriptor) const {
-  Generator::PrintDescriptorKeyAndModuleName(descriptor, "$class_name$_Stub = service_reflection.GeneratedServiceStubType('$class_name$_Stub', ($class_name$,), dict(\n");
+  // Print the service.
+  printer_->Print("$class_name$ = service_reflection.GeneratedServiceType("
+                  "'$class_name$', (_service.Service,), dict(\n",
+                  "class_name", descriptor.name());
+  Generator::PrintDescriptorKeyAndModuleName(descriptor);
 }
 
 void Generator::PrintServiceStub(const ServiceDescriptor& descriptor) const {
-  Generator::PrintDescriptorKeyAndModuleName(descriptor, "$class_name$ = service_reflection.GeneratedServiceType('$class_name$', (_service.Service,), dict(\n");
+  // Print the service stub.
+  printer_->Print("$class_name$_Stub = "
+                  "service_reflection.GeneratedServiceStubType("
+                  "'$class_name$_Stub', ($class_name$,), dict(\n",
+                  "class_name", descriptor.name());
+  Generator::PrintDescriptorKeyAndModuleName(descriptor);
 }
 
 // Prints statement assigning ModuleLevelDescriptorName(message_descriptor)

+ 1 - 1
src/google/protobuf/compiler/python/python_generator.h

@@ -127,7 +127,7 @@ class LIBPROTOC_EXPORT Generator : public CodeGenerator {
   void PrintServiceDescriptor(const ServiceDescriptor& descriptor) const;
   void PrintServiceClass(const ServiceDescriptor& descriptor) const;
   void PrintServiceStub(const ServiceDescriptor& descriptor) const;
-  void PrintDescriptorKeyAndModuleName(const ServiceDescriptor& descriptor, const char* keyandmodule) const ;
+  void PrintDescriptorKeyAndModuleName(const ServiceDescriptor& descriptor) const ;
 
   void PrintEnumValueDescriptor(const EnumValueDescriptor& descriptor) const;
   string OptionsValue(const string& class_name,