aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml/qqmltypeloader.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@qt.io>2018-01-23 14:14:47 +0100
committerLars Knoll <lars.knoll@qt.io>2018-01-28 16:37:30 +0000
commit6ef66a5dfe938a23c67c0aef0d6c7ebc98b8cca8 (patch)
treee4a1d343302d981b31fc4ebd22e0b6e88fc12c16 /src/qml/qml/qqmltypeloader.cpp
parente5b157275d7b924e1a0f39d27958a7ad1eed9cef (diff)
Remove private API dependency of qmlcachegen generated code
Since the compilation unit does not have a backend anymore, we can create it in QtQml itself instead of in generated stub code. That removes the last dependency to private headers in the generated code. Change-Id: I186fc5bd679476b1a4714e4e3ba0ac00b55676cf Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/qml/qqmltypeloader.cpp')
-rw-r--r--src/qml/qml/qqmltypeloader.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/qml/qml/qqmltypeloader.cpp b/src/qml/qml/qqmltypeloader.cpp
index 132c0f64c0..4a22996a52 100644
--- a/src/qml/qml/qqmltypeloader.cpp
+++ b/src/qml/qml/qqmltypeloader.cpp
@@ -2431,7 +2431,7 @@ void QQmlTypeData::initializeFromCachedUnit(const QQmlPrivate::CachedQmlUnit *un
QmlIR::IRLoader loader(unit->qmlData, m_document.data());
loader.load();
m_document->jsModule.fileName = finalUrlString();
- m_document->javaScriptCompilationUnit.adopt(unit->createCompilationUnit());
+ m_document->javaScriptCompilationUnit.adopt(new QV4::CompiledData::CompilationUnit(unit->qmlData));
continueLoadFromIR();
}
@@ -3013,7 +3013,9 @@ void QQmlScriptBlob::dataReceived(const SourceCodeData &data)
void QQmlScriptBlob::initializeFromCachedUnit(const QQmlPrivate::CachedQmlUnit *unit)
{
- initializeFromCompilationUnit(unit->createCompilationUnit());
+ QQmlRefPointer<QV4::CompiledData::CompilationUnit> compilationUnit;
+ compilationUnit.adopt(new QV4::CompiledData::CompilationUnit(unit->qmlData));
+ initializeFromCompilationUnit(compilationUnit);
}
void QQmlScriptBlob::done()
@@ -3075,7 +3077,7 @@ void QQmlScriptBlob::scriptImported(QQmlScriptBlob *blob, const QV4::CompiledDat
m_scripts << ref;
}
-void QQmlScriptBlob::initializeFromCompilationUnit(QV4::CompiledData::CompilationUnit *unit)
+void QQmlScriptBlob::initializeFromCompilationUnit(const QQmlRefPointer<QV4::CompiledData::CompilationUnit> &unit)
{
Q_ASSERT(!m_scriptData);
m_scriptData = new QQmlScriptData();