forked from qt-creator/qt-creator
Updated the QML/JS front-end.
This commit is contained in:
@@ -971,6 +971,56 @@ case $rule_number: {
|
||||
} break;
|
||||
./
|
||||
|
||||
UiObjectMember: T_PROPERTY T_IDENTIFIER T_LT UiPropertyType T_GT JsIdentifier T_COLON T_LBRACKET UiArrayMemberList T_RBRACKET ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), sym(4).sval, sym(6).sval);
|
||||
node->typeModifier = sym(2).sval;
|
||||
node->propertyToken = loc(1);
|
||||
node->typeModifierToken = loc(2);
|
||||
node->typeToken = loc(4);
|
||||
node->identifierToken = loc(6);
|
||||
node->semicolonToken = loc(7); // insert a fake ';' before ':'
|
||||
|
||||
AST::UiQualifiedId *propertyName = makeAstNode<AST::UiQualifiedId>(driver->nodePool(), sym(6).sval);
|
||||
propertyName->identifierToken = loc(6);
|
||||
propertyName->next = 0;
|
||||
|
||||
AST::UiArrayBinding *binding = makeAstNode<AST::UiArrayBinding> (driver->nodePool(),
|
||||
propertyName, sym(9).UiArrayMemberList->finish());
|
||||
binding->colonToken = loc(7);
|
||||
binding->lbracketToken = loc(8);
|
||||
binding->rbracketToken = loc(10);
|
||||
|
||||
node->binding = binding;
|
||||
|
||||
sym(1).Node = node;
|
||||
} break;
|
||||
./
|
||||
|
||||
UiObjectMember: T_PROPERTY UiPropertyType JsIdentifier T_COLON UiQualifiedId UiObjectInitializer ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiPublicMember *node = makeAstNode<AST::UiPublicMember> (driver->nodePool(), sym(2).sval, sym(3).sval);
|
||||
node->propertyToken = loc(1);
|
||||
node->typeToken = loc(2);
|
||||
node->identifierToken = loc(3);
|
||||
node->semicolonToken = loc(4); // insert a fake ';' before ':'
|
||||
|
||||
AST::UiQualifiedId *propertyName = makeAstNode<AST::UiQualifiedId>(driver->nodePool(), sym(3).sval);
|
||||
propertyName->identifierToken = loc(3);
|
||||
propertyName->next = 0;
|
||||
|
||||
AST::UiObjectBinding *binding = makeAstNode<AST::UiObjectBinding> (driver->nodePool(),
|
||||
propertyName, sym(5).UiQualifiedId, sym(6).UiObjectInitializer);
|
||||
binding->colonToken = loc(4);
|
||||
|
||||
node->binding = binding;
|
||||
|
||||
sym(1).Node = node;
|
||||
} break;
|
||||
./
|
||||
|
||||
UiObjectMember: FunctionDeclaration ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
|
@@ -837,6 +837,7 @@ void UiPublicMember::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
accept(expression, visitor);
|
||||
accept(binding, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
|
@@ -2485,13 +2485,13 @@ public:
|
||||
|
||||
UiPublicMember(NameId *memberType,
|
||||
NameId *name)
|
||||
: type(Property), typeModifier(0), memberType(memberType), name(name), expression(0), isDefaultMember(false), isReadonlyMember(false), parameters(0)
|
||||
: type(Property), typeModifier(0), memberType(memberType), name(name), expression(0), binding(0), isDefaultMember(false), isReadonlyMember(false), parameters(0)
|
||||
{ kind = K; }
|
||||
|
||||
UiPublicMember(NameId *memberType,
|
||||
NameId *name,
|
||||
ExpressionNode *expression)
|
||||
: type(Property), typeModifier(0), memberType(memberType), name(name), expression(expression), isDefaultMember(false), isReadonlyMember(false), parameters(0)
|
||||
: type(Property), typeModifier(0), memberType(memberType), name(name), expression(expression), binding(0), isDefaultMember(false), isReadonlyMember(false), parameters(0)
|
||||
{ kind = K; }
|
||||
|
||||
virtual SourceLocation firstSourceLocation() const
|
||||
@@ -2506,6 +2506,9 @@ public:
|
||||
|
||||
virtual SourceLocation lastSourceLocation() const
|
||||
{
|
||||
if (binding)
|
||||
return binding->lastSourceLocation();
|
||||
|
||||
return semicolonToken;
|
||||
}
|
||||
|
||||
@@ -2516,7 +2519,8 @@ public:
|
||||
NameId *typeModifier;
|
||||
NameId *memberType;
|
||||
NameId *name;
|
||||
ExpressionNode *expression;
|
||||
ExpressionNode *expression; // initialized with a JS expression
|
||||
UiObjectMember *binding; // initialized with a QML object or array.
|
||||
bool isDefaultMember;
|
||||
bool isReadonlyMember;
|
||||
UiParameterList *parameters;
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -164,15 +164,15 @@ public:
|
||||
T_XOR = 79,
|
||||
T_XOR_EQ = 80,
|
||||
|
||||
ACCEPT_STATE = 639,
|
||||
RULE_COUNT = 345,
|
||||
STATE_COUNT = 640,
|
||||
ACCEPT_STATE = 645,
|
||||
RULE_COUNT = 347,
|
||||
STATE_COUNT = 646,
|
||||
TERMINAL_COUNT = 101,
|
||||
NON_TERMINAL_COUNT = 106,
|
||||
|
||||
GOTO_INDEX_OFFSET = 640,
|
||||
GOTO_INFO_OFFSET = 2699,
|
||||
GOTO_CHECK_OFFSET = 2699
|
||||
GOTO_INDEX_OFFSET = 646,
|
||||
GOTO_INFO_OFFSET = 2714,
|
||||
GOTO_CHECK_OFFSET = 2714
|
||||
};
|
||||
|
||||
static const char *const spell [];
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -235,9 +235,9 @@ protected:
|
||||
|
||||
|
||||
|
||||
#define J_SCRIPT_REGEXPLITERAL_RULE1 76
|
||||
#define J_SCRIPT_REGEXPLITERAL_RULE1 78
|
||||
|
||||
#define J_SCRIPT_REGEXPLITERAL_RULE2 77
|
||||
#define J_SCRIPT_REGEXPLITERAL_RULE2 79
|
||||
|
||||
QT_QML_END_NAMESPACE
|
||||
|
||||
|
Reference in New Issue
Block a user