Implement noreturn procedure declarations

This commit is contained in:
2025-02-18 16:09:27 +01:00
parent 39750f4656
commit 0b835abfa9
7 changed files with 70 additions and 85 deletions

View File

@ -366,10 +366,16 @@ namespace boot
block *m_body{ nullptr };
public:
struct no_return_t
{
};
const bool no_return{ false };
std::vector<variable_declaration *> parameters;
procedure_definition(const struct position position, const std::string& identifier,
const bool exported, std::shared_ptr<top_type> return_type = nullptr);
procedure_definition(const struct position position, const std::string& identifier,
const bool exported, no_return_t);
virtual void accept(parser_visitor *visitor) override;
std::shared_ptr<top_type> return_type();