32class Q_AUTOTEST_EXPORT QQmlScriptData final :
public QQmlRefCounted<QQmlScriptData>
35 friend class QQmlTypeLoader;
37 QQmlScriptData() =
default;
42 QQmlRefPointer<QQmlTypeNameCache> typeNameCache;
43 QList<QQmlRefPointer<QQmlScriptData>> scripts;
45 QV4::ReturnedValue scriptValueForContext(
const QQmlRefPointer<QQmlContextData> &parentCtxt);
47 QQmlRefPointer<QV4::CompiledData::CompilationUnit> compilationUnit()
const
49 return m_precompiledScript;
53 friend class QQmlScriptBlob;
54 friend struct QV4::ExecutionEngine;
56 QQmlRefPointer<QQmlContextData> qmlContextDataForContext(
57 const QQmlRefPointer<QQmlContextData> &parentQmlContextData);
59 template<
typename WithExecutableCU>
60 QV4::ReturnedValue handleOwnScriptValueOrExecutableCU(
61 QV4::ExecutionEngine *v4,
62 WithExecutableCU &&withExecutableCU)
const
66 if (!m_precompiledScript)
67 return QV4::Value::emptyValue().asReturnedValue();
69 return withExecutableCU(v4->executableCompilationUnit(
70 QQmlRefPointer<QV4::CompiledData::CompilationUnit>(m_precompiledScript)));
73 QQmlRefPointer<QV4::CompiledData::CompilationUnit> m_precompiledScript;