mirror of
https://codeberg.org/ProgramSnail/lang_2023.git
synced 2025-12-25 08:18:43 +00:00
fixes , constructor patter fix, for loop fix
This commit is contained in:
parent
6ba31969d2
commit
70b84c38f0
7 changed files with 33 additions and 49 deletions
|
|
@ -61,7 +61,6 @@ 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
|
||||
|
||||
|
|
|
|||
|
|
@ -246,15 +246,13 @@ struct ExtendedName {
|
|||
std::string name;
|
||||
};
|
||||
|
||||
using PatternToken = std::variant<
|
||||
using Pattern = std::variant<
|
||||
std::unique_ptr<ExtendedName>,
|
||||
std::unique_ptr<Literal>,
|
||||
std::unique_ptr<TypeConstructorPattern>>;
|
||||
|
||||
|
||||
using Pattern = std::variant<
|
||||
std::unique_ptr<TypeConstructorPattern>,
|
||||
std::unique_ptr<PatternToken>>;
|
||||
using ScopedPattern = Pattern;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
|
@ -413,7 +411,7 @@ struct TypeConstructorPatternParameter {
|
|||
BaseNode base;
|
||||
|
||||
std::optional<ExtendedName> name;
|
||||
PatternToken value;
|
||||
ScopedPattern value;
|
||||
};
|
||||
|
||||
struct TypeConstructorPattern {
|
||||
|
|
@ -462,6 +460,7 @@ struct WhileLoop {
|
|||
struct ForLoop {
|
||||
BaseNode base;
|
||||
|
||||
utils::IsConstModifier variable_modifier;
|
||||
AnyName variable;
|
||||
Expression interval;
|
||||
Expression statement;
|
||||
|
|
|
|||
|
|
@ -58,7 +58,6 @@ protected:
|
|||
virtual void Visit(ForLoop* node);
|
||||
virtual void Visit(LoopLoop* node);
|
||||
|
||||
virtual void Visit(PatternToken& node); // variant
|
||||
virtual void Visit(Pattern& node); // variant
|
||||
virtual void Visit(FlowControl& node); // variant
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue