Make 'break' and 'continue' be marked as safe
This commit is contained in:
parent
c59da91aad
commit
a8826ad3b8
|
@ -2767,12 +2767,12 @@ void GDScriptParser::_parse_block(BlockNode *p_block, bool p_static) {
|
||||||
_mark_line_as_safe(tokenizer->get_token_line());
|
_mark_line_as_safe(tokenizer->get_token_line());
|
||||||
tokenizer->advance();
|
tokenizer->advance();
|
||||||
if (tokenizer->get_token() == GDScriptTokenizer::TK_SEMICOLON) {
|
if (tokenizer->get_token() == GDScriptTokenizer::TK_SEMICOLON) {
|
||||||
// Ignore semicolon after 'pass'
|
// Ignore semicolon after 'pass'.
|
||||||
tokenizer->advance();
|
tokenizer->advance();
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
case GDScriptTokenizer::TK_PR_VAR: {
|
case GDScriptTokenizer::TK_PR_VAR: {
|
||||||
//variale declaration and (eventual) initialization
|
// Variable declaration and (eventual) initialization.
|
||||||
|
|
||||||
tokenizer->advance();
|
tokenizer->advance();
|
||||||
int var_line = tokenizer->get_token_line();
|
int var_line = tokenizer->get_token_line();
|
||||||
|
@ -3171,6 +3171,7 @@ void GDScriptParser::_parse_block(BlockNode *p_block, bool p_static) {
|
||||||
} break;
|
} break;
|
||||||
case GDScriptTokenizer::TK_CF_CONTINUE: {
|
case GDScriptTokenizer::TK_CF_CONTINUE: {
|
||||||
|
|
||||||
|
_mark_line_as_safe(tokenizer->get_token_line());
|
||||||
tokenizer->advance();
|
tokenizer->advance();
|
||||||
ControlFlowNode *cf_continue = alloc_node<ControlFlowNode>();
|
ControlFlowNode *cf_continue = alloc_node<ControlFlowNode>();
|
||||||
cf_continue->cf_type = ControlFlowNode::CF_CONTINUE;
|
cf_continue->cf_type = ControlFlowNode::CF_CONTINUE;
|
||||||
|
@ -3182,6 +3183,7 @@ void GDScriptParser::_parse_block(BlockNode *p_block, bool p_static) {
|
||||||
} break;
|
} break;
|
||||||
case GDScriptTokenizer::TK_CF_BREAK: {
|
case GDScriptTokenizer::TK_CF_BREAK: {
|
||||||
|
|
||||||
|
_mark_line_as_safe(tokenizer->get_token_line());
|
||||||
tokenizer->advance();
|
tokenizer->advance();
|
||||||
ControlFlowNode *cf_break = alloc_node<ControlFlowNode>();
|
ControlFlowNode *cf_break = alloc_node<ControlFlowNode>();
|
||||||
cf_break->cf_type = ControlFlowNode::CF_BREAK;
|
cf_break->cf_type = ControlFlowNode::CF_BREAK;
|
||||||
|
|
Loading…
Reference in New Issue