Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qqmljsliteralbindingcheck_p.h
Go to the documentation of this file.
1
// Copyright (C) 2022 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
3
// Qt-Security score:significant
4
5
#
ifndef
QQMLJSLITERALBINDINGCHECK_P_H
6
#
define
QQMLJSLITERALBINDINGCHECK_P_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists purely as an
13
// implementation detail. This header file may change from version to
14
// version without notice, or even be removed.
15
//
16
// We mean it.
17
18
#
include
<
QtCore
/
qglobal
.
h
>
19
#
include
<
QtQmlCompiler
/
qqmlsa
.
h
>
20
21
#
include
"qqmljsvaluetypefromstringcheck_p.h"
22
23
QT_BEGIN_NAMESPACE
24
25
class
QQmlJSImportVisitor;
26
class
QQmlJSTypeResolver;
27
28
class
LiteralBindingCheckBase
:
public
QQmlSA
::
PropertyPass
29
{
30
public
:
31
using
QQmlSA
::
PropertyPass
::
PropertyPass
;
32
33
protected
:
34
virtual
QQmlJSStructuredTypeError
check
(
const
QString &typeName,
const
QString &value)
const
= 0;
35
36
QQmlSA
::
Property
getProperty
(
const
QString &propertyName,
const
QQmlSA::Binding &binding,
37
const
QQmlSA::Element &bindingScope)
const
;
38
39
void
warnOnCheckedBinding
(
const
QQmlSA::Binding &binding,
const
QQmlSA::Element &propertyType);
40
};
41
42
class
QQmlJSLiteralBindingCheck
:
public
LiteralBindingCheckBase
43
{
44
public
:
45
QQmlJSLiteralBindingCheck
(QQmlSA::PassManager *manager);
46
47
void
onBinding
(
const
QQmlSA::Element &element,
const
QString &propertyName,
48
const
QQmlSA::Binding &binding,
const
QQmlSA::Element &bindingScope,
49
const
QQmlSA::Element &value)
override
;
50
51
private
:
52
QQmlJSTypeResolver *m_resolver;
53
54
protected
:
55
QQmlJSStructuredTypeError
check
(
const
QString &typeName,
const
QString &value)
const
override
;
56
};
57
58
QT_END_NAMESPACE
59
60
#
endif
// QQMLJSLITERALBINDINGCHECK_P_H
LiteralBindingCheckBase
Definition
qqmljsliteralbindingcheck_p.h:29
LiteralBindingCheckBase::warnOnCheckedBinding
void warnOnCheckedBinding(const QQmlSA::Binding &binding, const QQmlSA::Element &propertyType)
Definition
qqmljsliteralbindingcheck.cpp:99
LiteralBindingCheckBase::getProperty
QQmlSA::Property getProperty(const QString &propertyName, const QQmlSA::Binding &binding, const QQmlSA::Element &bindingScope) const
Definition
qqmljsliteralbindingcheck.cpp:83
LiteralBindingCheckBase::check
virtual QQmlJSStructuredTypeError check(const QString &typeName, const QString &value) const =0
QQmlJSLiteralBindingCheck
Definition
qqmljsliteralbindingcheck_p.h:43
QQmlJSLiteralBindingCheck::QQmlJSLiteralBindingCheck
QQmlJSLiteralBindingCheck(QQmlSA::PassManager *manager)
Definition
qqmljsliteralbindingcheck.cpp:52
QQmlJSLiteralBindingCheck::check
QQmlJSStructuredTypeError check(const QString &typeName, const QString &value) const override
Definition
qqmljsliteralbindingcheck.cpp:58
QQmlJSLiteralBindingCheck::onBinding
void onBinding(const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Binding &binding, const QQmlSA::Element &bindingScope, const QQmlSA::Element &value) override
Executes whenever a property gets bound to a value.
Definition
qqmljsliteralbindingcheck.cpp:122
QQmlJSLinterPasses
Definition
qqmljslinterpasses.cpp:15
QQmlJSLinterPasses::registerDefaultPasses
void registerDefaultPasses(QQmlSA::PassManager *passMan)
Definition
qqmljslinterpasses.cpp:18
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtdeclarative
src
qmllint
qqmljsliteralbindingcheck_p.h
Generated on
for Qt by
1.18.0