aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/compiler
diff options
context:
space:
mode:
authorGravatar Yang Gao <yangg@google.com>2015-04-10 13:53:11 -0700
committerGravatar Yang Gao <yangg@google.com>2015-04-10 13:53:11 -0700
commit1dc1a4336b6d96e6628117f709725159f4c6e53f (patch)
tree09f5a5523bbe3307065021ebcf48c1869572b6e8 /src/compiler
parent0a43b343f6b88e7c4362aa5f195f14ce6dc2d5e6 (diff)
When the proto file does not contain a package, do not generate namespace
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/cpp_generator.cc59
1 files changed, 33 insertions, 26 deletions
diff --git a/src/compiler/cpp_generator.cc b/src/compiler/cpp_generator.cc
index c78f0333d8..bd8bf65349 100644
--- a/src/compiler/cpp_generator.cc
+++ b/src/compiler/cpp_generator.cc
@@ -198,17 +198,18 @@ grpc::string GetHeaderIncludes(const grpc::protobuf::FileDescriptor *file,
temp.append("\n");
- std::vector<grpc::string> parts =
- grpc_generator::tokenize(file->package(), ".");
+ if (!file->package().empty()) {
+ std::vector<grpc::string> parts =
+ grpc_generator::tokenize(file->package(), ".");
- for (auto part = parts.begin(); part != parts.end(); part++) {
- temp.append("namespace ");
- temp.append(*part);
- temp.append(" {\n");
+ for (auto part = parts.begin(); part != parts.end(); part++) {
+ temp.append("namespace ");
+ temp.append(*part);
+ temp.append(" {\n");
+ }
+ temp.append("\n");
}
- temp.append("\n");
-
return temp;
}
@@ -431,15 +432,18 @@ grpc::string GetHeaderEpilogue(const grpc::protobuf::FileDescriptor *file,
vars["filename"] = file->name();
vars["filename_identifier"] = FilenameIdentifier(file->name());
- std::vector<grpc::string> parts =
- grpc_generator::tokenize(file->package(), ".");
+ if (!file->package().empty()) {
+ std::vector<grpc::string> parts =
+ grpc_generator::tokenize(file->package(), ".");
- for (auto part = parts.rbegin(); part != parts.rend(); part++) {
- vars["part"] = *part;
- printer.Print(vars, "} // namespace $part$\n");
+ for (auto part = parts.rbegin(); part != parts.rend(); part++) {
+ vars["part"] = *part;
+ printer.Print(vars, "} // namespace $part$\n");
+ }
+ printer.Print(vars, "\n");
}
- printer.Print(vars, "\n\n");
+ printer.Print(vars, "\n");
printer.Print(vars, "#endif // GRPC_$filename_identifier$__INCLUDED\n");
return output;
@@ -480,12 +484,14 @@ grpc::string GetSourceIncludes(const grpc::protobuf::FileDescriptor *file,
printer.Print(vars, "#include <grpc++/impl/service_type.h>\n");
printer.Print(vars, "#include <grpc++/stream.h>\n");
- std::vector<grpc::string> parts =
- grpc_generator::tokenize(file->package(), ".");
+ if (!file->package().empty()) {
+ std::vector<grpc::string> parts =
+ grpc_generator::tokenize(file->package(), ".");
- for (auto part = parts.begin(); part != parts.end(); part++) {
- vars["part"] = *part;
- printer.Print(vars, "namespace $part$ {\n");
+ for (auto part = parts.begin(); part != parts.end(); part++) {
+ vars["part"] = *part;
+ printer.Print(vars, "namespace $part$ {\n");
+ }
}
printer.Print(vars, "\n");
@@ -860,17 +866,18 @@ grpc::string GetSourceEpilogue(const grpc::protobuf::FileDescriptor *file,
const Parameters &params) {
grpc::string temp;
- std::vector<grpc::string> parts =
- grpc_generator::tokenize(file->package(), ".");
+ if (!file->package().empty()) {
+ std::vector<grpc::string> parts =
+ grpc_generator::tokenize(file->package(), ".");
- for (auto part = parts.begin(); part != parts.end(); part++) {
- temp.append("} // namespace ");
- temp.append(*part);
+ for (auto part = parts.begin(); part != parts.end(); part++) {
+ temp.append("} // namespace ");
+ temp.append(*part);
+ temp.append("\n");
+ }
temp.append("\n");
}
- temp.append("\n");
-
return temp;
}