Merge pull request #53338 from briansemrau/gdscript-handle-for-with-null-list
This commit is contained in:
commit
4a4995524c
|
@ -1201,7 +1201,7 @@ void GDScriptAnalyzer::resolve_for(GDScriptParser::ForNode *p_for) {
|
|||
variable_type.kind = GDScriptParser::DataType::BUILTIN;
|
||||
variable_type.builtin_type = Variant::INT; // Can this ever be a float or something else?
|
||||
p_for->variable->set_datatype(variable_type);
|
||||
} else {
|
||||
} else if (p_for->list) {
|
||||
resolve_node(p_for->list);
|
||||
if (p_for->list->datatype.has_container_element_type()) {
|
||||
variable_type = p_for->list->datatype.get_container_element_type();
|
||||
|
@ -1216,7 +1216,9 @@ void GDScriptAnalyzer::resolve_for(GDScriptParser::ForNode *p_for) {
|
|||
variable_type.kind = GDScriptParser::DataType::VARIANT;
|
||||
}
|
||||
}
|
||||
p_for->variable->set_datatype(variable_type);
|
||||
if (p_for->variable) {
|
||||
p_for->variable->set_datatype(variable_type);
|
||||
}
|
||||
|
||||
resolve_suite(p_for->loop);
|
||||
p_for->set_datatype(p_for->loop->get_datatype());
|
||||
|
|
|
@ -1620,6 +1620,10 @@ GDScriptParser::ForNode *GDScriptParser::parse_for() {
|
|||
|
||||
n_for->list = parse_expression(false);
|
||||
|
||||
if (!n_for->list) {
|
||||
push_error(R"(Expected a list or range after "in".)");
|
||||
}
|
||||
|
||||
consume(GDScriptTokenizer::Token::COLON, R"(Expected ":" after "for" condition.)");
|
||||
|
||||
// Save break/continue state.
|
||||
|
|
Loading…
Reference in New Issue