Separate bind into bind, link imports and building the scope chain.

This commit is contained in:
Christian Kamm
2010-01-28 14:53:53 +01:00
parent 2ab90078f4
commit 1d39377fb1
7 changed files with 261 additions and 97 deletions

View File

@@ -0,0 +1,31 @@
#ifndef QMLJSLINK_H
#define QMLJSLINK_H
#include <qmljs/qmljsinterpreter.h>
#include <qmljs/parser/qmljsastfwd_p.h>
#include <qmljs/parser/qmljsengine_p.h>
#include <QtCore/QList>
namespace QmlJS {
class Bind;
class LinkImports
{
public:
void operator()(const QList<Bind *> &binds);
private:
void importObject(Bind *bind, const QString &name, Interpreter::ObjectValue *object, NameId* targetNamespace);
void linkImports(Bind *bind, const QList<Bind *> &binds);
};
class Link
{
public:
Interpreter::ObjectValue *operator()(const QList<Bind *> &binds, Bind *currentBind, AST::UiObjectMember *currentObject);
};
} // namespace QmlJS
#endif // QMLJSLINK_H