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>.
Loading...
Searching...
No Matches
QQmlJSImportVisitor Class Reference

#include <qqmljsimportvisitor_p.h>

+ Inheritance diagram for QQmlJSImportVisitor:
+ Collaboration diagram for QQmlJSImportVisitor:

Classes

struct  FunctionOrExpressionIdentifier
 
struct  PendingMethodType
 
struct  PendingPropertyObjectBinding
 
struct  PendingPropertyType
 
struct  RequiredProperty
 
struct  UnfinishedBinding
 
struct  WithVisibilityScope
 Utility wrapper that adds visibility scope to the data. More...
 

Public Member Functions

 QQmlJSImportVisitor ()
 
 QQmlJSImportVisitor (const QQmlJSScope::Ptr &target, QQmlJSImporter *importer, QQmlJSLogger *logger, const QString &implicitImportDirectory, const QStringList &qmldirFiles=QStringList())
 
 ~QQmlJSImportVisitor ()
 
QQmlJSScope::Ptr result () const
 
const QQmlJSLoggerlogger () const
 
QQmlJSLoggerlogger ()
 
QQmlJSImporter::ImportedTypes imports () const
 
QQmlJSScopesById addressableScopes () const
 
QHash< QQmlJS::SourceLocation, QQmlJSMetaSignalHandlersignalHandlers () const
 
QSet< QQmlJSScope::ConstPtrliteralScopesToCheck () const
 
QList< QQmlJSScope::ConstPtrqmlTypes () const
 
QHash< QV4::CompiledData::Location, QQmlJSScope::ConstPtrscopesBylocation () const
 
QQmlJSImporterimporter ()
 
const QQmlJSImporterimporter () const
 
- Public Member Functions inherited from QQmlJS::AST::Visitor
 Visitor (quint16 parentRecursionDepth=0)
 
bool preVisit (Node *) override
 
void postVisit (Node *) override
 
- Public Member Functions inherited from QQmlJS::AST::BaseVisitor
 BaseVisitor (quint16 parentRecursionDepth=0)
 
virtual ~BaseVisitor ()
 
quint16 recursionDepth () const
 

Static Public Member Functions

static QString implicitImportDirectory (const QString &localFile, QQmlJSResourceFileMapper *mapper)
 

Protected Types

enum class  BindingExpressionParseResult { Invalid , Script , Literal , Translation }
 
using RootDocumentNameType = QQmlJSScope::RootDocumentNameType
 
using InlineComponentNameType = QQmlJSScope::InlineComponentNameType
 
using InlineComponentOrDocumentRootName = QQmlJSScope::RootDocumentNameType
 

Protected Member Functions

bool visit (QQmlJS::AST::StringLiteral *) override
 
bool visit (QQmlJS::AST::ExpressionStatement *ast) override
 
void endVisit (QQmlJS::AST::ExpressionStatement *ast) override
 
bool visit (QQmlJS::AST::UiProgram *) override
 
void endVisit (QQmlJS::AST::UiProgram *) override
 
bool visit (QQmlJS::AST::UiObjectDefinition *) override
 
void endVisit (QQmlJS::AST::UiObjectDefinition *) override
 
bool visit (QQmlJS::AST::UiInlineComponent *) override
 
void endVisit (QQmlJS::AST::UiInlineComponent *) override
 
bool visit (QQmlJS::AST::UiPublicMember *) override
 
void endVisit (QQmlJS::AST::UiPublicMember *) override
 
bool visit (QQmlJS::AST::UiRequired *required) override
 
bool visit (QQmlJS::AST::UiScriptBinding *) override
 
void endVisit (QQmlJS::AST::UiScriptBinding *) override
 
bool visit (QQmlJS::AST::UiArrayBinding *) override
 
void endVisit (QQmlJS::AST::UiArrayBinding *) override
 
bool visit (QQmlJS::AST::UiEnumDeclaration *uied) override
 
bool visit (QQmlJS::AST::FunctionExpression *fexpr) override
 
void endVisit (QQmlJS::AST::FunctionExpression *) override
 
bool visit (QQmlJS::AST::UiSourceElement *) override
 
bool visit (QQmlJS::AST::FunctionDeclaration *fdecl) override
 
void endVisit (QQmlJS::AST::FunctionDeclaration *) override
 
bool visit (QQmlJS::AST::ClassExpression *ast) override
 
void endVisit (QQmlJS::AST::ClassExpression *) override
 
bool visit (QQmlJS::AST::UiImport *import) override
 
bool visit (QQmlJS::AST::UiPragma *pragma) override
 
bool visit (QQmlJS::AST::ClassDeclaration *ast) override
 
void endVisit (QQmlJS::AST::ClassDeclaration *ast) override
 
bool visit (QQmlJS::AST::ForStatement *ast) override
 
void endVisit (QQmlJS::AST::ForStatement *ast) override
 
bool visit (QQmlJS::AST::ForEachStatement *ast) override
 
void endVisit (QQmlJS::AST::ForEachStatement *ast) override
 
bool visit (QQmlJS::AST::Block *ast) override
 
void endVisit (QQmlJS::AST::Block *ast) override
 
bool visit (QQmlJS::AST::CaseBlock *ast) override
 
void endVisit (QQmlJS::AST::CaseBlock *ast) override
 
bool visit (QQmlJS::AST::Catch *ast) override
 
void endVisit (QQmlJS::AST::Catch *ast) override
 
bool visit (QQmlJS::AST::WithStatement *withStatement) override
 
void endVisit (QQmlJS::AST::WithStatement *ast) override
 
bool visit (QQmlJS::AST::VariableDeclarationList *vdl) override
 
bool visit (QQmlJS::AST::FormalParameterList *fpl) override
 
bool visit (QQmlJS::AST::UiObjectBinding *uiob) override
 
void endVisit (QQmlJS::AST::UiObjectBinding *uiob) override
 
bool visit (QQmlJS::AST::ExportDeclaration *exp) override
 
void endVisit (QQmlJS::AST::ExportDeclaration *exp) override
 
bool visit (QQmlJS::AST::ESModule *module) override
 
void endVisit (QQmlJS::AST::ESModule *module) override
 
bool visit (QQmlJS::AST::Program *program) override
 
void endVisit (QQmlJS::AST::Program *program) override
 
void endVisit (QQmlJS::AST::FieldMemberExpression *) override
 
bool visit (QQmlJS::AST::IdentifierExpression *idexp) override
 
bool visit (QQmlJS::AST::PatternElement *) override
 
