Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QQmlSA::PassManagerPrivate Class Reference

#include <qqmlsa_p.h>

Collaboration diagram for QQmlSA::PassManagerPrivate:

Public Member Functions

 PassManagerPrivate (QQmlJSImportVisitor *visitor, QQmlJSTypeResolver *resolver)
void registerElementPass (std::unique_ptr< ElementPass > pass)
 PassManager::registerElementPass registers ElementPass with the pass manager.
bool registerPropertyPass (std::shared_ptr< PropertyPass > pass, QAnyStringView moduleName, QAnyStringView typeName, QAnyStringView propertyName=QAnyStringView(), bool allowInheritance=true)
bool registerPropertyPassOnBuiltinType (std::shared_ptr< PropertyPass > pass, QAnyStringView typeName, QAnyStringView propertyName=QAnyStringView(), bool allowInheritance=true)
void analyze (const Element &root)
bool hasImportedModule (QAnyStringView name) const
QSet< PropertyPass * > findPropertyUsePasses (const QQmlSA::Element &element, const QString &propertyName)
void analyzeWrite (const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Element &value, const QQmlSA::Element &writeScope, const QQmlSA::SourceLocation &location)
void analyzeRead (const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Element &readScope, const QQmlSA::SourceLocation &location)
void analyzeCall (const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Element &readScope, const QQmlSA::SourceLocation &location)
void analyzeBinding (const QQmlSA::Element &element, const QQmlSA::Element &value, const QQmlSA::SourceLocation &location)
void addBindingSourceLocations (const QQmlSA::Element &element, const QQmlSA::Element &scope=QQmlSA::Element(), const QString prefix=QString(), bool isAttached=false)

Static Public Member Functions

static PassManagerPrivateget (PassManager *manager)
static const PassManagerPrivateget (const PassManager *manager)
static PassManagercreatePassManager (QQmlJSImportVisitor *visitor, QQmlJSTypeResolver *resolver)
static void deletePassManager (PassManager *q)
static QQmlJSImportVisitorvisitor (const QQmlSA::PassManager &)
static QQmlJSTypeResolverresolver (const QQmlSA::PassManager &)

Public Attributes

std::vector< std::unique_ptr< ElementPass > > m_elementPasses
std::multimap< QString, PropertyPassInvocationm_propertyPasses
std::unordered_map< quint32, Bindingm_bindingsByLocation
QQmlJSImportVisitorm_visitor = nullptr
QQmlJSTypeResolverm_typeResolver = nullptr

Friends

class GenericPass
class QT_PREPEND_NAMESPACE (QQmlJSScope)

Detailed Description

Definition at line 179 of file qqmlsa_p.h.

Constructor & Destructor Documentation

◆ PassManagerPrivate()

QQmlSA::PassManagerPrivate::PassManagerPrivate ( QQmlJSImportVisitor * visitor,
QQmlJSTypeResolver * resolver )
inline

Definition at line 187 of file qqmlsa_p.h.

Member Function Documentation

◆ addBindingSourceLocations()

void QQmlSA::PassManagerPrivate::addBindingSourceLocations ( const QQmlSA::Element & element,
const QQmlSA::Element & scope = QQmlSA::Element(),
const QString prefix = QString(),
bool isAttached = false )

Definition at line 1559 of file qqmlsa.cpp.

◆ analyze()

void QQmlSA::PassManagerPrivate::analyze ( const Element & root)

Definition at line 1616 of file qqmlsa.cpp.

◆ analyzeBinding()

void QQmlSA::PassManagerPrivate::analyzeBinding ( const QQmlSA::Element & element,
const QQmlSA::Element & value,
const QQmlSA::SourceLocation & location )

Definition at line 1659 of file qqmlsa.cpp.

◆ analyzeCall()

void QQmlSA::PassManagerPrivate::analyzeCall ( const QQmlSA::Element & element,
const QString & propertyName,
const QQmlSA::Element & readScope,
const QQmlSA::SourceLocation & location )

Definition at line 1651 of file qqmlsa.cpp.

◆ analyzeRead()

void QQmlSA::PassManagerPrivate::analyzeRead ( const QQmlSA::Element & element,
const QString & propertyName,
const QQmlSA::Element & readScope,
const QQmlSA::SourceLocation & location )

Definition at line 1643 of file qqmlsa.cpp.

