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
QQmlPreview Namespace Reference

Classes

struct  CompositeLevel
class  BindingPatchContext
struct  RebuildTarget

Typedefs

using ReboundBindings = QHash<QString, const QV4::CompiledData::Binding *>

Enumerations

enum class  BindingKind {
  Literal , Script , Translation , Unpatchable ,
  Literal , Script , Translation , Unpatchable
}
enum class  PatchResult : quint8 { Failed , Rebuilt , PatchedInPlace }
enum class  BindingKind {
  Literal , Script , Translation , Unpatchable ,
  Literal , Script , Translation , Unpatchable
}

Functions

static bool functionBelongsToObject (const QV4::Function *f, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &cu, int objectIndex)
static bool isExternalFunction (const QV4::Function *f, const std::vector< CompositeLevel > &internalUnits, QObject *target)
static bool isExternalBinding (const QQmlAnyBinding &binding, const std::vector< CompositeLevel > &internalUnits, QObject *target)
static QObjectpropertyToPropertySource (const QQmlAnyBinding &binding)
static QVariant literalBindingValue (const QQmlRefPointer< QV4::ExecutableCompilationUnit > &unit, const QV4::CompiledData::Binding *binding)
static QVariant coerceToPropertyType (QV4::ExecutionEngine *v4, const QVariant &value, QMetaType propertyType)
static QObjectidTarget (QObject *object, const QString &name)
static ReboundBindings reboundBindings (const QQmlRefPointer< QV4::ExecutableCompilationUnit > &unit, int cuIndex)
static int reboundSubObjectIndex (const ReboundBindings &rebound, const QString &name, QV4::CompiledData::Binding::Type type)
static QVarLengthArray< int, 4 > objectIndices (QObject *object, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &oldUnit)
static QQmlPropertyCache::ConstPtr nonCompositeBaseType (const QQmlPropertyCache::ConstPtr &propertyCache)
static bool hasChangedNonCompositeBaseType (const QQmlRefPointer< QV4::ExecutableCompilationUnit > &oldUnit, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &newUnit, int objectIndex)
static bool canRebuildComponentRootInPlace (const QQmlRefPointer< QV4::ExecutableCompilationUnit > &oldUnit, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &newUnit, int objectIndex)
static void refreshBindingPropertyData (const QQmlRefPointer< QV4::ExecutableCompilationUnit > &cu, int objectIndex, const QQmlPropertyCache::ConstPtr &cache)
static QQmlPropertyCache::ConstPtr relinkCache (const QQmlRefPointer< QV4::ExecutableCompilationUnit > &cu, int objectIndex, const QQmlPropertyCache::ConstPtr &actualParent)
static void relinkDerivedCaches (const QQmlRefPointer< QV4::ExecutableCompilationUnit > &cu, const QQmlPropertyCache::ConstPtr &oldBaseCache, const QQmlPropertyCache::ConstPtr &newBaseCache)
static std::vector< CompositeLevelcollectCompositeLevels (const CompositeLevel &instanceLevel, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &oldUnit, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &newUnit)
static void rebuildObject (QObject *object, int cuIndex, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &oldUnit, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &newUnit)
static BindingKind bindingKind (const QV4::CompiledData::Binding *binding)
static bool changeIsTrivial (const QV4::CompiledData::Change &change, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &oldUnit, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &newUnit)
static bool isTrivialDiff (const QV4::CompiledData::CompilationUnitDiff &diff, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &oldUnit, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &newUnit)
static void patchConstantBindings (const std::vector< QObject * > &objects, const QV4::CompiledData::CompilationUnitDiff &diff, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &oldUnit, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &newUnit)
static void remapObjectsToNewUnit (const std::vector< QObject * > &objects, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &oldUnit, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &newUnit)
static bool isRebuildableComponentRoot (QObject *object, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &oldUnit, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &newUnit)
static QObjectouterRebuildTarget (QObject *object, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &oldUnit, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &newUnit)
void redirectResolvedTypeReferences (QV4::ExecutionEngine *engine, const QQmlRefPointer< QV4::CompiledData::CompilationUnit > &oldUnit, const QQmlRefPointer< QV4::CompiledData::CompilationUnit > &newUnit)
static void refreshVmeMethods (const std::vector< QObject * > &objects, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &newUnit)
PatchResult applyDiff (std::vector< QObject * > &objects, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &oldUnit, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &newUnit)
static bool translateExpressionFunction (QQmlJavaScriptExpression *expr, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &oldUnit, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &newUnit)
static void translateAndRefreshExpressionsRecursive (const QQmlRefPointer< QQmlContextData > &context, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &oldUnit, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &newUnit)
void refreshBindings (const QQmlRefPointer< QV4::ExecutableCompilationUnit > &oldUnit, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &newUnit)

Typedef Documentation