void throwRecursionDepthError () override
 
QQmlJSMetaMethod::RelativeFunctionIndex addFunctionOrExpression (const QQmlJSScope::ConstPtr &scope, const QString &name)
 
void forgetFunctionExpression (const QString &name)
 
int synthesizeCompilationUnitRuntimeFunctionIndices (const QQmlJSScope::Ptr &scope, int count) const
 
void populateRuntimeFunctionIndicesForDocument () const
 
void enterEnvironment (QQmlJSScope::ScopeType type, const QString &name, const QQmlJS::SourceLocation &location)
 
bool enterEnvironmentNonUnique (QQmlJSScope::ScopeType type, const QString &name, const QQmlJS::SourceLocation &location)
 
void leaveEnvironment ()
 
template<typename ErrorHandler >
bool isTypeResolved (const QQmlJSScope::ConstPtr &type, ErrorHandler handle)
 
bool isTypeResolved (const QQmlJSScope::ConstPtr &type)
 
QVector< QQmlJSAnnotationparseAnnotations (QQmlJS::AST::UiAnnotationList *list)
 
void setAllBindings ()
 
void addDefaultProperties ()
 
void processDefaultProperties ()
 
void processPropertyBindings ()
 
void checkRequiredProperties ()
 
void processPropertyTypes ()
 
void processMethodTypes ()
 
void processPropertyBindingObjects ()
 
void flushPendingSignalParameters ()
 
QQmlJSScope::ConstPtr scopeById (const QString &id, const QQmlJSScope::ConstPtr &current)
 
void breakInheritanceCycles (const QQmlJSScope::Ptr &scope)
 
void checkDeprecation (const QQmlJSScope::ConstPtr &scope)
 
void checkGroupedAndAttachedScopes (QQmlJSScope::ConstPtr scope)
 
bool rootScopeIsValid () const
 
BindingExpressionParseResult parseBindingExpression (const QString &name, const QQmlJS::AST::Statement *statement)
 
bool isImportPrefix (QString prefix) const
 

Protected Attributes

QString m_implicitImportDirectory
 
QStringList m_qmldirFiles
 
QQmlJSScope::Ptr m_currentScope
 
const QQmlJSScope::Ptr m_exportedRootScope
 
QQmlJSImporterm_importer = nullptr
 
QQmlJSLoggerm_logger = nullptr
 
QQmlJSScope::InlineComponentOrDocumentRootName m_currentRootName
 
bool m_nextIsInlineComponent = false
 
bool m_rootIsSingleton = false
 
QQmlJSScope::Ptr m_savedBindingOuterScope
 
QQmlJSScope::ConstPtr m_globalScope
 
QQmlJSScopesById m_scopesById
 
QQmlJSImporter::ImportedTypes m_rootScopeImports
 
QList< QQmlJSScope::ConstPtrm_qmlTypes
 
QHash< QV4::CompiledData::Location, QQmlJSScope::ConstPtrm_scopesByIrLocation
 
QMultiHash< QString, QQmlJS::SourceLocationm_importTypeLocationMap
 
QMultiHash< QString, QQmlJS::SourceLocationm_importStaticModuleLocationMap
 
QSet< QQmlJS::SourceLocationm_importLocations
 
QSet< QStringm_usedTypes
 
QList< UnfinishedBindingm_bindings
 
QHash< QQmlJSScope::ConstPtr, QList< QString > > m_functionsAndExpressions
 
bool m_thisScriptBindingIsJavaScript = false
 
QStack< FunctionOrExpressionIdentifierm_functionStack
 
QHash< FunctionOrExpressionIdentifier, int > m_innerFunctions
 
QSet< QQmlJSScope::ConstPtrm_unresolvedTypes
 
QVector< QQmlJSAnnotationm_pendingMethodAnnotations
 
QHash< QQmlJSScope::Ptr, QVector< QQmlJSScope::Ptr > > m_pendingDefaultProperties
 
QVector< PendingPropertyTypem_pendingPropertyTypes
 
QVector< PendingMethodTypem_pendingMethodTypes
 
QVector< PendingPropertyObjectBindingm_pendingPropertyObjectBindings
 
QVector< RequiredPropertym_requiredProperties
 
QVector< QQmlJSScope::Ptrm_objectBindingScopes
 
QVector< QQmlJSScope::Ptrm_objectDefinitionScopes
 
QHash< QQmlJSScope::Ptr, QVector< WithVisibilityScope< QString > > > m_propertyBindings
 
QHash< QQmlJS::SourceLocation, QQmlJSMetaSignalHandlerm_signalHandlers
 
QSet< QQmlJSScope::ConstPtrm_literalScopesToCheck
 
QQmlJS::SourceLocation m_pendingSignalHandler
 
- Protected Attributes inherited from QQmlJS::AST::BaseVisitor
quint16 m_recursionDepth = 0
 

Friends

class QQmlJS::Dom::QQmlDomAstCreatorWithQQmlJSScope
 

Detailed Description

Definition at line 42 of file qqmljsimportvisitor_p.h.

Member Typedef Documentation

◆ InlineComponentNameType

◆ InlineComponentOrDocumentRootName

◆ RootDocumentNameType

Member Enumeration Documentation

◆ BindingExpressionParseResult

Enumerator
Invalid 
Script 
Literal 
Translation 

Definition at line 274 of file qqmljsimportvisitor_p.h.

Constructor & Destructor Documentation

◆ QQmlJSImportVisitor() [1/2]

QQmlJSImportVisitor::QQmlJSImportVisitor ( )

◆ QQmlJSImportVisitor() [2/2]

QQmlJSImportVisitor::QQmlJSImportVisitor ( const QQmlJSScope::Ptr & target,
QQmlJSImporter * importer,
QQmlJSLogger * logger,
const QString & implicitImportDirectory,
const QStringList & qmldirFiles = QStringList() )

Definition at line 119 of file qqmljsimportvisitor.cpp.

◆ ~QQmlJSImportVisitor()

QQmlJSImportVisitor::~QQmlJSImportVisitor ( )
default

Member Function Documentation

◆ addDefaultProperties()

void QQmlJSImportVisitor::addDefaultProperties ( )
protected

Definition at line 1150 of file qqmljsimportvisitor.cpp.

