From 626807c94e3c1e3d947de2359f26e15dd82641f7 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 29 Apr 2020 15:38:02 +0200 Subject: [PATCH] QmlJS: Fix line number for string literals When a string value's first line ends with an EOL the line number for the next line got wrong which in turn confused the syntax highlighter. Fixes: QTCREATORBUG-23777 Change-Id: I37eed839a2e63cf470b9bc2ac0596ab8bc8d373c Reviewed-by: Ulf Hermann --- src/libs/qmljs/parser/qmljslexer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libs/qmljs/parser/qmljslexer.cpp b/src/libs/qmljs/parser/qmljslexer.cpp index a85280fbc2e..0ae581724d0 100644 --- a/src/libs/qmljs/parser/qmljslexer.cpp +++ b/src/libs/qmljs/parser/qmljslexer.cpp @@ -881,8 +881,10 @@ int Lexer::scanString(ScanStringMode mode) if (_engine) { while (_codePtr <= _endPtr) { if (isLineTerminator()) { - if ((quote == QLatin1Char('`') || qmlMode())) + if ((quote == QLatin1Char('`') || qmlMode())) { + --_currentLineNumber; break; + } _errorCode = IllegalCharacter; _errorMessage = QCoreApplication::translate("QmlParser", "Stray newline in string literal"); return T_ERROR;