aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/api/qmljsrewriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/corelib/api/qmljsrewriter.cpp')
-rw-r--r--src/lib/corelib/api/qmljsrewriter.cpp27
1 files changed, 7 insertions, 20 deletions
diff --git a/src/lib/corelib/api/qmljsrewriter.cpp b/src/lib/corelib/api/qmljsrewriter.cpp
index 5551e5650..b7e573e07 100644
--- a/src/lib/corelib/api/qmljsrewriter.cpp
+++ b/src/lib/corelib/api/qmljsrewriter.cpp
@@ -41,10 +41,6 @@
#include <parser/qmljsast_p.h>
-#include <QtGui/qtextobject.h>
-#include <QtGui/qtextcursor.h>
-#include <QtGui/qtextdocument.h>
-
namespace QbsQmlJS {
using namespace AST;
@@ -500,28 +496,19 @@ bool Rewriter::includeSurroundingWhitespace(const QString &source, int &start, i
return paragraphFound;
}
-void Rewriter::includeLeadingEmptyLine(const QString &source, int &start)
+void Rewriter::includeLeadingEmptyLine(QStringView source, int &start)
{
- QTextDocument doc(source);
-
if (start == 0)
return;
- if (doc.characterAt(start - 1) != QChar::ParagraphSeparator)
- return;
-
- QTextCursor tc(&doc);
- tc.setPosition(start);
- const int blockNr = tc.blockNumber();
- if (blockNr == 0)
+ const qsizetype lineEnd = source.lastIndexOf(QChar::LineFeed, start);
+ if (lineEnd <= 0)
return;
-
- const QTextBlock prevBlock = tc.block().previous();
- const QString trimmedPrevBlockText = prevBlock.text().trimmed();
- if (!trimmedPrevBlockText.isEmpty())
+ const qsizetype lineStart = source.lastIndexOf(QChar::LineFeed, lineEnd - 1) + 1;
+ const auto line = source.mid(lineStart, lineEnd - lineStart);
+ if (!line.trimmed().isEmpty())
return;
-
- start = prevBlock.position();
+ start = lineStart;
}
void Rewriter::includeEmptyGroupedProperty(UiObjectDefinition *groupedProperty, UiObjectMember *memberToBeRemoved, int &start, int &end)