test(dynamic x) { switch (x) { case const Foo(1)?: break; } } test[StringToken]([BeginToken]dynamic[KeywordToken] x[StringToken])[SimpleToken] {[BeginToken] switch[KeywordToken] ([BeginToken]x[StringToken])[SimpleToken] {[BeginToken] case[KeywordToken] const[KeywordToken] Foo[StringToken]([BeginToken]1[StringToken])[SimpleToken]?[SimpleToken]:[SimpleToken] break[KeywordToken];[SimpleToken] }[SimpleToken] }[SimpleToken] [SimpleToken]