forked from OSchip/llvm-project
clang-format: [JS] fix `of` detection.
Summary: `of` is only a keyword when after an identifier, but not when after an actual keyword. Before: return of (a, b, c); After: return of(a, b, c); Reviewers: djasper Subscribers: cfe-commits, klimek Differential Revision: https://reviews.llvm.org/D43440 llvm-svn: 325489
This commit is contained in:
parent
f03f579d1d
commit
110ecc7002
|
@ -2496,7 +2496,7 @@ bool TokenAnnotator::spaceRequiredBefore(const AnnotatedLine &Line,
|
|||
// (e.g. as "const x of y" in a for loop), or after a destructuring
|
||||
// operation (const [x, y] of z, const {a, b} of c).
|
||||
(Left.is(Keywords.kw_of) && Left.Previous &&
|
||||
(Left.Previous->Tok.getIdentifierInfo() ||
|
||||
(Left.Previous->Tok.is(tok::identifier) ||
|
||||
Left.Previous->isOneOf(tok::r_square, tok::r_brace)))) &&
|
||||
(!Left.Previous || !Left.Previous->is(tok::period)))
|
||||
return true;
|
||||
|
|
|
@ -294,6 +294,7 @@ TEST_F(FormatTestJS, ReservedWords) {
|
|||
verifyFormat("x.for = 1;");
|
||||
verifyFormat("x.of();");
|
||||
verifyFormat("of(null);");
|
||||
verifyFormat("return of(null);");
|
||||
verifyFormat("import {of} from 'x';");
|
||||
verifyFormat("x.in();");
|
||||
verifyFormat("x.let();");
|
||||
|
|
Loading…
Reference in New Issue