Merge pull request #34948 from vnen/gdscript-copy-constructor

GDScript: Allow copy constructor for built-in types
This commit is contained in:
Rémi Verschelde 2020-01-09 13:42:10 +01:00 committed by GitHub
commit e97e951741
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -6965,6 +6965,17 @@ GDScriptParser::DataType GDScriptParser::_reduce_function_call_type(const Operat
if (error_set) return DataType(); if (error_set) return DataType();
// Special case: check copy constructor. Those are defined implicitly in Variant.
if (par_types.size() == 1) {
if (!par_types[0].has_type || (par_types[0].kind == DataType::BUILTIN && par_types[0].builtin_type == tn->vtype)) {
DataType result;
result.has_type = true;
result.kind = DataType::BUILTIN;
result.builtin_type = tn->vtype;
return result;
}
}
bool match = false; bool match = false;
List<MethodInfo> constructors; List<MethodInfo> constructors;
Variant::get_constructor_list(tn->vtype, &constructors); Variant::get_constructor_list(tn->vtype, &constructors);