From adccf6feecba2b66ff46e5f5a33927c00464f153 Mon Sep 17 00:00:00 2001 From: ProgramSnail Date: Sat, 6 May 2023 14:04:13 +0300 Subject: [PATCH] for loop fix v2 --- lang-parser | 2 +- src/build_visitor.cpp | 5 ++--- src/print_visitor.cpp | 1 - 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/lang-parser b/lang-parser index 910d1b4..d7c58c4 160000 --- a/lang-parser +++ b/lang-parser @@ -1 +1 @@ -Subproject commit 910d1b4d312002a769869064e83250513257b63e +Subproject commit d7c58c48cc7afc031e5dc350eb2a497c1bac5511 diff --git a/src/build_visitor.cpp b/src/build_visitor.cpp index fc4bec4..ae5526c 100644 --- a/src/build_visitor.cpp +++ b/src/build_visitor.cpp @@ -633,10 +633,9 @@ void BuildVisitor::Visit(ForLoop* node) { auto parse_node = current_node_; - std::string modifier = parse_node.NthChild(1).GetValue(); - if (modifier == "const") { + if (parse_node.ChildCount() < 7) { // no "var" node node->variable_modifier = utils::IsConstModifier::Const; - } else if (modifier == "var") { + } else { node->variable_modifier = utils::IsConstModifier::Var; } diff --git a/src/print_visitor.cpp b/src/print_visitor.cpp index 91b4a1a..e39c54e 100644 --- a/src/print_visitor.cpp +++ b/src/print_visitor.cpp @@ -334,7 +334,6 @@ void PrintVisitor::Visit(ForLoop* node) { out_ << "[For "; switch (node->variable_modifier) { case utils::IsConstModifier::Const: - out_ << "const"; break; case utils::IsConstModifier::Var: out_ << "var";