Before:
e&& e.SomeFunction();
After:
e && e.SomeFunction();
Yeah, this might be useful for C++, too, but it is not such a frequent
pattern there (plus the fix is much harder).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@217237
91177308-0d34-0410-b5e6-
96231b3b80d8
/// \brief Return the type of the given token assuming it is * or &.
TokenType determineStarAmpUsage(const FormatToken &Tok, bool IsExpression,
bool InTemplateArgument) {
+ if (Style.Language == FormatStyle::LK_JavaScript)
+ return TT_BinaryOperator;
+
const FormatToken *PrevToken = Tok.getPreviousNonComment();
if (!PrevToken)
return TT_UnaryOperator;
verifyFormat("var b = a.map((x) => x + 1);");
}
+TEST_F(FormatTestJS, UnderstandsAmpAmp) {
+ verifyFormat("e && e.SomeFunction();");
+}
+
TEST_F(FormatTestJS, LiteralOperatorsCanBeKeywords) {
verifyFormat("not.and.or.not_eq = 1;");
}