diff --git a/src/libs/qmljs/qmljsindenter.cpp b/src/libs/qmljs/qmljsindenter.cpp index 0e74975729f1354699f3bb148e67c4ce691e4452..627a59c399739ae35a780ba01ca5df7654e718e7 100644 --- a/src/libs/qmljs/qmljsindenter.cpp +++ b/src/libs/qmljs/qmljsindenter.cpp @@ -250,6 +250,7 @@ QString QmlJSIndenter::trimmedCodeLine(const QString &t) if (index != -1) { const Token &last = yyLinizerState.tokens.at(index); + bool needSemicolon = false; switch (last.kind) { case Token::LeftParenthesis: @@ -261,25 +262,31 @@ QString QmlJSIndenter::trimmedCodeLine(const QString &t) case Token::RightParenthesis: case Token::RightBrace: if (isBinding) - trimmed.append(QLatin1Char(';')); + needSemicolon = true; break; case Token::Colon: case Token::LeftBracket: case Token::RightBracket: - trimmed.append(QLatin1Char(';')); + needSemicolon = true; break; case Token::Identifier: case Token::Keyword: if (tokenText(last) != QLatin1String("else")) - trimmed.append(QLatin1Char(';')); + needSemicolon = true; break; default: - trimmed.append(QLatin1Char(';')); + needSemicolon = true; break; } // end of switch + + if (needSemicolon) { + const Token sc(trimmed.size(), 1, Token::Semicolon); + yyLinizerState.tokens.append(sc); + trimmed.append(QLatin1Char(';')); + } } return trimmed;