Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qqmljsutils_p.h File Reference
#include <private/qtqmlcompilerexports_p.h>
#include "qqmljslogger_p.h"
#include "qqmljsregistercontent_p.h"
#include "qqmljsscope_p.h"
#include "qqmljsmetatypes_p.h"
#include <QtCore/qstack.h>
#include <QtCore/qstring.h>
#include <QtCore/qstringview.h>
#include <QtCore/qstringbuilder.h>
#include <private/qduplicatetracker_p.h>
#include <optional>
#include <functional>
#include <type_traits>
#include <variant>
+ Include dependency graph for qqmljsutils_p.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  QQmlJSUtils
 
struct  QQmlJSUtils::ResolvedAlias
 
struct  QQmlJSUtils::AliasResolutionVisitor
 

Namespaces

namespace  detail
 

Functions

template<typename To , typename From , typename std::enable_if_t<!std::is_pointer_v< To >, int > = 0>
static auto detail::getQQmlJSScopeFromSmartPtr (const From &p) -> From
 
bool Q_QMLCOMPILER_PRIVATE_EXPORT canStrictlyCompareWithVar (const QQmlJSTypeResolver *typeResolver, const QQmlJSRegisterContent &lhsContent, const QQmlJSRegisterContent &rhsContent)
 
bool Q_QMLCOMPILER_PRIVATE_EXPORT canCompareWithQObject (const QQmlJSTypeResolver *typeResolver, const QQmlJSRegisterContent &lhsContent, const QQmlJSRegisterContent &rhsContent)
 
bool Q_QMLCOMPILER_PRIVATE_EXPORT canCompareWithQUrl (const QQmlJSTypeResolver *typeResolver, const QQmlJSRegisterContent &lhsContent, const QQmlJSRegisterContent &rhsContent)
 

Function Documentation

◆ canCompareWithQObject()

bool Q_QMLCOMPILER_PRIVATE_EXPORT canCompareWithQObject ( const QQmlJSTypeResolver typeResolver,
const QQmlJSRegisterContent lhsContent,
const QQmlJSRegisterContent rhsContent 
)

Utility method that checks if one of the registers is qobject, and the other can be efficiently compared to it

Definition at line 232 of file qqmljsutils.cpp.

References QQmlJSTypeResolver::containedType(), QQmlJSTypeResolver::equals(), QQmlJSTypeResolver::nullType(), and Q_ASSERT.

+ Here is the call graph for this function:

◆ canCompareWithQUrl()

bool Q_QMLCOMPILER_PRIVATE_EXPORT canCompareWithQUrl ( const QQmlJSTypeResolver typeResolver,
const QQmlJSRegisterContent lhsContent,
const QQmlJSRegisterContent rhsContent 
)

Utility method that checks if both sides are QUrl type. In future, that might be extended to support comparison with other types i.e QUrl vs string

Definition at line 252 of file qqmljsutils.cpp.

References QQmlJSTypeResolver::containedType(), QQmlJSTypeResolver::equals(), Q_ASSERT, and QQmlJSTypeResolver::urlType().

+ Here is the call graph for this function:

◆ canStrictlyCompareWithVar()

bool Q_QMLCOMPILER_PRIVATE_EXPORT canStrictlyCompareWithVar ( const QQmlJSTypeResolver typeResolver,
const QQmlJSRegisterContent lhsContent,
const QQmlJSRegisterContent rhsContent 
)

Utility method that checks if one of the registers is var, and the other can be efficiently compared to it

Definition at line 207 of file qqmljsutils.cpp.

References QQmlJSTypeResolver::containedType(), QQmlJSTypeResolver::equals(), QQmlJSTypeResolver::nullType(), Q_ASSERT, QQmlJSTypeResolver::varType(), and QQmlJSTypeResolver::voidType().

+ Here is the call graph for this function: