You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
GDScript: Allow implicit type conversion when constructing variants
Incidentally fix error message when no valid constructor is found which was missing an end parenthesis.
This commit is contained in:
@@ -1634,6 +1634,7 @@ void GDScriptAnalyzer::reduce_call(GDScriptParser::CallNode *p_call, bool is_awa
|
||||
}
|
||||
signature += p_call->arguments[i]->get_datatype().to_string();
|
||||
}
|
||||
signature += ")";
|
||||
push_error(vformat(R"(No constructor of "%s" matches the signature "%s".)", Variant::get_type_name(builtin_type), signature), p_call->callee);
|
||||
} break;
|
||||
case Callable::CallError::CALL_ERROR_TOO_MANY_ARGUMENTS:
|
||||
@@ -1684,7 +1685,7 @@ void GDScriptAnalyzer::reduce_call(GDScriptParser::CallNode *p_call, bool is_awa
|
||||
for (int i = 0; i < p_call->arguments.size(); i++) {
|
||||
GDScriptParser::DataType par_type = type_from_property(info.arguments[i]);
|
||||
|
||||
if (!is_type_compatible(par_type, p_call->arguments[i]->get_datatype())) {
|
||||
if (!is_type_compatible(par_type, p_call->arguments[i]->get_datatype(), true)) {
|
||||
types_match = false;
|
||||
break;
|
||||
#ifdef DEBUG_ENABLED
|
||||
@@ -1711,6 +1712,7 @@ void GDScriptAnalyzer::reduce_call(GDScriptParser::CallNode *p_call, bool is_awa
|
||||
}
|
||||
signature += p_call->arguments[i]->get_datatype().to_string();
|
||||
}
|
||||
signature += ")";
|
||||
push_error(vformat(R"(No constructor of "%s" matches the signature "%s".)", Variant::get_type_name(builtin_type), signature), p_call);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user