summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml
diff options
context:
space:
mode:
authorMartin Jones <martin.jones@nokia.com>2010-08-30 03:48:50 (GMT)
committerMartin Jones <martin.jones@nokia.com>2010-08-30 03:48:50 (GMT)
commit7c81d90e490a95c67e0d0c9a184be479bd59817a (patch)
tree587afd358fdac0c1bf8617fe1069bac80de4b596 /src/declarative/qml
parentfd5770529a6c712527d0d80cd394d6557e7e8cb9 (diff)
parentbd521ed56f8e4be7117dc3534c6fded68f7a70c5 (diff)
downloadQt-7c81d90e490a95c67e0d0c9a184be479bd59817a.zip
Qt-7c81d90e490a95c67e0d0c9a184be479bd59817a.tar.gz
Qt-7c81d90e490a95c67e0d0c9a184be479bd59817a.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7
Diffstat (limited to 'src/declarative/qml')
-rw-r--r--src/declarative/qml/qdeclarativecompiler.cpp9
-rw-r--r--src/declarative/qml/qdeclarativecontext.cpp8
-rw-r--r--src/declarative/qml/qdeclarativeparser_p.h7
3 files changed, 11 insertions, 13 deletions
diff --git a/src/declarative/qml/qdeclarativecompiler.cpp b/src/declarative/qml/qdeclarativecompiler.cpp
index 34d33bb..f044e1a 100644
--- a/src/declarative/qml/qdeclarativecompiler.cpp
+++ b/src/declarative/qml/qdeclarativecompiler.cpp
@@ -668,13 +668,14 @@ void QDeclarativeCompiler::compileTree(Object *tree)
QString scriptCode = QString::fromUtf8(unit->scripts.at(ii).resource->data);
Object::ScriptBlock::Pragmas pragmas = QDeclarativeScriptParser::extractPragmas(scriptCode);
+ Q_ASSERT(!importedScripts.contains(unit->scripts.at(ii).qualifier));
+
if (!scriptCode.isEmpty()) {
Object::ScriptBlock &scriptBlock = importedScripts[unit->scripts.at(ii).qualifier];
- scriptBlock.codes.append(scriptCode);
- scriptBlock.lineNumbers.append(1);
- scriptBlock.files.append(unit->scripts.at(ii).resource->url);
- scriptBlock.pragmas.append(pragmas);
+ scriptBlock.code = scriptCode;
+ scriptBlock.file = unit->scripts.at(ii).resource->url;
+ scriptBlock.pragmas = pragmas;
}
}
diff --git a/src/declarative/qml/qdeclarativecontext.cpp b/src/declarative/qml/qdeclarativecontext.cpp
index a3b16d9..de45a95 100644
--- a/src/declarative/qml/qdeclarativecontext.cpp
+++ b/src/declarative/qml/qdeclarativecontext.cpp
@@ -660,14 +660,12 @@ void QDeclarativeContextData::addImportedScript(const QDeclarativeParser::Object
if (!engine)
return;
- Q_ASSERT(script.codes.count() == 1);
-
QDeclarativeEnginePrivate *enginePriv = QDeclarativeEnginePrivate::get(engine);
QScriptEngine *scriptEngine = QDeclarativeEnginePrivate::getScriptEngine(engine);
- const QString &code = script.codes.at(0);
- const QString &url = script.files.at(0);
- const QDeclarativeParser::Object::ScriptBlock::Pragmas &pragmas = script.pragmas.at(0);
+ const QString &code = script.code;
+ const QString &url = script.file;
+ const QDeclarativeParser::Object::ScriptBlock::Pragmas &pragmas = script.pragmas;
Q_ASSERT(!url.isEmpty());
diff --git a/src/declarative/qml/qdeclarativeparser_p.h b/src/declarative/qml/qdeclarativeparser_p.h
index d192f3a..c58aebc 100644
--- a/src/declarative/qml/qdeclarativeparser_p.h
+++ b/src/declarative/qml/qdeclarativeparser_p.h
@@ -183,10 +183,9 @@ namespace QDeclarativeParser
};
Q_DECLARE_FLAGS(Pragmas, Pragma)
- QStringList codes;
- QStringList files;
- QList<int> lineNumbers;
- QList<Pragmas> pragmas;
+ QString code;
+ QString file;
+ Pragmas pragmas;
};
// The bytes to cast instances by to get to the QDeclarativeParserStatus