|
|
|
@ -33,6 +33,7 @@ |
|
|
|
|
|
|
|
|
|
#include <cctype> |
|
|
|
|
#include <map> |
|
|
|
|
#include <sstream> |
|
|
|
|
#include <vector> |
|
|
|
|
|
|
|
|
|
#include "src/compiler/csharp_generator.h" |
|
|
|
@ -44,7 +45,6 @@ |
|
|
|
|
using google::protobuf::compiler::csharp::GetFileNamespace; |
|
|
|
|
using google::protobuf::compiler::csharp::GetClassName; |
|
|
|
|
using google::protobuf::compiler::csharp::GetUmbrellaClassName; |
|
|
|
|
using google::protobuf::SimpleItoa; |
|
|
|
|
using grpc::protobuf::FileDescriptor; |
|
|
|
|
using grpc::protobuf::Descriptor; |
|
|
|
|
using grpc::protobuf::ServiceDescriptor; |
|
|
|
@ -228,11 +228,14 @@ void GenerateStaticMethodField(Printer* out, const MethodDescriptor *method) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void GenerateServiceDescriptorProperty(Printer* out, const ServiceDescriptor *service) { |
|
|
|
|
std::ostringstream index; |
|
|
|
|
index << service->index(); |
|
|
|
|
out->Print("// service descriptor\n"); |
|
|
|
|
out->Print("public static global::Google.Protobuf.Reflection.ServiceDescriptor Descriptor\n"); |
|
|
|
|
out->Print("{\n"); |
|
|
|
|
out->Print(" get { return $umbrella$.Descriptor.Services[$index$]; }\n", |
|
|
|
|
"umbrella", GetUmbrellaClassName(service->file()), "index", SimpleItoa(service->index())); |
|
|
|
|
"umbrella", GetUmbrellaClassName(service->file()), "index", |
|
|
|
|
index.str()); |
|
|
|
|
out->Print("}\n"); |
|
|
|
|
out->Print("\n"); |
|
|
|
|
} |
|
|
|
|