mirror of
https://codeberg.org/ProgramSnail/lang_2023.git
synced 2026-01-25 13:07:13 +00:00
contexts merged with type_info_contexts
This commit is contained in:
parent
e1b9d42da1
commit
6850863f58
7 changed files with 143 additions and 315 deletions
|
|
@ -7,6 +7,7 @@
|
|||
#include "global_info.hpp"
|
||||
#include "interpreter_tree.hpp"
|
||||
#include "type_info_contexts.hpp"
|
||||
#include "types.hpp"
|
||||
#include "utils.hpp"
|
||||
#include "values.hpp"
|
||||
#include "visitor.hpp"
|
||||
|
|
@ -17,11 +18,11 @@ namespace interpreter {
|
|||
class ExecuteVisitor : public Visitor {
|
||||
public:
|
||||
explicit ExecuteVisitor(info::GlobalInfo& global_info,
|
||||
info::TypeInfoContextManager& type_info_context_manager,
|
||||
info::ContextManager& context_manager,
|
||||
info::ContextManager<info::type::Type, info::type::TypeManager>& type_context_manager,
|
||||
info::ContextManager<info::value::Value, info::value::ValueManager>& context_manager,
|
||||
interpreter::tokens::PartitionStatement* execution_root)
|
||||
: namespace_visitor_(global_info.CreateVisitor()),
|
||||
type_info_context_manager_(type_info_context_manager),
|
||||
type_context_manager_(type_context_manager),
|
||||
context_manager_(context_manager) {}
|
||||
|
||||
void VisitSourceFile(SourceFile* source_file) override {
|
||||
|
|
@ -161,8 +162,8 @@ private:
|
|||
}
|
||||
private:
|
||||
info::GlobalInfo::NamespaceVisitor namespace_visitor_;
|
||||
info::TypeInfoContextManager& type_info_context_manager_;
|
||||
info::ContextManager& context_manager_;
|
||||
info::ContextManager<info::type::Type, info::type::TypeManager>& type_context_manager_;
|
||||
info::ContextManager<info::value::Value, info::value::ValueManager>& context_manager_;
|
||||
|
||||
utils::IdType current_value_;
|
||||
std::optional<LoopControlExpression> active_loop_control_expression_;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue