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();
|
endOfPreviousMember = insertAfter->member->lastSourceLocation();
|
||||||
|
|
||||||
// Find out if the previous members ends with semicolon.
|
// Find out if the previous members ends with semicolon.
|
||||||
if (auto member = QmlJS::AST::cast<QmlJS::AST::UiScriptBinding*>(insertAfter->member)) {
|
if (auto member = insertAfter->member) {
|
||||||
if (auto stmt = QmlJS::AST::cast<QmlJS::AST::ExpressionStatement *>(member->statement)) {
|
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()
|
previousMemberSemicolon = stmt->semicolonToken.isValid()
|
||||||
&& stmt->semicolonToken.length > 0;
|
&& stmt->semicolonToken.length > 0;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user