1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-06 12:20:30 +00:00

Merge pull request #79880 from dalexeev/gds-fix-id-shadowing-below

GDScript: Fix bug with identifier shadowed below in current scope
This commit is contained in:
Yuri Sizov
2023-07-31 21:01:36 +02:00
19 changed files with 367 additions and 213 deletions

View File

@@ -0,0 +1,4 @@
var v1 = v1
func test():
print(v1)

View File

@@ -0,0 +1,2 @@
GDTEST_ANALYZER_ERROR
Could not resolve member "v1": Cyclic reference.

View File

@@ -126,7 +126,7 @@ func test():
assert(a_objects.get_typed_builtin() == TYPE_OBJECT)
assert(a_objects.get_typed_script() == A)
var a_passed = (func check_a_passing(a_objects: Array[A]): return a_objects.size()).call(a_objects)
var a_passed = (func check_a_passing(p_objects: Array[A]): return p_objects.size()).call(a_objects)
assert(a_passed == 4)
var b_passed = (func check_b_passing(basic: Array): return basic[0] != null).call(b_objects)

View File

@@ -0,0 +1,6 @@
func test():
if true:
var a = 1
print(a)
var a = 2
print(a)

View File

@@ -0,0 +1,7 @@
GDTEST_OK
>> WARNING
>> Line: 3
>> CONFUSABLE_LOCAL_DECLARATION
>> The variable "a" is declared below in the parent block.
1
2

View File

@@ -0,0 +1,6 @@
var a = 1
func test():
print(a)
var a = 2
print(a)

View File

@@ -0,0 +1,11 @@
GDTEST_OK
>> WARNING
>> Line: 4
>> CONFUSABLE_LOCAL_USAGE
>> The identifier "a" will be shadowed below in the block.
>> WARNING
>> Line: 5
>> SHADOWED_VARIABLE
>> The local variable "a" is shadowing an already-declared variable at line 1.
1
2

View File

@@ -0,0 +1,6 @@
var a = 1
func test():
print(a)
var a = a + 1
print(a)

View File

@@ -0,0 +1,15 @@
GDTEST_OK
>> WARNING
>> Line: 4
>> CONFUSABLE_LOCAL_USAGE
>> The identifier "a" will be shadowed below in the block.
>> WARNING
>> Line: 5
>> CONFUSABLE_LOCAL_USAGE
>> The identifier "a" will be shadowed below in the block.
>> WARNING
>> Line: 5
>> SHADOWED_VARIABLE
>> The local variable "a" is shadowing an already-declared variable at line 1.
1
2

View File

@@ -0,0 +1,7 @@
var a = 1
func test():
for _i in 3:
print(a)
var a = 2
print(a)

View File

@@ -0,0 +1,15 @@
GDTEST_OK
>> WARNING
>> Line: 5
>> CONFUSABLE_LOCAL_USAGE
>> The identifier "a" will be shadowed below in the block.
>> WARNING
>> Line: 6
>> SHADOWED_VARIABLE
>> The local variable "a" is shadowing an already-declared variable at line 1.
1
2
1
2
1
2