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::PropertyPass Class Reference

\inmodule QtQmlCompiler More...

#include <qqmlsa.h>

Inheritance diagram for QQmlSA::PropertyPass:
Collaboration diagram for QQmlSA::PropertyPass:

Public Member Functions

 PropertyPass (PassManager *manager)
 Creates a PropertyPass object and uses manager to refer to the pass manager.
virtual void onBinding (const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Binding &binding, const QQmlSA::Element &bindingScope, const QQmlSA::Element &value)
 Executes whenever a property gets bound to a value.
virtual void onRead (const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Element &readScope, QQmlSA::SourceLocation location)
 Executes whenever a property is read.
virtual void onCall (const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Element &readScope, QQmlSA::SourceLocation location)
 Executes whenever a property or method is called.
virtual void onWrite (const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Element &value, const QQmlSA::Element &writeScope, QQmlSA::SourceLocation location)
 Executes whenever a property is written to.
Public Member Functions inherited from QQmlSA::GenericPass
 GenericPass (PassManager *manager)
 Creates a generic pass.
virtual ~GenericPass ()
 Destroys the GenericPass instance.
void emitWarning (QAnyStringView diagnostic, LoggerWarningId id)
 Emits a warning message diagnostic about an issue of type id.
void emitWarning (QAnyStringView diagnostic, LoggerWarningId id, QQmlSA::SourceLocation srcLocation)
 Emits warning message diagnostic about an issue of type id located at srcLocation.
void emitWarning (QAnyStringView diagnostic, LoggerWarningId id, QQmlSA::SourceLocation srcLocation, const QQmlSA::FixSuggestion &fix)
 Emits a warning message diagnostic about an issue of type id located at srcLocation and with suggested fix fix.
Element resolveTypeInFileScope (QAnyStringView typeName)
 Returns the type corresponding to typeName inside the currently analysed file.
Element resolveAttachedInFileScope (QAnyStringView typeName)
 Returns the attached type corresponding to typeName used inside the currently analysed file.
Element resolveType (QAnyStringView moduleName, QAnyStringView typeName)
 Returns the type of typeName defined in module moduleName.
Element resolveBuiltinType (QAnyStringView typeName) const
 Returns the type of the built-in type identified by typeName.
Element resolveAttached (QAnyStringView moduleName, QAnyStringView typeName)
 Returns the attached type of typeName defined in module moduleName.
Element resolveLiteralType (const Binding &binding)
 Returns the element representing the type of literal in binding.
Element resolveIdToElement (QAnyStringView id, const Element &context)
 Returns the element in context that has id id.
QString resolveElementToId (const Element &element, const Element &context)
 Returns the id of element in a given context.
QString sourceCode (QQmlSA::SourceLocation location)
 Returns the source code located within location.

Detailed Description

\inmodule QtQmlCompiler

Base class for all static analysis passes on properties.

Definition at line 350 of file qqmlsa.h.

Constructor & Destructor Documentation

◆ PropertyPass()

QQmlSA::PropertyPass::PropertyPass ( PassManager * manager)

Creates a PropertyPass object and uses manager to refer to the pass manager.

Definition at line 1875 of file qqmlsa.cpp.

Member Function Documentation

◆ onBinding()

void QQmlSA::PropertyPass::onBinding ( const QQmlSA::Element & element,
const QString & propertyName,
const QQmlSA::Binding & binding,
const QQmlSA::Element & bindingScope,
const QQmlSA::Element & value )
virtual

Executes whenever a property gets bound to a value.

The property propertyName of element is bound to the value within bindingScope with binding.

Reimplemented in AttachedPropertyTypeValidatorPass, ColorValidatorPass, ColorValidatorPass, QQmlJSLiteralBindingCheck, QQmlSA::DebugPropertyPass, QQmlSA::GenericPropertyPass, QQuickLiteralBindingCheck, and VarBindingTypeValidatorPass.

Definition at line 1883 of file qqmlsa.cpp.

◆ onCall()

void QQmlSA::PropertyPass::onCall ( const QQmlSA::Element & element,
const QString & propertyName,
const QQmlSA::Element & readScope,
QQmlSA::SourceLocation location )
virtual

Executes whenever a property or method is called.

The property or method propertyName of element is called as a function by an instruction within readScope defined at location.

Note
Currently only direct calls of methods or properties are supported, indirect calls, for example by storing a method into a JavaScript variable and then calling the variable, are not recognized.

Reimplemented in FunctionCallValidator, FunctionCallValidator, QQmlJSTranslationFunctionMismatchCheck, QQmlJSTranslationFunctionMismatchCheck, and QQmlSA::GenericPropertyPass.

Definition at line 1922 of file qqmlsa.cpp.

◆ onRead()

void QQmlSA::PropertyPass::onRead ( const QQmlSA::Element & element,
const QString & propertyName,
const QQmlSA::Element & readScope,
QQmlSA::SourceLocation location )
virtual

Executes whenever a property is read.

The property propertyName of element is read by an instruction within readScope defined at location.

This is also executed if the property propertyName is called as a function as that requires the property to be read first.

Reimplemented in AttachedPropertyReuse, AttachedPropertyTypeValidatorPass, QdsBindingValidator, QdsBindingValidator, QQmlSA::DebugPropertyPass, and QQmlSA::GenericPropertyPass.

Definition at line 1903 of file qqmlsa.cpp.

◆ onWrite()

void QQmlSA::PropertyPass::onWrite ( const QQmlSA::Element & element,
const QString & propertyName,
const QQmlSA::Element & value,
const QQmlSA::Element & writeScope,
QQmlSA::SourceLocation location )
virtual

Executes whenever a property is written to.

The property propertyName of element is written to by an instruction within writeScope defined at location. The type of the expression written to propertyName is expressionType.

Reimplemented in AttachedPropertyReuse, AttachedPropertyTypeValidatorPass, QdsBindingValidator, QdsBindingValidator, QQmlSA::DebugPropertyPass, and QQmlSA::GenericPropertyPass.

Definition at line 1938 of file qqmlsa.cpp.


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