Merge pull request #43856 from vnen/gdscript-some-fixes
A couple of GDScript fixes
This commit is contained in:
commit
fc28de64c4
2 changed files with 11 additions and 7 deletions
|
@ -978,7 +978,7 @@ void GDScriptAnalyzer::resolve_for(GDScriptParser::ForNode *p_for) {
|
|||
|
||||
if (!call->arguments[i]->is_constant) {
|
||||
all_is_constant = false;
|
||||
} else {
|
||||
} else if (all_is_constant) {
|
||||
args.write[i] = call->arguments[i]->reduced_value;
|
||||
}
|
||||
|
||||
|
@ -1011,11 +1011,15 @@ void GDScriptAnalyzer::resolve_for(GDScriptParser::ForNode *p_for) {
|
|||
}
|
||||
}
|
||||
|
||||
GDScriptParser::DataType list_type;
|
||||
list_type.type_source = GDScriptParser::DataType::ANNOTATED_EXPLICIT;
|
||||
list_type.kind = GDScriptParser::DataType::BUILTIN;
|
||||
list_type.builtin_type = Variant::ARRAY;
|
||||
p_for->list->set_datatype(list_type);
|
||||
if (p_for->list->is_constant) {
|
||||
p_for->list->set_datatype(type_from_variant(p_for->list->reduced_value, p_for->list));
|
||||
} else {
|
||||
GDScriptParser::DataType list_type;
|
||||
list_type.type_source = GDScriptParser::DataType::ANNOTATED_EXPLICIT;
|
||||
list_type.kind = GDScriptParser::DataType::BUILTIN;
|
||||
list_type.builtin_type = Variant::ARRAY;
|
||||
p_for->list->set_datatype(list_type);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -437,7 +437,7 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_expression(CodeGen &code
|
|||
gen->pop_temporary();
|
||||
}
|
||||
|
||||
return source;
|
||||
return result;
|
||||
} break;
|
||||
case GDScriptParser::Node::CALL: {
|
||||
const GDScriptParser::CallNode *call = static_cast<const GDScriptParser::CallNode *>(p_expression);
|
||||
|
|
Loading…
Reference in a new issue