![]() |
Qt 6.x
The Qt SDK
|
#include "qqmljsutils_p.h"
#include "qqmljstyperesolver_p.h"
#include "qqmljsscopesbyid_p.h"
#include <algorithm>
Go to the source code of this file.
Functions | |
template<typename ScopeForId > | |
static QQmlJSUtils::ResolvedAlias | resolveAlias (ScopeForId scopeForId, const QQmlJSMetaProperty &property, const QQmlJSScope::ConstPtr &owner, const QQmlJSUtils::AliasResolutionVisitor &visitor) |
bool | canStrictlyCompareWithVar (const QQmlJSTypeResolver *typeResolver, const QQmlJSRegisterContent &lhsContent, const QQmlJSRegisterContent &rhsContent) |
bool | canCompareWithQObject (const QQmlJSTypeResolver *typeResolver, const QQmlJSRegisterContent &lhsContent, const QQmlJSRegisterContent &rhsContent) |
bool | canCompareWithQUrl (const QQmlJSTypeResolver *typeResolver, const QQmlJSRegisterContent &lhsContent, const QQmlJSRegisterContent &rhsContent) |
bool 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.
bool 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().
bool 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().
|
static |
Fully resolves alias property and returns the information about the origin, which is not an alias.
Definition at line 21 of file qqmljsutils.cpp.
References QQmlJSUtils::AliasTarget_Object, QQmlJSUtils::AliasTarget_Property, QQmlJSUtils::ResolvedAlias::owner, QQmlJSUtils::AliasResolutionVisitor::processResolvedId, QQmlJSUtils::AliasResolutionVisitor::processResolvedProperty, QQmlJSScope::property(), property, Q_ASSERT, and QQmlJSUtils::AliasResolutionVisitor::reset.