Skip to content

Commit 8eaf81b

Browse files
[Docs] Add examples for PatternKinds.
1 parent afd83ba commit 8eaf81b

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

include/swift/AST/PatternNodes.def

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,19 @@
3232
#define LAST_PATTERN(Id)
3333
#endif
3434

35-
PATTERN(Paren, Pattern)
36-
PATTERN(Tuple, Pattern)
37-
PATTERN(Named, Pattern)
38-
PATTERN(Any, Pattern)
39-
PATTERN(Typed, Pattern)
40-
PATTERN(Var, Pattern)
41-
REFUTABLE_PATTERN(Is, Pattern)
42-
REFUTABLE_PATTERN(EnumElement, Pattern)
43-
REFUTABLE_PATTERN(OptionalSome, Pattern)
44-
REFUTABLE_PATTERN(Bool, Pattern)
45-
REFUTABLE_PATTERN(Expr, Pattern)
35+
// Metavars: x (variable), pat (pattern), e (expression)
36+
PATTERN(Paren, Pattern) // (pat)
37+
PATTERN(Tuple, Pattern) // (pat1, ..., patN), N >= 1
38+
PATTERN(Named, Pattern) // let pat, var pat
39+
PATTERN(Any, Pattern) // _
40+
PATTERN(Typed, Pattern) // pat : type
41+
PATTERN(Var, Pattern) // x
42+
REFUTABLE_PATTERN(Is, Pattern) // x is myclass
43+
REFUTABLE_PATTERN(EnumElement, Pattern) // .mycase(pat1, ..., patN)
44+
// MyType.mycase(pat1, ..., patN)
45+
REFUTABLE_PATTERN(OptionalSome, Pattern) // pat? nil
46+
REFUTABLE_PATTERN(Bool, Pattern) // true, false
47+
REFUTABLE_PATTERN(Expr, Pattern) // e
4648
LAST_PATTERN(Expr)
4749

4850
#undef REFUTABLE_PATTERN

0 commit comments

Comments
 (0)