aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/compiler/qv4jsir_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qml/compiler/qv4jsir_p.h')
-rw-r--r--src/qml/compiler/qv4jsir_p.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/qml/compiler/qv4jsir_p.h b/src/qml/compiler/qv4jsir_p.h
index fb65eb4d8c..8c314a9635 100644
--- a/src/qml/compiler/qv4jsir_p.h
+++ b/src/qml/compiler/qv4jsir_p.h
@@ -480,6 +480,7 @@ struct Name: Expr {
const QString *id;
Builtin builtin;
bool global : 1;
+ bool forceLookup : 1;
bool qmlSingleton : 1;
bool freeOfSideEffects : 1;
quint32 line;
@@ -487,7 +488,7 @@ struct Name: Expr {
Name(): Expr(NameExpr) {}
- void initGlobal(const QString *id, quint32 line, quint32 column);
+ void initGlobal(const QString *id, quint32 line, quint32 column, bool forceLookup = false);
void init(const QString *id, quint32 line, quint32 column);
void init(Builtin builtin, quint32 line, quint32 column);
@@ -952,6 +953,7 @@ struct Q_QML_PRIVATE_EXPORT Module {
QVector<Function *> functions;
Function *rootFunction;
QString fileName;
+ QString finalUrl;
QDateTime sourceTimeStamp;
bool isQmlModule; // implies rootFunction is always 0
uint unitFlags; // flags merged into CompiledData::Unit::flags
@@ -977,6 +979,7 @@ struct Q_QML_PRIVATE_EXPORT Module {
~Module();
void setFileName(const QString &name);
+ void setFinalUrl(const QString &url);
};
struct BasicBlock {
@@ -1139,7 +1142,7 @@ public:
Name *NAME(const QString &id, quint32 line, quint32 column);
Name *NAME(Name::Builtin builtin, quint32 line, quint32 column);
- Name *GLOBALNAME(const QString &id, quint32 line, quint32 column);
+ Name *GLOBALNAME(const QString &id, quint32 line, quint32 column, bool forceLookup = false);
Closure *CLOSURE(int functionInModule);
@@ -1607,11 +1610,11 @@ inline Name *BasicBlock::NAME(const QString &id, quint32 line, quint32 column)
return e;
}
-inline Name *BasicBlock::GLOBALNAME(const QString &id, quint32 line, quint32 column)
+inline Name *BasicBlock::GLOBALNAME(const QString &id, quint32 line, quint32 column, bool forceLookup)
{
Q_ASSERT(!isRemoved());
Name *e = function->New<Name>();
- e->initGlobal(function->newString(id), line, column);
+ e->initGlobal(function->newString(id), line, column, forceLookup);
return e;
}