Designer: Fix missing semicolon in case of dynamic properties

Fixes: QDS-5457
Change-Id: Ib6be3ec864ffb972010e25c2fa956695201dba2c
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Vikas Pachdha
2022-11-08 14:59:08 +01:00
parent 478ce3f4a4
commit 913d0e079a

View File

@@ -76,8 +76,16 @@ void AddPropertyVisitor::addInMembers(QmlJS::AST::UiObjectInitializer *initializ
endOfPreviousMember = insertAfter->member->lastSourceLocation();
// 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)) {
if (auto member = insertAfter->member) {
auto hasStatement = [member]() -> QmlJS::AST::ExpressionStatement * {
if (auto m = QmlJS::AST::cast<QmlJS::AST::UiScriptBinding *>(member))
return QmlJS::AST::cast<QmlJS::AST::ExpressionStatement *>(m->statement);
if (auto m = QmlJS::AST::cast<QmlJS::AST::UiPublicMember *>(member))
return QmlJS::AST::cast<QmlJS::AST::ExpressionStatement *>(m->statement);
return nullptr;
};
if (auto stmt = hasStatement()) {
previousMemberSemicolon = stmt->semicolonToken.isValid()
&& stmt->semicolonToken.length > 0;
} else {