QmlDesigner: Fix tests after parser update

Since the last parser update the source location is valid
even if there is no semicolon. The length is 0 in this case, though.

Change-Id: Ie2ff425b54ef39d9db66119236d5e8f56677b748
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
This commit is contained in:
Thomas Hartmann
2021-08-11 15:27:09 +02:00
parent d485aa4d51
commit 640e7107c5

View File

@ -99,10 +99,12 @@ void AddPropertyVisitor::addInMembers(QmlJS::AST::UiObjectInitializer *initializ
// Find out if the previous members ends with semicolon.
if (auto member = QmlJS::AST::cast<QmlJS::AST::UiScriptBinding*>(insertAfter->member)) {
if (auto stmt = QmlJS::AST::cast<QmlJS::AST::ExpressionStatement*>(member->statement))
previousMemberSemicolon = stmt->semicolonToken.isValid();
else
if (auto stmt = QmlJS::AST::cast<QmlJS::AST::ExpressionStatement *>(member->statement)) {
previousMemberSemicolon = stmt->semicolonToken.isValid()
&& stmt->semicolonToken.length > 0;
} else {
previousMemberSemicolon = endOfPreviousMember.isValid();
}
} else {
previousMemberSemicolon = endOfPreviousMember.isValid();
}