References QQmlJSScope::baseType(), QQmlJSScope::defaultPropertyName(), getScopeName(), QQmlJSScope::isArrayScope(), QString::isEmpty(), QQmlJSScope::isInCustomParserParent(), QQmlJSScope::isInlineComponent(), m_bindings, m_currentScope, m_exportedRootScope, m_pendingDefaultProperties, QQmlJSScope::parentScope(), QQmlSA::QMLScope, QQmlJSMetaPropertyBinding::setObject(), QQmlJSScope::sourceLocation(), and QQmlJSScope::UnnamedPropertyTarget.

Referenced by visit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addFunctionOrExpression()

QQmlJSMetaMethod::RelativeFunctionIndex QQmlJSImportVisitor::addFunctionOrExpression ( const QQmlJSScope::ConstPtr & scope,
const QString & name )
protected

Records a JS function or a Script binding for a given scope. Returns an index of a just recorded function-or-expression.

See also
synthesizeCompilationUnitRuntimeFunctionIndices

Definition at line 1300 of file qqmljsimportvisitor.cpp.

References m_functionsAndExpressions, m_functionStack, and m_innerFunctions.

Referenced by parseBindingExpression(), and visit().

+ Here is the caller graph for this function:

◆ addressableScopes()

QQmlJSScopesById QQmlJSImportVisitor::addressableScopes ( ) const
inline

Definition at line 63 of file qqmljsimportvisitor_p.h.

Referenced by QQmlJSTypeResolver::init().

+ Here is the caller graph for this function:

◆ breakInheritanceCycles()

void QQmlJSImportVisitor::breakInheritanceCycles ( const QQmlJSScope::Ptr & scope)
protected

Definition at line 1190 of file qqmljsimportvisitor.cpp.

References QString::append(), QQmlJSScope::baseType(), QQmlJSScope::baseTypeError(), QQmlJSScope::baseTypeName(), QQmlJSUtils::didYouMean(), error, QQmlJSScope::internalName(), QQmlJSLogger::log(), m_logger, m_rootScopeImports, qmlImport, qmlInheritanceCycle, QStringLiteral, QQmlJSScope::sourceLocation(), and QQmlJS::ContextualTypes::types().

Referenced by endVisit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkDeprecation()

void QQmlJSImportVisitor::checkDeprecation ( const QQmlJSScope::ConstPtr & scope)
protected

Definition at line 1232 of file qqmljsimportvisitor.cpp.

References QQmlJSScope::annotations(), arg, QQmlJSScope::baseType(), QQmlJSScope::internalName(), QString::isEmpty(), QQmlJSLogger::log(), m_logger, qmlDeprecated, QStringLiteral, and QQQmlJSDeprecation::reason.

Referenced by endVisit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkGroupedAndAttachedScopes()

void QQmlJSImportVisitor::checkGroupedAndAttachedScopes ( QQmlJSScope::ConstPtr scope)
protected

Definition at line 1251 of file qqmljsimportvisitor.cpp.

References arg, QQmlSA::AttachedPropertyScope, QQmlJSScope::childScopes(), QQmlSA::GroupedPropertyScope, QQmlJSScope::isInCustomParserParent(), QQmlJSLogger::log(), m_logger, qmlUnqualified, and QStringLiteral.

Referenced by endVisit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ checkRequiredProperties()

void QQmlJSImportVisitor::checkRequiredProperties ( )
protected

Definition at line 830 of file qqmljsimportvisitor.cpp.

References QQmlJSScope::baseType(), getScopeName(), QQmlJSScopesById::id(), QString::isEmpty(), QQmlJSScope::isInlineComponent(), QString::isNull(), QQmlJSLogger::log(), m_exportedRootScope, m_globalScope, m_logger, m_objectDefinitionScopes, m_requiredProperties, m_scopesById, QQmlJSScope::ownProperties(), property, qmlRequired, QQmlSA::QMLScope, QStringLiteral, and QQmlJSFixSuggestion::setFilename().

Referenced by endVisit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ endVisit() [1/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::Block * ast)
overrideprotected

Definition at line 2534 of file qqmljsimportvisitor.cpp.

References leaveEnvironment().

+ Here is the call graph for this function:

◆ endVisit() [2/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::CaseBlock * ast)
overrideprotected

Definition at line 2546 of file qqmljsimportvisitor.cpp.

References leaveEnvironment().

+ Here is the call graph for this function:

◆ endVisit() [3/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::Catch * ast)
overrideprotected

Definition at line 2563 of file qqmljsimportvisitor.cpp.

References leaveEnvironment().

+ Here is the call graph for this function:

◆ endVisit() [4/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::ClassDeclaration * ast)
overrideprotected

Definition at line 2494 of file qqmljsimportvisitor.cpp.

References leaveEnvironment().

+ Here is the call graph for this function:

◆ endVisit() [5/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::ClassExpression * )
overrideprotected

Definition at line 1846 of file qqmljsimportvisitor.cpp.

References leaveEnvironment().

+ Here is the call graph for this function:

◆ endVisit() [6/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::ESModule * module)
overrideprotected

Definition at line 2794 of file qqmljsimportvisitor.cpp.

References m_exportedRootScope, m_rootScopeImports, m_usedTypes, and QQmlJSScope::resolveTypes().

+ Here is the call graph for this function:

◆ endVisit() [7/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::ExportDeclaration * exp)
overrideprotected

Definition at line 2776 of file qqmljsimportvisitor.cpp.

References m_currentScope, m_exportedRootScope, m_globalScope, QQmlJSScope::parentScope(), Q_ASSERT, and rootScopeIsValid().

+ Here is the call graph for this function:

◆ endVisit() [8/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::ExpressionStatement * ast)
overrideprotected

Definition at line 1411 of file qqmljsimportvisitor.cpp.

References QQmlJSScope::baseTypeName(), QQmlSA::JSFunctionScope, leaveEnvironment(), m_currentScope, and QQmlJSScope::scopeType().

+ Here is the call graph for this function:

◆ endVisit() [9/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::FieldMemberExpression * fieldMember)
overrideprotected

Definition at line 2815 of file qqmljsimportvisitor.cpp.

References QMultiHash< Key, T >::contains(), QQmlJS::ContextualTypes::hasType(), QSet< T >::insert(), m_importTypeLocationMap, m_rootScopeImports, m_usedTypes, and QQmlJS::ContextualTypes::type().

+ Here is the call graph for this function:

◆ endVisit() [10/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::ForEachStatement * ast)
overrideprotected

Definition at line 2518 of file qqmljsimportvisitor.cpp.

References leaveEnvironment().

+ Here is the call graph for this function:

◆ endVisit() [11/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::ForStatement * ast)
overrideprotected

