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 }

Detaillierte Beschreibung

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.

KonstanteWertBeschreibung
QQmlSA::AccessSemantics::Reference0Der Typ verhält sich wie ein Objekttyp
QQmlSA::AccessSemantics::Value1Der Typ verhält sich wie ein Wertetyp
QQmlSA::AccessSemantics::None2Der Typ ist ein Namespace oder ist ungültig
QQmlSA::AccessSemantics::Sequence3Der Typ verhält sich wie ein Sequence-Typ

Siehe auch Das QML-Typensystem.

enum class QQmlSA::BindingType

Beschreibt den Typ einer QQmlSA::Binding.

KonstanteWertBeschreibung
QQmlSA::BindingType::Invalid0Es gibt keine Bindung
QQmlSA::BindingType::BoolLiteral1Die Bindung ist ein bool-Literal
QQmlSA::BindingType::NumberLiteral2Die Bindung ist ein Zahlenliteral
QQmlSA::BindingType::StringLiteral3Die Bindung ist ein String-Literal
QQmlSA::BindingType::RegExpLiteral4Die Bindung ist ein reguläres Ausdrucksliteral
QQmlSA::BindingType::Null5Die Bindung ist ein Null-Literal
QQmlSA::BindingType::Translation6Die Bindung ist eine Übersetzung
QQmlSA::BindingType::TranslationById7Die Bindung ist eine Übersetzung nach id
QQmlSA::BindingType::Script8Die Bindung ist ein reguläres Skript
QQmlSA::BindingType::Object9Die Bindung ist ein Objekt
QQmlSA::BindingType::Interceptor10Die Bindung ist ein Interceptor, der Schreibzugriffe auf Eigenschaften abfangen kann, wie z.B. Behavior
QQmlSA::BindingType::ValueSource11Die Bindung ist eine Eigenschaftswertquelle
QQmlSA::BindingType::AttachedProperty12Die Bindung ist ein angehängtes Objekt
QQmlSA::BindingType::GroupProperty13Die Bindung ist eine gruppierte Eigenschaft

enum class QQmlSA::MethodType

Beschreibt den Typ einer QQmlSA::Method.

KonstanteWertBeschreibung
QQmlSA::MethodType::Signal0Die Methode ist ein Signal
QQmlSA::MethodType::Slot1Die Methode ist ein Slot
QQmlSA::MethodType::Method2Die Methode ist eine Q_INVOKABLE Methode
QQmlSA::MethodType::StaticMethod3Die Methode ist eine Q_INVOKABLE statische Methode

enum class QQmlSA::ScopeType

Beschreibt den Typ des QML-Bereichs.

KonstanteWertBeschreibung
QQmlSA::ScopeType::JSFunctionScope0Der Bereich ist eine JavaScript-Funktion:
Item {
    function f() : int { <- begin
        return 1
    } <- end
}
QQmlSA::ScopeType::JSLexicalScope1Der Bereich ist ein lexikalischer JavaScript-Bereich:
property int i: { <- begin
    let a = 1
    { <- begin
        console.log("hello")
    } <- end
    return a
} <- end
QQmlSA::ScopeType::QMLScope2Der Geltungsbereich ist ein QML-Objekt:
Item { <- begin
    x: 50
} <- end
QQmlSA::ScopeType::GroupedPropertyScope3Der Geltungsbereich ist eine gruppierte Eigenschaft:
Text {
    font { <- begin
        pixelSize: 12
        bold: true
    } <- end
}
QQmlSA::ScopeType::AttachedPropertyScope4Der Geltungsbereich ist eine angehängte Eigenschaft:
Item {
    Component.onCompleted: console.log("Hello")
    ^^^^^^^^^
             \ Scope of attached property Component
}
QQmlSA::ScopeType::EnumScope5Der 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.

KonstanteWertBeschreibung
QQmlSA::ScriptBindingKind::Invalid0Die Bindung hat ein ungültiges Skript
QQmlSA::ScriptBindingKind::PropertyBinding1Die Bindung ist an eine Eigenschaft gebunden
QQmlSA::ScriptBindingKind::SignalHandler2Die Bindung ist ein Signal-Handler
QQmlSA::ScriptBindingKind::ChangeHandler3Die 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.