QQmlSA Namespace
Stellt Werkzeuge für die statische Analyse von QML-Programmen zur Verfügung. Mehr...
Kopfzeile: | #include <QQmlSA> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS QmlCompiler) target_link_libraries(mytarget PRIVATE Qt6::QmlCompiler) |
Status: | Technische Vorschau |
Klassen
class | Binding |
class | Element |
class | ElementPass |
class | FixSuggestion |
class | GenericPass |
class | LintPlugin |
class | LoggerWarningId |
class | Method |
class | PassManager |
class | Property |
class | PropertyPass |
class | SourceLocation |
Typen
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 } |
Klassen
Klasse Bindung
Stellt eine einzelne QML-Eigenschaftsbindung für einen bestimmten Typ dar. Mehr...
Klasse Element
Stellt einen QML-Typ dar. Mehr...
Klasse ElementPass
Basisklasse für alle statischen Analyseübergänge für Elemente. Mehr...
Klasse FixSuggestion
Stellt einen Korrekturvorschlag für ein Problem im Quellcode dar. Mehr...
Klasse GenericPass
Die Basisklasse für statische Analysepässe. Mehr...
Klasse LintPlugin
Basisklasse für alle Plugins zur statischen Analyse. Mehr...
Klasse LoggerWarningId
Ein Wrapper um ein Stringliteral zur eindeutigen Identifizierung von Warnungskategorien im QQmlSA
Framework. Mehr...
Klasse Methode
Stellt eine QML-Methode dar. Mehr...
class PassManager
Kann ein Element und seine Kinder mit statischen Analysedurchläufen analysieren. Mehr...
Klasse Property
Stellt eine QML-Eigenschaft dar. Mehr...
Klasse PropertyPass
Basisklasse für alle statischen Analyseübergänge auf Eigenschaften. Mehr...
Klasse SourceLocation
Stellt eine Stelle oder Region im Quellcode dar. Mehr...
Typ Dokumentation
enum class QQmlSA::AccessSemantics
Beschreibt, wie auf einen Typ zugegriffen wird und wie er gemeinsam genutzt wird.
Konstante | Wert | Beschreibung |
---|---|---|
QQmlSA::AccessSemantics::Reference | 0 | Der Typ verhält sich wie ein Objekttyp |
QQmlSA::AccessSemantics::Value | 1 | Der Typ verhält sich wie ein Wertetyp |
QQmlSA::AccessSemantics::None | 2 | Der Typ ist ein Namespace oder ist ungültig |
QQmlSA::AccessSemantics::Sequence | 3 | Der Typ verhält sich wie ein Sequence-Typ |
Siehe auch Das QML-Typensystem.
enum class QQmlSA::BindingType
Beschreibt den Typ einer QQmlSA::Binding.
Konstante | Wert | Beschreibung |
---|---|---|
QQmlSA::BindingType::Invalid | 0 | Es gibt keine Bindung |
QQmlSA::BindingType::BoolLiteral | 1 | Die Bindung ist ein bool-Literal |
QQmlSA::BindingType::NumberLiteral | 2 | Die Bindung ist ein Zahlenliteral |
QQmlSA::BindingType::StringLiteral | 3 | Die Bindung ist ein String-Literal |
QQmlSA::BindingType::RegExpLiteral | 4 | Die Bindung ist ein reguläres Ausdrucksliteral |
QQmlSA::BindingType::Null | 5 | Die Bindung ist ein Null-Literal |
QQmlSA::BindingType::Translation | 6 | Die Bindung ist eine Übersetzung |
QQmlSA::BindingType::TranslationById | 7 | Die Bindung ist eine Übersetzung nach id |
QQmlSA::BindingType::Script | 8 | Die Bindung ist ein reguläres Skript |
QQmlSA::BindingType::Object | 9 | Die Bindung ist ein Objekt |
QQmlSA::BindingType::Interceptor | 10 | Die Bindung ist ein Interceptor, der Schreibzugriffe auf Eigenschaften abfangen kann, wie z.B. Behavior |
QQmlSA::BindingType::ValueSource | 11 | Die Bindung ist eine Eigenschaftswertquelle |
QQmlSA::BindingType::AttachedProperty | 12 | Die Bindung ist ein angehängtes Objekt |
QQmlSA::BindingType::GroupProperty | 13 | Die Bindung ist eine gruppierte Eigenschaft |
enum class QQmlSA::MethodType
Beschreibt den Typ einer QQmlSA::Method.
Konstante | Wert | Beschreibung |
---|---|---|
QQmlSA::MethodType::Signal | 0 | Die Methode ist ein Signal |
QQmlSA::MethodType::Slot | 1 | Die Methode ist ein Slot |
QQmlSA::MethodType::Method | 2 | Die Methode ist eine Q_INVOKABLE Methode |
QQmlSA::MethodType::StaticMethod | 3 | Die Methode ist eine Q_INVOKABLE statische Methode |
enum class QQmlSA::ScopeType
Beschreibt den Typ des QML-Bereichs.
Konstante | Wert | Beschreibung |
---|---|---|
QQmlSA::ScopeType::JSFunctionScope | 0 | Der Bereich ist eine JavaScript-Funktion:Item { function f() : int { <- begin return 1 } <- end } |
QQmlSA::ScopeType::JSLexicalScope | 1 | Der Bereich ist ein lexikalischer JavaScript-Bereich:property int i: { <- begin let a = 1 { <- begin console.log("hello") } <- end return a } <- end |
QQmlSA::ScopeType::QMLScope | 2 | Der Geltungsbereich ist ein QML-Objekt:Item { <- begin x: 50 } <- end |
QQmlSA::ScopeType::GroupedPropertyScope | 3 | Der Geltungsbereich ist eine gruppierte Eigenschaft:Text { font { <- begin pixelSize: 12 bold: true } <- end } |
QQmlSA::ScopeType::AttachedPropertyScope | 4 | Der Geltungsbereich ist eine angehängte Eigenschaft:Item { Component.onCompleted: console.log("Hello") ^^^^^^^^^ \ Scope of attached property Component } |
QQmlSA::ScopeType::EnumScope | 5 | Der Geltungsbereich ist ein QML-Enum:enum E { <- begin A, B, C } <- end |
Jeder Eintrag wird mit einem Beispielbereich des entsprechenden Typs in QML-Code angezeigt.
enum class QQmlSA::ScriptBindingKind
Beschreibt den Skripttyp eines QQmlSA::Binding vom Typ Script.
Konstante | Wert | Beschreibung |
---|---|---|
QQmlSA::ScriptBindingKind::Invalid | 0 | Die Bindung hat ein ungültiges Skript |
QQmlSA::ScriptBindingKind::PropertyBinding | 1 | Die Bindung ist an eine Eigenschaft gebunden |
QQmlSA::ScriptBindingKind::SignalHandler | 2 | Die Bindung ist ein Signal-Handler |
QQmlSA::ScriptBindingKind::ChangeHandler | 3 | Die Bindung ist ein 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.