GDScript: Implement pattern guards for match statement

Within a match statement, it is now possible to add guards in each
branch:

	var a = 0
	match a:
		0 when false: print("does not run")
		0 when true: print("but this does")

This allows more complex logic for deciding which branch to take.
This commit is contained in:
George Marques 2023-07-31 07:47:26 -03:00
parent ec62b8a3ee
commit 54a1414500
No known key found for this signature in database
GPG key ID: 046BD46A3201E43D
15 changed files with 163 additions and 1 deletions

View file

@ -948,6 +948,7 @@ public:
Vector<PatternNode *> patterns;
SuiteNode *block = nullptr;
bool has_wildcard = false;
SuiteNode *guard_body = nullptr;
MatchBranchNode() {
type = MATCH_BRANCH;