clang-format: [JS] fix whitespace around "of" operator.

Summary:
Previously:
    import {of } from 'x';
    of (null);

Now:
    import {of} from 'x';
    of(null);

Reviewers: djasper

Subscribers: cfe-commits, klimek

Differential Revision: https://reviews.llvm.org/D31698

llvm-svn: 299533
This commit is contained in:
Martin Probst 2017-04-05 10:56:07 +00:00
parent 5fbd93b21a
commit c4a3d081a9
2 changed files with 8 additions and 2 deletions

View File

@ -2270,8 +2270,12 @@ bool TokenAnnotator::spaceRequiredBefore(const AnnotatedLine &Line,
if (Right.is(tok::l_paren) && Line.MustBeDeclaration &&
Left.Tok.getIdentifierInfo())
return false;
if (Left.isOneOf(Keywords.kw_let, Keywords.kw_var, Keywords.kw_in,
Keywords.kw_of, tok::kw_const) &&
if ((Left.isOneOf(Keywords.kw_let, Keywords.kw_var, Keywords.kw_in,
tok::kw_const) ||
// "of" is only a keyword if it appears after another identifier
// (e.g. as "const x of y" in a for loop).
(Left.is(Keywords.kw_of) && Left.Previous &&
Left.Previous->Tok.getIdentifierInfo())) &&
(!Left.Previous || !Left.Previous->is(tok::period)))
return true;
if (Left.isOneOf(tok::kw_for, Keywords.kw_as) && Left.Previous &&

View File

@ -132,6 +132,8 @@ TEST_F(FormatTestJS, ReservedWords) {
verifyFormat("x.interface = 1;");
verifyFormat("x.for = 1;");
verifyFormat("x.of() = 1;");
verifyFormat("of(null);");
verifyFormat("import {of} from 'x';");
verifyFormat("x.in() = 1;");
verifyFormat("x.let() = 1;");
verifyFormat("x.var() = 1;");