Definition at line 2506 of file qqmljsimportvisitor.cpp.

References leaveEnvironment().

+ Here is the call graph for this function:

◆ endVisit() [12/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::FunctionDeclaration * fdecl)
overrideprotected

Definition at line 1830 of file qqmljsimportvisitor.cpp.

References forgetFunctionExpression(), and leaveEnvironment().

+ Here is the call graph for this function:

◆ endVisit() [13/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::FunctionExpression * fexpr)
overrideprotected

Definition at line 1812 of file qqmljsimportvisitor.cpp.

References forgetFunctionExpression(), and leaveEnvironment().

+ Here is the call graph for this function:

◆ endVisit() [14/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::Program * program)
overrideprotected

Definition at line 2810 of file qqmljsimportvisitor.cpp.

References m_exportedRootScope, m_rootScopeImports, m_usedTypes, and QQmlJSScope::resolveTypes().

+ Here is the call graph for this function:

◆ endVisit() [15/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::UiArrayBinding * arrayBinding)
overrideprotected

Definition at line 2228 of file qqmljsimportvisitor.cpp.

References QQmlJSScope::childScopes(), getScopeName(), i, leaveEnvironment(), QQmlJSScope::ListPropertyTarget, QQmlJSLogger::log(), m_bindings, m_currentScope, m_logger, m_pendingPropertyObjectBindings, QQmlSA::QMLScope, qmlSyntax, and QQmlJSMetaPropertyBinding::setObject().

+ Here is the call graph for this function:

◆ endVisit() [16/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::UiInlineComponent * component)
overrideprotected

Definition at line 1570 of file qqmljsimportvisitor.cpp.

References component(), QQmlJSLogger::log(), m_currentRootName, m_logger, m_nextIsInlineComponent, and qmlSyntax.

+ Here is the call graph for this function:

◆ endVisit() [17/22]

◆ endVisit() [18/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::UiObjectDefinition * )
overrideprotected

Definition at line 1551 of file qqmljsimportvisitor.cpp.

References leaveEnvironment(), m_currentScope, m_rootScopeImports, m_usedTypes, and QQmlJSScope::resolveTypes().

+ Here is the call graph for this function:

◆ endVisit() [19/22]

◆ endVisit() [20/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::UiPublicMember * publicMember)
overrideprotected

Definition at line 1701 of file qqmljsimportvisitor.cpp.

References forgetFunctionExpression(), m_currentScope, and m_savedBindingOuterScope.

+ Here is the call graph for this function:

◆ endVisit() [21/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::UiScriptBinding * )
overrideprotected

◆ endVisit() [22/22]

void QQmlJSImportVisitor::endVisit ( QQmlJS::AST::WithStatement * ast)
overrideprotected

Definition at line 2581 of file qqmljsimportvisitor.cpp.

References leaveEnvironment().

+ Here is the call graph for this function:

◆ enterEnvironment()

void QQmlJSImportVisitor::enterEnvironment ( QQmlJSScope::ScopeType type,
const QString & name,
const QQmlJS::SourceLocation & location )
protected

Definition at line 185 of file qqmljsimportvisitor.cpp.

References QQmlJSScope::create(), m_currentScope, and QQmlJSScope::reparent().

Referenced by enterEnvironmentNonUnique(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), visit(), and visit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ enterEnvironmentNonUnique()

bool QQmlJSImportVisitor::enterEnvironmentNonUnique ( QQmlJSScope::ScopeType type,
const QString & name,
const QQmlJS::SourceLocation & location )
protected

Definition at line 194 of file qqmljsimportvisitor.cpp.

References QQmlSA::AttachedPropertyScope, QQmlJSScope::childScopes(), QSet< T >::end(), enterEnvironment(), QQmlSA::GroupedPropertyScope, it, m_currentScope, m_scopesByIrLocation, and Q_ASSERT.

Referenced by endVisit(), visit(), visit(), and visit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ flushPendingSignalParameters()

void QQmlJSImportVisitor::flushPendingSignalParameters ( )
protected

Definition at line 1281 of file qqmljsimportvisitor.cpp.

References QQmlJSScope::JavaScriptIdentifier::Injected, QQmlJSScope::insertJSIdentifier(), m_currentScope, m_pendingSignalHandler, m_signalHandlers, and QQmlJSMetaSignalHandler::signalParameters.

Referenced by visit(), and visit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ forgetFunctionExpression()

void QQmlJSImportVisitor::forgetFunctionExpression ( const QString & name)
protected

Removes last FunctionOrExpressionIdentifier from m_functionStack, performing some checks on name.

Note
name must match the name added via addFunctionOrExpression().
See also
addFunctionOrExpression, synthesizeCompilationUnitRuntimeFunctionIndices

Definition at line 1327 of file qqmljsimportvisitor.cpp.

References m_functionStack, Q_ASSERT, and Q_UNUSED.

Referenced by endVisit(), endVisit(), and endVisit().

+ Here is the caller graph for this function:

◆ implicitImportDirectory()

QString QQmlJSImportVisitor::implicitImportDirectory ( const QString & localFile,
QQmlJSResourceFileMapper * mapper )
static

Definition at line 367 of file qqmljsimportvisitor.cpp.

References QFileInfo::canonicalPath(), QQmlJSResourceFileMapper::localFileFilter(), mapper, and QStringLiteral.

Referenced by QQmlJSLinter::lintFile(), and QQmlJSTypeReader::operator()().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ importer() [1/2]

QQmlJSImporter * QQmlJSImportVisitor::importer ( )
inline

Definition at line 79 of file qqmljsimportvisitor_p.h.

Referenced by QQmlSA::PassManagerPrivate::registerPropertyPass().

+ Here is the caller graph for this function:

◆ importer() [2/2]

const QQmlJSImporter * QQmlJSImportVisitor::importer ( ) const
inline

Definition at line 80 of file qqmljsimportvisitor_p.h.

◆ imports()

QQmlJSImporter::ImportedTypes QQmlJSImportVisitor::imports ( ) const
inline

Definition at line 62 of file qqmljsimportvisitor_p.h.

Referenced by QQmlJSTypeResolver::init().

+ Here is the caller graph for this function:

◆ isImportPrefix()

bool QQmlJSImportVisitor::isImportPrefix ( QString prefix) const
protected

Definition at line 1988 of file qqmljsimportvisitor.cpp.

References QString::front(), QString::isEmpty(), QQmlJS::ContextualTypes::isNullType(), and m_rootScopeImports.

