IR generation #3

Merged
CHatingPython merged 15 commits from irgen into master 2026-06-01 21:27:39 +00:00
5 changed files with 11 additions and 11 deletions
Showing only changes of commit b6e5f1f5cc - Show all commits
+1 -1
View File
@@ -42,7 +42,7 @@ protected:
front::token m_name; front::token m_name;
}; };
class function_definition_node : public function_declaration_node { class function_definition_node final : public function_declaration_node {
public: public:
function_definition_node(front::token name, body_h&& body) function_definition_node(front::token name, body_h&& body)
: function_declaration_node(name), m_body(std::move(body)) {} : function_declaration_node(name), m_body(std::move(body)) {}
+4 -4
View File
@@ -27,7 +27,7 @@ protected:
bool equal(const node& rhs) const override; bool equal(const node& rhs) const override;
}; };
class var_read_expression_node : public expression_node { class var_read_expression_node final : public expression_node {
public: public:
var_read_expression_node(handle<std::string_view>&& name) var_read_expression_node(handle<std::string_view>&& name)
: m_name(std::move(name)) {} : m_name(std::move(name)) {}
@@ -55,7 +55,7 @@ enum class unaryop_expression_node_t {
PostfixDecrement, PostfixDecrement,
}; };
class unaryop_expression_node : public expression_node { class unaryop_expression_node final : public expression_node {
public: public:
unaryop_expression_node(unaryop_expression_node_t type, expression_node_h&& node) unaryop_expression_node(unaryop_expression_node_t type, expression_node_h&& node)
: m_type(type), m_node(std::move(node)) {} : m_type(type), m_node(std::move(node)) {}
@@ -95,7 +95,7 @@ enum class binop_expression_node_t {
GreaterEqual, GreaterEqual,
}; };
class binop_expression_node : public expression_node { class binop_expression_node final : public expression_node {
public: public:
binop_expression_node(binop_expression_node_t type, expression_node_h&& lhs, expression_node_h&& rhs) binop_expression_node(binop_expression_node_t type, expression_node_h&& lhs, expression_node_h&& rhs)
: m_type(type), m_lhs(std::move(lhs)), m_rhs(std::move(rhs)) {} : m_type(type), m_lhs(std::move(lhs)), m_rhs(std::move(rhs)) {}
@@ -121,7 +121,7 @@ private:
expression_node_h m_rhs; expression_node_h m_rhs;
}; };
class var_assign_expression_node : public expression_node { class var_assign_expression_node final : public expression_node {
public: public:
var_assign_expression_node(expression_node_h&& lhs, expression_node_h&& rhs) var_assign_expression_node(expression_node_h&& lhs, expression_node_h&& rhs)
: m_compound(binop_expression_node_t::None), m_lhs(std::move(lhs)), m_rhs(std::move(rhs)) {} : m_compound(binop_expression_node_t::None), m_lhs(std::move(lhs)), m_rhs(std::move(rhs)) {}
+2 -2
View File
@@ -24,7 +24,7 @@ protected:
bool equal(const node& rhs) const override; bool equal(const node& rhs) const override;
}; };
class string_literal_node : public literal_node { class string_literal_node final : public literal_node {
public: public:
string_literal_node(handle<std::string_view>&& value) string_literal_node(handle<std::string_view>&& value)
: m_value(std::move(value)) {} : m_value(std::move(value)) {}
@@ -42,7 +42,7 @@ private:
handle<std::string_view> m_value; handle<std::string_view> m_value;
}; };
class integer_literal_node : public literal_node { class integer_literal_node final : public literal_node {
public: public:
integer_literal_node(handle<front::integer_token>&& value) integer_literal_node(handle<front::integer_token>&& value)
: m_value(std::move(value)) {} : m_value(std::move(value)) {}
+1 -1
View File
@@ -9,7 +9,7 @@
namespace furc { namespace furc {
namespace ast { namespace ast {
class program_node : public node { class program_node final : public node {
public: public:
program_node() = default; program_node() = default;
+3 -3
View File
@@ -23,7 +23,7 @@ protected:
bool equal(const node& rhs) const override; bool equal(const node& rhs) const override;
}; };
class return_statement_node : public statement_node { class return_statement_node final : public statement_node {
public: public:
return_statement_node() = default; return_statement_node() = default;
@@ -43,7 +43,7 @@ private:
expression_node_h m_value; expression_node_h m_value;
}; };
class if_statement_node : public statement_node { class if_statement_node final : public statement_node {
public: public:
if_statement_node(expression_node_h&& cond, statement_node_h&& then) if_statement_node(expression_node_h&& cond, statement_node_h&& then)
: m_cond(std::move(cond)), m_then(std::move(then)) {} : m_cond(std::move(cond)), m_then(std::move(then)) {}
@@ -68,7 +68,7 @@ private:
statement_node_h m_else; statement_node_h m_else;
}; };
class compound_statement_node : public statement_node { class compound_statement_node final : public statement_node {
public: public:
compound_statement_node(body_h&& body) compound_statement_node(body_h&& body)
: m_body(std::move(body)) {} : m_body(std::move(body)) {}