Merge pull request #53726 from briansemrau/gd-outer-class

GDScript 2.0: Access outer scope classes
This commit is contained in:
George Marques 2021-10-14 10:12:52 -03:00 committed by GitHub
commit bf322bacdd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 0 deletions

View file

@ -2683,6 +2683,11 @@ void GDScriptAnalyzer::reduce_identifier_from_base(GDScriptParser::IdentifierNod
p_identifier->is_constant = false;
return;
} break;
case GDScriptParser::ClassNode::Member::CLASS: {
resolve_class_interface(member.m_class);
p_identifier->set_datatype(member.m_class->get_datatype());
return;
} break;
default:
break;
}

View file

@ -0,0 +1,19 @@
class A:
var x = 3
class B:
var x = 4
class C:
var x = 5
class Test:
var a = A.new()
var b: B = B.new()
var c := C.new()
func test():
var test_instance := Test.new()
prints(test_instance.a.x)
prints(test_instance.b.x)
prints(test_instance.c.x)

View file

@ -0,0 +1,4 @@
GDTEST_OK
3
4
5