Referenced by endVisit(), visit(), and visit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isTypeResolved() [1/2]

bool QQmlJSImportVisitor::isTypeResolved ( const QQmlJSScope::ConstPtr & type)
protected

Definition at line 226 of file qqmljsimportvisitor.cpp.

References getScopeName(), isTypeResolved(), QQmlJSLogger::log(), m_logger, qmlUnresolvedType, and QStringLiteral.

+ Here is the call graph for this function:

◆ isTypeResolved() [2/2]

template<typename ErrorHandler >
bool QQmlJSImportVisitor::isTypeResolved ( const QQmlJSScope::ConstPtr & type,
ErrorHandler handle )
inlineprotected

Definition at line 239 of file qqmljsimportvisitor_p.h.

Referenced by isTypeResolved(), processDefaultProperties(), and processPropertyBindingObjects().

+ Here is the caller graph for this function:

◆ leaveEnvironment()

void QQmlJSImportVisitor::leaveEnvironment ( )
protected

Definition at line 221 of file qqmljsimportvisitor.cpp.

References m_currentScope, and QQmlJSScope::parentScope().

Referenced by endVisit(), endVisit(), endVisit(), endVisit(), endVisit(), endVisit(), endVisit(), endVisit(), endVisit(), endVisit(), endVisit(), endVisit(), endVisit(), endVisit(), visit(), visit(), and visit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ literalScopesToCheck()

QSet< QQmlJSScope::ConstPtr > QQmlJSImportVisitor::literalScopesToCheck ( ) const
inline

Definition at line 68 of file qqmljsimportvisitor_p.h.

◆ logger() [1/2]

QQmlJSLogger * QQmlJSImportVisitor::logger ( )
inline

Definition at line 60 of file qqmljsimportvisitor_p.h.

◆ logger() [2/2]

const QQmlJSLogger * QQmlJSImportVisitor::logger ( ) const
inline

Definition at line 59 of file qqmljsimportvisitor_p.h.

Referenced by QQmlJSTypeResolver::init().

+ Here is the caller graph for this function:

◆ parseAnnotations()

QVector< QQmlJSAnnotation > QQmlJSImportVisitor::parseAnnotations ( QQmlJS::AST::UiAnnotationList * list)
protected

Definition at line 510 of file qqmljsimportvisitor.cpp.

References bindingToVariant(), buildName(), QQmlJS::AST::UiAnnotation::initializer, item, list, QQmlJS::AST::UiObjectInitializer::members, QQmlJSAnnotation::name, and QQmlJS::AST::UiAnnotation::qualifiedTypeNameId.

Referenced by visit(), visit(), and visit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseBindingExpression()

◆ populateRuntimeFunctionIndicesForDocument()

void QQmlJSImportVisitor::populateRuntimeFunctionIndicesForDocument ( ) const
protected

Definition at line 1392 of file qqmljsimportvisitor.cpp.

References m_exportedRootScope, synthesizeCompilationUnitRuntimeFunctionIndices(), and QQmlJSUtils::traverseFollowingQmlIrObjectStructure().

Referenced by endVisit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ processDefaultProperties()

void QQmlJSImportVisitor::processDefaultProperties ( )
protected

Definition at line 560 of file qqmljsimportvisitor.cpp.

References QQmlJSScope::baseType(), causesImplicitComponentWrapping(), QQmlJSScope::defaultPropertyName(), QString::isEmpty(), QQmlJSScope::isInCustomParserParent(), QQmlJSMetaProperty::isList(), isTypeResolved(), it, QQmlJSLogger::log(), m_logger, m_pendingDefaultProperties, QQmlJSScope::property(), qmlIncompatibleType, qmlMissingProperty, qmlNonListProperty, QStringLiteral, QSet< T >::size(), QQmlJSMetaProperty::type(), and QQmlJSMetaProperty::typeName().

Referenced by endVisit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ processMethodTypes()

void QQmlJSImportVisitor::processMethodTypes ( )
protected

Definition at line 669 of file qqmljsimportvisitor.cpp.

References arg, QQmlJSScope::findType(), it, QQmlJSLogger::log(), m_logger, m_pendingMethodTypes, m_rootScopeImports, and qmlUnresolvedType.

Referenced by endVisit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ processPropertyBindingObjects()

void QQmlJSImportVisitor::processPropertyBindingObjects ( )
protected

Definition at line 702 of file qqmljsimportvisitor.cpp.

References arg, causesImplicitComponentWrapping(), getScopeName(), QQmlJSScope::hasInterface(), isTypeResolved(), QQmlJSLogger::log(), m_logger, m_pendingPropertyObjectBindings, property, qMakePair(), qmlDuplicatePropertyBinding, qmlIncompatibleType, qmlMissingProperty, QQmlSA::QMLScope, qmlUnresolvedType, QStringLiteral, and typeName.

Referenced by endVisit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ processPropertyBindings()

void QQmlJSImportVisitor::processPropertyBindings ( )
protected

Definition at line 936 of file qqmljsimportvisitor.cpp.

References arg, QQmlJSUtils::didYouMean(), QQmlJSScope::hasProperty(), QQmlJSScope::isInCustomParserParent(), QDeferredSharedPointer< T >::isNull(), it, QQmlJSLogger::log(), m_logger, m_propertyBindings, QQmlJSScope::property(), property, qmlDeprecated, qmlMissingProperty, qmlMissingType, and QStringLiteral.

Referenced by endVisit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ processPropertyTypes()

void QQmlJSImportVisitor::processPropertyTypes ( )
protected

Definition at line 650 of file qqmljsimportvisitor.cpp.

References QQmlJSScope::findType(), QQmlJSLogger::log(), m_logger, m_pendingPropertyTypes, m_rootScopeImports, property, Q_ASSERT, qmlImport, and QStringLiteral.

Referenced by endVisit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qmlTypes()

QList< QQmlJSScope::ConstPtr > QQmlJSImportVisitor::qmlTypes ( ) const
inline

Definition at line 69 of file qqmljsimportvisitor_p.h.

◆ result()

QQmlJSScope::Ptr QQmlJSImportVisitor::result ( ) const
inline

Definition at line 57 of file qqmljsimportvisitor_p.h.

◆ rootScopeIsValid()

bool QQmlJSImportVisitor::rootScopeIsValid ( ) const
inlineprotected

Definition at line 272 of file qqmljsimportvisitor_p.h.

References QQmlJS::SourceLocation::isValid(), and QQmlJSScope::sourceLocation().

