Merge pull request #73915 from vonagam/fix-conversions-from-native-member

GDScript: Fix conversions from native members accessed by identifier
This commit is contained in:
Rémi Verschelde 2023-02-26 19:02:27 +01:00
commit c0f1ed57c4
No known key found for this signature in database
GPG key ID: C3336907360768E1
3 changed files with 14 additions and 1 deletions

View file

@ -238,7 +238,7 @@ GDScriptCodeGenerator::Address GDScriptCompiler::_parse_expression(CodeGen &code
// Try class members.
if (_is_class_member_property(codegen, identifier)) {
// Get property.
GDScriptCodeGenerator::Address temp = codegen.add_temporary(); // TODO: Could get the type of the class member here.
GDScriptCodeGenerator::Address temp = codegen.add_temporary(_gdtype_from_datatype(p_expression->get_datatype(), codegen.script));
gen->write_get_member(temp, identifier);
return temp;
}

View file

@ -0,0 +1,11 @@
class Foo extends Node:
func _init():
name = 'f'
var string: String = name
assert(typeof(string) == TYPE_STRING)
assert(string == 'f')
print('ok')
func test():
var foo := Foo.new()
foo.free()