Merge pull request #53715 from vnen/gdscript-setter-parameter-type

This commit is contained in:
Rémi Verschelde 2021-10-12 16:01:57 +02:00 committed by GitHub
commit cb85ef6c38
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 1 deletions

View file

@ -893,11 +893,13 @@ void GDScriptAnalyzer::resolve_class_body(GDScriptParser::ClassNode *p_class) {
resolve_function_body(member.variable->getter);
}
if (member.variable->setter != nullptr) {
resolve_function_signature(member.variable->setter);
if (member.variable->setter->parameters.size() > 0) {
member.variable->setter->parameters[0]->datatype_specifier = member.variable->datatype_specifier;
member.variable->setter->parameters[0]->set_datatype(member.get_datatype());
}
resolve_function_signature(member.variable->setter);
resolve_function_body(member.variable->setter);
}
}

View file

@ -0,0 +1,8 @@
var with_setter := 0:
set(val):
var x: String = val
with_setter = val
func test():
with_setter = 1
print(with_setter)

View file

@ -0,0 +1,2 @@
GDTEST_ANALYZER_ERROR
Value of type "int" cannot be assigned to a variable of type "String".