Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qqmlsasourcelocation.h
Go to the documentation of this file.
1// Copyright (C) 2023 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 QQMLSASOURCELOCATION_H
6#define QQMLSASOURCELOCATION_H
7
8#include <QtQmlCompiler/qtqmlcompilerexports.h>
9
10#include <QtCore/qstringview.h>
11
13
14namespace QQmlJS {
15class SourceLocation;
16} // namespace QQmlJS
17
18namespace QQmlSA {
19
21
22class Q_QMLCOMPILER_EXPORT SourceLocation
23{
25
26public:
27 explicit SourceLocation(quint32 offset = 0, quint32 length = 0, quint32 line = 0,
28 quint32 column = 0);
43
44 bool isValid() const;
45
46 quint32 begin() const;
47 quint32 end() const;
48
49 quint32 offset() const;
50 quint32 length() const;
51 quint32 startLine() const;
52 quint32 startColumn() const;
53
56
58 {
59 return qHashImpl(location, seed);
60 }
61
62 friend bool operator==(const SourceLocation &lhs, const SourceLocation &rhs)
63 {
64 return operatorEqualsImpl(lhs, rhs);
65 }
66
67 friend bool operator!=(const SourceLocation &lhs, const SourceLocation &rhs)
68 {
69 return !(lhs == rhs);
70 }
71
72private:
74 static bool operatorEqualsImpl(const SourceLocation &, const SourceLocation &);
75
76 static constexpr qsizetype sizeofSourceLocation = 4 * sizeof(quint32);
77 alignas(int) char m_data[sizeofSourceLocation] = {};
78};
79
80} // namespace QQmlSA
81
82QT_END_NAMESPACE
83
84#endif // QQMLSASOURCELOCATION_H
BindingPrivate(Binding *, const BindingPrivate &)
Definition qqmlsa.cpp:307
\inmodule QtQmlCompiler
Definition qqmlsa.h:52
QMultiHash< QString, Binding >::const_iterator constBegin() const
Definition qqmlsa.cpp:213
QMultiHash< QString, Binding >::const_iterator constEnd() const
Definition qqmlsa.cpp:232
QQmlSA::SourceLocation location() const
Definition qqmlsa.cpp:2037
void setHint(const QString &)
Definition qqmlsa.cpp:2057
void setFileName(const QString &)
Definition qqmlsa.cpp:2047
QString fixDescription() const
Definition qqmlsa.cpp:2032
FixSuggestionPrivate(FixSuggestion *)
Definition qqmlsa.cpp:2010
void setAutoApplicable(bool autoApplicable=true)
Definition qqmlsa.cpp:2067
FixSuggestionPrivate(FixSuggestion *, FixSuggestionPrivate &&)
Definition qqmlsa.cpp:2027
QString replacement() const
Definition qqmlsa.cpp:2042
FixSuggestionPrivate(FixSuggestion *, const FixSuggestionPrivate &)
Definition qqmlsa.cpp:2021
GenericPassPrivate(GenericPass *iface, PassManager *manager)
Definition qqmlsa.cpp:1238
MethodPrivate(Method *, const MethodPrivate &)
Definition qqmlsa.cpp:563
QQmlSA::SourceLocation sourceLocation() const
Definition qqmlsa.cpp:573
MethodType methodType() const
Definition qqmlsa.cpp:578
QString methodName() const
Definition qqmlsa.cpp:568
MethodsPrivate(QQmlSA::Method::Methods *, MethodsPrivate &&)
Definition qqmlsa.cpp:556
QMultiHash< QString, Method >::const_iterator constEnd() const
Definition qqmlsa.cpp:544
MethodsPrivate(QQmlSA::Method::Methods *, const MethodsPrivate &)
Definition qqmlsa.cpp:551
QMultiHash< QString, Method >::const_iterator constBegin() const
Definition qqmlsa.cpp:525
PropertyPrivate(Property *, const PropertyPrivate &)
Definition qqmlsa.cpp:708
PropertyPrivate(Property *, PropertyPrivate &&)
Definition qqmlsa.cpp:713
QQmlSA::Element type() const
Returns the type that this property was defined with.
Definition qqmlsa.cpp:741
bool isValid() const
Definition qqmlsa.cpp:723
QString typeName() const
Definition qqmlsa.cpp:718
bool isReadonly() const
Returns whether this property is readonly.
Definition qqmlsa.cpp:733
\inmodule QtQmlCompiler
\inmodule QtQmlCompiler
MethodType
Definition qqmlsa.h:48
Q_QMLCOMPILER_EXPORT void emitWarningWithOptionalFix(GenericPass &pass, QAnyStringView diagnostic, const LoggerWarningId &id, const QQmlSA::SourceLocation &srcLocation, const std::optional< QQmlJSFixSuggestion > &fix)
Definition qqmlsa.cpp:2237
@ Register
Definition qqmlsa.cpp:1451
static QQmlJS::ChildScopesIterator childScopesEnd(const Element &element)
Definition qqmlsa.cpp:1611
static QQmlJS::ChildScopesIterator childScopesBegin(const Element &element)
Definition qqmlsa.cpp:1606
bool isRegularBindingType(BindingType type)
Definition qqmlsa.cpp:2253
static QString lookupName(const QQmlSA::Element &element, LookupMode mode=Lookup)
Definition qqmlsa.cpp:1452