WIP error messages (#8764)

Co-authored-by: Wouter van Oortmerssen <aardappel@gmail.com>
This commit is contained in:
Felix
2025-12-03 02:52:30 +01:00
committed by GitHub
parent b07589a0f9
commit 0e3471d6a7

View File

@@ -2903,19 +2903,19 @@ class PythonGenerator : public BaseGenerator {
} // namespace python } // namespace python
static bool GeneratePython(const Parser& parser, const std::string& path, static const char* GeneratePython(const Parser& parser, const std::string& path,
const std::string& file_name) { const std::string& file_name) {
python::Version version{parser.opts.python_version}; python::Version version{parser.opts.python_version};
if (!version.IsValid()) return false; if (!version.IsValid()) return "The provided Python version is not valid";
python::PythonGenerator generator(parser, path, file_name, version); python::PythonGenerator generator(parser, path, file_name, version);
if (!generator.generate()) return false; if (!generator.generate()) return "could not generate Python code";
if (parser.opts.python_typing) { if (parser.opts.python_typing) {
python::PythonStubGenerator stub_generator(parser, path, version); python::PythonStubGenerator stub_generator(parser, path, version);
if (!stub_generator.Generate()) return false; if (!stub_generator.Generate()) return "could not generate Python type stubs";
} }
return true; return nullptr;
} }
namespace { namespace {
@@ -2924,7 +2924,9 @@ class PythonCodeGenerator : public CodeGenerator {
public: public:
Status GenerateCode(const Parser& parser, const std::string& path, Status GenerateCode(const Parser& parser, const std::string& path,
const std::string& filename) override { const std::string& filename) override {
if (!GeneratePython(parser, path, filename)) { auto err = GeneratePython(parser, path, filename);
if (err) {
status_detail = " " + std::string(err);
return Status::ERROR; return Status::ERROR;
} }
return Status::OK; return Status::OK;
@@ -2946,7 +2948,7 @@ class PythonCodeGenerator : public CodeGenerator {
Status GenerateGrpcCode(const Parser& parser, const std::string& path, Status GenerateGrpcCode(const Parser& parser, const std::string& path,
const std::string& filename) override { const std::string& filename) override {
if (!GeneratePythonGRPC(parser, path, filename)) { if (!GeneratePythonGRPC(parser, path, filename)) { // TODO add status GeneratePythonGRPC
return Status::ERROR; return Status::ERROR;
} }
return Status::OK; return Status::OK;