void f(x) {
switch (x) {
case foo when !flag:
}
}


void[KeywordToken] f[StringToken]([BeginToken]x[StringToken])[SimpleToken] {[BeginToken]
switch[KeywordToken] ([BeginToken]x[StringToken])[SimpleToken] {[BeginToken]
case[KeywordToken] foo[StringToken] when[KeywordToken] ![SimpleToken]flag[StringToken]:[SimpleToken]
}[SimpleToken]
}[SimpleToken]
[SimpleToken]
