void main() {
try {
;
} catch (e) {
;
} on Foo {
;
}

onX(e) {
;
}
onX("");
}



void[KeywordToken] main[StringToken]([BeginToken])[SimpleToken] {[BeginToken]
try[KeywordToken] {[BeginToken]
;[SimpleToken]
}[SimpleToken] catch[KeywordToken] ([BeginToken]e[StringToken])[SimpleToken] {[BeginToken]
;[SimpleToken]
}[SimpleToken] on[KeywordToken] Foo[StringToken] {[BeginToken]
;[SimpleToken]
}[SimpleToken]

onX[StringToken]([BeginToken]e[StringToken])[SimpleToken] {[BeginToken]
;[SimpleToken]
}[SimpleToken]
onX[StringToken]([BeginToken]""[StringToken])[SimpleToken];[SimpleToken]
}[SimpleToken]

[SimpleToken]
