Merge pull request #72285 from vnen/gdscript-variable-match

GDScript: Allow variables in match patterns
This commit is contained in:
Rémi Verschelde
2023-01-29 02:45:48 +01:00
committed by GitHub
8 changed files with 59 additions and 15 deletions

View File

@@ -0,0 +1,5 @@
func test():
var dict = { a = 1 }
match 2:
dict["a"]:
print("not allowed")

View File

@@ -0,0 +1,2 @@
GDTEST_ANALYZER_ERROR
Expression in match pattern must be a constant expression, an identifier, or an attribute access ("A.B").

View File

@@ -0,0 +1,5 @@
func test():
var a = 1
match 2:
a + 2:
print("not allowed")

View File

@@ -0,0 +1,2 @@
GDTEST_ANALYZER_ERROR
Expression in match pattern must be a constant expression, an identifier, or an attribute access ("A.B").

View File

@@ -0,0 +1,22 @@
func test():
var a = 1
match 1:
a:
print("reach 1")
var dict = { b = 2 }
match 2:
dict.b:
print("reach 2")
var nested_dict = {
sub = { c = 3 }
}
match 3:
nested_dict.sub.c:
print("reach 3")
var sub_pattern = { d = 4 }
match [4]:
[sub_pattern.d]:
print("reach 4")

View File

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