19#include <qtqmlcompilerexports.h>
21#include <QtCore/QMultiHash>
22#include <QtQmlCompiler/qqmlsasourcelocation.h>
24#include <unordered_map>
33class ConstPtrWrapperIterator;
43class FixSuggestionPrivate;
44class GenericPassPrivate;
48class PassManagerPrivate;
53struct PropertyPassInfo;
77 std::unique_ptr<BindingsPrivate> d_ptr;
93 double numberValue() const;
95 bool hasObject() const;
98 bool hasUndefinedScriptValue() const;
102 return operatorEqualsImpl(lhs, rhs);
106 return !operatorEqualsImpl(lhs, rhs);
114 std::unique_ptr<BindingPrivate> d_ptr;
137 std::unique_ptr<MethodsPrivate> d_ptr;
152 return operatorEqualsImpl(lhs, rhs);
156 return !operatorEqualsImpl(lhs, rhs);
160 static bool operatorEqualsImpl(
const Method &,
const Method &);
162 std::unique_ptr<MethodPrivate> d_ptr;
178 bool isValid()
const;
182 return operatorEqualsImpl(lhs, rhs);
187 return !operatorEqualsImpl(lhs, rhs);
193 std::unique_ptr<PropertyPrivate> d_ptr;
198 friend class QT_PREPEND_NAMESPACE(QQmlJSScope);
206 memset(
other.m_data, 0, sizeofElement);
209 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_MOVE_AND_SWAP(
Element)
223 bool hasProperty(
const QString &propertyName)
const;
225 bool isPropertyRequired(
const QString &propertyName)
const;
226 QString defaultPropertyName()
const;
234 bool hasPropertyBindings(
const QString &
name)
const;
235 bool hasOwnPropertyBindings(
const QString &propertyName)
const;
244 explicit operator bool()
const;
245 bool operator!()
const;
251 return operatorEqualsImpl(lhs, rhs);
269 char t[sizeofElement];
270 memcpy(
t,
m_data, sizeofElement);
272 memcpy(
other.m_data,
t, sizeofElement);
305 std::unique_ptr<GenericPassPrivate> d_ptr;
310 friend struct ::QQmlJSTypePropagator;
317 void registerElementPass(std::unique_ptr<ElementPass> pass);
318 bool registerPropertyPass(std::shared_ptr<PropertyPass> pass,
QAnyStringView moduleName,
321 bool allowInheritance =
true);
322 void analyze(
const Element &root);
328 std::vector<std::shared_ptr<ElementPass>> elementPasses()
const;
329 std::multimap<QString, PropertyPassInfo> propertyPasses()
const;
330 std::unordered_map<quint32, BindingInfo> bindingsByLocation()
const;
333 std::unique_ptr<PassManagerPrivate> d_ptr;
367 virtual bool shouldRun(
const Element &element);
373 void run(
const Element &element)
override;
404 QString fixDescription()
const;
414 void setAutoApplicable(
bool autoApplicable =
true);
415 bool isAutoApplicable()
const;
419 return operatorEqualsImpl(lhs, rhs);
424 return !operatorEqualsImpl(lhs, rhs);
430 std::unique_ptr<FixSuggestionPrivate> d_ptr;
435#define QmlLintPluginInterface_iid "org.qt-project.Qt.Qml.SA.LintPlugin/1.0"
QMultiHash< QString, Binding >::const_iterator begin() const
QMultiHash< QString, Binding >::const_iterator end() const
friend bool operator!=(const Binding &lhs, const Binding &rhs)
virtual void run(const Element &element)=0
Executes if shouldRun() returns true.
ElementPass(PassManager *manager)
friend void swap(Element &lhs, Element &rhs) noexcept
friend bool operator!=(const Element &lhs, const Element &rhs)
Element(Element &&other) noexcept
friend qsizetype qHash(const Element &key, qsizetype seed=0) noexcept
friend bool operator==(const QQmlSA::Element &lhs, const QQmlSA::Element &rhs)
friend bool operator==(const FixSuggestion &lhs, const FixSuggestion &rhs)
friend bool operator!=(const FixSuggestion &lhs, const FixSuggestion &rhs)
virtual ~LintPlugin()=default
QMultiHash< QString, Method >::const_iterator end() const
QMultiHash< QString, Method >::const_iterator begin() const
friend bool operator!=(const Method &lhs, const Method &rhs)
friend bool operator==(const Property &lhs, const Property &rhs)
friend bool operator!=(const Property &lhs, const Property &rhs)
\macro QT_RESTRICTED_CAST_FROM_ASCII
const QLoggingCategory & category()
[1]
Combined button and popup list for selecting options.
static QString methodName(const QDBusIntrospection::Method &method)
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
#define Q_DECLARE_INTERFACE(IFace, IId)
static bool isComposite(const QQmlJSScope::ConstPtr &scope)
#define QmlLintPluginInterface_iid
static Q_CONSTINIT QBasicAtomicInteger< unsigned > seed
static QT_BEGIN_NAMESPACE QVariant hint(QPlatformIntegration::StyleHint h)
file setFileName("readme.txt")
QNetworkAccessManager manager