|
@@ -1806,11 +1806,10 @@ GDScriptParser::BreakNode *GDScriptParser::parse_break() {
|
|
|
|
|
|
GDScriptParser::ContinueNode *GDScriptParser::parse_continue() {
|
|
|
if (!can_continue) {
|
|
|
- push_error(R"(Cannot use "continue" outside of a loop or pattern matching block.)");
|
|
|
+ push_error(R"(Cannot use "continue" outside of a loop.)");
|
|
|
}
|
|
|
current_suite->has_continue = true;
|
|
|
ContinueNode *cont = alloc_node<ContinueNode>();
|
|
|
- cont->is_for_match = is_continue_match;
|
|
|
complete_extents(cont);
|
|
|
end_statement(R"("continue")");
|
|
|
return cont;
|
|
@@ -1836,12 +1835,10 @@ GDScriptParser::ForNode *GDScriptParser::parse_for() {
|
|
|
// Save break/continue state.
|
|
|
bool could_break = can_break;
|
|
|
bool could_continue = can_continue;
|
|
|
- bool was_continue_match = is_continue_match;
|
|
|
|
|
|
// Allow break/continue.
|
|
|
can_break = true;
|
|
|
can_continue = true;
|
|
|
- is_continue_match = false;
|
|
|
|
|
|
SuiteNode *suite = alloc_node<SuiteNode>();
|
|
|
if (n_for->variable) {
|
|
@@ -1859,7 +1856,6 @@ GDScriptParser::ForNode *GDScriptParser::parse_for() {
|
|
|
// Reset break/continue state.
|
|
|
can_break = could_break;
|
|
|
can_continue = could_continue;
|
|
|
- is_continue_match = was_continue_match;
|
|
|
|
|
|
return n_for;
|
|
|
}
|
|
@@ -1996,13 +1992,6 @@ GDScriptParser::MatchBranchNode *GDScriptParser::parse_match_branch() {
|
|
|
return nullptr;
|
|
|
}
|
|
|
|
|
|
- // Save continue state.
|
|
|
- bool could_continue = can_continue;
|
|
|
- bool was_continue_match = is_continue_match;
|
|
|
- // Allow continue for match.
|
|
|
- can_continue = true;
|
|
|
- is_continue_match = true;
|
|
|
-
|
|
|
SuiteNode *suite = alloc_node<SuiteNode>();
|
|
|
if (branch->patterns.size() > 0) {
|
|
|
for (const KeyValue<StringName, IdentifierNode *> &E : branch->patterns[0]->binds) {
|
|
@@ -2015,10 +2004,6 @@ GDScriptParser::MatchBranchNode *GDScriptParser::parse_match_branch() {
|
|
|
branch->block = parse_suite("match pattern block", suite);
|
|
|
complete_extents(branch);
|
|
|
|
|
|
- // Restore continue state.
|
|
|
- can_continue = could_continue;
|
|
|
- is_continue_match = was_continue_match;
|
|
|
-
|
|
|
return branch;
|
|
|
}
|
|
|
|
|
@@ -2177,12 +2162,10 @@ GDScriptParser::WhileNode *GDScriptParser::parse_while() {
|
|
|
// Save break/continue state.
|
|
|
bool could_break = can_break;
|
|
|
bool could_continue = can_continue;
|
|
|
- bool was_continue_match = is_continue_match;
|
|
|
|
|
|
// Allow break/continue.
|
|
|
can_break = true;
|
|
|
can_continue = true;
|
|
|
- is_continue_match = false;
|
|
|
|
|
|
n_while->loop = parse_suite(R"("while" block)");
|
|
|
n_while->loop->is_loop = true;
|
|
@@ -2191,7 +2174,6 @@ GDScriptParser::WhileNode *GDScriptParser::parse_while() {
|
|
|
// Reset break/continue state.
|
|
|
can_break = could_break;
|
|
|
can_continue = could_continue;
|
|
|
- is_continue_match = was_continue_match;
|
|
|
|
|
|
return n_while;
|
|
|
}
|