slightly optimize and refactor

This commit is contained in:
2024-10-23 09:25:13 +00:00
parent c6e529ec0f
commit 77719e07e7
7 changed files with 11 additions and 30 deletions

View File

@ -8,7 +8,7 @@
#include "ast/scope.hpp"
#include "tools.h"
class IRBuilder : public ASTNodeVirturalVisitor {
friend std::shared_ptr<ModuleItem> BuildIR(std::shared_ptr<Program_ASTNode> src);
public:
std::shared_ptr<ModuleItem> prog;
std::shared_ptr<TypeDefItem> cur_class;
std::shared_ptr<FunctionDefItem> cur_func;

View File

@ -20,7 +20,7 @@ class LLVMIRItemBase {
};
class TypeDefItem : public LLVMIRItemBase {
friend class IRBuilder;
public:
std::string class_name_raw;
std::vector<LLVMType> elements;
@ -411,8 +411,7 @@ class FunctionDefItem : public LLVMIRItemBase {
}
};
class FunctionDeclareItem : public LLVMIRItemBase {
friend class IRBuilder;
friend std::shared_ptr<class ModuleItem> BuildIR(std::shared_ptr<Program_ASTNode> src);
public:
LLVMType return_type;
std::string func_name_raw;
std::vector<LLVMType> args;