slightly optimize and refactor
This commit is contained in:
@ -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;
|
||||
|
@ -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;
|
||||
|
Reference in New Issue
Block a user