GDScript: Fix false positive CONFUSABLE_CAPTURE_REASSIGNMENT warnings

This commit is contained in:
Danil Alexeev 2024-06-28 09:35:04 +03:00
parent ac9181c666
commit d15ed0bcbb
No known key found for this signature in database
GPG key ID: 124453E157DA8DC7
3 changed files with 45 additions and 43 deletions

View file

@ -5,23 +5,19 @@ func test():
var string := "1"
var vector := Vector2i(1, 0)
var array_assign := [1]
var array_append := [1]
var f := func ():
member = 2
number = 2
string += "2"
vector.x = 2
array_assign = [2]
array_append.append(2)
var g := func ():
member = 3
number = 3
string += "3"
vector.x = 3
array_assign = [3]
array_append.append(3)
prints("g", member, number, string, vector, array_assign, array_append)
g.call()
prints("f", member, number, string, vector, array_assign, array_append)
f.call()
prints("test", member, number, string, vector, array_assign, array_append)
var array_index := [1]
var dictionary := { x = 0 }
var lambda := func ():
member = 2 # Member variable, not captured.
number = 2 # Local variable, captured.
string += "2" # Test compound assignment operator.
vector.x = 2 # Test subscript assignment.
array_assign = [2] # Pass-by-reference type, reassignment.
array_index[0] = 2 # Pass-by-reference type, index access.
dictionary.x = 2 # Pass-by-reference type, attribute access.
prints("lambda", member, number, string, vector, array_assign, array_index, dictionary)
lambda.call()
prints("outer", member, number, string, vector, array_assign, array_index, dictionary)