blob: 309d6b62cd973b6173f503a4edbb6de051eafcc0 [file] [log] [blame] [edit]
/**
h4. Pattern matching
bq. See [Pattern matching]
*/
when
: "when" ("(" (modifiers "val" SimpleName "=")? expression ")")? "{"
whenEntry*
"}"
;
// TODO : consider empty after ->
whenEntry
: whenCondition{","} "->" expression SEMI
: "else" "->" expression SEMI
;
whenCondition
: expression
: ("in" | "!in") expression
: ("is" | "!is") isRHS
;