• Home
  • Raw
  • Download

Lines Matching +full:out +full:- +full:file

6  * you may not use this file except in compliance with the License.
9 * http://www.apache.org/licenses/LICENSE-2.0
69 // // destructor called at end of scope, un-indenting my_py_printer
74 // NOTE(rbellevi): Two-space tabs are hard-coded in the protocol compiler. in IndentScope()
76 printer_->Indent(); in IndentScope()
77 printer_->Indent(); in IndentScope()
81 printer_->Outdent(); in ~IndentScope()
82 printer_->Outdent(); in ~IndentScope()
90 const grpc_generator::File* file) in PrivateGenerator() argument
91 : config(config), file(file) {} in PrivateGenerator()
94 grpc_generator::Printer* out) { in PrintAllComments() argument
102 out->Print( in PrintAllComments()
104 "file.\"\"\"\n"); in PrintAllComments()
107 out->Print("\"\"\""); in PrintAllComments()
110 size_t start_pos = it->find_first_not_of(' '); in PrintAllComments()
112 out->PrintRaw(it->c_str() + start_pos); in PrintAllComments()
114 out->Print("\n"); in PrintAllComments()
116 out->Print("\"\"\"\n"); in PrintAllComments()
120 grpc_generator::Printer* out) { in PrintBetaServicer() argument
122 service_dict["Service"] = service->name(); in PrintBetaServicer()
123 out->Print("\n\n"); in PrintBetaServicer()
124 out->Print(service_dict, "class Beta$Service$Servicer(object):\n"); in PrintBetaServicer()
126 IndentScope raii_class_indent(out); in PrintBetaServicer()
127 out->Print( in PrintBetaServicer()
130 "file not marked beta) for all further purposes. This class was " in PrintBetaServicer()
134 StringVector service_comments = service->GetAllComments(); in PrintBetaServicer()
135 PrintAllComments(service_comments, out); in PrintBetaServicer()
136 for (int i = 0; i < service->method_count(); ++i) { in PrintBetaServicer()
137 auto method = service->method(i); in PrintBetaServicer()
139 method->ClientStreaming() ? "request_iterator" : "request"; in PrintBetaServicer()
141 method_dict["Method"] = method->name(); in PrintBetaServicer()
143 out->Print(method_dict, "def $Method$(self, $ArgName$, context):\n"); in PrintBetaServicer()
145 IndentScope raii_method_indent(out); in PrintBetaServicer()
146 StringVector method_comments = method->GetAllComments(); in PrintBetaServicer()
147 PrintAllComments(method_comments, out); in PrintBetaServicer()
148 out->Print("context.code(beta_interfaces.StatusCode.UNIMPLEMENTED)\n"); in PrintBetaServicer()
156 grpc_generator::Printer* out) { in PrintBetaStub() argument
158 service_dict["Service"] = service->name(); in PrintBetaStub()
159 out->Print("\n\n"); in PrintBetaStub()
160 out->Print(service_dict, "class Beta$Service$Stub(object):\n"); in PrintBetaStub()
162 IndentScope raii_class_indent(out); in PrintBetaStub()
163 out->Print( in PrintBetaStub()
166 "file not marked beta) for all further purposes. This class was " in PrintBetaStub()
170 StringVector service_comments = service->GetAllComments(); in PrintBetaStub()
171 PrintAllComments(service_comments, out); in PrintBetaStub()
172 for (int i = 0; i < service->method_count(); ++i) { in PrintBetaStub()
173 auto method = service->method(i); in PrintBetaStub()
175 method->ClientStreaming() ? "request_iterator" : "request"; in PrintBetaStub()
177 method_dict["Method"] = method->name(); in PrintBetaStub()
179 out->Print(method_dict, in PrintBetaStub()
183 IndentScope raii_method_indent(out); in PrintBetaStub()
184 StringVector method_comments = method->GetAllComments(); in PrintBetaStub()
185 PrintAllComments(method_comments, out); in PrintBetaStub()
186 out->Print("raise NotImplementedError()\n"); in PrintBetaStub()
188 if (!method->ServerStreaming()) { in PrintBetaStub()
189 out->Print(method_dict, "$Method$.future = None\n"); in PrintBetaStub()
198 const grpc_generator::Service* service, grpc_generator::Printer* out) { in PrintBetaServerFactory() argument
200 service_dict["Service"] = service->name(); in PrintBetaServerFactory()
201 out->Print("\n\n"); in PrintBetaServerFactory()
202 out->Print(service_dict, in PrintBetaServerFactory()
206 IndentScope raii_create_server_indent(out); in PrintBetaServerFactory()
207 out->Print( in PrintBetaServerFactory()
210 "file not marked beta) for all further purposes. This function was\n" in PrintBetaServerFactory()
216 for (int i = 0; i < service->method_count(); ++i) { in PrintBetaServerFactory()
217 auto method = service->method(i); in PrintBetaServerFactory()
219 std::string(method->ClientStreaming() ? "stream_" : "unary_") + in PrintBetaServerFactory()
220 std::string(method->ServerStreaming() ? "stream_" : "unary_") + in PrintBetaServerFactory()
223 if (!method->get_module_and_message_path_input( in PrintBetaServerFactory()
230 if (!method->get_module_and_message_path_output( in PrintBetaServerFactory()
237 make_pair(method->name(), method_implementation_constructor)); in PrintBetaServerFactory()
239 make_pair(method->name(), input_message_module_and_class)); in PrintBetaServerFactory()
241 make_pair(method->name(), output_message_module_and_class)); in PrintBetaServerFactory()
245 out->Print("request_deserializers = {\n"); in PrintBetaServerFactory()
251 method_dict["MethodName"] = name_and_input_module_class_pair->first; in PrintBetaServerFactory()
253 name_and_input_module_class_pair->second; in PrintBetaServerFactory()
254 IndentScope raii_indent(out); in PrintBetaServerFactory()
255 out->Print(method_dict, in PrintBetaServerFactory()
259 out->Print("}\n"); in PrintBetaServerFactory()
260 out->Print("response_serializers = {\n"); in PrintBetaServerFactory()
266 method_dict["MethodName"] = name_and_output_module_class_pair->first; in PrintBetaServerFactory()
268 name_and_output_module_class_pair->second; in PrintBetaServerFactory()
269 IndentScope raii_indent(out); in PrintBetaServerFactory()
270 out->Print(method_dict, in PrintBetaServerFactory()
274 out->Print("}\n"); in PrintBetaServerFactory()
275 out->Print("method_implementations = {\n"); in PrintBetaServerFactory()
281 method_dict["Method"] = name_and_implementation_constructor->first; in PrintBetaServerFactory()
282 method_dict["Constructor"] = name_and_implementation_constructor->second; in PrintBetaServerFactory()
283 IndentScope raii_descriptions_indent(out); in PrintBetaServerFactory()
285 name_and_implementation_constructor->first; in PrintBetaServerFactory()
286 out->Print(method_dict, in PrintBetaServerFactory()
290 out->Print("}\n"); in PrintBetaServerFactory()
291 out->Print( in PrintBetaServerFactory()
298 out->Print( in PrintBetaServerFactory()
307 const grpc_generator::Service* service, grpc_generator::Printer* out) { in PrintBetaStubFactory() argument
309 dict["Service"] = service->name(); in PrintBetaStubFactory()
310 out->Print("\n\n"); in PrintBetaStubFactory()
311 out->Print(dict, in PrintBetaStubFactory()
315 IndentScope raii_create_server_indent(out); in PrintBetaStubFactory()
316 out->Print( in PrintBetaStubFactory()
319 "file not marked beta) for all further purposes. This function was\n" in PrintBetaStubFactory()
325 for (int i = 0; i < service->method_count(); ++i) { in PrintBetaStubFactory()
326 auto method = service->method(i); in PrintBetaStubFactory()
328 std::string(method->ClientStreaming() ? "STREAM" : "UNARY") + "_" + in PrintBetaStubFactory()
329 std::string(method->ServerStreaming() ? "STREAM" : "UNARY"); in PrintBetaStubFactory()
331 if (!method->get_module_and_message_path_input( in PrintBetaStubFactory()
338 if (!method->get_module_and_message_path_output( in PrintBetaStubFactory()
345 make_pair(method->name(), method_cardinality)); in PrintBetaStubFactory()
347 make_pair(method->name(), input_message_module_and_class)); in PrintBetaStubFactory()
349 make_pair(method->name(), output_message_module_and_class)); in PrintBetaStubFactory()
353 out->Print("request_serializers = {\n"); in PrintBetaStubFactory()
359 method_dict["MethodName"] = name_and_input_module_class_pair->first; in PrintBetaStubFactory()
361 name_and_input_module_class_pair->second; in PrintBetaStubFactory()
362 IndentScope raii_indent(out); in PrintBetaStubFactory()
363 out->Print(method_dict, in PrintBetaStubFactory()
367 out->Print("}\n"); in PrintBetaStubFactory()
368 out->Print("response_deserializers = {\n"); in PrintBetaStubFactory()
374 method_dict["MethodName"] = name_and_output_module_class_pair->first; in PrintBetaStubFactory()
376 name_and_output_module_class_pair->second; in PrintBetaStubFactory()
377 IndentScope raii_indent(out); in PrintBetaStubFactory()
378 out->Print(method_dict, in PrintBetaStubFactory()
382 out->Print("}\n"); in PrintBetaStubFactory()
383 out->Print("cardinalities = {\n"); in PrintBetaStubFactory()
388 method_dict["Method"] = name_and_cardinality->first; in PrintBetaStubFactory()
389 method_dict["Cardinality"] = name_and_cardinality->second; in PrintBetaStubFactory()
390 IndentScope raii_descriptions_indent(out); in PrintBetaStubFactory()
391 out->Print(method_dict, in PrintBetaStubFactory()
394 out->Print("}\n"); in PrintBetaStubFactory()
395 out->Print( in PrintBetaStubFactory()
401 out->Print(method_dict, in PrintBetaStubFactory()
411 const grpc_generator::Service* service, grpc_generator::Printer* out) { in PrintStub() argument
413 dict["Service"] = service->name(); in PrintStub()
414 out->Print("\n\n"); in PrintStub()
415 out->Print(dict, "class $Service$Stub(object):\n"); in PrintStub()
417 IndentScope raii_class_indent(out); in PrintStub()
418 StringVector service_comments = service->GetAllComments(); in PrintStub()
419 PrintAllComments(service_comments, out); in PrintStub()
420 out->Print("\n"); in PrintStub()
421 out->Print("def __init__(self, channel):\n"); in PrintStub()
423 IndentScope raii_init_indent(out); in PrintStub()
424 out->Print("\"\"\"Constructor.\n"); in PrintStub()
425 out->Print("\n"); in PrintStub()
426 out->Print("Args:\n"); in PrintStub()
428 IndentScope raii_args_indent(out); in PrintStub()
429 out->Print("channel: A grpc.Channel.\n"); in PrintStub()
431 out->Print("\"\"\"\n"); in PrintStub()
432 for (int i = 0; i < service->method_count(); ++i) { in PrintStub()
433 auto method = service->method(i); in PrintStub()
435 std::string(method->ClientStreaming() ? "stream" : "unary") + "_" + in PrintStub()
436 std::string(method->ServerStreaming() ? "stream" : "unary"); in PrintStub()
438 if (!method->get_module_and_message_path_input( in PrintStub()
445 if (!method->get_module_and_message_path_output( in PrintStub()
452 method_dict["Method"] = method->name(); in PrintStub()
454 out->Print(method_dict, in PrintStub()
461 IndentScope raii_first_attribute_indent(out); in PrintStub()
462 IndentScope raii_second_attribute_indent(out); in PrintStub()
463 out->Print(method_dict, "'/$PackageQualifiedService$/$Method$',\n"); in PrintStub()
464 out->Print(method_dict, in PrintStub()
467 out->Print( in PrintStub()
470 out->Print("_registered_method=True)\n"); in PrintStub()
479 grpc_generator::Printer* out) { in PrintServicer() argument
481 service_dict["Service"] = service->name(); in PrintServicer()
482 out->Print("\n\n"); in PrintServicer()
483 out->Print(service_dict, "class $Service$Servicer(object):\n"); in PrintServicer()
485 IndentScope raii_class_indent(out); in PrintServicer()
486 StringVector service_comments = service->GetAllComments(); in PrintServicer()
487 PrintAllComments(service_comments, out); in PrintServicer()
488 for (int i = 0; i < service->method_count(); ++i) { in PrintServicer()
489 auto method = service->method(i); in PrintServicer()
491 method->ClientStreaming() ? "request_iterator" : "request"; in PrintServicer()
493 method_dict["Method"] = method->name(); in PrintServicer()
495 out->Print("\n"); in PrintServicer()
496 out->Print(method_dict, "def $Method$(self, $ArgName$, context):\n"); in PrintServicer()
498 IndentScope raii_method_indent(out); in PrintServicer()
499 StringVector method_comments = method->GetAllComments(); in PrintServicer()
500 PrintAllComments(method_comments, out); in PrintServicer()
501 out->Print("context.set_code(grpc.StatusCode.UNIMPLEMENTED)\n"); in PrintServicer()
502 out->Print("context.set_details('Method not implemented!')\n"); in PrintServicer()
503 out->Print("raise NotImplementedError('Method not implemented!')\n"); in PrintServicer()
512 const grpc_generator::Service* service, grpc_generator::Printer* out) { in PrintAddServicerToServer() argument
514 service_dict["Service"] = service->name(); in PrintAddServicerToServer()
515 out->Print("\n\n"); in PrintAddServicerToServer()
516 out->Print(service_dict, in PrintAddServicerToServer()
519 IndentScope raii_class_indent(out); in PrintAddServicerToServer()
520 out->Print("rpc_method_handlers = {\n"); in PrintAddServicerToServer()
522 IndentScope raii_dict_first_indent(out); in PrintAddServicerToServer()
523 IndentScope raii_dict_second_indent(out); in PrintAddServicerToServer()
524 for (int i = 0; i < service->method_count(); ++i) { in PrintAddServicerToServer()
525 auto method = service->method(i); in PrintAddServicerToServer()
527 std::string(method->ClientStreaming() ? "stream" : "unary") + "_" + in PrintAddServicerToServer()
528 std::string(method->ServerStreaming() ? "stream" : "unary") + in PrintAddServicerToServer()
531 if (!method->get_module_and_message_path_input( in PrintAddServicerToServer()
538 if (!method->get_module_and_message_path_output( in PrintAddServicerToServer()
545 method_dict["Method"] = method->name(); in PrintAddServicerToServer()
549 out->Print(method_dict, in PrintAddServicerToServer()
552 IndentScope raii_call_first_indent(out); in PrintAddServicerToServer()
553 IndentScope raii_call_second_indent(out); in PrintAddServicerToServer()
554 out->Print(method_dict, "servicer.$Method$,\n"); in PrintAddServicerToServer()
555 out->Print( in PrintAddServicerToServer()
558 out->Print( in PrintAddServicerToServer()
563 out->Print("),\n"); in PrintAddServicerToServer()
568 out->Print("}\n"); in PrintAddServicerToServer()
569 out->Print("generic_handler = grpc.method_handlers_generic_handler(\n"); in PrintAddServicerToServer()
571 IndentScope raii_call_first_indent(out); in PrintAddServicerToServer()
572 IndentScope raii_call_second_indent(out); in PrintAddServicerToServer()
573 out->Print(method_dict, in PrintAddServicerToServer()
576 out->Print("server.add_generic_rpc_handlers((generic_handler,))\n"); in PrintAddServicerToServer()
581 /* Prints out a service class used as a container for static methods pertaining
583 * file, with no suffixes. Since this class merely acts as a namespace, it
588 const grpc_generator::Service* service, grpc_generator::Printer* out) { in PrintServiceClass() argument
590 dict["Service"] = service->name(); in PrintServiceClass()
591 out->Print("\n\n"); in PrintServiceClass()
592 out->Print(" # This class is part of an EXPERIMENTAL API.\n"); in PrintServiceClass()
593 out->Print(dict, "class $Service$(object):\n"); in PrintServiceClass()
595 IndentScope class_indent(out); in PrintServiceClass()
596 StringVector service_comments = service->GetAllComments(); in PrintServiceClass()
597 PrintAllComments(service_comments, out); in PrintServiceClass()
598 for (int i = 0; i < service->method_count(); ++i) { in PrintServiceClass()
599 const auto& method = service->method(i); in PrintServiceClass()
601 if (!method->get_module_and_message_path_input( in PrintServiceClass()
608 if (!method->get_module_and_message_path_output( in PrintServiceClass()
614 out->Print("\n"); in PrintServiceClass()
616 method_dict["Method"] = method->name(); in PrintServiceClass()
617 out->Print("@staticmethod\n"); in PrintServiceClass()
618 out->Print(method_dict, "def $Method$("); in PrintServiceClass()
620 method->ClientStreaming() ? "request_iterator" : "request"); in PrintServiceClass()
624 IndentScope args_indent(out); in PrintServiceClass()
625 IndentScope args_double_indent(out); in PrintServiceClass()
626 out->Print(args_dict, "$RequestParameter$,\n"); in PrintServiceClass()
627 out->Print("target,\n"); in PrintServiceClass()
628 out->Print("options=(),\n"); in PrintServiceClass()
629 out->Print("channel_credentials=None,\n"); in PrintServiceClass()
630 out->Print("call_credentials=None,\n"); in PrintServiceClass()
631 out->Print("insecure=False,\n"); in PrintServiceClass()
632 out->Print("compression=None,\n"); in PrintServiceClass()
633 out->Print("wait_for_ready=None,\n"); in PrintServiceClass()
634 out->Print("timeout=None,\n"); in PrintServiceClass()
635 out->Print("metadata=None):\n"); in PrintServiceClass()
638 IndentScope method_indent(out); in PrintServiceClass()
640 std::string(method->ClientStreaming() ? "stream" : "unary") + "_" + in PrintServiceClass()
641 std::string(method->ServerStreaming() ? "stream" : "unary"); in PrintServiceClass()
644 args_dict["Method"] = method->name(); in PrintServiceClass()
645 out->Print(args_dict, "return grpc.experimental.$ArityMethodName$(\n"); in PrintServiceClass()
647 IndentScope continuation_indent(out); in PrintServiceClass()
649 out->Print(args_dict, "$RequestParameter$,\n"); in PrintServiceClass()
650 out->Print("target,\n"); in PrintServiceClass()
651 out->Print(args_dict, "'/$PackageQualifiedService$/$Method$',\n"); in PrintServiceClass()
654 out->Print(serializer_dict, in PrintServiceClass()
656 out->Print(serializer_dict, "$ResponseModuleAndClass$.FromString,\n"); in PrintServiceClass()
657 out->Print("options,\n"); in PrintServiceClass()
658 out->Print("channel_credentials,\n"); in PrintServiceClass()
659 out->Print("insecure,\n"); in PrintServiceClass()
660 out->Print("call_credentials,\n"); in PrintServiceClass()
661 out->Print("compression,\n"); in PrintServiceClass()
662 out->Print("wait_for_ready,\n"); in PrintServiceClass()
663 out->Print("timeout,\n"); in PrintServiceClass()
664 out->Print("metadata,\n"); in PrintServiceClass()
665 out->Print("_registered_method=True)\n"); in PrintServiceClass()
674 bool PrivateGenerator::PrintBetaPreamble(grpc_generator::Printer* out) { in PrintBetaPreamble() argument
677 out->Print(var, in PrintBetaPreamble()
679 out->Print(var, "from $Package$ import interfaces as beta_interfaces\n"); in PrintBetaPreamble()
680 out->Print("from grpc.framework.common import cardinality\n"); in PrintBetaPreamble()
681 out->Print( in PrintBetaPreamble()
687 bool PrivateGenerator::PrintPreamble(grpc_generator::Printer* out) { in PrintPreamble() argument
690 out->Print(var, "import $Package$\n"); in PrintPreamble()
692 out->Print(var, "import warnings\n"); in PrintPreamble()
695 out->Print("\n"); in PrintPreamble()
697 for (int i = 0; i < file->service_count(); ++i) { in PrintPreamble()
698 auto service = file->service(i); in PrintPreamble()
699 for (int j = 0; j < service->method_count(); ++j) { in PrintPreamble()
700 auto method = service.get()->method(j); in PrintPreamble()
702 std::string input_type_file_name = method->get_input_type_name(); in PrintPreamble()
712 std::string output_type_file_name = method->get_output_type_name(); in PrintPreamble()
736 out->Print(var, "$ImportStatement$ as $ModuleAlias$\n"); in PrintPreamble()
742 out->Print(var, "\nGRPC_GENERATED_VERSION = '$ToolsVersion$'\n"); in PrintPreamble()
743 out->Print("GRPC_VERSION = grpc.__version__\n"); in PrintPreamble()
744 out->Print("EXPECTED_ERROR_RELEASE = '1.65.0'\n"); in PrintPreamble()
745 out->Print("SCHEDULED_RELEASE_DATE = 'June 25, 2024'\n"); in PrintPreamble()
746 out->Print("_version_not_supported = False\n\n"); in PrintPreamble()
747 out->Print("try:\n"); in PrintPreamble()
749 IndentScope raii_import_indent(out); in PrintPreamble()
750 out->Print( in PrintPreamble()
755 out->Print("except ImportError:\n"); in PrintPreamble()
757 IndentScope raii_import_error_indent(out); in PrintPreamble()
758 out->Print("_version_not_supported = True\n"); in PrintPreamble()
760 out->Print("\nif _version_not_supported:\n"); in PrintPreamble()
762 IndentScope raii_warning_indent(out); in PrintPreamble()
763 out->Print("warnings.warn(\n"); in PrintPreamble()
765 IndentScope raii_warning_string_indent(out); in PrintPreamble()
766 std::string filename_without_ext = file->filename_without_ext(); in PrintPreamble()
768 '-', '_'); in PrintPreamble()
770 out->Print( in PrintPreamble()
779 "grpcio-tools<={GRPC_VERSION}.'\n" in PrintPreamble()
785 out->Print(")\n"); in PrintPreamble()
792 bool PrivateGenerator::PrintGAServices(grpc_generator::Printer* out) { in PrintGAServices() argument
793 std::string package = file->package(); in PrintGAServices()
797 for (int i = 0; i < file->service_count(); ++i) { in PrintGAServices()
798 auto service = file->service(i); in PrintGAServices()
799 std::string package_qualified_service_name = package + service->name(); in PrintGAServices()
800 if (!(PrintStub(package_qualified_service_name, service.get(), out) && in PrintGAServices()
801 PrintServicer(service.get(), out) && in PrintGAServices()
803 service.get(), out) && in PrintGAServices()
805 out))) { in PrintGAServices()
812 bool PrivateGenerator::PrintBetaServices(grpc_generator::Printer* out) { in PrintBetaServices() argument
813 std::string package = file->package(); in PrintBetaServices()
817 for (int i = 0; i < file->service_count(); ++i) { in PrintBetaServices()
818 auto service = file->service(i); in PrintBetaServices()
819 std::string package_qualified_service_name = package + service->name(); in PrintBetaServices()
820 if (!(PrintBetaServicer(service.get(), out) && in PrintBetaServices()
821 PrintBetaStub(service.get(), out) && in PrintBetaServices()
823 out) && in PrintBetaServices()
825 out))) { in PrintBetaServices()
836 auto out = file->CreatePrinter(&output); in GetGrpcServices() local
838 out->Print( in GetGrpcServices()
841 "Client and server classes corresponding to protobuf-defined " in GetGrpcServices()
843 if (!PrintPreamble(out.get())) { in GetGrpcServices()
846 if (!PrintGAServices(out.get())) { in GetGrpcServices()
850 out->Print("try:\n"); in GetGrpcServices()
852 IndentScope raii_dict_try_indent(out.get()); in GetGrpcServices()
853 out->Print( in GetGrpcServices()
856 if (!PrintPreamble(out.get())) { in GetGrpcServices()
859 if (!PrintBetaPreamble(out.get())) { in GetGrpcServices()
862 if (!PrintGAServices(out.get())) { in GetGrpcServices()
865 if (!PrintBetaServices(out.get())) { in GetGrpcServices()
869 out->Print("except ImportError:\n"); in GetGrpcServices()
871 IndentScope raii_dict_except_indent(out.get()); in GetGrpcServices()
872 out->Print("pass"); in GetGrpcServices()
906 output.reset(context->Open(file_name)); in GenerateGrpc()
909 output.reset(context->OpenForInsert(file_name, "module_scope")); in GenerateGrpc()
917 coded_output->WriteRaw(grpc_code.data(), grpc_code.size()); in GenerateGrpc()
941 *error = "--grpc_python_out received too many comma-delimited parameters."; in ParseParameters()
947 bool PythonGrpcGenerator::Generate(const FileDescriptor* file, in Generate() argument
951 // Get output file name. in Generate()
955 if (file->name().size() > static_cast<size_t>(proto_suffix_length) && in Generate()
956 file->name().find_last_of(".proto") == file->name().size() - 1) { in Generate()
958 file->name().substr(0, file->name().size() - proto_suffix_length); in Generate()
959 std::replace(base.begin(), base.end(), '-', '_'); in Generate()
963 *error = "Invalid proto file name. Proto file must end with .proto"; in Generate()
966 generator_file_name = file->name(); in Generate()
968 ProtoBufFile pbfile(file); in Generate()