printing fixes

This commit is contained in:
ProgramSnail 2023-07-25 21:33:57 +03:00
parent 0bb72e0b10
commit 469cb3581f
23 changed files with 318 additions and 151 deletions

View file

@ -167,13 +167,13 @@ public:
: Node(node), type_(LOOP), expression_(expression) {}
// WHILE
Loop(Node node, ExpressionProxy expression, ExpressionProxy condition)
Loop(Node node, ExpressionProxy condition, ExpressionProxy expression)
: Node(node), type_(WHILE), expression_(expression),
condition_(condition) {}
// FOR
Loop(Node node, ExpressionProxy expression, ExpressionProxy variable,
ExpressionProxy interval)
Loop(Node node, ExpressionProxy variable, ExpressionProxy interval,
ExpressionProxy expression)
: Node(node), type_(FOR), expression_(expression), variable_(variable),
interval_(interval) {}
@ -528,19 +528,9 @@ public:
return std::nullopt;
}
std::variant<Match, Condition, Loop, Container, Return, NameDefinition,
Access, LoopControl, ModifierExpression, NameExpression,
Constructor, Lambda, Literal> *
get_any() {
return &expression_;
}
auto get_any() { return &expression_; }
const std::variant<Match, Condition, Loop, Container, Return, NameDefinition,
Access, LoopControl, ModifierExpression, NameExpression,
Constructor, Lambda, Literal> *
get_any() const {
return &expression_;
}
auto get_any() const { return &expression_; }
bool is_scoped() const { return is_scoped_; }
@ -570,7 +560,10 @@ private:
NameExpression, Constructor, Lambda,
// --- literal
Literal
Literal,
// --- empty lines
EmptyLines
>
expression_;