diff --git a/furc/include/furc/ast/declaration.hpp b/furc/include/furc/ast/declaration.hpp index 5849faa..6d602fa 100644 --- a/furc/include/furc/ast/declaration.hpp +++ b/furc/include/furc/ast/declaration.hpp @@ -42,7 +42,7 @@ protected: front::token m_name; }; -class function_definition_node : public function_declaration_node { +class function_definition_node final : public function_declaration_node { public: function_definition_node(front::token name, body_h&& body) : function_declaration_node(name), m_body(std::move(body)) {} diff --git a/furc/include/furc/ast/expression.hpp b/furc/include/furc/ast/expression.hpp index 57f2417..4deb83d 100644 --- a/furc/include/furc/ast/expression.hpp +++ b/furc/include/furc/ast/expression.hpp @@ -27,7 +27,7 @@ protected: 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: var_read_expression_node(handle&& name) : m_name(std::move(name)) {} @@ -55,7 +55,7 @@ enum class unaryop_expression_node_t { PostfixDecrement, }; -class unaryop_expression_node : public expression_node { +class unaryop_expression_node final : public expression_node { public: unaryop_expression_node(unaryop_expression_node_t type, expression_node_h&& node) : m_type(type), m_node(std::move(node)) {} @@ -95,7 +95,7 @@ enum class binop_expression_node_t { GreaterEqual, }; -class binop_expression_node : public expression_node { +class binop_expression_node final : public expression_node { public: 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)) {} @@ -121,7 +121,7 @@ private: expression_node_h m_rhs; }; -class var_assign_expression_node : public expression_node { +class var_assign_expression_node final : public expression_node { public: 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)) {} diff --git a/furc/include/furc/ast/literal.hpp b/furc/include/furc/ast/literal.hpp index 1338580..7e82b1f 100644 --- a/furc/include/furc/ast/literal.hpp +++ b/furc/include/furc/ast/literal.hpp @@ -24,7 +24,7 @@ protected: bool equal(const node& rhs) const override; }; -class string_literal_node : public literal_node { +class string_literal_node final : public literal_node { public: string_literal_node(handle&& value) : m_value(std::move(value)) {} @@ -42,7 +42,7 @@ private: handle m_value; }; -class integer_literal_node : public literal_node { +class integer_literal_node final : public literal_node { public: integer_literal_node(handle&& value) : m_value(std::move(value)) {} diff --git a/furc/include/furc/ast/program.hpp b/furc/include/furc/ast/program.hpp index 62a45f3..89ce195 100644 --- a/furc/include/furc/ast/program.hpp +++ b/furc/include/furc/ast/program.hpp @@ -9,7 +9,7 @@ namespace furc { namespace ast { -class program_node : public node { +class program_node final : public node { public: program_node() = default; diff --git a/furc/include/furc/ast/statement.hpp b/furc/include/furc/ast/statement.hpp index 5440c65..7f8b9f3 100644 --- a/furc/include/furc/ast/statement.hpp +++ b/furc/include/furc/ast/statement.hpp @@ -23,7 +23,7 @@ protected: bool equal(const node& rhs) const override; }; -class return_statement_node : public statement_node { +class return_statement_node final : public statement_node { public: return_statement_node() = default; @@ -43,7 +43,7 @@ private: expression_node_h m_value; }; -class if_statement_node : public statement_node { +class if_statement_node final : public statement_node { public: if_statement_node(expression_node_h&& cond, statement_node_h&& then) : m_cond(std::move(cond)), m_then(std::move(then)) {} @@ -68,7 +68,7 @@ private: statement_node_h m_else; }; -class compound_statement_node : public statement_node { +class compound_statement_node final : public statement_node { public: compound_statement_node(body_h&& body) : m_body(std::move(body)) {}