forked from qt-creator/qt-creator
Updated the QML front-end to revision 8b168b8f969c1eafaeb0276a3c81b58a388f93d2
This commit is contained in:
@@ -10,14 +10,12 @@ HEADERS += $$PWD/qmljsast_p.h \
|
||||
$$PWD/qmljslexer_p.h \
|
||||
$$PWD/qmljsmemorypool_p.h \
|
||||
$$PWD/qmljsnodepool_p.h \
|
||||
$$PWD/qmljsparser_p.h \
|
||||
$$PWD/qmljsprettypretty_p.h
|
||||
$$PWD/qmljsparser_p.h
|
||||
|
||||
SOURCES += $$PWD/qmljsast.cpp \
|
||||
$$PWD/qmljsastvisitor.cpp \
|
||||
$$PWD/qmljsengine_p.cpp \
|
||||
$$PWD/qmljsgrammar.cpp \
|
||||
$$PWD/qmljslexer.cpp \
|
||||
$$PWD/qmljsprettypretty.cpp \
|
||||
$$PWD/qmljsparser.cpp
|
||||
|
||||
|
@@ -46,7 +46,7 @@
|
||||
%decl qmljsparser_p.h
|
||||
%impl qmljsparser.cpp
|
||||
%expect 2
|
||||
%expect-rr 3
|
||||
%expect-rr 2
|
||||
|
||||
%token T_AND "&" T_AND_AND "&&" T_AND_EQ "&="
|
||||
%token T_BREAK "break" T_CASE "case" T_CATCH "catch"
|
||||
@@ -580,86 +580,73 @@ case $rule_number: {
|
||||
} break;
|
||||
./
|
||||
|
||||
UiImport: T_IMPORT T_STRING_LITERAL T_AUTOMATIC_SEMICOLON;
|
||||
UiImport: T_IMPORT T_STRING_LITERAL T_SEMICOLON;
|
||||
ImportId: MemberExpression ;
|
||||
|
||||
UiImport: UiImportHead T_AUTOMATIC_SEMICOLON ;
|
||||
UiImport: UiImportHead T_SEMICOLON ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiImport *node = makeAstNode<AST::UiImport>(driver->nodePool(), sym(2).sval);
|
||||
node->importToken = loc(1);
|
||||
node->fileNameToken = loc(2);
|
||||
node->semicolonToken = loc(3);
|
||||
sym(1).Node = node;
|
||||
sym(1).UiImport->semicolonToken = loc(2);
|
||||
} break;
|
||||
./
|
||||
|
||||
UiImport: T_IMPORT T_STRING_LITERAL T_AS JsIdentifier T_AUTOMATIC_SEMICOLON;
|
||||
UiImport: T_IMPORT T_STRING_LITERAL T_AS JsIdentifier T_SEMICOLON;
|
||||
UiImport: UiImportHead T_NUMERIC_LITERAL T_AUTOMATIC_SEMICOLON ;
|
||||
UiImport: UiImportHead T_NUMERIC_LITERAL T_SEMICOLON ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiImport *node = makeAstNode<AST::UiImport>(driver->nodePool(), sym(2).sval);
|
||||
node->importId = sym(4).sval;
|
||||
node->importToken = loc(1);
|
||||
node->fileNameToken = loc(2);
|
||||
node->asToken = loc(3);
|
||||
node->importIdToken = loc(4);
|
||||
node->semicolonToken = loc(5);
|
||||
sym(1).Node = node;
|
||||
sym(1).UiImport->versionToken = loc(2);
|
||||
sym(1).UiImport->semicolonToken = loc(3);
|
||||
} break;
|
||||
./
|
||||
|
||||
UiImport: T_IMPORT UiQualifiedId T_AUTOMATIC_SEMICOLON;
|
||||
UiImport: T_IMPORT UiQualifiedId T_SEMICOLON;
|
||||
UiImport: UiImportHead T_NUMERIC_LITERAL T_AS JsIdentifier T_AUTOMATIC_SEMICOLON ;
|
||||
UiImport: UiImportHead T_NUMERIC_LITERAL T_AS JsIdentifier T_SEMICOLON ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiImport *node = makeAstNode<AST::UiImport>(driver->nodePool(), sym(2).UiQualifiedId->finish());
|
||||
node->importToken = loc(1);
|
||||
node->fileNameToken = loc(2);
|
||||
node->semicolonToken = loc(3);
|
||||
sym(1).Node = node;
|
||||
sym(1).UiImport->versionToken = loc(2);
|
||||
sym(1).UiImport->asToken = loc(3);
|
||||
sym(1).UiImport->importIdToken = loc(4);
|
||||
sym(1).UiImport->semicolonToken = loc(5);
|
||||
} break;
|
||||
./
|
||||
|
||||
UiImport: T_IMPORT UiQualifiedId T_NUMERIC_LITERAL T_AUTOMATIC_SEMICOLON;
|
||||
UiImport: T_IMPORT UiQualifiedId T_NUMERIC_LITERAL T_SEMICOLON;
|
||||
UiImport: UiImportHead T_AS JsIdentifier T_AUTOMATIC_SEMICOLON ;
|
||||
UiImport: UiImportHead T_AS JsIdentifier T_SEMICOLON ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiImport *node = makeAstNode<AST::UiImport>(driver->nodePool(), sym(2).UiQualifiedId->finish());
|
||||
node->importToken = loc(1);
|
||||
node->fileNameToken = loc(2);
|
||||
node->versionToken = loc(3);
|
||||
node->semicolonToken = loc(4);
|
||||
sym(1).Node = node;
|
||||
sym(1).UiImport->asToken = loc(2);
|
||||
sym(1).UiImport->importIdToken = loc(3);
|
||||
sym(1).UiImport->semicolonToken = loc(4);
|
||||
} break;
|
||||
./
|
||||
|
||||
UiImport: T_IMPORT UiQualifiedId T_NUMERIC_LITERAL T_AS JsIdentifier T_AUTOMATIC_SEMICOLON;
|
||||
UiImport: T_IMPORT UiQualifiedId T_NUMERIC_LITERAL T_AS JsIdentifier T_SEMICOLON;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiImport *node = makeAstNode<AST::UiImport>(driver->nodePool(), sym(2).UiQualifiedId->finish());
|
||||
node->importId = sym(5).sval;
|
||||
node->importToken = loc(1);
|
||||
node->fileNameToken = loc(2);
|
||||
node->versionToken = loc(3);
|
||||
node->asToken = loc(4);
|
||||
node->importIdToken = loc(5);
|
||||
node->semicolonToken = loc(6);
|
||||
sym(1).Node = node;
|
||||
} break;
|
||||
./
|
||||
|
||||
UiImport: T_IMPORT UiQualifiedId T_AS JsIdentifier T_AUTOMATIC_SEMICOLON;
|
||||
UiImport: T_IMPORT UiQualifiedId T_AS JsIdentifier T_SEMICOLON;
|
||||
UiImportHead: T_IMPORT ImportId ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiImport *node = makeAstNode<AST::UiImport>(driver->nodePool(), sym(2).UiQualifiedId->finish());
|
||||
node->importId = sym(4).sval;
|
||||
node->importToken = loc(1);
|
||||
AST::UiImport *node = 0;
|
||||
|
||||
if (AST::StringLiteral *importIdLiteral = AST::cast<AST::StringLiteral *>(sym(2).Expression)) {
|
||||
node = makeAstNode<AST::UiImport>(driver->nodePool(), importIdLiteral->value);
|
||||
node->fileNameToken = loc(2);
|
||||
node->asToken = loc(3);
|
||||
node->importIdToken = loc(4);
|
||||
node->semicolonToken = loc(5);
|
||||
} else if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(2).Expression)) {
|
||||
QString text;
|
||||
for (AST::UiQualifiedId *q = qualifiedId; q; q = q->next) {
|
||||
text += q->name->asString();
|
||||
if (q->next) text += QLatin1String(".");
|
||||
}
|
||||
node = makeAstNode<AST::UiImport>(driver->nodePool(), qualifiedId);
|
||||
node->fileNameToken = loc(2);
|
||||
}
|
||||
|
||||
sym(1).Node = node;
|
||||
|
||||
if (! node) {
|
||||
diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, loc(1),
|
||||
QLatin1String("Expected a qualified name id or a string literal")));
|
||||
|
||||
return false; // ### remove me
|
||||
}
|
||||
} break;
|
||||
./
|
||||
|
||||
@@ -733,7 +720,7 @@ case $rule_number: {
|
||||
UiObjectDefinition: UiQualifiedId UiObjectInitializer ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiObjectDefinition *node = makeAstNode<AST::UiObjectDefinition> (driver->nodePool(), sym(1).UiQualifiedId->finish(),
|
||||
AST::UiObjectDefinition *node = makeAstNode<AST::UiObjectDefinition> (driver->nodePool(), sym(1).UiQualifiedId,
|
||||
sym(2).UiObjectInitializer);
|
||||
sym(1).Node = node;
|
||||
} break;
|
||||
@@ -745,7 +732,7 @@ UiObjectMember: UiQualifiedId T_COLON T_LBRACKET UiArrayMemberList T_RBRACKET ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiArrayBinding *node = makeAstNode<AST::UiArrayBinding> (driver->nodePool(),
|
||||
sym(1).UiQualifiedId->finish(), sym(4).UiArrayMemberList->finish());
|
||||
sym(1).UiQualifiedId, sym(4).UiArrayMemberList->finish());
|
||||
node->colonToken = loc(2);
|
||||
node->lbracketToken = loc(3);
|
||||
node->rbracketToken = loc(5);
|
||||
@@ -753,67 +740,16 @@ case $rule_number: {
|
||||
} break;
|
||||
./
|
||||
|
||||
UiObjectMember: UiQualifiedId T_COLON Expression UiObjectInitializer ;
|
||||
UiObjectMember: UiQualifiedId T_COLON UiQualifiedId UiObjectInitializer ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(3).Expression)) {
|
||||
AST::UiObjectBinding *node = makeAstNode<AST::UiObjectBinding> (driver->nodePool(),
|
||||
sym(1).UiQualifiedId->finish(), qualifiedId, sym(4).UiObjectInitializer);
|
||||
sym(1).UiQualifiedId, sym(3).UiQualifiedId, sym(4).UiObjectInitializer);
|
||||
node->colonToken = loc(2);
|
||||
sym(1).Node = node;
|
||||
} else {
|
||||
sym(1).Node = 0;
|
||||
|
||||
diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, loc(2),
|
||||
QLatin1String("Expected a type name after token `:'")));
|
||||
|
||||
return false; // ### recover
|
||||
}
|
||||
} break;
|
||||
./
|
||||
|
||||
UiObjectMember: UiQualifiedId UiSignature T_COLON Expression UiObjectInitializer ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(4).Expression)) {
|
||||
AST::UiObjectBinding *node = makeAstNode<AST::UiObjectBinding> (driver->nodePool(),
|
||||
sym(1).UiQualifiedId->finish(), qualifiedId, sym(5).UiObjectInitializer);
|
||||
node->colonToken = loc(3);
|
||||
sym(1).Node = node;
|
||||
} else {
|
||||
sym(1).Node = 0;
|
||||
|
||||
diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, loc(2),
|
||||
QLatin1String("Expected a type name after token `:'")));
|
||||
|
||||
return false; // ### recover
|
||||
}
|
||||
} break;
|
||||
./
|
||||
|
||||
UiObjectMember: UiQualifiedId UiSignature T_COLON Block ;
|
||||
/.case $rule_number:./
|
||||
|
||||
UiObjectMember: UiQualifiedId UiSignature T_COLON EmptyStatement ;
|
||||
/.case $rule_number:./
|
||||
|
||||
UiObjectMember: UiQualifiedId UiSignature T_COLON ExpressionStatement ;
|
||||
/.case $rule_number:./
|
||||
|
||||
UiObjectMember: UiQualifiedId UiSignature T_COLON IfStatement ; --- ### do we really want if statement in a binding?
|
||||
/.case $rule_number:./
|
||||
|
||||
/.
|
||||
{
|
||||
AST::UiScriptBinding *node = makeAstNode<AST::UiScriptBinding> (driver->nodePool(),
|
||||
sym(1).UiQualifiedId->finish(), sym(4).Statement);
|
||||
node->colonToken = loc(3);
|
||||
sym(1).Node = node;
|
||||
} break;
|
||||
./
|
||||
|
||||
|
||||
|
||||
UiObjectMember: UiQualifiedId T_COLON Block ;
|
||||
/.case $rule_number:./
|
||||
|
||||
@@ -829,7 +765,7 @@ UiObjectMember: UiQualifiedId T_COLON IfStatement ; --- ### do we really want if
|
||||
/.
|
||||
{
|
||||
AST::UiScriptBinding *node = makeAstNode<AST::UiScriptBinding> (driver->nodePool(),
|
||||
sym(1).UiQualifiedId->finish(), sym(3).Statement);
|
||||
sym(1).UiQualifiedId, sym(3).Statement);
|
||||
node->colonToken = loc(2);
|
||||
sym(1).Node = node;
|
||||
} break;
|
||||
@@ -882,64 +818,6 @@ case $rule_number: {
|
||||
} break;
|
||||
./
|
||||
|
||||
UiFormal: JsIdentifier ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiFormal *node = makeAstNode<AST::UiFormal>(driver->nodePool(), sym(1).sval);
|
||||
node->identifierToken = loc(1);
|
||||
sym(1).UiFormal = node;
|
||||
} break;
|
||||
./
|
||||
|
||||
UiFormal: JsIdentifier T_AS JsIdentifier ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiFormal *node = makeAstNode<AST::UiFormal>(driver->nodePool(),
|
||||
sym(1).sval, sym(3).sval);
|
||||
node->identifierToken = loc(1);
|
||||
node->asToken = loc(2);
|
||||
node->aliasToken = loc(3);
|
||||
sym(1).UiFormal = node;
|
||||
} break;
|
||||
./
|
||||
|
||||
UiFormalList: UiFormal ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
sym(1).UiFormalList = makeAstNode<AST::UiFormalList>(driver->nodePool(),
|
||||
sym(1).UiFormal);
|
||||
} break;
|
||||
./
|
||||
|
||||
UiFormalList: UiFormalList T_COMMA UiFormal ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
sym(1).UiFormalList = makeAstNode<AST::UiFormalList>(driver->nodePool(),
|
||||
sym(1).UiFormalList, sym(3).UiFormal);
|
||||
} break;
|
||||
./
|
||||
|
||||
UiSignature: T_LPAREN T_RPAREN ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiSignature *node = makeAstNode<AST::UiSignature>(driver->nodePool());
|
||||
node->lparenToken = loc(1);
|
||||
node->rparenToken = loc(3);
|
||||
sym(1).UiSignature = node;
|
||||
} break;
|
||||
./
|
||||
|
||||
UiSignature: T_LPAREN UiFormalList T_RPAREN ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiSignature *node = makeAstNode<AST::UiSignature>(driver->nodePool(),
|
||||
sym(2).UiFormalList->finish());
|
||||
node->lparenToken = loc(1);
|
||||
node->rparenToken = loc(3);
|
||||
sym(1).UiSignature = node;
|
||||
} break;
|
||||
./
|
||||
|
||||
UiObjectMember: T_SIGNAL T_IDENTIFIER T_LPAREN UiParameterListOpt T_RPAREN T_AUTOMATIC_SEMICOLON ;
|
||||
UiObjectMember: T_SIGNAL T_IDENTIFIER T_LPAREN UiParameterListOpt T_RPAREN T_SEMICOLON ;
|
||||
/.
|
||||
@@ -1043,19 +921,6 @@ case $rule_number: {
|
||||
} break;
|
||||
./
|
||||
|
||||
UiQualifiedId: T_RESERVED_WORD ;
|
||||
/.case $rule_number: ./
|
||||
|
||||
UiQualifiedId: T_RETURN ;
|
||||
/.
|
||||
case $rule_number:
|
||||
{
|
||||
AST::UiQualifiedId *node = makeAstNode<AST::UiQualifiedId> (driver->nodePool(), driver->intern(lexer->characterBuffer(), lexer->characterCount()));
|
||||
node->identifierToken = loc(1);
|
||||
sym(1).Node = node;
|
||||
} break;
|
||||
./
|
||||
|
||||
JsIdentifier: T_IDENTIFIER;
|
||||
|
||||
JsIdentifier: T_PROPERTY ;
|
||||
@@ -1277,21 +1142,26 @@ case $rule_number: {
|
||||
} break;
|
||||
./
|
||||
|
||||
UiQualifiedId: JsIdentifier ;
|
||||
UiQualifiedId: MemberExpression ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiQualifiedId *node = makeAstNode<AST::UiQualifiedId> (driver->nodePool(), sym(1).sval);
|
||||
node->identifierToken = loc(1);
|
||||
sym(1).Node = node;
|
||||
} break;
|
||||
./
|
||||
if (AST::ArrayMemberExpression *mem = AST::cast<AST::ArrayMemberExpression *>(sym(1).Expression)) {
|
||||
diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Warning, mem->lbracketToken,
|
||||
QLatin1String("Ignored annotation")));
|
||||
|
||||
UiQualifiedId: UiQualifiedId T_DOT JsIdentifier ;
|
||||
/.
|
||||
case $rule_number: {
|
||||
AST::UiQualifiedId *node = makeAstNode<AST::UiQualifiedId> (driver->nodePool(), sym(1).UiQualifiedId, sym(3).sval);
|
||||
node->identifierToken = loc(3);
|
||||
sym(1).Node = node;
|
||||
sym(1).Expression = mem->base;
|
||||
}
|
||||
|
||||
if (AST::UiQualifiedId *qualifiedId = reparseAsQualifiedId(sym(1).Expression)) {
|
||||
sym(1).UiQualifiedId = qualifiedId;
|
||||
} else {
|
||||
sym(1).UiQualifiedId = 0;
|
||||
|
||||
diagnostic_messages.append(DiagnosticMessage(DiagnosticMessage::Error, loc(1),
|
||||
QLatin1String("Expected a qualified name id")));
|
||||
|
||||
return false; // ### recover
|
||||
}
|
||||
} break;
|
||||
./
|
||||
|
||||
|
@@ -40,15 +40,26 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "qmljsast_p.h"
|
||||
|
||||
|
||||
|
||||
#include "qmljsastvisitor_p.h"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
namespace QmlJS { namespace AST {
|
||||
|
||||
void Node::accept(Visitor *visitor)
|
||||
{
|
||||
if (visitor->preVisit(this)) {
|
||||
accept0(visitor);
|
||||
}
|
||||
visitor->postVisit(this);
|
||||
}
|
||||
|
||||
void Node::accept(Node *node, Visitor *visitor)
|
||||
{
|
||||
if (node)
|
||||
node->accept(visitor);
|
||||
}
|
||||
|
||||
ExpressionNode *Node::expressionCast()
|
||||
{
|
||||
return 0;
|
||||
@@ -82,7 +93,7 @@ Statement *Statement::statementCast()
|
||||
void NestedExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
visitor->endVisit(this);
|
||||
}
|
||||
@@ -154,8 +165,8 @@ void RegExpLiteral::accept0(Visitor *visitor)
|
||||
void ArrayLiteral::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(elements, visitor);
|
||||
acceptChild(elision, visitor);
|
||||
accept(elements, visitor);
|
||||
accept(elision, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -164,7 +175,7 @@ void ArrayLiteral::accept0(Visitor *visitor)
|
||||
void ObjectLiteral::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(properties, visitor);
|
||||
accept(properties, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -173,12 +184,10 @@ void ObjectLiteral::accept0(Visitor *visitor)
|
||||
void ElementList::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
ElementList *it = this;
|
||||
do {
|
||||
acceptChild(it->elision, visitor);
|
||||
acceptChild(it->expression, visitor);
|
||||
it = it->next;
|
||||
} while (it);
|
||||
for (ElementList *it = this; it; it = it->next) {
|
||||
accept(it->elision, visitor);
|
||||
accept(it->expression, visitor);
|
||||
}
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -196,12 +205,10 @@ void Elision::accept0(Visitor *visitor)
|
||||
void PropertyNameAndValueList::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
PropertyNameAndValueList *it = this;
|
||||
do {
|
||||
acceptChild(it->name, visitor);
|
||||
acceptChild(it->value, visitor);
|
||||
it = it->next;
|
||||
} while (it);
|
||||
for (PropertyNameAndValueList *it = this; it; it = it->next) {
|
||||
accept(it->name, visitor);
|
||||
accept(it->value, visitor);
|
||||
}
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -234,8 +241,8 @@ void NumericLiteralPropertyName::accept0(Visitor *visitor)
|
||||
void ArrayMemberExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(base, visitor);
|
||||
acceptChild(expression, visitor);
|
||||
accept(base, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -244,7 +251,7 @@ void ArrayMemberExpression::accept0(Visitor *visitor)
|
||||
void FieldMemberExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(base, visitor);
|
||||
accept(base, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -253,8 +260,8 @@ void FieldMemberExpression::accept0(Visitor *visitor)
|
||||
void NewMemberExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(base, visitor);
|
||||
acceptChild(arguments, visitor);
|
||||
accept(base, visitor);
|
||||
accept(arguments, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -263,7 +270,7 @@ void NewMemberExpression::accept0(Visitor *visitor)
|
||||
void NewExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -272,8 +279,8 @@ void NewExpression::accept0(Visitor *visitor)
|
||||
void CallExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(base, visitor);
|
||||
acceptChild(arguments, visitor);
|
||||
accept(base, visitor);
|
||||
accept(arguments, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -282,11 +289,9 @@ void CallExpression::accept0(Visitor *visitor)
|
||||
void ArgumentList::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
ArgumentList *it = this;
|
||||
do {
|
||||
acceptChild(it->expression, visitor);
|
||||
it = it->next;
|
||||
} while (it);
|
||||
for (ArgumentList *it = this; it; it = it->next) {
|
||||
accept(it->expression, visitor);
|
||||
}
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -295,7 +300,7 @@ void ArgumentList::accept0(Visitor *visitor)
|
||||
void PostIncrementExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(base, visitor);
|
||||
accept(base, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -304,7 +309,7 @@ void PostIncrementExpression::accept0(Visitor *visitor)
|
||||
void PostDecrementExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(base, visitor);
|
||||
accept(base, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -313,7 +318,7 @@ void PostDecrementExpression::accept0(Visitor *visitor)
|
||||
void DeleteExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -322,7 +327,7 @@ void DeleteExpression::accept0(Visitor *visitor)
|
||||
void VoidExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -331,7 +336,7 @@ void VoidExpression::accept0(Visitor *visitor)
|
||||
void TypeOfExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -340,7 +345,7 @@ void TypeOfExpression::accept0(Visitor *visitor)
|
||||
void PreIncrementExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -349,7 +354,7 @@ void PreIncrementExpression::accept0(Visitor *visitor)
|
||||
void PreDecrementExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -358,7 +363,7 @@ void PreDecrementExpression::accept0(Visitor *visitor)
|
||||
void UnaryPlusExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -367,7 +372,7 @@ void UnaryPlusExpression::accept0(Visitor *visitor)
|
||||
void UnaryMinusExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -376,7 +381,7 @@ void UnaryMinusExpression::accept0(Visitor *visitor)
|
||||
void TildeExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -385,7 +390,7 @@ void TildeExpression::accept0(Visitor *visitor)
|
||||
void NotExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -394,8 +399,8 @@ void NotExpression::accept0(Visitor *visitor)
|
||||
void BinaryExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(left, visitor);
|
||||
acceptChild(right, visitor);
|
||||
accept(left, visitor);
|
||||
accept(right, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -404,9 +409,9 @@ void BinaryExpression::accept0(Visitor *visitor)
|
||||
void ConditionalExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
acceptChild(ok, visitor);
|
||||
acceptChild(ko, visitor);
|
||||
accept(expression, visitor);
|
||||
accept(ok, visitor);
|
||||
accept(ko, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -415,8 +420,8 @@ void ConditionalExpression::accept0(Visitor *visitor)
|
||||
void Expression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(left, visitor);
|
||||
acceptChild(right, visitor);
|
||||
accept(left, visitor);
|
||||
accept(right, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -425,7 +430,7 @@ void Expression::accept0(Visitor *visitor)
|
||||
void Block::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(statements, visitor);
|
||||
accept(statements, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -434,11 +439,9 @@ void Block::accept0(Visitor *visitor)
|
||||
void StatementList::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
StatementList *it = this;
|
||||
do {
|
||||
acceptChild(it->statement, visitor);
|
||||
it = it->next;
|
||||
} while (it);
|
||||
for (StatementList *it = this; it; it = it->next) {
|
||||
accept(it->statement, visitor);
|
||||
}
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -447,7 +450,7 @@ void StatementList::accept0(Visitor *visitor)
|
||||
void VariableStatement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(declarations, visitor);
|
||||
accept(declarations, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -456,11 +459,9 @@ void VariableStatement::accept0(Visitor *visitor)
|
||||
void VariableDeclarationList::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
VariableDeclarationList *it = this;
|
||||
do {
|
||||
acceptChild(it->declaration, visitor);
|
||||
it = it->next;
|
||||
} while (it);
|
||||
for (VariableDeclarationList *it = this; it; it = it->next) {
|
||||
accept(it->declaration, visitor);
|
||||
}
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -469,7 +470,7 @@ void VariableDeclarationList::accept0(Visitor *visitor)
|
||||
void VariableDeclaration::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -486,7 +487,7 @@ void EmptyStatement::accept0(Visitor *visitor)
|
||||
void ExpressionStatement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -495,9 +496,9 @@ void ExpressionStatement::accept0(Visitor *visitor)
|
||||
void IfStatement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
acceptChild(ok, visitor);
|
||||
acceptChild(ko, visitor);
|
||||
accept(expression, visitor);
|
||||
accept(ok, visitor);
|
||||
accept(ko, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -506,8 +507,8 @@ void IfStatement::accept0(Visitor *visitor)
|
||||
void DoWhileStatement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(statement, visitor);
|
||||
acceptChild(expression, visitor);
|
||||
accept(statement, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -516,8 +517,8 @@ void DoWhileStatement::accept0(Visitor *visitor)
|
||||
void WhileStatement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
acceptChild(statement, visitor);
|
||||
accept(expression, visitor);
|
||||
accept(statement, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -526,10 +527,10 @@ void WhileStatement::accept0(Visitor *visitor)
|
||||
void ForStatement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(initialiser, visitor);
|
||||
acceptChild(condition, visitor);
|
||||
acceptChild(expression, visitor);
|
||||
acceptChild(statement, visitor);
|
||||
accept(initialiser, visitor);
|
||||
accept(condition, visitor);
|
||||
accept(expression, visitor);
|
||||
accept(statement, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -538,10 +539,10 @@ void ForStatement::accept0(Visitor *visitor)
|
||||
void LocalForStatement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(declarations, visitor);
|
||||
acceptChild(condition, visitor);
|
||||
acceptChild(expression, visitor);
|
||||
acceptChild(statement, visitor);
|
||||
accept(declarations, visitor);
|
||||
accept(condition, visitor);
|
||||
accept(expression, visitor);
|
||||
accept(statement, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -550,9 +551,9 @@ void LocalForStatement::accept0(Visitor *visitor)
|
||||
void ForEachStatement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(initialiser, visitor);
|
||||
acceptChild(expression, visitor);
|
||||
acceptChild(statement, visitor);
|
||||
accept(initialiser, visitor);
|
||||
accept(expression, visitor);
|
||||
accept(statement, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -561,9 +562,9 @@ void ForEachStatement::accept0(Visitor *visitor)
|
||||
void LocalForEachStatement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(declaration, visitor);
|
||||
acceptChild(expression, visitor);
|
||||
acceptChild(statement, visitor);
|
||||
accept(declaration, visitor);
|
||||
accept(expression, visitor);
|
||||
accept(statement, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -588,7 +589,7 @@ void BreakStatement::accept0(Visitor *visitor)
|
||||
void ReturnStatement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -597,8 +598,8 @@ void ReturnStatement::accept0(Visitor *visitor)
|
||||
void WithStatement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
acceptChild(statement, visitor);
|
||||
accept(expression, visitor);
|
||||
accept(statement, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -607,8 +608,8 @@ void WithStatement::accept0(Visitor *visitor)
|
||||
void SwitchStatement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
acceptChild(block, visitor);
|
||||
accept(expression, visitor);
|
||||
accept(block, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -617,9 +618,9 @@ void SwitchStatement::accept0(Visitor *visitor)
|
||||
void CaseBlock::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(clauses, visitor);
|
||||
acceptChild(defaultClause, visitor);
|
||||
acceptChild(moreClauses, visitor);
|
||||
accept(clauses, visitor);
|
||||
accept(defaultClause, visitor);
|
||||
accept(moreClauses, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -628,11 +629,9 @@ void CaseBlock::accept0(Visitor *visitor)
|
||||
void CaseClauses::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
CaseClauses *it = this;
|
||||
do {
|
||||
acceptChild(it->clause, visitor);
|
||||
it = it->next;
|
||||
} while (it);
|
||||
for (CaseClauses *it = this; it; it = it->next) {
|
||||
accept(it->clause, visitor);
|
||||
}
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -641,8 +640,8 @@ void CaseClauses::accept0(Visitor *visitor)
|
||||
void CaseClause::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
acceptChild(statements, visitor);
|
||||
accept(expression, visitor);
|
||||
accept(statements, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -651,7 +650,7 @@ void CaseClause::accept0(Visitor *visitor)
|
||||
void DefaultClause::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(statements, visitor);
|
||||
accept(statements, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -660,7 +659,7 @@ void DefaultClause::accept0(Visitor *visitor)
|
||||
void LabelledStatement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(statement, visitor);
|
||||
accept(statement, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -669,7 +668,7 @@ void LabelledStatement::accept0(Visitor *visitor)
|
||||
void ThrowStatement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -678,9 +677,9 @@ void ThrowStatement::accept0(Visitor *visitor)
|
||||
void TryStatement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(statement, visitor);
|
||||
acceptChild(catchExpression, visitor);
|
||||
acceptChild(finallyExpression, visitor);
|
||||
accept(statement, visitor);
|
||||
accept(catchExpression, visitor);
|
||||
accept(finallyExpression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -689,7 +688,7 @@ void TryStatement::accept0(Visitor *visitor)
|
||||
void Catch::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(statement, visitor);
|
||||
accept(statement, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -698,7 +697,7 @@ void Catch::accept0(Visitor *visitor)
|
||||
void Finally::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(statement, visitor);
|
||||
accept(statement, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -707,8 +706,8 @@ void Finally::accept0(Visitor *visitor)
|
||||
void FunctionDeclaration::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(formals, visitor);
|
||||
acceptChild(body, visitor);
|
||||
accept(formals, visitor);
|
||||
accept(body, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -717,8 +716,8 @@ void FunctionDeclaration::accept0(Visitor *visitor)
|
||||
void FunctionExpression::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(formals, visitor);
|
||||
acceptChild(body, visitor);
|
||||
accept(formals, visitor);
|
||||
accept(body, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -736,7 +735,7 @@ void FormalParameterList::accept0(Visitor *visitor)
|
||||
void FunctionBody::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(elements, visitor);
|
||||
accept(elements, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -745,7 +744,7 @@ void FunctionBody::accept0(Visitor *visitor)
|
||||
void Program::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(elements, visitor);
|
||||
accept(elements, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -754,11 +753,9 @@ void Program::accept0(Visitor *visitor)
|
||||
void SourceElements::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
SourceElements *it = this;
|
||||
do {
|
||||
acceptChild(it->element, visitor);
|
||||
it = it->next;
|
||||
} while (it);
|
||||
for (SourceElements *it = this; it; it = it->next) {
|
||||
accept(it->element, visitor);
|
||||
}
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -767,7 +764,7 @@ void SourceElements::accept0(Visitor *visitor)
|
||||
void FunctionSourceElement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(declaration, visitor);
|
||||
accept(declaration, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -776,7 +773,7 @@ void FunctionSourceElement::accept0(Visitor *visitor)
|
||||
void StatementSourceElement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(statement, visitor);
|
||||
accept(statement, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -794,8 +791,7 @@ void DebuggerStatement::accept0(Visitor *visitor)
|
||||
void UiProgram::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
for (UiObjectMemberList *it = members; it; it = it->next)
|
||||
acceptChild(it->member, visitor);
|
||||
accept(imports, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -804,7 +800,7 @@ void UiProgram::accept0(Visitor *visitor)
|
||||
void UiSignature::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(formals, visitor);
|
||||
accept(formals, visitor);
|
||||
}
|
||||
visitor->endVisit(this);
|
||||
}
|
||||
@@ -813,7 +809,7 @@ void UiFormalList::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
for (UiFormalList *it = this; it; it = it->next) {
|
||||
acceptChild(it->formal, visitor);
|
||||
accept(it->formal, visitor);
|
||||
}
|
||||
}
|
||||
visitor->endVisit(this);
|
||||
@@ -829,7 +825,7 @@ void UiFormal::accept0(Visitor *visitor)
|
||||
void UiPublicMember::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(expression, visitor);
|
||||
accept(expression, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -838,8 +834,8 @@ void UiPublicMember::accept0(Visitor *visitor)
|
||||
void UiObjectDefinition::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(qualifiedTypeNameId, visitor);
|
||||
acceptChild(initializer, visitor);
|
||||
accept(qualifiedTypeNameId, visitor);
|
||||
accept(initializer, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -848,8 +844,7 @@ void UiObjectDefinition::accept0(Visitor *visitor)
|
||||
void UiObjectInitializer::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
for (UiObjectMemberList *it = members; it; it = it->next)
|
||||
acceptChild(it->member, visitor);
|
||||
accept(members, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -858,9 +853,9 @@ void UiObjectInitializer::accept0(Visitor *visitor)
|
||||
void UiObjectBinding::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(qualifiedId, visitor);
|
||||
acceptChild(qualifiedTypeNameId, visitor);
|
||||
acceptChild(initializer, visitor);
|
||||
accept(qualifiedId, visitor);
|
||||
accept(qualifiedTypeNameId, visitor);
|
||||
accept(initializer, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -869,8 +864,8 @@ void UiObjectBinding::accept0(Visitor *visitor)
|
||||
void UiScriptBinding::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(qualifiedId, visitor);
|
||||
acceptChild(statement, visitor);
|
||||
accept(qualifiedId, visitor);
|
||||
accept(statement, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -879,9 +874,8 @@ void UiScriptBinding::accept0(Visitor *visitor)
|
||||
void UiArrayBinding::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(qualifiedId, visitor);
|
||||
for (UiArrayMemberList *it = members; it; it = it->next)
|
||||
acceptChild(it->member, visitor);
|
||||
accept(qualifiedId, visitor);
|
||||
accept(members, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -891,7 +885,7 @@ void UiObjectMemberList::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
for (UiObjectMemberList *it = this; it; it = it->next)
|
||||
acceptChild(it->member, visitor);
|
||||
accept(it->member, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -901,7 +895,7 @@ void UiArrayMemberList::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
for (UiArrayMemberList *it = this; it; it = it->next)
|
||||
acceptChild(it->member, visitor);
|
||||
accept(it->member, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -918,6 +912,7 @@ void UiQualifiedId::accept0(Visitor *visitor)
|
||||
void UiImport::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
accept(importUri, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -926,8 +921,8 @@ void UiImport::accept0(Visitor *visitor)
|
||||
void UiImportList::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(import, visitor);
|
||||
acceptChild(next, visitor);
|
||||
accept(import, visitor);
|
||||
accept(next, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
@@ -936,7 +931,7 @@ void UiImportList::accept0(Visitor *visitor)
|
||||
void UiSourceElement::accept0(Visitor *visitor)
|
||||
{
|
||||
if (visitor->visit(this)) {
|
||||
acceptChild(sourceElement, visitor);
|
||||
accept(sourceElement, visitor);
|
||||
}
|
||||
|
||||
visitor->endVisit(this);
|
||||
|
@@ -228,19 +228,11 @@ public:
|
||||
virtual BinaryExpression *binaryExpressionCast();
|
||||
virtual Statement *statementCast();
|
||||
|
||||
inline void accept(Visitor *visitor)
|
||||
{
|
||||
if (visitor->preVisit(this)) {
|
||||
accept0(visitor);
|
||||
visitor->postVisit(this);
|
||||
}
|
||||
}
|
||||
void accept(Visitor *visitor);
|
||||
static void accept(Node *node, Visitor *visitor);
|
||||
|
||||
static void acceptChild(Node *node, Visitor *visitor)
|
||||
{
|
||||
if (node)
|
||||
node->accept(visitor);
|
||||
}
|
||||
inline static void acceptChild(Node *node, Visitor *visitor)
|
||||
{ return accept(node, visitor); } // ### remove
|
||||
|
||||
virtual void accept0(Visitor *visitor) = 0;
|
||||
|
||||
@@ -2291,6 +2283,12 @@ public:
|
||||
: fileName(0), importUri(uri), importId(0)
|
||||
{ kind = K; }
|
||||
|
||||
virtual SourceLocation firstSourceLocation() const
|
||||
{ return importToken; }
|
||||
|
||||
virtual SourceLocation lastSourceLocation() const
|
||||
{ return semicolonToken; }
|
||||
|
||||
virtual void accept0(Visitor *visitor);
|
||||
|
||||
// attributes
|
||||
@@ -2323,6 +2321,21 @@ public:
|
||||
previous->next = this;
|
||||
}
|
||||
|
||||
virtual SourceLocation firstSourceLocation() const
|
||||
{
|
||||
if (import) return import->firstSourceLocation();
|
||||
else return SourceLocation();
|
||||
}
|
||||
|
||||
virtual SourceLocation lastSourceLocation() const
|
||||
{
|
||||
for (const UiImportList *it = this; it; it = it->next)
|
||||
if (!it->next && it->import)
|
||||
return it->import->lastSourceLocation();
|
||||
|
||||
return SourceLocation();
|
||||
}
|
||||
|
||||
UiImportList *finish()
|
||||
{
|
||||
UiImportList *head = next;
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -154,15 +154,15 @@ public:
|
||||
T_XOR = 78,
|
||||
T_XOR_EQ = 79,
|
||||
|
||||
ACCEPT_STATE = 638,
|
||||
RULE_COUNT = 350,
|
||||
STATE_COUNT = 639,
|
||||
ACCEPT_STATE = 612,
|
||||
RULE_COUNT = 334,
|
||||
STATE_COUNT = 613,
|
||||
TERMINAL_COUNT = 95,
|
||||
NON_TERMINAL_COUNT = 106,
|
||||
NON_TERMINAL_COUNT = 105,
|
||||
|
||||
GOTO_INDEX_OFFSET = 639,
|
||||
GOTO_INFO_OFFSET = 2310,
|
||||
GOTO_CHECK_OFFSET = 2310
|
||||
GOTO_INDEX_OFFSET = 613,
|
||||
GOTO_INFO_OFFSET = 2434,
|
||||
GOTO_CHECK_OFFSET = 2434
|
||||
};
|
||||
|
||||
static const char *const spell [];
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -222,9 +222,9 @@ protected:
|
||||
|
||||
|
||||
|
||||
#define J_SCRIPT_REGEXPLITERAL_RULE1 81
|
||||
#define J_SCRIPT_REGEXPLITERAL_RULE1 66
|
||||
|
||||
#define J_SCRIPT_REGEXPLITERAL_RULE2 82
|
||||
#define J_SCRIPT_REGEXPLITERAL_RULE2 67
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,329 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
|
||||
** Contact: Qt Software Information (qt-info@nokia.com)
|
||||
**
|
||||
** This file is part of the QtDeclarative module of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:LGPL$
|
||||
** No Commercial Usage
|
||||
** This file contains pre-release code and may not be distributed.
|
||||
** You may use this file in accordance with the terms and conditions
|
||||
** contained in the either Technology Preview License Agreement or the
|
||||
** Beta Release License Agreement.
|
||||
**
|
||||
** GNU Lesser General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||
** General Public License version 2.1 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||
**
|
||||
** In addition, as a special exception, Nokia gives you certain
|
||||
** additional rights. These rights are described in the Nokia Qt LGPL
|
||||
** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
|
||||
** package.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3.0 as published by the Free Software
|
||||
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||
** packaging of this file. Please review the following information to
|
||||
** ensure the GNU General Public License version 3.0 requirements will be
|
||||
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||
**
|
||||
** If you are unsure which license is appropriate for your use, please
|
||||
** contact the sales department at qt-sales@nokia.com.
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef QMLJSPRETTYPRETTY_P_H
|
||||
#define QMLJSPRETTYPRETTY_P_H
|
||||
|
||||
//
|
||||
// W A R N I N G
|
||||
// -------------
|
||||
//
|
||||
// This file is not part of the Qt API. It exists purely as an
|
||||
// implementation detail. This header file may change from version to
|
||||
// version without notice, or even be removed.
|
||||
//
|
||||
// We mean it.
|
||||
//
|
||||
|
||||
#include <QtCore/qglobal.h>
|
||||
|
||||
#include "qmljsastvisitor_p.h"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QTextStream;
|
||||
|
||||
namespace QmlJS {
|
||||
|
||||
class PrettyPretty: protected AST::Visitor
|
||||
{
|
||||
public:
|
||||
PrettyPretty(QTextStream &out);
|
||||
virtual ~PrettyPretty();
|
||||
|
||||
QTextStream &operator () (AST::Node *node, int level = 0);
|
||||
|
||||
protected:
|
||||
void accept(AST::Node *node);
|
||||
|
||||
virtual bool preVisit(AST::Node *node);
|
||||
|
||||
virtual bool visit(AST::ThisExpression *node);
|
||||
virtual void endVisit(AST::ThisExpression *node);
|
||||
|
||||
virtual bool visit(AST::IdentifierExpression *node);
|
||||
virtual void endVisit(AST::IdentifierExpression *node);
|
||||
|
||||
virtual bool visit(AST::NullExpression *node);
|
||||
virtual void endVisit(AST::NullExpression *node);
|
||||
|
||||
virtual bool visit(AST::TrueLiteral *node);
|
||||
virtual void endVisit(AST::TrueLiteral *node);
|
||||
|
||||
virtual bool visit(AST::FalseLiteral *node);
|
||||
virtual void endVisit(AST::FalseLiteral *node);
|
||||
|
||||
virtual bool visit(AST::StringLiteral *node);
|
||||
virtual void endVisit(AST::StringLiteral *node);
|
||||
|
||||
virtual bool visit(AST::NumericLiteral *node);
|
||||
virtual void endVisit(AST::NumericLiteral *node);
|
||||
|
||||
virtual bool visit(AST::RegExpLiteral *node);
|
||||
virtual void endVisit(AST::RegExpLiteral *node);
|
||||
|
||||
virtual bool visit(AST::ArrayLiteral *node);
|
||||
virtual void endVisit(AST::ArrayLiteral *node);
|
||||
|
||||
virtual bool visit(AST::ObjectLiteral *node);
|
||||
virtual void endVisit(AST::ObjectLiteral *node);
|
||||
|
||||
virtual bool visit(AST::ElementList *node);
|
||||
virtual void endVisit(AST::ElementList *node);
|
||||
|
||||
virtual bool visit(AST::Elision *node);
|
||||
virtual void endVisit(AST::Elision *node);
|
||||
|
||||
virtual bool visit(AST::PropertyNameAndValueList *node);
|
||||
virtual void endVisit(AST::PropertyNameAndValueList *node);
|
||||
|
||||
virtual bool visit(AST::IdentifierPropertyName *node);
|
||||
virtual void endVisit(AST::IdentifierPropertyName *node);
|
||||
|
||||
virtual bool visit(AST::StringLiteralPropertyName *node);
|
||||
virtual void endVisit(AST::StringLiteralPropertyName *node);
|
||||
|
||||
virtual bool visit(AST::NumericLiteralPropertyName *node);
|
||||
virtual void endVisit(AST::NumericLiteralPropertyName *node);
|
||||
|
||||
virtual bool visit(AST::ArrayMemberExpression *node);
|
||||
virtual void endVisit(AST::ArrayMemberExpression *node);
|
||||
|
||||
virtual bool visit(AST::FieldMemberExpression *node);
|
||||
virtual void endVisit(AST::FieldMemberExpression *node);
|
||||
|
||||
virtual bool visit(AST::NewMemberExpression *node);
|
||||
virtual void endVisit(AST::NewMemberExpression *node);
|
||||
|
||||
virtual bool visit(AST::NewExpression *node);
|
||||
virtual void endVisit(AST::NewExpression *node);
|
||||
|
||||
virtual bool visit(AST::CallExpression *node);
|
||||
virtual void endVisit(AST::CallExpression *node);
|
||||
|
||||
virtual bool visit(AST::ArgumentList *node);
|
||||
virtual void endVisit(AST::ArgumentList *node);
|
||||
|
||||
virtual bool visit(AST::PostIncrementExpression *node);
|
||||
virtual void endVisit(AST::PostIncrementExpression *node);
|
||||
|
||||
virtual bool visit(AST::PostDecrementExpression *node);
|
||||
virtual void endVisit(AST::PostDecrementExpression *node);
|
||||
|
||||
virtual bool visit(AST::DeleteExpression *node);
|
||||
virtual void endVisit(AST::DeleteExpression *node);
|
||||
|
||||
virtual bool visit(AST::VoidExpression *node);
|
||||
virtual void endVisit(AST::VoidExpression *node);
|
||||
|
||||
virtual bool visit(AST::TypeOfExpression *node);
|
||||
virtual void endVisit(AST::TypeOfExpression *node);
|
||||
|
||||
virtual bool visit(AST::PreIncrementExpression *node);
|
||||
virtual void endVisit(AST::PreIncrementExpression *node);
|
||||
|
||||
virtual bool visit(AST::PreDecrementExpression *node);
|
||||
virtual void endVisit(AST::PreDecrementExpression *node);
|
||||
|
||||
virtual bool visit(AST::UnaryPlusExpression *node);
|
||||
virtual void endVisit(AST::UnaryPlusExpression *node);
|
||||
|
||||
virtual bool visit(AST::UnaryMinusExpression *node);
|
||||
virtual void endVisit(AST::UnaryMinusExpression *node);
|
||||
|
||||
virtual bool visit(AST::TildeExpression *node);
|
||||
virtual void endVisit(AST::TildeExpression *node);
|
||||
|
||||
virtual bool visit(AST::NotExpression *node);
|
||||
virtual void endVisit(AST::NotExpression *node);
|
||||
|
||||
virtual bool visit(AST::BinaryExpression *node);
|
||||
virtual void endVisit(AST::BinaryExpression *node);
|
||||
|
||||
virtual bool visit(AST::ConditionalExpression *node);
|
||||
virtual void endVisit(AST::ConditionalExpression *node);
|
||||
|
||||
virtual bool visit(AST::Expression *node);
|
||||
virtual void endVisit(AST::Expression *node);
|
||||
|
||||
virtual bool visit(AST::Block *node);
|
||||
virtual void endVisit(AST::Block *node);
|
||||
|
||||
virtual bool visit(AST::StatementList *node);
|
||||
virtual void endVisit(AST::StatementList *node);
|
||||
|
||||
virtual bool visit(AST::VariableStatement *node);
|
||||
virtual void endVisit(AST::VariableStatement *node);
|
||||
|
||||
virtual bool visit(AST::VariableDeclarationList *node);
|
||||
virtual void endVisit(AST::VariableDeclarationList *node);
|
||||
|
||||
virtual bool visit(AST::VariableDeclaration *node);
|
||||
virtual void endVisit(AST::VariableDeclaration *node);
|
||||
|
||||
virtual bool visit(AST::EmptyStatement *node);
|
||||
virtual void endVisit(AST::EmptyStatement *node);
|
||||
|
||||
virtual bool visit(AST::ExpressionStatement *node);
|
||||
virtual void endVisit(AST::ExpressionStatement *node);
|
||||
|
||||
virtual bool visit(AST::IfStatement *node);
|
||||
virtual void endVisit(AST::IfStatement *node);
|
||||
|
||||
virtual bool visit(AST::DoWhileStatement *node);
|
||||
virtual void endVisit(AST::DoWhileStatement *node);
|
||||
|
||||
virtual bool visit(AST::WhileStatement *node);
|
||||
virtual void endVisit(AST::WhileStatement *node);
|
||||
|
||||
virtual bool visit(AST::ForStatement *node);
|
||||
virtual void endVisit(AST::ForStatement *node);
|
||||
|
||||
virtual bool visit(AST::LocalForStatement *node);
|
||||
virtual void endVisit(AST::LocalForStatement *node);
|
||||
|
||||
virtual bool visit(AST::ForEachStatement *node);
|
||||
virtual void endVisit(AST::ForEachStatement *node);
|
||||
|
||||
virtual bool visit(AST::LocalForEachStatement *node);
|
||||
virtual void endVisit(AST::LocalForEachStatement *node);
|
||||
|
||||
virtual bool visit(AST::ContinueStatement *node);
|
||||
virtual void endVisit(AST::ContinueStatement *node);
|
||||
|
||||
virtual bool visit(AST::BreakStatement *node);
|
||||
virtual void endVisit(AST::BreakStatement *node);
|
||||
|
||||
virtual bool visit(AST::ReturnStatement *node);
|
||||
virtual void endVisit(AST::ReturnStatement *node);
|
||||
|
||||
virtual bool visit(AST::WithStatement *node);
|
||||
virtual void endVisit(AST::WithStatement *node);
|
||||
|
||||
virtual bool visit(AST::SwitchStatement *node);
|
||||
virtual void endVisit(AST::SwitchStatement *node);
|
||||
|
||||
virtual bool visit(AST::CaseBlock *node);
|
||||
virtual void endVisit(AST::CaseBlock *node);
|
||||
|
||||
virtual bool visit(AST::CaseClauses *node);
|
||||
virtual void endVisit(AST::CaseClauses *node);
|
||||
|
||||
virtual bool visit(AST::CaseClause *node);
|
||||
virtual void endVisit(AST::CaseClause *node);
|
||||
|
||||
virtual bool visit(AST::DefaultClause *node);
|
||||
virtual void endVisit(AST::DefaultClause *node);
|
||||
|
||||
virtual bool visit(AST::LabelledStatement *node);
|
||||
virtual void endVisit(AST::LabelledStatement *node);
|
||||
|
||||
virtual bool visit(AST::ThrowStatement *node);
|
||||
virtual void endVisit(AST::ThrowStatement *node);
|
||||
|
||||
virtual bool visit(AST::TryStatement *node);
|
||||
virtual void endVisit(AST::TryStatement *node);
|
||||
|
||||
virtual bool visit(AST::Catch *node);
|
||||
virtual void endVisit(AST::Catch *node);
|
||||
|
||||
virtual bool visit(AST::Finally *node);
|
||||
virtual void endVisit(AST::Finally *node);
|
||||
|
||||
virtual bool visit(AST::FunctionDeclaration *node);
|
||||
virtual void endVisit(AST::FunctionDeclaration *node);
|
||||
|
||||
virtual bool visit(AST::FunctionExpression *node);
|
||||
virtual void endVisit(AST::FunctionExpression *node);
|
||||
|
||||
virtual bool visit(AST::FormalParameterList *node);
|
||||
virtual void endVisit(AST::FormalParameterList *node);
|
||||
|
||||
virtual bool visit(AST::FunctionBody *node);
|
||||
virtual void endVisit(AST::FunctionBody *node);
|
||||
|
||||
virtual bool visit(AST::Program *node);
|
||||
virtual void endVisit(AST::Program *node);
|
||||
|
||||
virtual bool visit(AST::SourceElements *node);
|
||||
virtual void endVisit(AST::SourceElements *node);
|
||||
|
||||
virtual bool visit(AST::FunctionSourceElement *node);
|
||||
virtual void endVisit(AST::FunctionSourceElement *node);
|
||||
|
||||
virtual bool visit(AST::StatementSourceElement *node);
|
||||
virtual void endVisit(AST::StatementSourceElement *node);
|
||||
|
||||
virtual bool visit(AST::DebuggerStatement *node);
|
||||
virtual void endVisit(AST::DebuggerStatement *node);
|
||||
|
||||
int indentLevel(int level)
|
||||
{
|
||||
int was = m_indentLevel;
|
||||
m_indentLevel = level;
|
||||
return was;
|
||||
}
|
||||
|
||||
void pushIndentLevel()
|
||||
{ ++m_indentLevel; }
|
||||
|
||||
void popIndentLevel()
|
||||
{ --m_indentLevel; }
|
||||
|
||||
QTextStream &newlineAndIndent();
|
||||
|
||||
void acceptAsBlock(AST::Node *node);
|
||||
|
||||
static int operatorPrecedenceLevel(int op);
|
||||
static int compareOperatorPrecedence(int op1, int op2);
|
||||
|
||||
private:
|
||||
QTextStream &out;
|
||||
int m_indentLevel;
|
||||
|
||||
Q_DISABLE_COPY(PrettyPretty)
|
||||
};
|
||||
|
||||
} // namespace QmlJS
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif
|
Reference in New Issue
Block a user