void foo() { if (obj case (longFieldName: const (first: 1, second: 2))) {;} if (obj case const (element, element, element, element)) {;} if (obj case Foo(longFieldName: const (first: 1, second: 2))) {;} } void[KeywordToken] foo[StringToken]([BeginToken])[SimpleToken] {[BeginToken] if[KeywordToken] ([BeginToken]obj[StringToken] case[KeywordToken] ([BeginToken]longFieldName[StringToken]:[SimpleToken] const[KeywordToken] ([BeginToken]first[StringToken]:[SimpleToken] 1[StringToken],[SimpleToken] second[StringToken]:[SimpleToken] 2[StringToken])[SimpleToken])[SimpleToken])[SimpleToken] {[BeginToken];[SimpleToken]}[SimpleToken] if[KeywordToken] ([BeginToken]obj[StringToken] case[KeywordToken] const[KeywordToken] ([BeginToken]element[StringToken],[SimpleToken] element[StringToken],[SimpleToken] element[StringToken],[SimpleToken] element[StringToken])[SimpleToken])[SimpleToken] {[BeginToken];[SimpleToken]}[SimpleToken] if[KeywordToken] ([BeginToken]obj[StringToken] case[KeywordToken] Foo[StringToken]([BeginToken]longFieldName[StringToken]:[SimpleToken] const[KeywordToken] ([BeginToken]first[StringToken]:[SimpleToken] 1[StringToken],[SimpleToken] second[StringToken]:[SimpleToken] 2[StringToken])[SimpleToken])[SimpleToken])[SimpleToken] {[BeginToken];[SimpleToken]}[SimpleToken] }[SimpleToken][SimpleToken]