r270188 - clang-format: [JS] Treat "for" as a reserved word after a ".".
Daniel Jasper via cfe-commits
cfe-commits at lists.llvm.org
Thu May 19 23:16:01 PDT 2016
Author: djasper
Date: Fri May 20 01:16:01 2016
New Revision: 270188
URL: http://llvm.org/viewvc/llvm-project?rev=270188&view=rev
Log:
clang-format: [JS] Treat "for" as a reserved word after a ".".
Otherwise, clang-format can get confused with statements like:
x.for = 1;
Modified:
cfe/trunk/lib/Format/TokenAnnotator.cpp
cfe/trunk/unittests/Format/FormatTestJS.cpp
Modified: cfe/trunk/lib/Format/TokenAnnotator.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/TokenAnnotator.cpp?rev=270188&r1=270187&r2=270188&view=diff
==============================================================================
--- cfe/trunk/lib/Format/TokenAnnotator.cpp (original)
+++ cfe/trunk/lib/Format/TokenAnnotator.cpp Fri May 20 01:16:01 2016
@@ -538,6 +538,9 @@ private:
}
break;
case tok::kw_for:
+ if (Style.Language == FormatStyle::LK_JavaScript && Tok->Previous &&
+ Tok->Previous->is(tok::period))
+ break;
Contexts.back().ColonIsForRangeExpr = true;
next();
if (!parseParens())
Modified: cfe/trunk/unittests/Format/FormatTestJS.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTestJS.cpp?rev=270188&r1=270187&r2=270188&view=diff
==============================================================================
--- cfe/trunk/unittests/Format/FormatTestJS.cpp (original)
+++ cfe/trunk/unittests/Format/FormatTestJS.cpp Fri May 20 01:16:01 2016
@@ -125,6 +125,7 @@ TEST_F(FormatTestJS, ReservedWords) {
verifyFormat("x.class.struct = 1;");
verifyFormat("x.case = 1;");
verifyFormat("x.interface = 1;");
+ verifyFormat("x.for = 1;");
verifyFormat("x.of() = 1;");
verifyFormat("x.in() = 1;");
verifyFormat("x.let() = 1;");
More information about the cfe-commits
mailing list