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 |
Classes
class | Binding |
class | Element |
class | ElementPass |
class | FixSuggestion |
class | GenericPass |
class | LintPlugin |
class | LoggerWarningId |
class | Method |
class | PassManager |
class | Property |
class | PropertyPass |
class | SourceLocation |
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 } |
Classes
class Binding
Represents a single QML property binding for a specific type. More...
class Element
Represents a QML type. More...
class ElementPass
Base class for all static analysis passes on elements. More...
class FixSuggestion
Represents a suggested fix for an issue in the source code. More...
class GenericPass
The base class for static analysis passes. More...
class LintPlugin
Base class for all static analysis plugins. More...
class LoggerWarningId
A wrapper around a string literal to uniquely identify warning categories in the QQmlSA
framework. More...
class Method
Represents a QML method. More...
class PassManager
Can analyze an element and its children with static analysis passes. More...
class Property
Represents a QML property. More...
class PropertyPass
Base class for all static analysis passes on properties. More...
class SourceLocation
Represents a location or region in the source code. More...
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 |
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.