Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
LiteralBindingCheckBase Class Referenceabstract

#include <qqmljsliteralbindingcheck_p.h>

+ Inheritance diagram for LiteralBindingCheckBase:
+ Collaboration diagram for LiteralBindingCheckBase:

Public Member Functions

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.
 
- Public Member Functions inherited from QQmlSA::PropertyPass
 PropertyPass (PassManager *manager)
 
virtual void onRead (const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Element &readScope, QQmlSA::SourceLocation location)
 Executes whenever a property is read.
 
virtual void onWrite (const QQmlSA::Element &element, const QString &propertyName, const QQmlSA::Element &value, const QQmlSA::Element &writeScope, QQmlSA::SourceLocation location)
 Executes whenever a property is written to.
 
- Public Member Functions inherited from QQmlSA::GenericPass
 GenericPass (PassManager *manager)
 Creates a generic pass.
 
virtual ~GenericPass ()
 
void emitWarning (QAnyStringView diagnostic, LoggerWarningId id)
 Emits a warning message diagnostic about an issue of type id.
 
void emitWarning (QAnyStringView diagnostic, LoggerWarningId id, QQmlSA::SourceLocation srcLocation)
 Emits warning message diagnostic about an issue of type id located at srcLocation.
 
void emitWarning (QAnyStringView diagnostic, LoggerWarningId id, QQmlSA::SourceLocation srcLocation, const QQmlSA::FixSuggestion &fix)
 Emits a warning message diagnostic about an issue of type id located at srcLocation and with suggested fix fix.
 
Element resolveTypeInFileScope (QAnyStringView typeName)
 Returns the type corresponding to typeName inside the currently analysed file.
 
Element resolveAttachedInFileScope (QAnyStringView typeName)
 Returns the attached type corresponding to typeName used inside the currently analysed file.
 
Element resolveType (QAnyStringView moduleName, QAnyStringView typeName)
 Returns the type of typeName defined in module moduleName.
 
Element resolveBuiltinType (QAnyStringView typeName) const
 Returns the type of the built-in type identified by typeName.
 
Element resolveAttached (QAnyStringView moduleName, QAnyStringView typeName)
 Returns the attached type of typeName defined in module moduleName.
 
Element resolveLiteralType (const Binding &binding)
 Returns the element representing the type of literal in binding.
 
Element resolveIdToElement (QAnyStringView id, const Element &context)
 Returns the element in context that has id id.
 
QString resolveElementToId (const Element &element, const Element &context)
 Returns the id of element in a given context.
 
QString sourceCode (QQmlSA::SourceLocation location)
 Returns the source code located within location.
 

Protected Member Functions

virtual QQmlJSStructuredTypeError check (const QString &typeName, const QString &value) const =0
 
QQmlSA::Property getProperty (const QString &propertyName, const QQmlSA::Binding &binding, const QQmlSA::Element &bindingScope) const
 

Detailed Description

Definition at line 28 of file qqmljsliteralbindingcheck_p.h.

Member Function Documentation

◆ check()

virtual QQmlJSStructuredTypeError LiteralBindingCheckBase::check ( const QString & typeName,
const QString & value ) const
protectedpure virtual

Implemented in QQmlJSLiteralBindingCheck.

Referenced by onBinding().

+ Here is the caller graph for this function:

◆ getProperty()

QQmlSA::Property LiteralBindingCheckBase::getProperty ( const QString & propertyName,
const QQmlSA::Binding & binding,
const QQmlSA::Element & bindingScope ) const
protected

Definition at line 80 of file qqmljsliteralbindingcheck.cpp.

References QQmlSA::Binding::bindingType(), QQmlSA::Binding::isLiteralBinding(), QString::lastIndexOf(), QQmlSA::Element::property(), QString::size(), and QString::sliced().

Referenced by onBinding(), and QQmlJSLiteralBindingCheck::onBinding().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ onBinding()

void LiteralBindingCheckBase::onBinding ( const QQmlSA::Element & element,
const QString & propertyName,
const QQmlSA::Binding & binding,
const QQmlSA::Element & bindingScope,
const QQmlSA::Element & value )
overridevirtual

Executes whenever a property gets bound to a value.

The property propertyName of element is bound to the value within bindingScope with binding.

Reimplemented from QQmlSA::PropertyPass.

Reimplemented in QQmlJSLiteralBindingCheck.

Definition at line 97 of file qqmljsliteralbindingcheck.cpp.

References QString::arg(), check(), QQmlSA::GenericPass::emitWarning(), getProperty(), QQmlSA::Element::hasOwnProperty(), property, Q_UNUSED, qmlIncompatibleType, qmlReadOnlyProperty, QQmlSA::Binding::sourceLocation(), and QQmlSA::Binding::stringValue().

Referenced by QQmlJSLiteralBindingCheck::onBinding().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: