QQmlSA::PropertyPass Class
class QQmlSA::PropertyPassBase class for all static analysis passes on properties. More...
| Header: | #include <PropertyPass> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS QmlCompiler)target_link_libraries(mytarget PRIVATE Qt6::QmlCompiler) |
| Inherits: | QQmlSA::GenericPass |
| Status: | Technical Preview |
Public Functions
| PropertyPass(QQmlSA::PassManager *manager) | |
| virtual void | onBinding(const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Binding &binding, const QQmlSA::Element &bindingScope, const QQmlSA::Element &value) |
| virtual void | onCall(const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Element &readScope, QQmlSA::SourceLocation location) |
| virtual void | onRead(const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Element &readScope, QQmlSA::SourceLocation location) |
| virtual void | onWrite(const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Element &expressionType, const QQmlSA::Element &writeScope, QQmlSA::SourceLocation location) |
Detailed Description
Member Function Documentation
PropertyPass::PropertyPass(QQmlSA::PassManager *manager)
Creates a PropertyPass object and uses manager to refer to the pass manager.
[virtual] void PropertyPass::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.
The property propertyName of element is bound to the value within bindingScope with binding.
[virtual] void PropertyPass::onCall(const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Element &readScope, QQmlSA::SourceLocation location)
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.
[virtual] void PropertyPass::onRead(const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Element &readScope, QQmlSA::SourceLocation location)
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.
[virtual] void PropertyPass::onWrite(const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Element &expressionType, const QQmlSA::Element &writeScope, QQmlSA::SourceLocation location)
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.