summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorMartin Probst <martin@probst.io>2016-06-23 21:51:49 +0000
committerMartin Probst <martin@probst.io>2016-06-23 21:51:49 +0000
commit31d6da7c0ca24fd247078c32c16e0e95b99e20d6 (patch)
tree780fdc1608f3e4980d9e388abe49804a0180e4e7 /clang/lib
parent4d624ae0cbed5e27c7bbb717bc6a24160f426b22 (diff)
downloadbcm5719-llvm-31d6da7c0ca24fd247078c32c16e0e95b99e20d6.tar.gz
bcm5719-llvm-31d6da7c0ca24fd247078c32c16e0e95b99e20d6.zip
clang-format: [JS] handle conditionals in fields, default params.
Summary: Reviewers: djasper Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D21658 llvm-svn: 273619
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Format/TokenAnnotator.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp
index 5302f13340f..4a90522e6e3 100644
--- a/clang/lib/Format/TokenAnnotator.cpp
+++ b/clang/lib/Format/TokenAnnotator.cpp
@@ -639,7 +639,7 @@ private:
}
// Declarations cannot be conditional expressions, this can only be part
// of a type declaration.
- if (Line.MustBeDeclaration &&
+ if (Line.MustBeDeclaration && !Contexts.back().IsExpression &&
Style.Language == FormatStyle::LK_JavaScript)
break;
parseConditional();
@@ -1009,7 +1009,7 @@ private:
Current.Type = TT_UnaryOperator;
} else if (Current.is(tok::question)) {
if (Style.Language == FormatStyle::LK_JavaScript &&
- Line.MustBeDeclaration) {
+ Line.MustBeDeclaration && !Contexts.back().IsExpression) {
// In JavaScript, `interface X { foo?(): bar; }` is an optional method
// on the interface, not a ternary expression.
Current.Type = TT_JsTypeOptionalQuestion;
OpenPOWER on IntegriCloud