Fix constant base typing in extended GDScript class
This commit is contained in:
@ -0,0 +1,14 @@
|
||||
const A: = preload("base_outer_resolution_a.notest.gd")
|
||||
const B: = preload("base_outer_resolution_b.notest.gd")
|
||||
const C: = preload("base_outer_resolution_c.notest.gd")
|
||||
|
||||
const Extend: = preload("base_outer_resolution_extend.notest.gd")
|
||||
|
||||
func test() -> void:
|
||||
Extend.test_a(A.new())
|
||||
Extend.test_b(B.new())
|
||||
Extend.InnerClass.test_c(C.new())
|
||||
Extend.InnerClass.InnerInnerClass.test_a_b_c(A.new(), B.new(), C.new())
|
||||
Extend.InnerClass.InnerInnerClass.test_enum(C.TestEnum.HELLO_WORLD)
|
||||
Extend.InnerClass.InnerInnerClass.test_a_prime(A.APrime.new())
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
GDTEST_OK
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
true
|
||||
@ -0,0 +1,2 @@
|
||||
class APrime:
|
||||
pass
|
||||
@ -0,0 +1,4 @@
|
||||
const A: = preload("base_outer_resolution_a.notest.gd")
|
||||
|
||||
class InnerClassInBase:
|
||||
const C: = preload("base_outer_resolution_c.notest.gd")
|
||||
@ -0,0 +1,3 @@
|
||||
enum TestEnum {
|
||||
HELLO_WORLD
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
extends "base_outer_resolution_base.notest.gd"
|
||||
|
||||
const B: = preload("base_outer_resolution_b.notest.gd")
|
||||
|
||||
static func test_a(a: A) -> void:
|
||||
print(a is A)
|
||||
|
||||
static func test_b(b: B) -> void:
|
||||
print(b is B)
|
||||
|
||||
class InnerClass extends InnerClassInBase:
|
||||
static func test_c(c: C) -> void:
|
||||
print(c is C)
|
||||
|
||||
class InnerInnerClass:
|
||||
static func test_a_b_c(a: A, b: B, c: C) -> void:
|
||||
print(a is A and b is B and c is C)
|
||||
|
||||
static func test_enum(test_enum: C.TestEnum) -> void:
|
||||
print(test_enum == C.TestEnum.HELLO_WORLD)
|
||||
|
||||
static func test_a_prime(a_prime: A.APrime) -> void:
|
||||
print(a_prime is A.APrime)
|
||||
Reference in New Issue
Block a user