MCPcopy Create free account
hub / github.com/catboost/catboost / Generate

Method Generate

contrib/libs/grpc/src/compiler/cpp_plugin.h:40–143  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38 }
39
40 virtual bool Generate(const grpc::protobuf::FileDescriptor* file,
41 const TString& parameter,
42 grpc::protobuf::compiler::GeneratorContext* context,
43 TString* error) const override {
44 if (file->options().cc_generic_services()) {
45 *error =
46 "cpp grpc proto compiler plugin does not work with generic "
47 "services. To generate cpp grpc APIs, please set \""
48 "cc_generic_service = false\".";
49 return false;
50 }
51
52 grpc_cpp_generator::Parameters generator_parameters;
53 generator_parameters.use_system_headers = true;
54 generator_parameters.generate_mock_code = false;
55 generator_parameters.include_import_headers = false;
56
57 ProtoBufFile pbfile(file);
58
59 if (!parameter.empty()) {
60 std::vector<TString> parameters_list =
61 grpc_generator::tokenize(parameter, ",");
62 for (auto parameter_string = parameters_list.begin();
63 parameter_string != parameters_list.end(); parameter_string++) {
64 std::vector<TString> param =
65 grpc_generator::tokenize(*parameter_string, "=");
66 if (param[0] == "services_namespace") {
67 generator_parameters.services_namespace = param[1];
68 } else if (param[0] == "use_system_headers") {
69 if (param[1] == "true") {
70 generator_parameters.use_system_headers = true;
71 } else if (param[1] == "false") {
72 generator_parameters.use_system_headers = false;
73 } else {
74 *error = TString("Invalid parameter: ") + *parameter_string;
75 return false;
76 }
77 } else if (param[0] == "grpc_search_path") {
78 generator_parameters.grpc_search_path = param[1];
79 } else if (param[0] == "generate_mock_code") {
80 if (param[1] == "true") {
81 generator_parameters.generate_mock_code = true;
82 } else if (param[1] != "false") {
83 *error = TString("Invalid parameter: ") + *parameter_string;
84 return false;
85 }
86 } else if (param[0] == "gmock_search_path") {
87 generator_parameters.gmock_search_path = param[1];
88 } else if (param[0] == "additional_header_includes") {
89 generator_parameters.additional_header_includes =
90 grpc_generator::tokenize(param[1], ":");
91 } else if (param[0] == "message_header_extension") {
92 generator_parameters.message_header_extension = param[1];
93 } else if (param[0] == "include_import_headers") {
94 if (param[1] == "true") {
95 generator_parameters.include_import_headers = true;
96 } else if (param[1] != "false") {
97 *error = TString("Invalid parameter: ") + *parameter_string;

Callers

nothing calls this directly

Calls 15

tokenizeFunction · 0.85
StripProtoFunction · 0.70
GetHeaderPrologueFunction · 0.70
GetHeaderIncludesFunction · 0.70
GetHeaderServicesFunction · 0.70
GetHeaderEpilogueFunction · 0.70
GetSourcePrologueFunction · 0.70
GetSourceIncludesFunction · 0.70
GetSourceServicesFunction · 0.70
GetSourceEpilogueFunction · 0.70
GetMockPrologueFunction · 0.70
GetMockIncludesFunction · 0.70

Tested by

no test coverage detected