◆ analyzeWrite()

void QQmlSA::PassManagerPrivate::analyzeWrite ( const QQmlSA::Element & element,
const QString & propertyName,
const QQmlSA::Element & value,
const QQmlSA::Element & writeScope,
const QQmlSA::SourceLocation & location )

Definition at line 1634 of file qqmlsa.cpp.

◆ createPassManager()

PassManager * QQmlSA::PassManagerPrivate::createPassManager ( QQmlJSImportVisitor * visitor,
QQmlJSTypeResolver * resolver )
inlinestatic

Definition at line 194 of file qqmlsa_p.h.

◆ deletePassManager()

void QQmlSA::PassManagerPrivate::deletePassManager ( PassManager * q)
inlinestatic

Definition at line 200 of file qqmlsa_p.h.

◆ findPropertyUsePasses()

QSet< PropertyPass * > QQmlSA::PassManagerPrivate::findPropertyUsePasses ( const QQmlSA::Element & element,
const QString & propertyName )

Definition at line 1726 of file qqmlsa.cpp.

◆ get() [1/2]

const PassManagerPrivate * QQmlSA::PassManagerPrivate::get ( const PassManager * manager)
inlinestatic

Definition at line 193 of file qqmlsa_p.h.

◆ get() [2/2]

PassManagerPrivate * QQmlSA::PassManagerPrivate::get ( PassManager * manager)
inlinestatic

Definition at line 192 of file qqmlsa_p.h.

◆ hasImportedModule()

bool QQmlSA::PassManagerPrivate::hasImportedModule ( QAnyStringView name) const

◆ registerElementPass()

void QQmlSA::PassManagerPrivate::registerElementPass ( std::unique_ptr< ElementPass > pass)

PassManager::registerElementPass registers ElementPass with the pass manager.

Parameters
passThe registered pass. Ownership is transferred to the pass manager.

Definition at line 1446 of file qqmlsa.cpp.

◆ registerPropertyPass()

bool QQmlSA::PassManagerPrivate::registerPropertyPass ( std::shared_ptr< PropertyPass > pass,
QAnyStringView moduleName,
QAnyStringView typeName,
QAnyStringView propertyName = QAnyStringView(),
bool allowInheritance = true )

Definition at line 1511 of file qqmlsa.cpp.

◆ registerPropertyPassOnBuiltinType()

bool QQmlSA::PassManagerPrivate::registerPropertyPassOnBuiltinType ( std::shared_ptr< PropertyPass > pass,
QAnyStringView typeName,
QAnyStringView propertyName = QAnyStringView(),
bool allowInheritance = true )

Definition at line 1538 of file qqmlsa.cpp.

◆ resolver()

QQmlJSTypeResolver * QQmlSA::PassManagerPrivate::resolver ( const QQmlSA::PassManager & manager)
static

Definition at line 1721 of file qqmlsa.cpp.

◆ visitor()

QQmlJSImportVisitor * QQmlSA::PassManagerPrivate::visitor ( const QQmlSA::PassManager & manager)
static

Definition at line 1716 of file qqmlsa.cpp.

◆ GenericPass

friend class GenericPass
friend

Definition at line 186 of file qqmlsa_p.h.

◆ QT_PREPEND_NAMESPACE

class QT_PREPEND_NAMESPACE ( QQmlJSScope )
friend

Member Data Documentation

◆ m_bindingsByLocation

std::unordered_map<quint32, Binding> QQmlSA::PassManagerPrivate::m_bindingsByLocation

Definition at line 239 of file qqmlsa_p.h.

◆ m_elementPasses

std::vector<std::unique_ptr<ElementPass> > QQmlSA::PassManagerPrivate::m_elementPasses

Definition at line 237 of file qqmlsa_p.h.

◆ m_propertyPasses

std::multimap<QString, PropertyPassInvocation> QQmlSA::PassManagerPrivate::m_propertyPasses

Definition at line 238 of file qqmlsa_p.h.

◆ m_typeResolver

QQmlJSTypeResolver* QQmlSA::PassManagerPrivate::m_typeResolver = nullptr

Definition at line 241 of file qqmlsa_p.h.

◆ m_visitor

QQmlJSImportVisitor* QQmlSA::PassManagerPrivate::m_visitor = nullptr

Definition at line 240 of file qqmlsa_p.h.


The documentation for this class was generated from the following files: