From 60bd9bd83f70102a72a0df9fa2ed021e3b5a4d36 Mon Sep 17 00:00:00 2001 From: Jedrzej Nowacki Date: Tue, 18 Aug 2009 11:45:59 +0200 Subject: Clean up Remove old unused visitors code. Reviewed-by: Kent Hansen --- src/script/script.pri | 1 - src/script/visitors/qscriptxmlgenerator.cpp | 1110 --------------------------- src/script/visitors/qscriptxmlgenerator_p.h | 326 -------- 3 files changed, 1437 deletions(-) delete mode 100644 src/script/visitors/qscriptxmlgenerator.cpp delete mode 100644 src/script/visitors/qscriptxmlgenerator_p.h diff --git a/src/script/script.pri b/src/script/script.pri index c5963ac..2ee1a82 100644 --- a/src/script/script.pri +++ b/src/script/script.pri @@ -1,5 +1,4 @@ include($$PWD/api/api.pri) include($$PWD/bridge/bridge.pri) include($$PWD/parser/parser.pri) -include($$PWD/visitors/visitors.pri) include($$PWD/utils/utils.pri) diff --git a/src/script/visitors/qscriptxmlgenerator.cpp b/src/script/visitors/qscriptxmlgenerator.cpp deleted file mode 100644 index fa94b14..0000000 --- a/src/script/visitors/qscriptxmlgenerator.cpp +++ /dev/null @@ -1,1110 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtScript 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 http://qt.nokia.com/contact. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "qscriptxmlgenerator_p.h" - -#include "../parser/qscriptast_p.h" - -#include -#include - -QT_BEGIN_NAMESPACE - -typedef double qsreal; // ### - -namespace QScript { - -extern QString numberToString(qsreal value); - -// copy of Qt::escape() (it's in QtGui :-( ) - -static QString escape(const QString& plain) -{ - QString rich; - rich.reserve(int(plain.length() * 1.1)); - for (int i = 0; i < plain.length(); ++i) { - if (plain.at(i) == QLatin1Char('<')) - rich += QLatin1String("<"); - else if (plain.at(i) == QLatin1Char('>')) - rich += QLatin1String(">"); - else if (plain.at(i) == QLatin1Char('&')) - rich += QLatin1String("&"); - else - rich += plain.at(i); - } - return rich; -} - -XmlGenerator::XmlGenerator(QTextStream &o): - out(o), m_indentLevel(-1), m_formatOutput(false) -{ -} - -XmlGenerator::~XmlGenerator() -{ -} - -QTextStream &XmlGenerator::operator()(const QString &program, int lineNumber) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - return out; -} - -QTextStream &XmlGenerator::newlineAndIndent() -{ - enum { IND = 2 }; - if (m_formatOutput) - out << endl << QString().fill(QLatin1Char(' '), m_indentLevel * IND); - return out; -} - -QTextStream &XmlGenerator::startTag(const QString &name, AST::Node *locationNode) -{ - pushIndentLevel(); - newlineAndIndent(); - out << QLatin1Char('<') << name; - if (locationNode) - out << QLatin1String(" line=\"") << locationNode->startLine << QLatin1Char('\"'); - out << QLatin1Char('>'); - return out; -} - -QTextStream &XmlGenerator::endTag(const QString &name) -{ - newlineAndIndent(); - popIndentLevel(); - out << QLatin1String("'); - return out; -} - -void XmlGenerator::accept(AST::Node *node) -{ - AST::Node::acceptChild(node, this); -} - -bool XmlGenerator::visit(AST::ThisExpression *) -{ - pushIndentLevel(); - newlineAndIndent(); - out << QLatin1String(""); - popIndentLevel(); - return true; -} - -void XmlGenerator::endVisit(AST::ThisExpression *) -{ -} - -bool XmlGenerator::visit(AST::IdentifierExpression *node) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - startTag(QLatin1String("identifier")); -// out << escape(QScriptEnginePrivate::toString(node->name)); - out << QLatin1String(""); - popIndentLevel(); - return false; -} - -void XmlGenerator::endVisit(AST::IdentifierExpression *) -{ -} - -bool XmlGenerator::visit(AST::NullExpression *) -{ - pushIndentLevel(); - newlineAndIndent(); - out << QLatin1String(""); - popIndentLevel(); - return false; -} - -void XmlGenerator::endVisit(AST::NullExpression *) -{ -} - -bool XmlGenerator::visit(AST::TrueLiteral *) -{ - pushIndentLevel(); - newlineAndIndent(); - out << QLatin1String(""); - popIndentLevel(); - return false; -} - -void XmlGenerator::endVisit(AST::TrueLiteral *) -{ -} - -bool XmlGenerator::visit(AST::FalseLiteral *) -{ - pushIndentLevel(); - newlineAndIndent(); - out << QLatin1String(""); - popIndentLevel(); - return false; -} - -void XmlGenerator::endVisit(AST::FalseLiteral *) -{ -} - -bool XmlGenerator::visit(AST::StringLiteral *node) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - startTag(QLatin1String("string")); -// out << escape(QScriptEnginePrivate::toString(node->value)) << QLatin1String(""); - popIndentLevel(); - return false; -} - -void XmlGenerator::endVisit(AST::StringLiteral *) -{ -} - -bool XmlGenerator::visit(AST::NumericLiteral *node) -{ - startTag(QLatin1String("number")); - out << QString::number(node->value) << QLatin1String(""); - popIndentLevel(); - return false; -} - -void XmlGenerator::endVisit(AST::NumericLiteral *) -{ -} - -bool XmlGenerator::visit(AST::RegExpLiteral *node) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - startTag(QLatin1String("regexp")); -// out << QLatin1String("/") << escape(QScriptEnginePrivate::toString(node->pattern)) << QLatin1String("/"); -// if (node->flags) -// out << QScript::Ecma::RegExp::flagsToString(node->flags); - out << QLatin1String(""); - popIndentLevel(); - return false; -} - -void XmlGenerator::endVisit(AST::RegExpLiteral *) -{ -} - -bool XmlGenerator::visit(AST::ArrayLiteral *) -{ - startTag(QLatin1String("array-literal")); - return true; -} - -void XmlGenerator::endVisit(AST::ArrayLiteral *) -{ - endTag(QLatin1String("array-literal")); -} - -bool XmlGenerator::visit(AST::ObjectLiteral *) -{ - startTag(QLatin1String("object-literal")); - return true; -} - -void XmlGenerator::endVisit(AST::ObjectLiteral *) -{ - endTag(QLatin1String("object-literal")); -} - -bool XmlGenerator::visit(AST::ElementList *) -{ - startTag(QLatin1String("element-list")); - return true; -} - -void XmlGenerator::endVisit(AST::ElementList *) -{ - endTag(QLatin1String("element-list")); -} - -bool XmlGenerator::visit(AST::Elision *) -{ - startTag(QLatin1String("elision")); // ### count - return true; -} - -void XmlGenerator::endVisit(AST::Elision *) -{ - endTag(QLatin1String("elision")); -} - -bool XmlGenerator::visit(AST::PropertyNameAndValueList *) -{ - startTag(QLatin1String("property-name-and-value-list")); - return true; -} - -void XmlGenerator::endVisit(AST::PropertyNameAndValueList *) -{ - endTag(QLatin1String("property-name-and-value-list")); -} - -bool XmlGenerator::visit(AST::IdentifierPropertyName *node) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - startTag(QLatin1String("identifier")); -// out << escape(QScriptEnginePrivate::toString(node->id)) << QLatin1String(""); - popIndentLevel(); - return false; -} - -void XmlGenerator::endVisit(AST::IdentifierPropertyName *) -{ -} - -bool XmlGenerator::visit(AST::StringLiteralPropertyName *node) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - startTag(QLatin1String("string")); -// out << escape(QScriptEnginePrivate::toString(node->id)) << QLatin1String(""); - popIndentLevel(); - return false; -} - -void XmlGenerator::endVisit(AST::StringLiteralPropertyName *) -{ -} - -bool XmlGenerator::visit(AST::NumericLiteralPropertyName *node) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - startTag(QLatin1String("number")); -// out << escape(QScript::numberToString(node->id)) << QLatin1String(""); - popIndentLevel(); - return false; -} - -void XmlGenerator::endVisit(AST::NumericLiteralPropertyName *) -{ -} - -bool XmlGenerator::visit(AST::ArrayMemberExpression *) -{ - startTag(QLatin1String("array-member-expression")); - return true; -} - -void XmlGenerator::endVisit(AST::ArrayMemberExpression *) -{ - endTag(QLatin1String("array-member-expression")); -} - -bool XmlGenerator::visit(AST::FieldMemberExpression *) -{ - startTag(QLatin1String("field-member-expression")); - return true; -} - -void XmlGenerator::endVisit(AST::FieldMemberExpression *node) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - startTag(QLatin1String("identifier")); -// out << escape(QScriptEnginePrivate::toString(node->name)); - out << QLatin1String(""); - popIndentLevel(); - endTag(QLatin1String("field-member-expression")); -} - -bool XmlGenerator::visit(AST::NewMemberExpression *) -{ - startTag(QLatin1String("new-member-expression")); - return true; -} - -void XmlGenerator::endVisit(AST::NewMemberExpression *) -{ - endTag(QLatin1String("new-member-expression")); -} - -bool XmlGenerator::visit(AST::NewExpression *) -{ - startTag(QLatin1String("new")); - return true; -} - -void XmlGenerator::endVisit(AST::NewExpression *) -{ - endTag(QLatin1String("new")); -} - -bool XmlGenerator::visit(AST::CallExpression *) -{ - startTag(QLatin1String("call")); - return true; -} - -void XmlGenerator::endVisit(AST::CallExpression *) -{ - endTag(QLatin1String("call")); -} - -bool XmlGenerator::visit(AST::ArgumentList *) -{ - startTag(QLatin1String("argument-list")); - return true; -} - -void XmlGenerator::endVisit(AST::ArgumentList *) -{ - endTag(QLatin1String("argument-list")); -} - -bool XmlGenerator::visit(AST::PostIncrementExpression *) -{ - startTag(QLatin1String("post-increment")); - return true; -} - -void XmlGenerator::endVisit(AST::PostIncrementExpression *) -{ - endTag(QLatin1String("post-increment")); -} - -bool XmlGenerator::visit(AST::PostDecrementExpression *) -{ - startTag(QLatin1String("post-decrement")); - return true; -} - -void XmlGenerator::endVisit(AST::PostDecrementExpression *) -{ - endTag(QLatin1String("post-decrement")); -} - -bool XmlGenerator::visit(AST::DeleteExpression *) -{ - startTag(QLatin1String("delete")); - return true; -} - -void XmlGenerator::endVisit(AST::DeleteExpression *) -{ - endTag(QLatin1String("delete")); -} - -bool XmlGenerator::visit(AST::VoidExpression *) -{ - startTag(QLatin1String("void")); - return true; -} - -void XmlGenerator::endVisit(AST::VoidExpression *) -{ - endTag(QLatin1String("void")); -} - -bool XmlGenerator::visit(AST::TypeOfExpression *) -{ - startTag(QLatin1String("typeof")); - return true; -} - -void XmlGenerator::endVisit(AST::TypeOfExpression *) -{ - endTag(QLatin1String("typeof")); -} - -bool XmlGenerator::visit(AST::PreIncrementExpression *) -{ - startTag(QLatin1String("pre-increment")); - return true; -} - -void XmlGenerator::endVisit(AST::PreIncrementExpression *) -{ - endTag(QLatin1String("pre-increment")); -} - -bool XmlGenerator::visit(AST::PreDecrementExpression *) -{ - startTag(QLatin1String("pre-decrement")); - return true; -} - -void XmlGenerator::endVisit(AST::PreDecrementExpression *) -{ - endTag(QLatin1String("pre-decrement")); -} - -bool XmlGenerator::visit(AST::UnaryPlusExpression *) -{ - startTag(QLatin1String("unary-plus")); - return true; -} - -void XmlGenerator::endVisit(AST::UnaryPlusExpression *) -{ - endTag(QLatin1String("unary-plus")); -} - -bool XmlGenerator::visit(AST::UnaryMinusExpression *) -{ - startTag(QLatin1String("unary-minus")); - return true; -} - -void XmlGenerator::endVisit(AST::UnaryMinusExpression *) -{ - endTag(QLatin1String("unary-minus")); -} - -bool XmlGenerator::visit(AST::TildeExpression *) -{ - startTag(QLatin1String("bitwise-not")); - return true; -} - -void XmlGenerator::endVisit(AST::TildeExpression *) -{ - endTag(QLatin1String("bitwise-not")); -} - -bool XmlGenerator::visit(AST::NotExpression *) -{ - startTag(QLatin1String("logical-not")); - return true; -} - -void XmlGenerator::endVisit(AST::NotExpression *) -{ - endTag(QLatin1String("logical-not")); -} - -bool XmlGenerator::visit(AST::BinaryExpression *node) -{ - QString s; - switch (node->op) { - case QSOperator::Add: - s = QLatin1String("+"); break; - case QSOperator::And: - s = QLatin1String("&&"); break; - case QSOperator::InplaceAnd: - s = QLatin1String("&="); break; - case QSOperator::Assign: - s = QLatin1String("="); break; - case QSOperator::BitAnd: - s = QLatin1String("&"); break; - case QSOperator::BitOr: - s = QLatin1String("|"); break; - case QSOperator::BitXor: - s = QLatin1String("^"); break; - case QSOperator::InplaceSub: - s = QLatin1String("-="); break; - case QSOperator::Div: - s = QLatin1String("/"); break; - case QSOperator::InplaceDiv: - s = QLatin1String("/="); break; - case QSOperator::Equal: - s = QLatin1String("=="); break; - case QSOperator::Ge: - s = QLatin1String(">="); break; - case QSOperator::Gt: - s = QLatin1String(">"); break; - case QSOperator::In: - s = QLatin1String("in"); break; - case QSOperator::InplaceAdd: - s = QLatin1String("+="); break; - case QSOperator::InstanceOf: - s = QLatin1String("instanceof"); break; - case QSOperator::Le: - s = QLatin1String("<="); break; - case QSOperator::LShift: - s = QLatin1String("<<"); break; - case QSOperator::InplaceLeftShift: - s = QLatin1String("<<="); break; - case QSOperator::Lt: - s = QLatin1String("<"); break; - case QSOperator::Mod: - s = QLatin1String("%"); break; - case QSOperator::InplaceMod: - s = QLatin1String("%="); break; - case QSOperator::Mul: - s = QLatin1String("*"); break; - case QSOperator::InplaceMul: - s = QLatin1String("*="); break; - case QSOperator::NotEqual: - s = QLatin1String("!="); break; - case QSOperator::Or: - s = QLatin1String("||"); break; - case QSOperator::InplaceOr: - s = QLatin1String("|="); break; - case QSOperator::RShift: - s = QLatin1String(">>"); break; - case QSOperator::InplaceRightShift: - s = QLatin1String(">>="); break; - case QSOperator::StrictEqual: - s = QLatin1String("==="); break; - case QSOperator::StrictNotEqual: - s = QLatin1String("!=="); break; - case QSOperator::Sub: - s = QLatin1String("-"); break; - case QSOperator::URShift: - s = QLatin1String(">>>"); break; - case QSOperator::InplaceURightShift: - s = QLatin1String(">>>="); break; - case QSOperator::InplaceXor: - s = QLatin1String("^="); break; - default: - Q_ASSERT (0); - } - pushIndentLevel(); - newlineAndIndent(); - out << QLatin1String(""); - return true; -} - -void XmlGenerator::endVisit(AST::BinaryExpression *) -{ - endTag(QLatin1String("binary-expression")); -} - -bool XmlGenerator::visit(AST::ConditionalExpression *) -{ - startTag(QLatin1String("conditional")); - return true; -} - -void XmlGenerator::endVisit(AST::ConditionalExpression *) -{ - endTag(QLatin1String("conditional")); -} - -bool XmlGenerator::visit(AST::Expression *) -{ - startTag(QLatin1String("comma-expression")); - return true; -} - -void XmlGenerator::endVisit(AST::Expression *) -{ - endTag(QLatin1String("comma-expression")); -} - -bool XmlGenerator::visit(AST::Block *) -{ - startTag(QLatin1String("block")); - return true; -} - -void XmlGenerator::endVisit(AST::Block *) -{ - endTag(QLatin1String("block")); -} - -bool XmlGenerator::visit(AST::StatementList *) -{ - startTag(QLatin1String("statement-list")); - return true; -} - -void XmlGenerator::endVisit(AST::StatementList *) -{ - endTag(QLatin1String("statement-list")); -} - -bool XmlGenerator::visit(AST::VariableDeclarationList *) -{ - startTag(QLatin1String("variable-declaration-list")); - return true; -} - -void XmlGenerator::endVisit(AST::VariableDeclarationList *) -{ - endTag(QLatin1String("variable-declaration-list")); -} - -bool XmlGenerator::visit(AST::VariableStatement *node) -{ - startTag(QLatin1String("variable-statement"), node); - return true; -} - -void XmlGenerator::endVisit(AST::VariableStatement *) -{ - endTag(QLatin1String("variable-statement")); -} - -bool XmlGenerator::visit(AST::VariableDeclaration *node) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - startTag(QLatin1String("variable-declaration"), node); - startTag(QLatin1String("name")); -// out << escape(QScriptEnginePrivate::toString(node->name)); - out << QLatin1String(""); - popIndentLevel(); - return true; -} - -void XmlGenerator::endVisit(AST::VariableDeclaration *) -{ - endTag(QLatin1String("variable-declaration")); -} - -bool XmlGenerator::visit(AST::EmptyStatement *node) -{ - startTag(QLatin1String("empty-statement"), node); - return true; -} - -void XmlGenerator::endVisit(AST::EmptyStatement *) -{ - endTag(QLatin1String("empty-statement")); -} - -bool XmlGenerator::visit(AST::ExpressionStatement *node) -{ - startTag(QLatin1String("expression-statement"), node); - return true; -} - -void XmlGenerator::endVisit(AST::ExpressionStatement *) -{ - endTag(QLatin1String("expression-statement")); -} - -bool XmlGenerator::visit(AST::IfStatement *node) -{ - startTag(QLatin1String("if"), node); - return true; -} - -void XmlGenerator::endVisit(AST::IfStatement *) -{ - endTag(QLatin1String("if")); -} - -bool XmlGenerator::visit(AST::DoWhileStatement *node) -{ - startTag(QLatin1String("do-while"), node); - return true; -} - -void XmlGenerator::endVisit(AST::DoWhileStatement *) -{ - endTag(QLatin1String("do-while")); -} - -bool XmlGenerator::visit(AST::WhileStatement *node) -{ - startTag(QLatin1String("while"), node); - return true; -} - -void XmlGenerator::endVisit(AST::WhileStatement *) -{ - endTag(QLatin1String("while")); -} - -bool XmlGenerator::visit(AST::ForStatement *node) -{ - startTag(QLatin1String("for"), node); - return true; -} - -void XmlGenerator::endVisit(AST::ForStatement *) -{ - endTag(QLatin1String("for")); -} - -bool XmlGenerator::visit(AST::LocalForStatement *node) -{ - startTag(QLatin1String("for"), node); - return true; -} - -void XmlGenerator::endVisit(AST::LocalForStatement *) -{ - endTag(QLatin1String("for")); -} - -bool XmlGenerator::visit(AST::ForEachStatement *node) -{ - startTag(QLatin1String("for-in"), node); - return false; -} - -void XmlGenerator::endVisit(AST::ForEachStatement *) -{ - endTag(QLatin1String("for-in")); -} - -bool XmlGenerator::visit(AST::LocalForEachStatement *node) -{ - startTag(QLatin1String("for-in"), node); - return true; -} - -void XmlGenerator::endVisit(AST::LocalForEachStatement *) -{ - endTag(QLatin1String("for-in")); -} - -bool XmlGenerator::visit(AST::ContinueStatement *node) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - startTag(QLatin1String("continue"), node); - if (node->label) { - startTag(QLatin1String("label")); -// out << escape(QScriptEnginePrivate::toString(node->label)); - out << QLatin1String(""); - popIndentLevel(); - } - return true; -} - -void XmlGenerator::endVisit(AST::ContinueStatement *) -{ - endTag(QLatin1String("continue")); -} - -bool XmlGenerator::visit(AST::BreakStatement *node) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - startTag(QLatin1String("break"), node); - if (node->label) { - startTag(QLatin1String("label")); -// out << escape(QScriptEnginePrivate::toString(node->label)); - out << QLatin1String(""); - popIndentLevel(); - } - return true; -} - -void XmlGenerator::endVisit(AST::BreakStatement *) -{ - endTag(QLatin1String("break")); -} - -bool XmlGenerator::visit(AST::ReturnStatement *node) -{ - startTag(QLatin1String("return"), node); - return true; -} - -void XmlGenerator::endVisit(AST::ReturnStatement *) -{ - endTag(QLatin1String("return")); -} - -bool XmlGenerator::visit(AST::WithStatement *node) -{ - startTag(QLatin1String("with"), node); - return true; -} - -void XmlGenerator::endVisit(AST::WithStatement *) -{ - endTag(QLatin1String("with")); -} - -bool XmlGenerator::visit(AST::SwitchStatement *node) -{ - startTag(QLatin1String("switch"), node); - return true; -} - -void XmlGenerator::endVisit(AST::SwitchStatement *) -{ - endTag(QLatin1String("switch")); -} - -bool XmlGenerator::visit(AST::CaseBlock *) -{ - startTag(QLatin1String("case-block")); - return true; -} - -void XmlGenerator::endVisit(AST::CaseBlock *) -{ - endTag(QLatin1String("case-block")); -} - -bool XmlGenerator::visit(AST::CaseClauses *) -{ - startTag(QLatin1String("case-clauses")); - return true; -} - -void XmlGenerator::endVisit(AST::CaseClauses *) -{ - endTag(QLatin1String("case-clauses")); -} - -bool XmlGenerator::visit(AST::CaseClause *) -{ - startTag(QLatin1String("case-clause")); - return true; -} - -void XmlGenerator::endVisit(AST::CaseClause *) -{ - endTag(QLatin1String("case-clause")); -} - -bool XmlGenerator::visit(AST::DefaultClause *) -{ - startTag(QLatin1String("default-clause")); - return true; -} - -void XmlGenerator::endVisit(AST::DefaultClause *) -{ - endTag(QLatin1String("default-clause")); -} - -bool XmlGenerator::visit(AST::LabelledStatement *node) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - startTag(QLatin1String("labelled-statement"), node); - startTag(QLatin1String("label")); -// out << escape(QScriptEnginePrivate::toString(node->label)); - out << QLatin1String(""); - popIndentLevel(); - return true; -} - -void XmlGenerator::endVisit(AST::LabelledStatement *) -{ - endTag(QLatin1String("labelled-statement")); -} - -bool XmlGenerator::visit(AST::ThrowStatement *node) -{ - startTag(QLatin1String("throw"), node); - return true; -} - -void XmlGenerator::endVisit(AST::ThrowStatement *) -{ - endTag(QLatin1String("throw")); -} - -bool XmlGenerator::visit(AST::TryStatement *node) -{ - startTag(QLatin1String("try"), node); - return true; -} - -void XmlGenerator::endVisit(AST::TryStatement *) -{ - endTag(QLatin1String("try")); -} - -bool XmlGenerator::visit(AST::Catch *node) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - startTag(QLatin1String("catch")); - startTag(QLatin1String("identifier")); -// out << escape(QScriptEnginePrivate::toString(node->name)); - out << QLatin1String(""); - popIndentLevel(); - return true; -} - -void XmlGenerator::endVisit(AST::Catch *) -{ - endTag(QLatin1String("catch")); -} - -bool XmlGenerator::visit(AST::Finally *) -{ - startTag(QLatin1String("finally")); - return true; -} - -void XmlGenerator::endVisit(AST::Finally *) -{ - endTag(QLatin1String("finally")); -} - -bool XmlGenerator::visit(AST::FunctionDeclaration *node) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - startTag(QLatin1String("function-declaration"), node); - startTag(QLatin1String("name")); -// if (node->name) -// out << escape(QScriptEnginePrivate::toString(node->name)); - out << QLatin1String(""); - popIndentLevel(); - if (!node->formals) { - startTag(QLatin1String("formal-parameter-list")); - endTag(QLatin1String("formal-parameter-list")); - } - if (!node->body) { - startTag(QLatin1String("function-body")); - endTag(QLatin1String("function-body")); - } - return true; -} - -void XmlGenerator::endVisit(AST::FunctionDeclaration *) -{ - endTag(QLatin1String("function-declaration")); -} - -bool XmlGenerator::visit(AST::FunctionExpression *node) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - startTag(QLatin1String("function-expression"), node); - startTag(QLatin1String("name")); -// if (node->name) -// out << escape(QScriptEnginePrivate::toString(node->name)); - out << QLatin1String(""); - if (!node->formals) { - startTag(QLatin1String("formal-parameter-list")); - endTag(QLatin1String("formal-parameter-list")); - } - if (!node->body) { - startTag(QLatin1String("function-body")); - endTag(QLatin1String("function-body")); - } - return true; -} - -void XmlGenerator::endVisit(AST::FunctionExpression *) -{ - endTag(QLatin1String("function-expression")); -} - -bool XmlGenerator::visit(AST::FormalParameterList *node) -{ - Q_ASSERT_X(false, Q_FUNC_INFO, "not implemented"); - Q_UNUSED(node); - startTag(QLatin1String("formal-parameter-list")); - for (AST::FormalParameterList *it = node; it; it = it->next) { - startTag(QLatin1String("identifier")); -// out << escape(QScriptEnginePrivate::toString(it->name)); - out << QLatin1String(""); - popIndentLevel(); - } - return true; -} - -void XmlGenerator::endVisit(AST::FormalParameterList *) -{ - endTag(QLatin1String("formal-parameter-list")); -} - -bool XmlGenerator::visit(AST::FunctionBody *) -{ - startTag(QLatin1String("function-body")); - return true; -} - -void XmlGenerator::endVisit(AST::FunctionBody *) -{ - endTag(QLatin1String("function-body")); -} - -bool XmlGenerator::visit(AST::Program *) -{ - startTag(QLatin1String("program")); - return true; -} - -void XmlGenerator::endVisit(AST::Program *) -{ - endTag(QLatin1String("program")); -} - -bool XmlGenerator::visit(AST::SourceElements *) -{ - startTag(QLatin1String("source-elements")); - return true; -} - -void XmlGenerator::endVisit(AST::SourceElements *) -{ - endTag(QLatin1String("source-elements")); -} - -bool XmlGenerator::visit(AST::FunctionSourceElement *) -{ - return true; -} - -void XmlGenerator::endVisit(AST::FunctionSourceElement *) -{ -} - -bool XmlGenerator::visit(AST::StatementSourceElement *) -{ - return true; -} - -void XmlGenerator::endVisit(AST::StatementSourceElement *) -{ -} - -bool XmlGenerator::visit(AST::DebuggerStatement *node) -{ - startTag(QLatin1String("debugger-statement"), node); - return true; -} - -void XmlGenerator::endVisit(AST::DebuggerStatement *) -{ - endTag(QLatin1String("debugger-statement")); -} - -bool XmlGenerator::preVisit(AST::Node *) -{ - return true; -} - -} // namespace QScript - -Q_SCRIPT_EXPORT QString qt_scriptToXml(const QString &program, int lineNumber = 1) -{ - QString result; - QTextStream out(&result, QIODevice::WriteOnly); - QScript::XmlGenerator gen(out); - gen(program, lineNumber); - out.flush(); - return result; -} - -QT_END_NAMESPACE diff --git a/src/script/visitors/qscriptxmlgenerator_p.h b/src/script/visitors/qscriptxmlgenerator_p.h deleted file mode 100644 index 3b4da97..0000000 --- a/src/script/visitors/qscriptxmlgenerator_p.h +++ /dev/null @@ -1,326 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtScript 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 http://qt.nokia.com/contact. -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef QSCRIPTXMLGENERATOR_P_H -#define QSCRIPTXMLGENERATOR_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 - -#include "../parser/qscriptastvisitor_p.h" - -QT_BEGIN_NAMESPACE - -class QTextStream; - -namespace QScript { - -class XmlGenerator: protected AST::Visitor -{ -public: - XmlGenerator(QTextStream &out); - virtual ~XmlGenerator(); - - QTextStream &operator()(const QString &program, int lineNumber = 1); - -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); - -private: - int indentLevel(int level) - { - int was = m_indentLevel; - m_indentLevel = level; - return was; - } - - void pushIndentLevel() - { ++m_indentLevel; } - - void popIndentLevel() - { --m_indentLevel; } - - QTextStream &newlineAndIndent(); - QTextStream &startTag(const QString &name, AST::Node *locationNode = 0); - QTextStream &endTag(const QString &name); - -private: - QTextStream &out; - int m_indentLevel; - bool m_formatOutput; -}; - -} // namespace QScript - -QT_END_NAMESPACE - -#endif -- cgit v0.12