QmlJS: Move commonly used functions to qmlutils.h.

Change-Id: I22376d96fe575bc00a55094c06af80e32a5587e6
Reviewed-on: http://codereview.qt-project.org/6238
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
This commit is contained in:
Christian Kamm
2011-10-07 14:04:06 +02:00
parent 737aaf02b4
commit a7f78991c9
30 changed files with 308 additions and 396 deletions

View File

@@ -33,10 +33,12 @@
#include "qmljslocatordata.h"
#include <qmljs/qmljsmodelmanagerinterface.h>
#include <qmljs/qmljsbind.h>
#include <qmljs/qmljsutils.h>
//#include <qmljs/qmljsinterpreter.h>
#include <qmljs/parser/qmljsast_p.h>
#include <QtCore/QFileInfo>
using namespace QmlJSTools::Internal;
using namespace QmlJS;
using namespace QmlJS::AST;
@@ -56,26 +58,6 @@ LocatorData::~LocatorData()
{}
namespace {
static QString findId(UiObjectInitializer *initializer)
{
if (!initializer)
return QString();
for (UiObjectMemberList *member = initializer->members; member; member = member->next) {
if (UiScriptBinding *script = cast<UiScriptBinding *>(member->member)) {
if (!script->qualifiedId || script->qualifiedId->name.isEmpty() || script->qualifiedId->next)
continue;
if (script->qualifiedId->name != QLatin1String("id"))
continue;
if (ExpressionStatement *expStmt = cast<ExpressionStatement *>(script->statement)) {
if (IdentifierExpression *identExp = cast<IdentifierExpression *>(expStmt->expression)) {
if (!identExp->name.isEmpty())
return identExp->name.toString();
}
}
}
}
return QString();
}
class FunctionFinder : protected AST::Visitor
{
@@ -159,7 +141,7 @@ protected:
{
if (!ast->qualifiedId)
return true;
const QString qualifiedIdString = Bind::toString(ast->qualifiedId);
const QString qualifiedIdString = toString(ast->qualifiedId);
if (cast<Block *>(ast->statement)) {
LocatorData::Entry entry = basicEntry(ast->qualifiedId->identifierToken);
@@ -168,7 +150,7 @@ protected:
m_entries += entry;
}
accept(ast->statement, contextString(Bind::toString(ast->qualifiedId)));
accept(ast->statement, contextString(toString(ast->qualifiedId)));
return false;
}
@@ -177,8 +159,8 @@ protected:
if (!ast->qualifiedTypeNameId)
return true;
QString context = Bind::toString(ast->qualifiedTypeNameId);
const QString id = findId(ast->initializer);
QString context = toString(ast->qualifiedTypeNameId);
const QString id = idOfObject(ast->initializer);
if (!id.isEmpty())
context = QString("%1 (%2)").arg(id, context);
accept(ast->initializer, contextString(context));
@@ -190,8 +172,8 @@ protected:
if (!ast->qualifiedTypeNameId)
return true;
QString context = Bind::toString(ast->qualifiedTypeNameId);
const QString id = findId(ast->initializer);
QString context = toString(ast->qualifiedTypeNameId);
const QString id = idOfObject(ast->initializer);
if (!id.isEmpty())
context = QString("%1 (%2)").arg(id, context);
accept(ast->initializer, contextString(context));