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
qqmltypecompiler.cpp File Reference

(efc0c9377aea87434623ecaec76de26019c1c8c0)

#include "qqmltypecompiler_p.h"
#include <private/qqmlobjectcreator_p.h>
#include <private/qqmlcustomparser_p.h>
#include <private/qqmlvmemetaobject_p.h>
#include <private/qqmlcomponent_p.h>
#include <private/qqmlpropertyresolver_p.h>
#include <private/qqmlcomponentandaliasresolver_p.h>
#include <private/qqmlsignalnames_p.h>
Include dependency graph for qqmltypecompiler.cpp:

Go to the source code of this file.

Macros

#define COMPILE_EXCEPTION(token, desc)

Functions

QT_BEGIN_NAMESPACE DEFINE_BOOL_CONFIG_OPTION (disableInternalDeferredProperties, QML_DISABLE_INTERNAL_DEFERRED_PROPERTIES)
 Q_LOGGING_CATEGORY (lcQmlTypeCompiler, "qt.qml.typecompiler")
static bool resolveDeepAlias (QQmlTypeCompiler *compiler, const QmlIR::Object *targetObject, QStringView property, QStringView subProperty, QQmlPropertyIndex &propIdx, QMetaType targetPropertyType, const QQmlPropertyCacheVector *propertyCaches, const QMap< int, int > &idToObjectIndex)

Macro Definition Documentation

◆ COMPILE_EXCEPTION

#define COMPILE_EXCEPTION ( token,
desc )
Value:
{ \
recordError((token)->location, desc); \
return false; \
}
Token token
Definition keywords.cpp:452
GLint location

Definition at line 15 of file qqmltypecompiler.cpp.

Function Documentation

◆ DEFINE_BOOL_CONFIG_OPTION()

QT_BEGIN_NAMESPACE DEFINE_BOOL_CONFIG_OPTION ( disableInternalDeferredProperties ,
QML_DISABLE_INTERNAL_DEFERRED_PROPERTIES  )

◆ Q_LOGGING_CATEGORY()

Q_LOGGING_CATEGORY ( lcQmlTypeCompiler ,
"qt.qml.typecompiler"  )

◆ resolveDeepAlias()

bool resolveDeepAlias ( QQmlTypeCompiler * compiler,
const QmlIR::Object * targetObject,
QStringView property,
QStringView subProperty,
QQmlPropertyIndex & propIdx,
QMetaType targetPropertyType,
const QQmlPropertyCacheVector * propertyCaches,
const QMap< int, int > & idToObjectIndex )
static

Attempts to resolve a "deep alias" — an alias whose sub-property path goes through a QObject property, an inline component binding, or another alias. For example: {alias foo: target.groupProp.innerProp}

First searches the target object's bindings and aliases for property, then looks up subProperty on the bound/aliased object's property cache. If no binding or alias matches, falls back to looking up subProperty on the declared type's property cache.

On success, updates propIdx with the resolved value-type index and returns true.

Definition at line 850 of file qqmltypecompiler.cpp.