Referenced by endVisit(), visit(), visit(), visit(), and visit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ scopeById()

QQmlJSScope::ConstPtr QQmlJSImportVisitor::scopeById ( const QString & id,
const QQmlJSScope::ConstPtr & current )
protected

◆ scopesBylocation()

QHash< QV4::CompiledData::Location, QQmlJSScope::ConstPtr > QQmlJSImportVisitor::scopesBylocation ( ) const
inline

Definition at line 70 of file qqmljsimportvisitor_p.h.

Referenced by QQmlJSTypeResolver::init().

+ Here is the caller graph for this function:

◆ setAllBindings()

void QQmlJSImportVisitor::setAllBindings ( )
protected

Definition at line 541 of file qqmljsimportvisitor.cpp.

References getScopeName(), it, QQmlJSLogger::log(), m_bindings, m_logger, qmlUnresolvedType, and QStringLiteral.

Referenced by endVisit().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ signalHandlers()

QHash< QQmlJS::SourceLocation, QQmlJSMetaSignalHandler > QQmlJSImportVisitor::signalHandlers ( ) const
inline

Definition at line 64 of file qqmljsimportvisitor_p.h.

Referenced by QQmlJSTypeResolver::init().

+ Here is the caller graph for this function:

◆ synthesizeCompilationUnitRuntimeFunctionIndices()

int QQmlJSImportVisitor::synthesizeCompilationUnitRuntimeFunctionIndices ( const QQmlJSScope::Ptr & scope,
int count ) const
protected

Sets absolute runtime function indices for scope based on count (document-level variable). Returns count incremented by the number of runtime functions that the current scope has.

