void test(C x) { x..f()!.g()..h(); } void[KeywordToken] test[StringToken]([BeginToken]C[StringToken] x[StringToken])[SimpleToken] {[BeginToken] x[StringToken]..[SimpleToken]f[StringToken]([BeginToken])[SimpleToken]![SimpleToken].[SimpleToken]g[StringToken]([BeginToken])[SimpleToken]..[SimpleToken]h[StringToken]([BeginToken])[SimpleToken];[SimpleToken] }[SimpleToken] [SimpleToken]