forked from qt-creator/qt-creator
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:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user