Skip to content

Commit

Permalink
Merge pull request godotengine#53715 from vnen/gdscript-setter-parame…
Browse files Browse the repository at this point in the history
…ter-type
  • Loading branch information
akien-mga authored Oct 12, 2021
2 parents 480fc31 + 45f546c commit cb85ef6
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 1 deletion.
4 changes: 3 additions & 1 deletion modules/gdscript/gdscript_analyzer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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);
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -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)
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
GDTEST_ANALYZER_ERROR
Value of type "int" cannot be assigned to a variable of type "String".

0 comments on commit cb85ef6

Please sign in to comment.