◆ ReboundBindings

Enumeration Type Documentation

◆ BindingKind [1/2]

enum class QQmlPreview::BindingKind
strong
Enumerator
Literal 
Script 
Translation 
Unpatchable 
Literal 
Script 
Translation 
Unpatchable 

Definition at line 415 of file qqmlpreviewobjectpatch.cpp.

◆ BindingKind [2/2]

enum class QQmlPreview::BindingKind
strong
Enumerator
Literal 
Script 
Translation 
Unpatchable 
Literal 
Script 
Translation 
Unpatchable 

Definition at line 415 of file qqmlpreviewobjectpatch.cpp.

◆ PatchResult

enum class QQmlPreview::PatchResult : quint8
strong
Enumerator
Failed 
Rebuilt 
PatchedInPlace 

Definition at line 29 of file qqmlpreviewobjectpatch_p.h.

Function Documentation

◆ applyDiff()

PatchResult QQmlPreview::applyDiff ( std::vector< QObject * > & objects,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & oldUnit,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & newUnit )

Definition at line 780 of file qqmlpreviewobjectpatch.cpp.

References PatchedInPlace, and Rebuilt.

◆ bindingKind()

BindingKind QQmlPreview::bindingKind ( const QV4::CompiledData::Binding * binding)
static

Definition at line 416 of file qqmlpreviewobjectpatch.cpp.

References Literal, Script, Translation, and Unpatchable.

◆ canRebuildComponentRootInPlace()

bool QQmlPreview::canRebuildComponentRootInPlace ( const QQmlRefPointer< QV4::ExecutableCompilationUnit > & oldUnit,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & newUnit,
int objectIndex )
static

Definition at line 92 of file qqmlpreviewobjectpatch.cpp.

◆ changeIsTrivial()

bool QQmlPreview::changeIsTrivial ( const QV4::CompiledData::Change & change,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & oldUnit,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & newUnit )
static

Definition at line 437 of file qqmlpreviewobjectpatch.cpp.

References Unpatchable.

◆ coerceToPropertyType()

QVariant QQmlPreview::coerceToPropertyType ( QV4::ExecutionEngine * v4,
const QVariant & value,
QMetaType propertyType )
static

Definition at line 190 of file qqmlpreviewbindingpatchcontext.cpp.

◆ collectCompositeLevels()

std::vector< CompositeLevel > QQmlPreview::collectCompositeLevels ( const CompositeLevel & instanceLevel,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & oldUnit,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & newUnit )
static

Definition at line 218 of file qqmlpreviewobjectpatch.cpp.

◆ functionBelongsToObject()

bool QQmlPreview::functionBelongsToObject ( const QV4::Function * f,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & cu,
int objectIndex )
static

Definition at line 30 of file qqmlpreviewbindingpatchcontext.cpp.

◆ hasChangedNonCompositeBaseType()

bool QQmlPreview::hasChangedNonCompositeBaseType ( const QQmlRefPointer< QV4::ExecutableCompilationUnit > & oldUnit,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & newUnit,
int objectIndex )
static

Definition at line 66 of file qqmlpreviewobjectpatch.cpp.

◆ idTarget()

QObject * QQmlPreview::idTarget ( QObject * object,
const QString & name )
static

Definition at line 537 of file qqmlpreviewbindingpatchcontext.cpp.

◆ isExternalBinding()

bool QQmlPreview::isExternalBinding ( const QQmlAnyBinding & binding,
const std::vector< CompositeLevel > & internalUnits,
QObject * target )
static

Definition at line 103 of file qqmlpreviewbindingpatchcontext.cpp.

◆ isExternalFunction()

bool QQmlPreview::isExternalFunction ( const QV4::Function * f,
const std::vector< CompositeLevel > & internalUnits,
QObject * target )
static

Definition at line 59 of file qqmlpreviewbindingpatchcontext.cpp.

◆ isRebuildableComponentRoot()

bool QQmlPreview::isRebuildableComponentRoot ( QObject * object,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & oldUnit,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & newUnit )
static

Definition at line 639 of file qqmlpreviewobjectpatch.cpp.

◆ isTrivialDiff()

bool QQmlPreview::isTrivialDiff ( const QV4::CompiledData::CompilationUnitDiff & diff,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & oldUnit,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & newUnit )
static

Definition at line 531 of file qqmlpreviewobjectpatch.cpp.

◆ literalBindingValue()

QVariant QQmlPreview::literalBindingValue ( const QQmlRefPointer< QV4::ExecutableCompilationUnit > & unit,
const QV4::CompiledData::Binding * binding )
static

Definition at line 168 of file qqmlpreviewbindingpatchcontext.cpp.

◆ nonCompositeBaseType()

QQmlPropertyCache::ConstPtr QQmlPreview::nonCompositeBaseType ( const QQmlPropertyCache::ConstPtr & propertyCache)
static

