Currently, UnwrappedLineParser thinks an arrow token after
an ObjC method expression is a C++ lambda arrow, so it formats:
[foo bar]->baz
as:
[foo bar] -> baz
Because UnwrappedLineParser runs before TokenAnnotator, it can't
know if the arrow token is after an ObjC method expression or not.
This diff makes TokenAnnotator remove the TT_LambdaArrow on
the arrow token if it follows an ObjC method expression.
Test Plan: New test added. Ran test with:
% ninja FormatTests && ./tools/clang/unittests/Format/FormatTests Confirmed test failed before diff and passed after diff.