Note
Not all scopes are considered as the function is compatible with the compilation unit output. The runtime functions are only recorded for QmlIR::Object (even if they don't strictly belong to it). Thus, in QQmlJSScope terms, we are only interested in QML scopes, group and attached property scopes.

Definition at line 1348 of file qqmljsimportvisitor.cpp.

References QQmlJSScope::addOwnRuntimeFunctionIndex(), QQmlSA::AttachedPropertyScope, QQmlSA::GroupedPropertyScope, it, m_functionsAndExpressions, m_innerFunctions, QQmlSA::QMLScope, and QQmlJSScope::scopeType().

Referenced by populateRuntimeFunctionIndicesForDocument().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ throwRecursionDepthError()

void QQmlJSImportVisitor::throwRecursionDepthError ( )
overrideprotectedvirtual

Implements QQmlJS::AST::BaseVisitor.

Definition at line 2481 of file qqmljsimportvisitor.cpp.

References QQmlJSLogger::log(), m_logger, qmlRecursionDepthErrors, and QStringLiteral.

+ Here is the call graph for this function:

◆ visit() [1/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::Block * ast)
overrideprotected

Definition at line 2523 of file qqmljsimportvisitor.cpp.

References enterEnvironment(), QQmlJS::AST::Block::firstSourceLocation(), flushPendingSignalParameters(), QQmlJS::SourceLocation::isValid(), QQmlSA::JSLexicalScope, m_pendingSignalHandler, and QStringLiteral.

+ Here is the call graph for this function:

◆ visit() [2/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::CaseBlock * ast)
overrideprotected

Definition at line 2539 of file qqmljsimportvisitor.cpp.

References enterEnvironment(), QQmlJS::AST::CaseBlock::firstSourceLocation(), QQmlSA::JSLexicalScope, and QStringLiteral.

+ Here is the call graph for this function:

◆ visit() [3/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::Catch * ast)
overrideprotected

Definition at line 2551 of file qqmljsimportvisitor.cpp.

References enterEnvironment(), QQmlJSScope::insertJSIdentifier(), QQmlSA::JSLexicalScope, m_currentScope, and QStringLiteral.

+ Here is the call graph for this function:

◆ visit() [4/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::ClassDeclaration * ast)
overrideprotected

Definition at line 2487 of file qqmljsimportvisitor.cpp.

References enterEnvironment(), QQmlJS::AST::ClassExpression::firstSourceLocation(), QQmlSA::JSFunctionScope, QQmlJS::AST::ClassExpression::name, and QStringView::toString().

+ Here is the call graph for this function:

◆ visit() [5/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::ClassExpression * ast)
overrideprotected

Definition at line 1836 of file qqmljsimportvisitor.cpp.

References QQmlJSScope::addOwnProperty(), enterEnvironment(), QQmlJS::AST::ClassExpression::firstSourceLocation(), QQmlSA::JSFunctionScope, m_currentScope, QQmlJS::AST::ClassExpression::name, QQmlJSMetaProperty::setPropertyName(), and QStringView::toString().

+ Here is the call graph for this function:

◆ visit() [6/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::ESModule * module)
overrideprotected

Definition at line 2783 of file qqmljsimportvisitor.cpp.

References QQmlJS::AST::ESModule::firstSourceLocation(), QQmlSA::JSLexicalScope, leaveEnvironment(), m_currentScope, Q_ASSERT, QStringLiteral, rootScopeIsValid(), and QQmlJSScope::setIsScript().

+ Here is the call graph for this function:

◆ visit() [7/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::ExportDeclaration * exp)
overrideprotected

Definition at line 2767 of file qqmljsimportvisitor.cpp.

References m_currentScope, m_exportedRootScope, m_globalScope, Q_ASSERT, and rootScopeIsValid().

+ Here is the call graph for this function:

◆ visit() [8/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::ExpressionStatement * ast)
overrideprotected

Definition at line 1401 of file qqmljsimportvisitor.cpp.

References enterEnvironment(), QQmlJS::AST::ExpressionStatement::firstSourceLocation(), flushPendingSignalParameters(), QQmlJS::SourceLocation::isValid(), QQmlSA::JSFunctionScope, and m_pendingSignalHandler.

+ Here is the call graph for this function:

◆ visit() [9/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::ForEachStatement * ast)
overrideprotected

Definition at line 2511 of file qqmljsimportvisitor.cpp.

References enterEnvironment(), QQmlJS::AST::ForEachStatement::firstSourceLocation(), QQmlSA::JSLexicalScope, and QStringLiteral.

+ Here is the call graph for this function:

◆ visit() [10/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::FormalParameterList * fpl)
overrideprotected

Definition at line 2606 of file qqmljsimportvisitor.cpp.

References QQmlJSScope::insertJSIdentifier(), m_currentScope, QQmlJSScope::JavaScriptIdentifier::Parameter, and typeName.

+ Here is the call graph for this function:

◆ visit() [11/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::ForStatement * ast)
overrideprotected

Definition at line 2499 of file qqmljsimportvisitor.cpp.

References enterEnvironment(), QQmlJS::AST::ForStatement::firstSourceLocation(), QQmlSA::JSLexicalScope, and QStringLiteral.

+ Here is the call graph for this function:

◆ visit() [12/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::FunctionDeclaration * fdecl)
overrideprotected

Definition at line 1824 of file qqmljsimportvisitor.cpp.

◆ visit() [13/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::FunctionExpression * fexpr)
overrideprotected

Definition at line 1806 of file qqmljsimportvisitor.cpp.

◆ visit() [14/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::IdentifierExpression * idexp)
overrideprotected

Definition at line 2831 of file qqmljsimportvisitor.cpp.

References QMultiHash< Key, T >::contains(), QSet< T >::insert(), m_importTypeLocationMap, and m_usedTypes.

+ Here is the call graph for this function:

◆ visit() [15/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::PatternElement * element)
overrideprotected

◆ visit() [16/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::Program * program)
overrideprotected

Definition at line 2799 of file qqmljsimportvisitor.cpp.

References QQmlJSScope::clone(), m_currentScope, m_exportedRootScope, m_globalScope, Q_ASSERT, rootScopeIsValid(), and QQmlJSScope::setIsScript().

+ Here is the call graph for this function:

◆ visit() [17/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::StringLiteral * sl)
overrideprotected

Definition at line 1419 of file qqmljsimportvisitor.cpp.

References QQmlJSLogger::code(), i, QQmlJSLogger::log(), m_logger, QString::mid(), qmlMultilineStrings, QStringLiteral, and QQmlJSFixSuggestion::setAutoApplicable().

+ Here is the call graph for this function:

◆ visit() [18/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::UiArrayBinding * arrayBinding)
overrideprotected

Definition at line 2217 of file qqmljsimportvisitor.cpp.

References buildName(), enterEnvironment(), m_currentScope, QQmlSA::QMLScope, and QQmlJSScope::setIsArrayScope().

+ Here is the call graph for this function:

◆ visit() [19/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::UiEnumDeclaration * uied)
overrideprotected

Definition at line 2261 of file qqmljsimportvisitor.cpp.

References QQmlJSMetaEnum::addKey(), QQmlJSScope::addOwnEnumeration(), QQmlJSMetaEnum::addValue(), QQmlJSScope::inlineComponentName(), QQmlJSLogger::log(), m_currentScope, m_logger, qmlSyntax, and QQmlJSMetaEnum::setIsQml().

+ Here is the call graph for this function:

◆ visit() [20/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::UiImport * import)
overrideprotected

◆ visit() [21/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::UiInlineComponent * component)
overrideprotected

Definition at line 1557 of file qqmljsimportvisitor.cpp.

References component(), QQmlJSLogger::log(), m_currentRootName, m_logger, m_nextIsInlineComponent, and qmlSyntax.

+ Here is the call graph for this function:

◆ visit() [22/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::UiObjectBinding * uiob)
overrideprotected

◆ visit() [23/31]

◆ visit() [24/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::UiPragma * pragma)
overrideprotected

◆ visit() [25/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::UiProgram * )
overrideprotected

Definition at line 435 of file qqmljsimportvisitor.cpp.

◆ visit() [26/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::UiPublicMember * publicMember)
overrideprotected

◆ visit() [27/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::UiRequired * required)
overrideprotected

Definition at line 1711 of file qqmljsimportvisitor.cpp.

References QQmlJS::AST::UiRequired::firstSourceLocation(), m_currentScope, m_requiredProperties, QQmlJS::AST::UiRequired::name, QQmlJSScope::setPropertyLocallyRequired(), and QStringView::toString().

+ Here is the call graph for this function:

◆ visit() [28/31]

◆ visit() [29/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::UiSourceElement * srcElement)
overrideprotected

Definition at line 1818 of file qqmljsimportvisitor.cpp.

References m_pendingMethodAnnotations, and parseAnnotations().

+ Here is the call graph for this function:

◆ visit() [30/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::VariableDeclarationList * vdl)
overrideprotected

Definition at line 2586 of file qqmljsimportvisitor.cpp.

References QQmlJSScope::insertJSIdentifier(), m_currentScope, and typeName.

+ Here is the call graph for this function:

◆ visit() [31/31]

bool QQmlJSImportVisitor::visit ( QQmlJS::AST::WithStatement * withStatement)
overrideprotected

Definition at line 2568 of file qqmljsimportvisitor.cpp.

References enterEnvironment(), QQmlJS::AST::WithStatement::firstSourceLocation(), QQmlSA::JSLexicalScope, QQmlJSLogger::log(), m_logger, qmlWith, and QStringLiteral.

+ Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ QQmlJS::Dom::QQmlDomAstCreatorWithQQmlJSScope

Definition at line 369 of file qqmljsimportvisitor_p.h.

Member Data Documentation

◆ m_bindings

QList<UnfinishedBinding> QQmlJSImportVisitor::m_bindings
protected

◆ m_currentRootName

QQmlJSScope::InlineComponentOrDocumentRootName QQmlJSImportVisitor::m_currentRootName
protected
Initial value:

Definition at line 166 of file qqmljsimportvisitor_p.h.

Referenced by endVisit(), visit(), and visit().

◆ m_currentScope

◆ m_exportedRootScope

const QQmlJSScope::Ptr QQmlJSImportVisitor::m_exportedRootScope
protected

◆ m_functionsAndExpressions

QHash<QQmlJSScope::ConstPtr, QList<QString> > QQmlJSImportVisitor::m_functionsAndExpressions
protected

◆ m_functionStack

QStack<FunctionOrExpressionIdentifier> QQmlJSImportVisitor::m_functionStack
protected

◆ m_globalScope

QQmlJSScope::ConstPtr QQmlJSImportVisitor::m_globalScope
protected

Definition at line 171 of file qqmljsimportvisitor_p.h.

Referenced by checkRequiredProperties(), endVisit(), visit(), and visit().

◆ m_implicitImportDirectory

QString QQmlJSImportVisitor::m_implicitImportDirectory
protected

Definition at line 156 of file qqmljsimportvisitor_p.h.

Referenced by visit().

◆ m_importer

QQmlJSImporter* QQmlJSImportVisitor::m_importer = nullptr
protected

Definition at line 160 of file qqmljsimportvisitor_p.h.

Referenced by visit().

◆ m_importLocations

QSet<QQmlJS::SourceLocation> QQmlJSImportVisitor::m_importLocations
protected

Definition at line 185 of file qqmljsimportvisitor_p.h.

Referenced by endVisit().

◆ m_importStaticModuleLocationMap

QMultiHash<QString, QQmlJS::SourceLocation> QQmlJSImportVisitor::m_importStaticModuleLocationMap
protected

Definition at line 183 of file qqmljsimportvisitor_p.h.

Referenced by endVisit(), and visit().

◆ m_importTypeLocationMap

QMultiHash<QString, QQmlJS::SourceLocation> QQmlJSImportVisitor::m_importTypeLocationMap
protected

Definition at line 181 of file qqmljsimportvisitor_p.h.

Referenced by endVisit(), endVisit(), visit(), and visit().

◆ m_innerFunctions

QHash<FunctionOrExpressionIdentifier, int> QQmlJSImportVisitor::m_innerFunctions
protected

◆ m_literalScopesToCheck

QSet<QQmlJSScope::ConstPtr> QQmlJSImportVisitor::m_literalScopesToCheck
protected

Definition at line 342 of file qqmljsimportvisitor_p.h.

Referenced by parseBindingExpression().

◆ m_logger

◆ m_nextIsInlineComponent

bool QQmlJSImportVisitor::m_nextIsInlineComponent = false
protected

Definition at line 168 of file qqmljsimportvisitor_p.h.

Referenced by endVisit(), visit(), and visit().

◆ m_objectBindingScopes

QVector<QQmlJSScope::Ptr> QQmlJSImportVisitor::m_objectBindingScopes
protected

Definition at line 336 of file qqmljsimportvisitor_p.h.

Referenced by endVisit(), and visit().

◆ m_objectDefinitionScopes

QVector<QQmlJSScope::Ptr> QQmlJSImportVisitor::m_objectDefinitionScopes
protected

Definition at line 337 of file qqmljsimportvisitor_p.h.

Referenced by checkRequiredProperties(), endVisit(), and visit().

◆ m_pendingDefaultProperties

QHash<QQmlJSScope::Ptr, QVector<QQmlJSScope::Ptr> > QQmlJSImportVisitor::m_pendingDefaultProperties
protected

◆ m_pendingMethodAnnotations

QVector<QQmlJSAnnotation> QQmlJSImportVisitor::m_pendingMethodAnnotations
protected

Definition at line 280 of file qqmljsimportvisitor_p.h.

Referenced by visit().

◆ m_pendingMethodTypes

QVector<PendingMethodType> QQmlJSImportVisitor::m_pendingMethodTypes
protected

Definition at line 333 of file qqmljsimportvisitor_p.h.

Referenced by processMethodTypes().

◆ m_pendingPropertyObjectBindings

QVector<PendingPropertyObjectBinding> QQmlJSImportVisitor::m_pendingPropertyObjectBindings
protected

Definition at line 334 of file qqmljsimportvisitor_p.h.

Referenced by endVisit(), endVisit(), and processPropertyBindingObjects().

◆ m_pendingPropertyTypes

QVector<PendingPropertyType> QQmlJSImportVisitor::m_pendingPropertyTypes
protected

Definition at line 332 of file qqmljsimportvisitor_p.h.

Referenced by processPropertyTypes(), and visit().

◆ m_pendingSignalHandler

QQmlJS::SourceLocation QQmlJSImportVisitor::m_pendingSignalHandler
protected

Definition at line 343 of file qqmljsimportvisitor_p.h.

Referenced by flushPendingSignalParameters(), visit(), visit(), and visit().

◆ m_propertyBindings

QHash<QQmlJSScope::Ptr, QVector<WithVisibilityScope<QString> > > QQmlJSImportVisitor::m_propertyBindings
protected

Definition at line 339 of file qqmljsimportvisitor_p.h.

Referenced by processPropertyBindings(), and visit().

◆ m_qmldirFiles

QStringList QQmlJSImportVisitor::m_qmldirFiles
protected

Definition at line 157 of file qqmljsimportvisitor_p.h.

◆ m_qmlTypes

QList<QQmlJSScope::ConstPtr> QQmlJSImportVisitor::m_qmlTypes
protected

Definition at line 174 of file qqmljsimportvisitor_p.h.

Referenced by visit(), and visit().

◆ m_requiredProperties

QVector<RequiredProperty> QQmlJSImportVisitor::m_requiredProperties
protected

Definition at line 335 of file qqmljsimportvisitor_p.h.

Referenced by checkRequiredProperties(), and visit().

◆ m_rootIsSingleton

bool QQmlJSImportVisitor::m_rootIsSingleton = false
protected

Definition at line 169 of file qqmljsimportvisitor_p.h.

Referenced by visit(), and visit().

◆ m_rootScopeImports

◆ m_savedBindingOuterScope

QQmlJSScope::Ptr QQmlJSImportVisitor::m_savedBindingOuterScope
protected

Definition at line 170 of file qqmljsimportvisitor_p.h.

Referenced by endVisit(), endVisit(), visit(), and visit().

◆ m_scopesById

QQmlJSScopesById QQmlJSImportVisitor::m_scopesById
protected

Definition at line 172 of file qqmljsimportvisitor_p.h.

Referenced by checkRequiredProperties(), endVisit(), and visit().

◆ m_scopesByIrLocation

QHash<QV4::CompiledData::Location, QQmlJSScope::ConstPtr> QQmlJSImportVisitor::m_scopesByIrLocation
protected

Definition at line 178 of file qqmljsimportvisitor_p.h.

Referenced by enterEnvironmentNonUnique().

◆ m_signalHandlers

QHash<QQmlJS::SourceLocation, QQmlJSMetaSignalHandler> QQmlJSImportVisitor::m_signalHandlers
protected

Definition at line 341 of file qqmljsimportvisitor_p.h.

Referenced by flushPendingSignalParameters(), and visit().

◆ m_thisScriptBindingIsJavaScript

bool QQmlJSImportVisitor::m_thisScriptBindingIsJavaScript = false
protected

Definition at line 216 of file qqmljsimportvisitor_p.h.

Referenced by endVisit(), and visit().

◆ m_unresolvedTypes

QSet<QQmlJSScope::ConstPtr> QQmlJSImportVisitor::m_unresolvedTypes
protected

Definition at line 237 of file qqmljsimportvisitor_p.h.

◆ m_usedTypes

QSet<QString> QQmlJSImportVisitor::m_usedTypes
protected

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