mirror of
https://github.com/godotengine/godot.git
synced 2026-01-03 18:11:19 +03:00
GDScript: Fix access non-static members in static context
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
# GH-91403
|
||||
|
||||
static func static_func():
|
||||
print(non_static_func)
|
||||
|
||||
func non_static_func():
|
||||
pass
|
||||
|
||||
func test():
|
||||
pass
|
||||
@@ -0,0 +1,2 @@
|
||||
GDTEST_ANALYZER_ERROR
|
||||
Cannot access non-static function "non_static_func" from the static function "static_func()".
|
||||
@@ -0,0 +1,15 @@
|
||||
# GH-91403
|
||||
|
||||
func non_static_func():
|
||||
pass
|
||||
|
||||
static func static_func(
|
||||
f := func ():
|
||||
var g := func ():
|
||||
print(non_static_func)
|
||||
g.call()
|
||||
):
|
||||
f.call()
|
||||
|
||||
func test():
|
||||
pass
|
||||
@@ -0,0 +1,2 @@
|
||||
GDTEST_ANALYZER_ERROR
|
||||
Cannot access non-static function "non_static_func" from the static function "static_func()".
|
||||
@@ -1,2 +1,2 @@
|
||||
GDTEST_ANALYZER_ERROR
|
||||
Cannot call non-static function "non_static_func()" from static function "static_func()".
|
||||
Cannot call non-static function "non_static_func()" from the static function "static_func()".
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
GDTEST_ANALYZER_ERROR
|
||||
Cannot call non-static function "non_static_func()" from static function "static_func()".
|
||||
Cannot call non-static function "non_static_func()" from the static function "static_func()".
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
GDTEST_ANALYZER_ERROR
|
||||
Cannot call non-static function "non_static_func()" from static function "static_func()".
|
||||
Cannot call non-static function "non_static_func()" from the static function "static_func()".
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
# GH-91403
|
||||
|
||||
func non_static_func():
|
||||
pass
|
||||
|
||||
static var static_var = func ():
|
||||
var f := func ():
|
||||
var g := func ():
|
||||
print(non_static_func)
|
||||
g.call()
|
||||
f.call()
|
||||
|
||||
func test():
|
||||
pass
|
||||
@@ -0,0 +1,2 @@
|
||||
GDTEST_ANALYZER_ERROR
|
||||
Cannot access non-static function "non_static_func" from a static variable initializer.
|
||||
@@ -0,0 +1,15 @@
|
||||
# GH-91403
|
||||
|
||||
func non_static_func():
|
||||
pass
|
||||
|
||||
static var static_var:
|
||||
set(_value):
|
||||
var f := func ():
|
||||
var g := func ():
|
||||
print(non_static_func)
|
||||
g.call()
|
||||
f.call()
|
||||
|
||||
func test():
|
||||
pass
|
||||
@@ -0,0 +1,2 @@
|
||||
GDTEST_ANALYZER_ERROR
|
||||
Cannot access non-static function "non_static_func" from the static function "@static_var_setter()".
|
||||
@@ -1,2 +1,2 @@
|
||||
GDTEST_ANALYZER_ERROR
|
||||
Cannot call non-static function "non_static_func()" from static function "@static_var_setter()".
|
||||
Cannot call non-static function "non_static_func()" from the static function "@static_var_setter()".
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
# GH-91403
|
||||
|
||||
@static_unload
|
||||
|
||||
func non_static():
|
||||
return "non static"
|
||||
|
||||
static var static_var = Callable(non_static)
|
||||
|
||||
func test():
|
||||
print("does not run")
|
||||
@@ -0,0 +1,2 @@
|
||||
GDTEST_ANALYZER_ERROR
|
||||
Cannot access non-static function "non_static" from a static variable initializer.
|
||||
@@ -0,0 +1,75 @@
|
||||
@static_unload
|
||||
|
||||
static var static_var
|
||||
var non_static_var
|
||||
|
||||
signal my_signal()
|
||||
|
||||
static func static_func():
|
||||
pass
|
||||
|
||||
func non_static_func():
|
||||
pass
|
||||
|
||||
static var test_static_var_lambda = func ():
|
||||
static_func()
|
||||
print(static_func)
|
||||
static_var = 1
|
||||
print(static_var)
|
||||
|
||||
var test_non_static_var_lambda = func ():
|
||||
static_func()
|
||||
print(static_func)
|
||||
static_var = 1
|
||||
print(static_var)
|
||||
|
||||
non_static_func()
|
||||
print(non_static_func)
|
||||
non_static_var = 1
|
||||
print(non_static_var)
|
||||
my_signal.emit()
|
||||
print(my_signal)
|
||||
|
||||
static var test_static_var_setter:
|
||||
set(_value):
|
||||
static_func()
|
||||
print(static_func)
|
||||
static_var = 1
|
||||
print(static_var)
|
||||
|
||||
var test_non_static_var_setter:
|
||||
set(_value):
|
||||
static_func()
|
||||
print(static_func)
|
||||
static_var = 1
|
||||
print(static_var)
|
||||
|
||||
non_static_func()
|
||||
print(non_static_func)
|
||||
non_static_var = 1
|
||||
print(non_static_var)
|
||||
my_signal.emit()
|
||||
print(my_signal)
|
||||
|
||||
static func test_static_func():
|
||||
static_func()
|
||||
print(static_func)
|
||||
static_var = 1
|
||||
print(static_var)
|
||||
|
||||
func test_non_static_func():
|
||||
static_func()
|
||||
print(static_func)
|
||||
static_var = 1
|
||||
print(static_var)
|
||||
|
||||
non_static_func()
|
||||
print(non_static_func)
|
||||
non_static_var = 1
|
||||
print(non_static_var)
|
||||
my_signal.emit()
|
||||
print(my_signal)
|
||||
|
||||
func test():
|
||||
test_static_var_lambda = null
|
||||
test_non_static_var_lambda = null
|
||||
@@ -0,0 +1 @@
|
||||
GDTEST_OK
|
||||
Reference in New Issue
Block a user