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]
