QQmlSA::PropertyPass Class

class QQmlSA ::PropertyPass

Base class for all static analysis passes on properties. 更多...

头: #include <PropertyPass>
CMake: find_package(Qt6 REQUIRED COMPONENTS QmlCompiler)
target_link_libraries(mytarget PRIVATE Qt6::QmlCompiler)
继承: QQmlSA::GenericPass
状态: 技术预览

公共函数

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 )

详细描述

成员函数文档编制

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 valuebindingScope 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 .

注意: 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 .