Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
|
#include <qqmlsa_p.h>
Static Public Member Functions | |
static PassManagerPrivate * | get (PassManager *manager) |
static const PassManagerPrivate * | get (const PassManager *manager) |
static PassManager * | createPassManager (QQmlJSImportVisitor *visitor, QQmlJSTypeResolver *resolver) |
static void | deletePassManager (PassManager *q) |
static QQmlJSImportVisitor * | visitor (const QQmlSA::PassManager &) |
static QQmlJSTypeResolver * | resolver (const QQmlSA::PassManager &) |
Public Attributes | |
std::vector< std::shared_ptr< ElementPass > > | m_elementPasses |
std::multimap< QString, PropertyPassInfo > | m_propertyPasses |
std::unordered_map< quint32, BindingInfo > | m_bindingsByLocation |
QQmlJSImportVisitor * | m_visitor |
QQmlJSTypeResolver * | m_typeResolver |
Friends | |
class | GenericPass |
class | QT_PREPEND_NAMESPACE (QQmlJSScope) |
Definition at line 180 of file qqmlsa_p.h.
|
inline |
Definition at line 188 of file qqmlsa_p.h.
void QQmlSA::PassManagerPrivate::addBindingSourceLocations | ( | const QQmlSA::Element & | element, |
const QQmlSA::Element & | scope = QQmlSA::Element(), | ||
const QString | prefix = QString(), | ||
bool | isAttached = false ) |
Definition at line 1156 of file qqmlsa.cpp.
References addBindingSourceLocations(), analyzeBinding(), QQmlSA::AttachedProperty, QQmlSA::GroupProperty, QQmlSA::Element::isNull(), m_bindingsByLocation, QQmlSA::Element::ownPropertyBindings(), QQmlSA::Script, and QQmlSA::Element::sourceLocation().
Referenced by addBindingSourceLocations(), and analyze().
Definition at line 1201 of file qqmlsa.cpp.
References addBindingSourceLocations(), QQmlSA::childScopesBegin(), QQmlSA::childScopesEnd(), QQmlJSScope::createQQmlSAElement(), it, m_elementPasses, and QQmlSA::QMLScope.
void QQmlSA::PassManagerPrivate::analyzeBinding | ( | const QQmlSA::Element & | element, |
const QQmlSA::Element & | value, | ||
QQmlSA::SourceLocation | location ) |
Definition at line 1234 of file qqmlsa.cpp.
References QQmlSA::Element::baseType(), findPropertyUsePasses(), info, QQmlSA::Element::isNull(), and m_bindingsByLocation.
Referenced by addBindingSourceLocations().
void QQmlSA::PassManagerPrivate::analyzeRead | ( | const QQmlSA::Element & | element, |
QString | propertyName, | ||
const QQmlSA::Element & | readScope, | ||
QQmlSA::SourceLocation | location ) |
Definition at line 1227 of file qqmlsa.cpp.
References findPropertyUsePasses().
void QQmlSA::PassManagerPrivate::analyzeWrite | ( | const QQmlSA::Element & | element, |
QString | propertyName, | ||
const QQmlSA::Element & | value, | ||
const QQmlSA::Element & | writeScope, | ||
QQmlSA::SourceLocation | location ) |
Definition at line 1219 of file qqmlsa.cpp.
References findPropertyUsePasses().
|
inlinestatic |
Definition at line 195 of file qqmlsa_p.h.
Referenced by QQmlJSLinter::lintFile().
|
inlinestatic |
Definition at line 201 of file qqmlsa_p.h.
Referenced by QQmlJSLinter::lintFile().
QSet< PropertyPass * > QQmlSA::PassManagerPrivate::findPropertyUsePasses | ( | const QQmlSA::Element & | element, |
const QString & | propertyName ) |
Definition at line 1297 of file qqmlsa.cpp.
References QSet< T >::contains(), QQmlJSScope::createQQmlSAElement(), QSet< T >::isEmpty(), it, QQmlSA::lookupName(), m_propertyPasses, Q_UNUSED, QQmlJSScope::scope(), QQmlJSUtils::searchBaseAndExtensionTypes(), and typeName.
Referenced by analyzeBinding(), analyzeRead(), and analyzeWrite().
|
inlinestatic |
Definition at line 194 of file qqmlsa_p.h.
References manager.
|
inlinestatic |
Definition at line 193 of file qqmlsa_p.h.
References manager.
bool QQmlSA::PassManagerPrivate::hasImportedModule | ( | QAnyStringView | name | ) | const |
void QQmlSA::PassManagerPrivate::registerElementPass | ( | std::unique_ptr< ElementPass > | pass | ) |
PassManager::registerElementPass registers ElementPass with the pass manager.
pass | The registered pass. Ownership is transferred to the pass manager. |
Definition at line 1062 of file qqmlsa.cpp.
References m_elementPasses.
bool QQmlSA::PassManagerPrivate::registerPropertyPass | ( | std::shared_ptr< PropertyPass > | pass, |
QAnyStringView | moduleName, | ||
QAnyStringView | typeName, | ||
QAnyStringView | propertyName = QAnyStringView(), | ||
bool | allowInheritance = true ) |
Definition at line 1127 of file qqmlsa.cpp.
References QQmlJSScope::createQQmlSAElement(), QQmlJSImportVisitor::importer(), QString::insert(), QAnyStringView::isEmpty(), QQmlSA::lookupName(), m_propertyPasses, m_visitor, qWarning, QQmlSA::Register, QAnyStringView::toString(), and typeName.
|
static |
Definition at line 1292 of file qqmlsa.cpp.
References manager.
Referenced by QQmlSA::GenericPass::resolveLiteralType().
|
static |
Definition at line 1287 of file qqmlsa.cpp.
References manager.
Referenced by QQmlSA::GenericPass::emitWarning(), QQmlSA::GenericPass::emitWarning(), QQmlSA::PassManager::hasImportedModule(), QQmlSA::PassManager::isCategoryEnabled(), QQmlSA::GenericPass::resolveBuiltinType(), QQmlSA::GenericPass::resolveElementToId(), QQmlSA::GenericPass::resolveIdToElement(), QQmlSA::GenericPass::resolveType(), QQmlSA::GenericPass::resolveTypeInFileScope(), and QQmlSA::GenericPass::sourceCode().
|
friend |
Definition at line 187 of file qqmlsa_p.h.
|
friend |
std::unordered_map<quint32, BindingInfo> QQmlSA::PassManagerPrivate::m_bindingsByLocation |
Definition at line 233 of file qqmlsa_p.h.
Referenced by addBindingSourceLocations(), and analyzeBinding().
std::vector<std::shared_ptr<ElementPass> > QQmlSA::PassManagerPrivate::m_elementPasses |
Definition at line 231 of file qqmlsa_p.h.
Referenced by analyze(), and registerElementPass().
std::multimap<QString, PropertyPassInfo> QQmlSA::PassManagerPrivate::m_propertyPasses |
Definition at line 232 of file qqmlsa_p.h.
Referenced by findPropertyUsePasses(), and registerPropertyPass().
QQmlJSTypeResolver* QQmlSA::PassManagerPrivate::m_typeResolver |
Definition at line 235 of file qqmlsa_p.h.
QQmlJSImportVisitor* QQmlSA::PassManagerPrivate::m_visitor |
Definition at line 234 of file qqmlsa_p.h.
Referenced by registerPropertyPass().