diff options
| author | Martin Probst <martin@probst.io> | 2016-08-22 14:23:30 +0000 |
|---|---|---|
| committer | Martin Probst <martin@probst.io> | 2016-08-22 14:23:30 +0000 |
| commit | ed87d788d610063e7c6e74a12565001ce77a0d73 (patch) | |
| tree | afa195e548a9a8efb992fb0583b860671adadf72 /clang | |
| parent | 13fa33012b93c2c824ddf864c70ebff41a378a6d (diff) | |
| download | bcm5719-llvm-ed87d788d610063e7c6e74a12565001ce77a0d73.tar.gz bcm5719-llvm-ed87d788d610063e7c6e74a12565001ce77a0d73.zip | |
clang-format: [JS] supports casts to types starting with punctuation ("{[(").
Before:
x as{x: number}
After:
x as {x: number}
Reviewers: djasper
Subscribers: klimek, cfe-commits
Differential Revision: https://reviews.llvm.org/D23761
llvm-svn: 279436
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 3 | ||||
| -rw-r--r-- | clang/unittests/Format/FormatTestJS.cpp | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 05996112df5..081ea98d9cc 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -2121,6 +2121,9 @@ bool TokenAnnotator::spaceRequiredBefore(const AnnotatedLine &Line, Keywords.kw_of, tok::kw_const) && (!Left.Previous || !Left.Previous->is(tok::period))) return true; + if (Left.is(Keywords.kw_as) && + Right.isOneOf(tok::l_square, tok::l_brace, tok::l_paren)) + return true; if (Left.is(tok::kw_default) && Left.Previous && Left.Previous->is(tok::kw_export)) return true; diff --git a/clang/unittests/Format/FormatTestJS.cpp b/clang/unittests/Format/FormatTestJS.cpp index 838caffc708..f6e8ff2f385 100644 --- a/clang/unittests/Format/FormatTestJS.cpp +++ b/clang/unittests/Format/FormatTestJS.cpp @@ -1219,6 +1219,9 @@ TEST_F(FormatTestJS, CastSyntax) { " 2\n" "];"); verifyFormat("var x = [{x: 1} as type];"); + verifyFormat("x = x as [a, b];"); + verifyFormat("x = x as {a: string};"); + verifyFormat("x = x as (string);"); } TEST_F(FormatTestJS, TypeArguments) { |

