The example that was broken before (^ designate completion points):
class Foo { Foo() : fie^ld^() {} // no completions were provided here. int field; };
To fix it we don't cut off lexing after an identifier followed by code
completion token is lexed. Instead we skip the rest of identifier and
continue lexing.
This is consistent with behavior of completion when completion token is
right before the identifier.