qmljs: qtdeclarative change 9ab1a6759018b78b0f160c5286f8b0235a34ec50

Support required list properties

The corresponding rules were missing so far.

Fixes: QTBUG-85716
Change-Id: Iaf0cbfbb8736929a213bd6bf329bb2ebdde652c4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
This commit is contained in:
Fawzi Mohamed
2020-07-29 02:21:46 +02:00
parent 1ea9d6ce87
commit 2ad89747c4
7 changed files with 2751 additions and 2658 deletions

View File

@@ -1320,6 +1320,40 @@ UiObjectMember: T_DEFAULT UiObjectMemberPropertyNoInitialiser;
} break;
./
UiObjectMember: T_REQUIRED UiObjectMemberListPropertyNoInitialiser;
/.
case $rule_number: {
AST::UiPublicMember *node = sym(2).UiPublicMember;
node->isRequired = true;
node->requiredToken = loc(1);
sym(1).Node = node;
} break;
./
UiObjectMember: T_DEFAULT T_REQUIRED UiObjectMemberListPropertyNoInitialiser;
/.
case $rule_number: {
AST::UiPublicMember *node = sym(3).UiPublicMember;
node->isRequired = true;
node->requiredToken = loc(2);
node->isDefaultMember = true;
node->defaultToken = loc(1);
sym(1).Node = node;
} break;
./
UiObjectMember: T_REQUIRED T_DEFAULT UiObjectMemberListPropertyNoInitialiser;
/.
case $rule_number: {
AST::UiPublicMember *node = sym(3).UiPublicMember;
node->isRequired = true;
node->requiredToken = loc(1);
node->isDefaultMember = true;
node->defaultToken = loc(2);
sym(1).Node = node;
} break;
./
UiObjectMember: T_DEFAULT UiObjectMemberListPropertyNoInitialiser;
/.
case $rule_number: {

File diff suppressed because it is too large Load Diff

View File

@@ -166,15 +166,15 @@ public:
T_XOR_EQ = 84,
T_YIELD = 100,
ACCEPT_STATE = 1098,
RULE_COUNT = 616,
STATE_COUNT = 1099,
ACCEPT_STATE = 1102,
RULE_COUNT = 619,
STATE_COUNT = 1103,
TERMINAL_COUNT = 134,
NON_TERMINAL_COUNT = 238,
GOTO_INDEX_OFFSET = 1099,
GOTO_INFO_OFFSET = 6942,
GOTO_CHECK_OFFSET = 6942
GOTO_INDEX_OFFSET = 1103,
GOTO_INFO_OFFSET = 6857,
GOTO_CHECK_OFFSET = 6857
};
static const char *const spell[];

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,5 @@
#line 185 "qmljs.g"
/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
@@ -22,7 +24,6 @@
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
**
****************************************************************************/
#line 223 "qmljs.g"
//
@@ -291,27 +292,27 @@ protected:
#line 1828 "qmljs.g"
#line 1862 "qmljs.g"
#define J_SCRIPT_REGEXPLITERAL_RULE1 161
#define J_SCRIPT_REGEXPLITERAL_RULE1 164
#line 1840 "qmljs.g"
#line 1874 "qmljs.g"
#define J_SCRIPT_REGEXPLITERAL_RULE2 162
#define J_SCRIPT_REGEXPLITERAL_RULE2 165
#line 3389 "qmljs.g"
#line 3423 "qmljs.g"
#define J_SCRIPT_EXPRESSIONSTATEMENTLOOKAHEAD_RULE 460
#define J_SCRIPT_EXPRESSIONSTATEMENTLOOKAHEAD_RULE 463
#line 4041 "qmljs.g"
#line 4075 "qmljs.g"
#define J_SCRIPT_CONCISEBODYLOOKAHEAD_RULE 530
#define J_SCRIPT_CONCISEBODYLOOKAHEAD_RULE 533
#line 4583 "qmljs.g"
#line 4617 "qmljs.g"
#define J_SCRIPT_EXPORTDECLARATIONLOOKAHEAD_RULE 599
#define J_SCRIPT_EXPORTDECLARATIONLOOKAHEAD_RULE 602
#line 4867 "qmljs.g"
#line 4901 "qmljs.g"
QT_QML_END_NAMESPACE

View File

@@ -0,0 +1,6 @@
import QtQuick 2.15
Item {
required property list<Item> listA
default required property list<Rectangle> listDefault
}

View File

@@ -0,0 +1,7 @@
import QtQuick 2.15
RequiredListProperties {
Rectangle {}
Rectangle {}
listA: [Item {}, Item {}]
}