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;
|
} 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 ;
|
UiObjectMember: FunctionDeclaration ;
|
||||||
/.
|
/.
|
||||||
case $rule_number: {
|
case $rule_number: {
|
||||||
|
@@ -837,6 +837,7 @@ void UiPublicMember::accept0(Visitor *visitor)
|
|||||||
{
|
{
|
||||||
if (visitor->visit(this)) {
|
if (visitor->visit(this)) {
|
||||||
accept(expression, visitor);
|
accept(expression, visitor);
|
||||||
|
accept(binding, visitor);
|
||||||
}
|
}
|
||||||
|
|
||||||
visitor->endVisit(this);
|
visitor->endVisit(this);
|
||||||
|
@@ -2485,13 +2485,13 @@ public:
|
|||||||
|
|
||||||
UiPublicMember(NameId *memberType,
|
UiPublicMember(NameId *memberType,
|
||||||
NameId *name)
|
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; }
|
{ kind = K; }
|
||||||
|
|
||||||
UiPublicMember(NameId *memberType,
|
UiPublicMember(NameId *memberType,
|
||||||
NameId *name,
|
NameId *name,
|
||||||
ExpressionNode *expression)
|
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; }
|
{ kind = K; }
|
||||||
|
|
||||||
virtual SourceLocation firstSourceLocation() const
|
virtual SourceLocation firstSourceLocation() const
|
||||||
@@ -2506,6 +2506,9 @@ public:
|
|||||||
|
|
||||||
virtual SourceLocation lastSourceLocation() const
|
virtual SourceLocation lastSourceLocation() const
|
||||||
{
|
{
|
||||||
|
if (binding)
|
||||||
|
return binding->lastSourceLocation();
|
||||||
|
|
||||||
return semicolonToken;
|
return semicolonToken;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2516,7 +2519,8 @@ public:
|
|||||||
NameId *typeModifier;
|
NameId *typeModifier;
|
||||||
NameId *memberType;
|
NameId *memberType;
|
||||||
NameId *name;
|
NameId *name;
|
||||||
ExpressionNode *expression;
|
ExpressionNode *expression; // initialized with a JS expression
|
||||||
|
UiObjectMember *binding; // initialized with a QML object or array.
|
||||||
bool isDefaultMember;
|
bool isDefaultMember;
|
||||||
bool isReadonlyMember;
|
bool isReadonlyMember;
|
||||||
UiParameterList *parameters;
|
UiParameterList *parameters;
|
||||||
|
File diff suppressed because it is too large
Load Diff
@@ -164,15 +164,15 @@ public:
|
|||||||
T_XOR = 79,
|
T_XOR = 79,
|
||||||
T_XOR_EQ = 80,
|
T_XOR_EQ = 80,
|
||||||
|
|
||||||
ACCEPT_STATE = 639,
|
ACCEPT_STATE = 645,
|
||||||
RULE_COUNT = 345,
|
RULE_COUNT = 347,
|
||||||
STATE_COUNT = 640,
|
STATE_COUNT = 646,
|
||||||
TERMINAL_COUNT = 101,
|
TERMINAL_COUNT = 101,
|
||||||
NON_TERMINAL_COUNT = 106,
|
NON_TERMINAL_COUNT = 106,
|
||||||
|
|
||||||
GOTO_INDEX_OFFSET = 640,
|
GOTO_INDEX_OFFSET = 646,
|
||||||
GOTO_INFO_OFFSET = 2699,
|
GOTO_INFO_OFFSET = 2714,
|
||||||
GOTO_CHECK_OFFSET = 2699
|
GOTO_CHECK_OFFSET = 2714
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char *const spell [];
|
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
|
QT_QML_END_NAMESPACE
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user