53 int objectIndex,
const QString &prefix)
64 void reset(
const std::vector<QQmlRefPointer<QV4::ExecutableCompilationUnit>> &unitsToUnparent,
65 const std::vector<CompositeLevel> &internalUnits);
67 const std::vector<CompositeLevel> &internalUnits,
68 QDuplicateTracker<QObject *> *seenChildren);
73 const QV4::CompiledData::Binding *binding,
74 QDuplicateTracker<QObject *> *seenChildren);
76 const QQmlRefPointer<QV4::ExecutableCompilationUnit> &unit,
77 int objectIndex, QDuplicateTracker<QObject *> *seenChildren);
79 const QV4::CompiledData::Binding *binding,
80 QDuplicateTracker<QObject *> *seenChildren);
86 QQmlAnyBinding binding;
87 QPointer<QObject> sourceGuard;
96 struct StoredSignalHandler
99 std::unique_ptr<QQmlBoundSignal> handler;
102 void recordBindingValues(
const QQmlRefPointer<QV4::ExecutableCompilationUnit> &unit,
103 int cuIndex, QHash<QString, QVariant> *constantValues,
104 QDuplicateTracker<QObject *> *seenChildren);
105 void resetBinding(
const QV4::CompiledData::Binding *binding,
const QString &name,
106 const QQmlRefPointer<QV4::ExecutableCompilationUnit> &oldUnit,
107 const QQmlRefPointer<QV4::ExecutableCompilationUnit> &newUnit,
108 const ReboundBindings &rebound);
109 void resetBindings(
const QQmlRefPointer<QV4::ExecutableCompilationUnit> &unit,
int cuIndex,
110 const QQmlRefPointer<QV4::ExecutableCompilationUnit> &newUnit,
112 static void retireObject(QObject *object);
113 static void clearBindingsRecursive(QObject *object);
115 QPointer<QObject> m_object;
116 QQmlRefPointer<QV4::ExecutableCompilationUnit> unit;
120 std::vector<StoredBinding> m_storedBindings;
121 std::vector<StoredValue> m_storedValues;
122 std::vector<StoredSignalHandler> m_storedSignalHandlers;
void reset(const std::vector< QQmlRefPointer< QV4::ExecutableCompilationUnit > > &unitsToUnparent, const std::vector< CompositeLevel > &internalUnits)
BindingPatchContext * attachedContext(const QQmlRefPointer< QV4::ExecutableCompilationUnit > &unit, const QV4::CompiledData::Binding *binding, QDuplicateTracker< QObject * > *seenChildren)
BindingPatchContext * childContext(const QQmlRefPointer< QV4::ExecutableCompilationUnit > &unit, const QV4::CompiledData::Binding *binding, QDuplicateTracker< QObject * > *seenChildren)
BindingPatchContext * childContext(const QString &name, QObject *object, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &unit, int objectIndex, QDuplicateTracker< QObject * > *seenChildren)
BindingPatchContext(QObject *object, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &unit, int objectIndex)
BindingPatchContext(QObject *object, const QQmlRefPointer< QV4::ExecutableCompilationUnit > &unit, int objectIndex, const QString &prefix)
void stashExternalState(const std::vector< CompositeLevel > &internalUnits, QDuplicateTracker< QObject * > *seenChildren)