build_visitor fixed, going to test it

This commit is contained in:
ProgramSnail 2023-04-25 21:21:36 +03:00
parent 5bf0c1bf48
commit c34523bd4f
23 changed files with 45468 additions and 45273 deletions

View file

@ -1,6 +1,7 @@
#pragma once
// for clangd
#include "interpreter_tree.hpp"
#include "visitor.hpp"
#include "parse_tree.hpp"
@ -47,6 +48,8 @@ private:
// Flow control -----------------
void Visit(TypeConstructorPatternParameter* node) override;
void Visit(TypeConstructorPattern* node) override;
void Visit(MatchCase* node) override;
void Visit(Match* node) override;
void Visit(Condition* node) override;
@ -55,6 +58,8 @@ private:
void Visit(ForLoop* node) override;
void Visit(LoopLoop* node) override;
void Visit(PatternToken& node) override; // variant
void Visit(Pattern& node) override; // variant
void Visit(FlowControl& node) override; // variant
// Statements, expressions, blocks, etc. -----------------
@ -87,6 +92,7 @@ private:
void Visit(TupleExpression* node) override;
void Visit(VariantExpression* node) override;
void Visit(ReturnExpression* node) override;
void Visit(TypeConstructorParameter* node) override;
void Visit(TypeConstructor* node) override;
void Visit(LambdaFunction* node) override;
void Visit(ArrayExpression* node) override;
@ -109,7 +115,6 @@ private:
void Visit(FunctionType* node) override;
void Visit(TupleType* node) override;
void Visit(VariantType* node) override;
void Visit(ParametrizedType* node) override;
void Visit(TypeExpression* node) override;
void Visit(AnyType& node) override; // variant
@ -118,14 +123,15 @@ private:
// Typeclass
void Visit(ParametrizedTypeclass* node) override;
void Visit(TypeclassExpression* node) override;
void Visit(ParametrizedTypeclass* node) override;
void Visit(TypeclassUsage& node) override; // variant
void Visit(TypeclassSubExpression& node) override; // variant
// Typeclass & Type
void Visit(TypeParameter& node) override; // variant
void Visit(ParametrizedType* node) override;
void Visit(TypeSubExpression& node) override; // variant
// Identifiers, constants, etc. -----------------