summaryrefslogtreecommitdiff
path: root/src/libs/qmljs/qmljscodeformatter.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@nokia.com>2011-10-17 14:22:32 +0200
committerEike Ziller <eike.ziller@nokia.com>2011-10-17 14:22:32 +0200
commit8eb8368139b08064bf3340fe1df4ddc74ae6b44d (patch)
tree3731efd8103cb1703321eed007574be12475a2ea /src/libs/qmljs/qmljscodeformatter.cpp
parent4ea9c2193210d2ce87722085aa4ad7cc3057c405 (diff)
parenta9eb880353ce6b07bab5b57b0663fbe714066907 (diff)
downloadqt-creator-8eb8368139b08064bf3340fe1df4ddc74ae6b44d.tar.gz
Merge remote-tracking branch 'origin/2.4'
Conflicts: qtcreator.pri src/libs/qmljs/qmljstypedescriptionreader.cpp tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp Change-Id: Id032187023bb42f259a87545ceeb3c965dd01a32
Diffstat (limited to 'src/libs/qmljs/qmljscodeformatter.cpp')
-rw-r--r--src/libs/qmljs/qmljscodeformatter.cpp23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/libs/qmljs/qmljscodeformatter.cpp b/src/libs/qmljs/qmljscodeformatter.cpp
index 2e90179866..d8a4fb1ed1 100644
--- a/src/libs/qmljs/qmljscodeformatter.cpp
+++ b/src/libs/qmljs/qmljscodeformatter.cpp
@@ -259,6 +259,14 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block)
default: enter(expression); continue;
} break;
+ case ternary_op:
+ if (kind == Colon) {
+ enter(ternary_op_after_colon);
+ enter(expression_continuation);
+ break;
+ }
+ // fallthrough
+ case ternary_op_after_colon:
case expression:
if (tryInsideExpression())
break;
@@ -333,18 +341,6 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block)
default: leave(); continue;
} break;
- case ternary_op:
- if (tryInsideExpression())
- break;
- switch (kind) {
- case RightParenthesis:
- case RightBracket:
- case RightBrace:
- case Comma:
- case Semicolon: leave(); continue;
- case Colon: enter(expression); break; // entering expression makes maybe_continuation work
- } break;
-
case jsblock_open:
case substatement_open:
if (tryStatement())
@@ -495,7 +491,8 @@ void CodeFormatter::recalculateStateAfter(const QTextBlock &block)
// some states might be continued on the next line
if (topState == expression
|| topState == expression_or_objectdefinition
- || topState == objectliteral_assignment) {
+ || topState == objectliteral_assignment
+ || topState == ternary_op_after_colon) {
enter(expression_maybe_continuation);
}
// multi-line comment start?