Fix some warnings

This commit is contained in:
Sofia 2026-04-02 17:33:17 +03:00
parent df8ca04274
commit 3a2c97fb13

View File

@ -11,6 +11,7 @@ namespace AST {
class Node { class Node {
public: public:
virtual std::string formatted() = 0; virtual std::string formatted() = 0;
virtual ~Node() = default;
}; };
class Expression : public Node { class Expression : public Node {
@ -20,6 +21,7 @@ namespace AST {
class Type { class Type {
public: public:
virtual ~Type() = default;
virtual std::string formatted() = 0; virtual std::string formatted() = 0;
virtual llvm::Type* codegen(codegen::Builder& builder) = 0; virtual llvm::Type* codegen(codegen::Builder& builder) = 0;
}; };
@ -34,6 +36,7 @@ namespace AST {
int m_value; int m_value;
public: public:
IntLiteralExpression(int value) : m_value{ value } {} IntLiteralExpression(int value) : m_value{ value } {}
virtual ~IntLiteralExpression() override = default;
virtual std::string formatted() override; virtual std::string formatted() override;
virtual llvm::Value* codegen(codegen::Builder& builder) override; virtual llvm::Value* codegen(codegen::Builder& builder) override;
}; };
@ -44,6 +47,7 @@ namespace AST {
std::unique_ptr<Expression> m_expr; std::unique_ptr<Expression> m_expr;
public: public:
ReturnStatement(std::unique_ptr<Expression> expr) : m_expr{ std::move(expr) } {} ReturnStatement(std::unique_ptr<Expression> expr) : m_expr{ std::move(expr) } {}
virtual ~ReturnStatement() override = default;
virtual std::string formatted() override; virtual std::string formatted() override;
virtual void codegen(codegen::Builder& builder) override; virtual void codegen(codegen::Builder& builder) override;
}; };
@ -70,6 +74,7 @@ namespace AST {
, m_name{ name } , m_name{ name }
, m_statements{ std::move(statements) } { , m_statements{ std::move(statements) } {
} }
virtual ~Function() override = default;
virtual std::string formatted() override; virtual std::string formatted() override;
virtual void codegen(codegen::Builder& builder) override; virtual void codegen(codegen::Builder& builder) override;
}; };
@ -83,6 +88,7 @@ namespace AST {
FundamentalTypeKind m_ty; FundamentalTypeKind m_ty;
public: public:
FundamentalType(FundamentalTypeKind kind) : m_ty{ kind } {} FundamentalType(FundamentalTypeKind kind) : m_ty{ kind } {}
virtual ~FundamentalType() override = default;
virtual std::string formatted() override; virtual std::string formatted() override;
virtual llvm::Type* codegen(codegen::Builder& builder) override; virtual llvm::Type* codegen(codegen::Builder& builder) override;
}; };