QQmlSA Namespace
Provides tools for static analysis on QML programs. More...
Header: | #include <QQmlSA> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS QmlCompiler) target_link_libraries(mytarget PRIVATE Qt6::QmlCompiler) |
Status: | Technical Preview |
Types
enum class | AccessSemantics { Reference, Value, None, Sequence } |
enum class | BindingType { Invalid, BoolLiteral, NumberLiteral, StringLiteral, RegExpLiteral, …, GroupProperty } |
enum class | MethodType { Signal, Slot, Method, StaticMethod } |
enum class | ScopeType { JSFunctionScope, JSLexicalScope, QMLScope, GroupedPropertyScope, AttachedPropertyScope, EnumScope } |
enum class | ScriptBindingKind { Invalid, PropertyBinding, SignalHandler, ChangeHandler } |
Detailed Description
Type Documentation
enum class QQmlSA::AccessSemantics
Describes how a type is accessed and shared.
Constant | Value | Description |
---|---|---|
QQmlSA::AccessSemantics::Reference | 0 | The type behaves like an Object type |
QQmlSA::AccessSemantics::Value | 1 | The type behaves like a Value type |
QQmlSA::AccessSemantics::None | 2 | The type is a namespace, or is invalid |
QQmlSA::AccessSemantics::Sequence | 3 | The type behaves like a Sequence type |
See also The QML Type System.
enum class QQmlSA::BindingType
Describes the type of a QQmlSA::Binding.
Constant | Value | Description |
---|---|---|
QQmlSA::BindingType::Invalid | 0 | There is no binding |
QQmlSA::BindingType::BoolLiteral | 1 | The binding is a bool literal |
QQmlSA::BindingType::NumberLiteral | 2 | The binding is a number literal |
QQmlSA::BindingType::StringLiteral | 3 | The binding is a string literal |
QQmlSA::BindingType::RegExpLiteral | 4 | The binding is a regular expression literal |
QQmlSA::BindingType::Null | 5 | The binding is a null literal |
QQmlSA::BindingType::Translation | 6 | The binding is a translation |
QQmlSA::BindingType::TranslationById | 7 | The binding is a translation by id |
QQmlSA::BindingType::Script | 8 | The binding is a regular script |
QQmlSA::BindingType::Object | 9 | The binging is an Object |
QQmlSA::BindingType::Interceptor | 10 | The binding is an interceptor that can intercept writes to properties such as Behavior |
QQmlSA::BindingType::ValueSource | 11 | The binging is a property value source |
QQmlSA::BindingType::AttachedProperty | 12 | The binding is an attached object |
QQmlSA::BindingType::GroupProperty | 13 | The binding is a grouped property |
enum class QQmlSA::MethodType
Describes the type of a QQmlSA::Method.
Constant | Value | Description |
---|---|---|
QQmlSA::MethodType::Signal | 0 | The method is a signal |
QQmlSA::MethodType::Slot | 1 | The method is a slot |
QQmlSA::MethodType::Method | 2 | The method is a Q_INVOKABLE method |
QQmlSA::MethodType::StaticMethod | 3 | The method is a Q_INVOKABLE static method |
enum class QQmlSA::ScopeType
Describes the type of QML scope.
Constant | Value | Description |
---|---|---|
QQmlSA::ScopeType::JSFunctionScope | 0 | The scope is a JavaScript function:Item { function f() : int { <- begin return 1 } <- end } |
QQmlSA::ScopeType::JSLexicalScope | 1 | The scope is a JavaScript lexical scope:property int i: { <- begin let a = 1 { <- begin console.log("hello") } <- end return a } <- end |
QQmlSA::ScopeType::QMLScope | 2 | The scope is a QML Object:Item { <- begin x: 50 } <- end |
QQmlSA::ScopeType::GroupedPropertyScope | 3 | The scope is a grouped property:Text { font { <- begin pixelSize: 12 bold: true } <- end } |
QQmlSA::ScopeType::AttachedPropertyScope | 4 | The scope is an attached property:Item { Component.onCompleted: console.log("Hello") ^^^^^^^^^ \ Scope of attached property Component } |
QQmlSA::ScopeType::EnumScope | 5 | The scope is a QML enum:enum E { <- begin A, B, C } <- end |
Each entry is shown with an example scope of the matching type in QML code.
enum class QQmlSA::ScriptBindingKind
Describes the script type of a QQmlSA::Binding of type Script.
Constant | Value | Description |
---|---|---|
QQmlSA::ScriptBindingKind::Invalid | 0 | The binding has an invalid script |
QQmlSA::ScriptBindingKind::PropertyBinding | 1 | The binding is bound to a property |
QQmlSA::ScriptBindingKind::SignalHandler | 2 | The binding is a signal handler |
QQmlSA::ScriptBindingKind::ChangeHandler | 3 | The binding is a change handler |