Definition at line 55 of file qqmlpreviewobjectpatch.cpp.

◆ objectIndices()

QVarLengthArray< int, 4 > QQmlPreview::objectIndices ( QObject * object,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & oldUnit )
static

Definition at line 35 of file qqmlpreviewobjectpatch.cpp.

References objectIndices().

Referenced by objectIndices().

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

◆ outerRebuildTarget()

QObject * QQmlPreview::outerRebuildTarget ( QObject * object,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & oldUnit,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & newUnit )
static

Definition at line 662 of file qqmlpreviewobjectpatch.cpp.

◆ patchConstantBindings()

void QQmlPreview::patchConstantBindings ( const std::vector< QObject * > & objects,
const QV4::CompiledData::CompilationUnitDiff & diff,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & oldUnit,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & newUnit )
static

Definition at line 549 of file qqmlpreviewobjectpatch.cpp.

◆ propertyToPropertySource()

QObject * QQmlPreview::propertyToPropertySource ( const QQmlAnyBinding & binding)
static

Definition at line 151 of file qqmlpreviewbindingpatchcontext.cpp.

◆ reboundBindings()

ReboundBindings QQmlPreview::reboundBindings ( const QQmlRefPointer< QV4::ExecutableCompilationUnit > & unit,
int cuIndex )
static

Definition at line 819 of file qqmlpreviewbindingpatchcontext.cpp.

◆ reboundSubObjectIndex()

int QQmlPreview::reboundSubObjectIndex ( const ReboundBindings & rebound,
const QString & name,
QV4::CompiledData::Binding::Type type )
static

Definition at line 835 of file qqmlpreviewbindingpatchcontext.cpp.

◆ rebuildObject()

void QQmlPreview::rebuildObject ( QObject * object,
int cuIndex,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & oldUnit,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & newUnit )
static

Definition at line 265 of file qqmlpreviewobjectpatch.cpp.

◆ redirectResolvedTypeReferences()

void QQmlPreview::redirectResolvedTypeReferences ( QV4::ExecutionEngine * engine,
const QQmlRefPointer< QV4::CompiledData::CompilationUnit > & oldUnit,
const QQmlRefPointer< QV4::CompiledData::CompilationUnit > & newUnit )

Definition at line 691 of file qqmlpreviewobjectpatch.cpp.

◆ refreshBindingPropertyData()

void QQmlPreview::refreshBindingPropertyData ( const QQmlRefPointer< QV4::ExecutableCompilationUnit > & cu,
int objectIndex,
const QQmlPropertyCache::ConstPtr & cache )
static

Definition at line 108 of file qqmlpreviewobjectpatch.cpp.

◆ refreshBindings()

void QQmlPreview::refreshBindings ( const QQmlRefPointer< QV4::ExecutableCompilationUnit > & oldUnit,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & newUnit = {} )

Definition at line 957 of file qqmlpreviewobjectpatch.cpp.

◆ refreshVmeMethods()

void QQmlPreview::refreshVmeMethods ( const std::vector< QObject * > & objects,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & newUnit )
static

Definition at line 727 of file qqmlpreviewobjectpatch.cpp.

◆ relinkCache()

QQmlPropertyCache::ConstPtr QQmlPreview::relinkCache ( const QQmlRefPointer< QV4::ExecutableCompilationUnit > & cu,
int objectIndex,
const QQmlPropertyCache::ConstPtr & actualParent )
static

Definition at line 142 of file qqmlpreviewobjectpatch.cpp.

◆ relinkDerivedCaches()

void QQmlPreview::relinkDerivedCaches ( const QQmlRefPointer< QV4::ExecutableCompilationUnit > & cu,
const QQmlPropertyCache::ConstPtr & oldBaseCache,
const QQmlPropertyCache::ConstPtr & newBaseCache )
static

Definition at line 176 of file qqmlpreviewobjectpatch.cpp.

◆ remapObjectsToNewUnit()

void QQmlPreview::remapObjectsToNewUnit ( const std::vector< QObject * > & objects,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & oldUnit,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & newUnit )
static

Definition at line 585 of file qqmlpreviewobjectpatch.cpp.

◆ translateAndRefreshExpressionsRecursive()

void QQmlPreview::translateAndRefreshExpressionsRecursive ( const QQmlRefPointer< QQmlContextData > & context,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & oldUnit,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & newUnit )
static

Definition at line 943 of file qqmlpreviewobjectpatch.cpp.

◆ translateExpressionFunction()

bool QQmlPreview::translateExpressionFunction ( QQmlJavaScriptExpression * expr,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & oldUnit,
const QQmlRefPointer< QV4::ExecutableCompilationUnit > & newUnit )
static

Definition at line 920 of file qqmlpreviewobjectpatch.cpp.