![]() |
Qt 6.x
The Qt SDK
|
#include <qv4executablecompilationunit_p.h>
Classes | |
struct | FunctionIterator |
class | IdToObjectMap |
struct | TranslationDataIndex |
Public Types | |
enum class | ListPropertyAssignBehavior { Append , Replace , ReplaceIfNotDefault } |
using | CompiledObject = const CompiledData::Object |
using | CompiledFunction = const CompiledData::Function |
using | CompiledBinding = const CompiledData::Binding |
![]() | |
using | CompiledObject = CompiledData::Object |
Static Public Member Functions | |
static QQmlRefPointer< ExecutableCompilationUnit > | create (CompiledData::CompilationUnit &&compilationUnit) |
static QQmlRefPointer< ExecutableCompilationUnit > | create () |
static QString | localCacheFilePath (const QUrl &url) |
static bool | verifyHeader (const CompiledData::Unit *unit, QDateTime expectedSourceTimeStamp, QString *errorString) |
Protected Member Functions | |
quint32 | totalStringCount () const |
![]() | |
~QQmlRefCounted () | |
Friends | |
class | QQmlRefCounted< ExecutableCompilationUnit > |
class | QQmlRefPointer< ExecutableCompilationUnit > |
Definition at line 68 of file qv4executablecompilationunit_p.h.
Definition at line 174 of file qv4executablecompilationunit_p.h.
Definition at line 173 of file qv4executablecompilationunit_p.h.
Definition at line 172 of file qv4executablecompilationunit_p.h.
|
strong |
Enumerator | |
---|---|
Append | |
Replace | |
ReplaceIfNotDefault |
Definition at line 175 of file qv4executablecompilationunit_p.h.
QString QV4::ExecutableCompilationUnit::bindingValueAsString | ( | const CompiledData::Binding * | binding | ) | const |
Definition at line 935 of file qv4executablecompilationunit.cpp.
References Q_FALLTHROUGH, QV4::CompiledData::Binding::translationDataIndex, QV4::CompiledData::Binding::type(), and QV4::CompiledData::Binding::value.
Referenced by QQuickPropertyChangesPrivate::decodeBinding(), and StringOrTranslation::toString().
|
inlinestatic |
Definition at line 85 of file qv4executablecompilationunit_p.h.
Referenced by QQmlTypeCompiler::compile(), QV4::ExecutionEngine::compileModule(), QV4::ExecutionEngine::compileModule(), QV4::Script::createFromFileOrCache(), QQmlScriptBlob::dataReceived(), QQmlScriptBlob::initializeFromCachedUnit(), QV4::Script::parse(), and QV4::FunctionCtor::parse().
|
inlinestatic |
Definition at line 77 of file qv4executablecompilationunit_p.h.
void QV4::ExecutableCompilationUnit::evaluate | ( | ) |
Definition at line 818 of file qv4executablecompilationunit.cpp.
References engine.
void QV4::ExecutableCompilationUnit::evaluateModuleRequests | ( | ) |
Definition at line 825 of file qv4executablecompilationunit.cpp.
References engine, Q_ASSERT, and request.
Referenced by QV4::Module::evaluate().
|
inline |
Definition at line 277 of file qv4executablecompilationunit_p.h.
Definition at line 384 of file qv4executablecompilationunit.cpp.
References QQmlMetaType::findCompositeType(), i, QV4::CompiledData::Object::IsInlineComponentRoot, QV4::CompiledData::Object::IsPartOfInlineComponent, it, QQmlMetaType::NonSingleton, QV4::processInlinComponentType(), Q_ASSERT, QQmlMetaType::registerInternalCompositeType(), and QQmlMetaType::Singleton.
Referenced by QQmlTypeData::done().
|
inline |
Definition at line 103 of file qv4executablecompilationunit_p.h.
Referenced by QV4::ExecutionEngine::loadModule(), QV4::ExecutionEngine::moduleForUrl(), and QQmlContextData::url().
|
inline |
Definition at line 197 of file qv4executablecompilationunit_p.h.
Referenced by QV4::Function::Function().
|
inline |
Definition at line 224 of file qv4executablecompilationunit_p.h.
|
inline |
Definition at line 223 of file qv4executablecompilationunit_p.h.
|
inline |
Definition at line 156 of file qv4executablecompilationunit_p.h.
Referenced by QQmlComponentPrivate::beginCreate(), and QQmlComponentPrivate::incubateObject().
Heap::Module * QV4::ExecutableCompilationUnit::instantiate | ( | ExecutionEngine * | engine | ) |
Definition at line 541 of file qv4executablecompilationunit.cpp.
References QV4::IdentifierTable::asPropertyKey(), engine, QV4::Scope::engine, errorMessage(), fileName, i, QV4::EngineBase::identifierTable, o, QStringLiteral, QUrl::RemoveFragment, request, QUrl::setFragment(), QJSEngine::throwError(), QUrl::toString(), and url.
Referenced by QQmlScriptData::scriptValueForContext().
|
inline |
Definition at line 259 of file qv4executablecompilationunit_p.h.
Referenced by QQmlScriptData::scriptValueForContext().
|
inline |
Definition at line 264 of file qv4executablecompilationunit_p.h.
Referenced by QQmlScriptData::scriptValueForContext().
QV4::Function * QV4::ExecutableCompilationUnit::linkToEngine | ( | QV4::ExecutionEngine * | engine | ) |
Definition at line 107 of file qv4executablecompilationunit.cpp.
References QV4::Attr_Accessor, QV4::Attr_Data, QV4::Attr_NotConfigurable, QV4::EngineBase::Class_Object, QV4::RegExp::create(), QV4::Function::create(), QV4::dumpConstantTable(), engine, QQmlPrivate::AOTCompiledFunction::extraData, QV4::CompiledData::RegExp::flags(), QV4::Lookup::forCall, QQmlPrivate::AOTCompiledFunction::functionPtr, QV4::Lookup::getter, QV4::Lookup::getterGeneric(), QV4::Lookup::globalGetter, QV4::Lookup::globalGetterGeneric(), i, QV4::CompiledData::JSClassMember::isAccessor(), j, QV4::CompiledData::Block::localsTable(), QV4::CompiledData::Lookup::mode(), QV4::CompiledData::Lookup::nameIndex(), QV4::Lookup::nameIndex, QV4::CompiledData::JSClassMember::nameOffset(), QV4::CompiledData::Block::nLocals, nullptr, Q_ASSERT, qDebug, qEnvironmentVariableIsSet(), QV4::Lookup::qmlContextPropertyGetter, QV4::Lookup::setter, QV4::Lookup::setterGeneric(), and QV4::CompiledData::RegExp::stringIndex().
Referenced by QQmlEnginePrivate::compilationUnitFromUrl().
|
inline |
Definition at line 188 of file qv4executablecompilationunit_p.h.
bool QV4::ExecutableCompilationUnit::loadFromDisk | ( | const QUrl & | url, |
const QDateTime & | sourceTimeStamp, | ||
QString * | errorString | ||
) |
Definition at line 842 of file qv4executablecompilationunit.cpp.
References QQmlFile::isLocalFile(), qScopeGuard(), QStringLiteral, QV4::CompiledData::Unit::StaticData, url, and QQmlFile::urlToLocalFileOrQrc().
Definition at line 67 of file qv4executablecompilationunit.cpp.
References QCryptographicHash::addData(), QStandardPaths::CacheLocation, QFileInfo::completeSuffix(), directory, QString::fromLocal8Bit(), QString::fromUtf8(), QByteArray::isEmpty(), QDir::mkpath(), qgetenv(), QCryptographicHash::result(), QDir::root(), QCryptographicHash::Sha1, QByteArray::toHex(), QString::toUtf8(), url, QQmlFile::urlToLocalFileOrQrc(), and QStandardPaths::writableLocation().
void QV4::ExecutableCompilationUnit::markObjects | ( | QV4::MarkStack * | markStack | ) |
Definition at line 310 of file qv4executablecompilationunit.cpp.
QStringList QV4::ExecutableCompilationUnit::moduleRequests | ( | ) | const |
Definition at line 532 of file qv4executablecompilationunit.cpp.
References i, requests, and QList< T >::reserve().
|
inline |
Definition at line 346 of file qv4executablecompilationunit_p.h.
References QSet< T >::isEmpty(), it, namedObjectsPerComponentCache, Q_ASSERT, and Q_UNLIKELY.
|
inline |
Definition at line 202 of file qv4executablecompilationunit_p.h.
|
inline |
Definition at line 218 of file qv4executablecompilationunit_p.h.
Referenced by QQmlVMEMetaObject::QQmlVMEMetaObject(), QQuickPropertyChangesPrivate::decodeBinding(), QQmlData::deferData(), and QQmlContextData::initFromTypeCompilationUnit().
|
inline |
Definition at line 217 of file qv4executablecompilationunit_p.h.
|
inline |
Definition at line 249 of file qv4executablecompilationunit_p.h.
|
inline |
Definition at line 254 of file qv4executablecompilationunit_p.h.
QQmlType QV4::ExecutableCompilationUnit::qmlTypeForComponent | ( | const QString & | inlineComponentName = QString() | ) | const |
Definition at line 525 of file qv4executablecompilationunit.cpp.
References QString::isEmpty().
Referenced by QV4::Function::Function().
|
inline |
Definition at line 146 of file qv4executablecompilationunit_p.h.
References QHash< Key, T >::value().
|
inline |
Definition at line 271 of file qv4executablecompilationunit_p.h.
|
inline |
Definition at line 119 of file qv4executablecompilationunit_p.h.
References QQmlPropertyCacheVector::at().
Referenced by QQmlTypePrivate::compositePropertyCache(), QV4::ResolvedTypeReference::createPropertyCache(), QV4::ResolvedTypeReference::doDynamicTypeCheck(), QV4::ResolvedTypeReference::propertyCache(), and QQmlTypePrivate::resolveCompositeBaseType().
Definition at line 887 of file qv4executablecompilationunit.cpp.
References QQmlFile::isLocalFile(), QStringLiteral, and QV4::CompiledData::SaveableUnitPointer::saveToDisk().
Heap::Object * QV4::ExecutableCompilationUnit::templateObjectAt | ( | int | index | ) | const |
Definition at line 240 of file qv4executablecompilationunit.cpp.
References engine, i, o, Q_ASSERT, and QStringLiteral.
int QV4::ExecutableCompilationUnit::totalBindingsCount | ( | ) | const |
Definition at line 492 of file qv4executablecompilationunit.cpp.
int QV4::ExecutableCompilationUnit::totalObjectCount | ( | ) | const |
Definition at line 498 of file qv4executablecompilationunit.cpp.
int QV4::ExecutableCompilationUnit::totalParserStatusCount | ( | ) | const |
Definition at line 504 of file qv4executablecompilationunit.cpp.
|
inlineprotected |
Definition at line 314 of file qv4executablecompilationunit_p.h.
QString QV4::ExecutableCompilationUnit::translateFrom | ( | TranslationDataIndex | index | ) | const |
Definition at line 954 of file qv4executablecompilationunit.cpp.
References QV4::CompiledData::TranslationData::commentIndex, context, QV4::CompiledData::TranslationData::contextIndex, fileName, QStringView::mid(), QV4::CompiledData::TranslationData::number, qtTrId(), QV4::CompiledData::TranslationData::stringIndex, text, QString::toUtf8(), and QCoreApplication::translate().
void QV4::ExecutableCompilationUnit::unlink | ( | ) |
Definition at line 270 of file qv4executablecompilationunit.cpp.
References engine, i, and qDeleteAll().
|
inline |
Definition at line 102 of file qv4executablecompilationunit_p.h.
References fileName.
Referenced by QQmlIncubatorPrivate::incubate().
|
inline |
Definition at line 212 of file qv4executablecompilationunit_p.h.
|
inline |
Definition at line 207 of file qv4executablecompilationunit_p.h.
bool QV4::ExecutableCompilationUnit::verifyChecksum | ( | const CompiledData::DependentTypesHasher & | dependencyHasher | ) | const |
Definition at line 510 of file qv4executablecompilationunit.cpp.
References checksum(), and i.
Referenced by QQmlTypeData::done().
|
static |
Definition at line 985 of file qv4executablecompilationunit.cpp.
References QCoreApplication::applicationFilePath(), QString::arg(), QString::fromLatin1(), QString::fromUtf8(), QDateTime::isValid(), QFileInfo::lastModified(), QV4::CompiledData::Unit::libraryVersionHash, QV4::CompiledData::Unit::magic, QStringLiteral, qstrncmp(), QT_VERSION, QV4::CompiledData::Unit::qtVersion, QV4_DATA_STRUCTURE_VERSION, QV4::CompiledData::Unit::sourceTimeStamp, QDateTime::toMSecsSinceEpoch(), QByteArray::toPercentEncoding(), and QV4::CompiledData::Unit::version.
Referenced by QQmlMetaType::findCachedCompilationUnit(), and QV4::CompilationUnitMapper::get().
|
friend |
Definition at line 65 of file qv4executablecompilationunit_p.h.
|
friend |
Definition at line 65 of file qv4executablecompilationunit_p.h.
std::unique_ptr<CompilationUnitMapper> QV4::ExecutableCompilationUnit::backingFile |
Definition at line 169 of file qv4executablecompilationunit_p.h.
QVector<BindingPropertyData> QV4::ExecutableCompilationUnit::bindingPropertyDataPerObject |
Definition at line 126 of file qv4executablecompilationunit_p.h.
Referenced by QQmlData::deferData().
QVector<QQmlRefPointer<QQmlScriptData> > QV4::ExecutableCompilationUnit::dependentScripts |
Definition at line 144 of file qv4executablecompilationunit_p.h.
Referenced by QQmlTypeData::done().
ExecutionEngine* QV4::ExecutableCompilationUnit::engine = nullptr |
Definition at line 93 of file qv4executablecompilationunit_p.h.
Referenced by QQmlIncubatorPrivate::incubate().
std::unique_ptr<QString> QV4::ExecutableCompilationUnit::icRootName |
Definition at line 138 of file qv4executablecompilationunit_p.h.
QHash<QString, InlineComponentData> QV4::ExecutableCompilationUnit::inlineComponentData |
Definition at line 154 of file qv4executablecompilationunit_p.h.
Referenced by QQmlTypeData::done().
|
mutable |
Definition at line 115 of file qv4executablecompilationunit_p.h.
int QV4::ExecutableCompilationUnit::m_totalBindingsCount = 0 |
Definition at line 135 of file qv4executablecompilationunit_p.h.
int QV4::ExecutableCompilationUnit::m_totalObjectCount = 0 |
Definition at line 137 of file qv4executablecompilationunit_p.h.
int QV4::ExecutableCompilationUnit::m_totalParserStatusCount = 0 |
Definition at line 136 of file qv4executablecompilationunit_p.h.
|
mutable |
Definition at line 114 of file qv4executablecompilationunit_p.h.
QHash<int, IdentifierHash> QV4::ExecutableCompilationUnit::namedObjectsPerComponentCache |
Definition at line 130 of file qv4executablecompilationunit_p.h.
Referenced by namedObjectsPerComponent().
QIntrusiveListNode QV4::ExecutableCompilationUnit::nextCompilationUnit |
Definition at line 92 of file qv4executablecompilationunit_p.h.
QQmlPropertyCacheVector QV4::ExecutableCompilationUnit::propertyCaches |
Definition at line 118 of file qv4executablecompilationunit_p.h.
QQmlType QV4::ExecutableCompilationUnit::qmlType |
Definition at line 152 of file qv4executablecompilationunit_p.h.
Referenced by QV4::Function::Function(), and QQmlPrivate::AOTCompiledContext::loadTypeLookup().
ResolvedTypeReferenceMap QV4::ExecutableCompilationUnit::resolvedTypes |
Definition at line 145 of file qv4executablecompilationunit_p.h.
Referenced by QQmlTypeData::done().
QVector<QV4::Heap::InternalClass *> QV4::ExecutableCompilationUnit::runtimeBlocks |
Definition at line 112 of file qv4executablecompilationunit_p.h.
QVector<QV4::Function *> QV4::ExecutableCompilationUnit::runtimeFunctions |
Definition at line 111 of file qv4executablecompilationunit_p.h.
Referenced by QV4::Runtime::CreateClass::call(), QQmlCppBinding::createBindingForBindable(), QQmlCppBinding::createBindingForNonBindable(), QQuickPropertyChangesPrivate::decodeBinding(), QV4::Module::evaluate(), and QQmlEnginePrivate::executeRuntimeFunction().
QV4::Lookup* QV4::ExecutableCompilationUnit::runtimeLookups = nullptr |
Definition at line 110 of file qv4executablecompilationunit_p.h.
Referenced by QQmlPrivate::AOTCompiledContext::callGlobalLookup(), QQmlPrivate::AOTCompiledContext::callObjectPropertyLookup(), QQmlPrivate::AOTCompiledContext::callQmlContextPropertyLookup(), QQmlPrivate::AOTCompiledContext::captureLookup(), QQmlPrivate::AOTCompiledContext::captureQmlContextPropertyLookup(), QQmlPrivate::AOTCompiledContext::getEnumLookup(), QQmlPrivate::AOTCompiledContext::getObjectLookup(), QQmlPrivate::AOTCompiledContext::getValueLookup(), QQmlPrivate::AOTCompiledContext::initGetEnumLookup(), QQmlPrivate::AOTCompiledContext::initGetObjectLookup(), QQmlPrivate::AOTCompiledContext::initGetValueLookup(), QQmlPrivate::AOTCompiledContext::initLoadAttachedLookup(), QQmlPrivate::AOTCompiledContext::initLoadContextIdLookup(), QQmlPrivate::AOTCompiledContext::initLoadScopeObjectPropertyLookup(), QQmlPrivate::AOTCompiledContext::initLoadSingletonLookup(), QQmlPrivate::AOTCompiledContext::initLoadTypeLookup(), QQmlPrivate::AOTCompiledContext::initSetObjectLookup(), QQmlPrivate::AOTCompiledContext::initSetValueLookup(), QQmlPrivate::AOTCompiledContext::loadAttachedLookup(), QQmlPrivate::AOTCompiledContext::loadContextIdLookup(), QQmlPrivate::AOTCompiledContext::loadGlobalLookup(), QQmlPrivate::AOTCompiledContext::loadScopeObjectPropertyLookup(), QQmlPrivate::AOTCompiledContext::loadSingletonLookup(), QQmlPrivate::AOTCompiledContext::loadTypeLookup(), QQmlPrivate::AOTCompiledContext::lookupResultMetaType(), QQmlPrivate::AOTCompiledContext::setObjectLookup(), and QQmlPrivate::AOTCompiledContext::setValueLookup().
|
mutable |
Definition at line 113 of file qv4executablecompilationunit_p.h.
QQmlRefPointer<QQmlTypeNameCache> QV4::ExecutableCompilationUnit::typeNameCache |
Definition at line 121 of file qv4executablecompilationunit_p.h.
Referenced by QV4::Function::Function(), and QQmlTypeData::done().