part of type checker, type heck result type

This commit is contained in:
ProgramSnail 2023-08-12 14:36:00 +03:00
parent 48c9e200be
commit 17ff590048
13 changed files with 1022 additions and 321 deletions

View file

@ -2,6 +2,7 @@
#include "basic_printers.hpp"
#include "error_handling.hpp"
#include "error_log.hpp"
#include "expression_nodes.hpp"
#include "name_tree.hpp"
#include "statement_builders.hpp"
@ -69,6 +70,18 @@ public:
//
names::NameTree *get_name_tree() { return &name_tree_; }
const names::NameTree *get_name_tree() const { return &name_tree_; }
//
error_handling::ErrorLog *get_error_log() { return &error_log_; }
const error_handling::ErrorLog *get_error_log() const { return &error_log_; }
//
size_t get_statements_size() const { return statements_.size(); }
nodes::Statement *get_statement(size_t id) { return &statements_.at(id); }
@ -81,5 +94,6 @@ private:
nodes::ExpressionStorage expression_storage_;
nodes::TypeStorage type_storage_;
names::NameTree name_tree_;
error_handling::ErrorLog error_log_;
std::vector<nodes::Statement> statements_;
};