![]() |
Qt 6.x
The Qt SDK
|
#include <qqmljavascriptexpression_p.h>
Classes | |
class | DeleteWatcher |
Static Public Member Functions | |
static QV4::ReturnedValue | evalFunction (const QQmlRefPointer< QQmlContextData > &ctxt, QObject *scope, const QString &code, const QString &filename, quint16 line) |
Protected Types | |
enum | GuardTag { NoGuardTag , NotifyOnValueChanged } |
enum | Tag { NoTag , InEvaluationLoop } |
Protected Member Functions | |
void | createQmlBinding (const QQmlRefPointer< QQmlContextData > &ctxt, QObject *scope, const QString &code, const QString &filename, quint16 line) |
void | setupFunction (QV4::ExecutionContext *qmlContext, QV4::Function *f) |
void | setCompilationUnit (const QQmlRefPointer< QV4::ExecutableCompilationUnit > &compilationUnit) |
Friends | |
class | QQmlContextData |
class | QQmlPropertyCapture |
class | QQmlTranslationBindingFromBinding |
class | QQmlTranslationBindingFromTranslationInfo |
class | QQmlJavaScriptExpressionCapture |
void | QQmlJavaScriptExpressionGuard_callback (QQmlNotifierEndpoint *, void **) |
Definition at line 65 of file qqmljavascriptexpression_p.h.
|
protected |
Enumerator | |
---|---|
NoGuardTag | |
NotifyOnValueChanged |
Definition at line 151 of file qqmljavascriptexpression_p.h.
|
protected |
Enumerator | |
---|---|
NoTag | |
InEvaluationLoop |
Definition at line 158 of file qqmljavascriptexpression_p.h.
QQmlJavaScriptExpression::QQmlJavaScriptExpression | ( | ) |
Definition at line 64 of file qqmljavascriptexpression.cpp.
|
virtual |
Definition at line 72 of file qqmljavascriptexpression.cpp.
References clearActiveGuards(), clearError(), QRecyclePool< T, Step >::Delete(), m_scopeObject, TriggerList::next, and qpropertyChangeTriggers.
QPropertyChangeTrigger * QQmlJavaScriptExpression::allocatePropertyChangeTrigger | ( | QObject * | target, |
int | propertyIndex | ||
) |
Definition at line 540 of file qqmljavascriptexpression.cpp.
References engine(), QQmlEnginePrivate::get(), QRecyclePool< T, Step >::New(), TriggerList::next, qpropertyChangeTriggers, QQmlEnginePrivate::qPropertyTriggerPool, and QPropertyChangeTrigger::target.
Referenced by QQmlPropertyCapture::captureTranslation().
void QQmlJavaScriptExpression::clearActiveGuards | ( | ) |
Definition at line 551 of file qqmljavascriptexpression.cpp.
References activeGuards, and QForwardFieldList< N, nextMember, Tag >::takeFirst().
Referenced by ~QQmlJavaScriptExpression(), and setNotifyOnValueChanged().
|
inline |
Definition at line 267 of file qqmljavascriptexpression_p.h.
References QTaggedPointer< T, Tag >::data(), and m_error.
Referenced by ~QQmlJavaScriptExpression(), and QQmlBinding::doUpdate().
|
inline |
Definition at line 93 of file qqmljavascriptexpression_p.h.
Referenced by QQmlPropertyBindingJS::expressionChanged(), setContext(), QQmlBinding::slowWrite(), QQmlBinding::slowWrite(), and QQmlExpressionPrivate::v4value().
|
protected |
Definition at line 487 of file qqmljavascriptexpression.cpp.
References QV4::QmlContext::create(), delayedError(), engine(), error, QQmlEnginePrivate::get(), QJSEngine::handle(), QV4::EngineBase::hasException, line, QV4::Script::parse(), qmlContext(), QV4::ExecutionEngine::rootContext(), setupFunction(), QV4::Script::vmFunction, and QQmlEnginePrivate::warning().
Referenced by QQmlExpressionPrivate::v4value().
QQmlDelayedError * QQmlJavaScriptExpression::delayedError | ( | ) |
Definition at line 448 of file qqmljavascriptexpression.cpp.
References QTaggedPointer< T, Tag >::data(), and m_error.
Referenced by QQmlJavaScriptExpressionCapture::catchException(), createQmlBinding(), QQmlBinding::doUpdate(), QQmlBinding::slowWrite(), and QQmlBinding::slowWrite().
|
inline |
Definition at line 133 of file qqmljavascriptexpression_p.h.
Referenced by allocatePropertyChangeTrigger(), createQmlBinding(), QQmlBinding::doUpdate(), error(), evalFunction(), QQmlBinding::evaluate(), QQmlBinding::evaluate(), evaluate(), QQmlPropertyBindingJSForBoundFunction::evaluate(), evaluate(), QQmlBoundSignalExpression::evaluate(), evaluate(), QQmlPropertyBindingJS::expressionChanged(), QQmlExpressionPrivate::init(), QQmlBoundSignal_callback(), QQmlBinding::slowWrite(), QQmlPropertyPrivate::takeSignalExpression(), QQmlBinding::update(), QQmlExpressionPrivate::value(), and GenericBinding< StaticPropType >::write().
QQmlError QQmlJavaScriptExpression::error | ( | QQmlEngine * | engine | ) | const |
Definition at line 438 of file qqmljavascriptexpression.cpp.
References engine(), QQmlDelayedError::error(), m_error, and Q_UNUSED.
Referenced by QQmlObjectCreator::finalize().
|
static |
Definition at line 456 of file qqmljavascriptexpression.cpp.
References QV4::ExecutionEngine::catchExceptionAsQmlError(), QV4::QmlContext::create(), engine(), error, QUrl::fromLocalFile(), QQmlEnginePrivate::get(), QJSEngine::handle(), QV4::EngineBase::hasException, line, QV4::Script::parse(), qmlContext(), QV4::ExecutionEngine::rootContext(), QV4::Script::run(), scopeObject(), QV4::Encode::undefined(), and QQmlEnginePrivate::warning().
QV4::ReturnedValue QQmlJavaScriptExpression::evaluate | ( | bool * | isUndefined | ) |
Definition at line 143 of file qqmljavascriptexpression.cpp.
References QV4::JSCallArguments::callData(), engine(), evaluate(), QJSEngine::handle(), and QV4::Encode::undefined().
Referenced by QQmlBinding::evaluate(), QQmlBinding::evaluate(), QQmlPropertyBindingJSForBoundFunction::evaluate(), QQmlBoundSignalExpression::evaluate(), and QQmlBinding::evaluate().
QV4::ReturnedValue QQmlJavaScriptExpression::evaluate | ( | QV4::CallData * | callData, |
bool * | isUndefined | ||
) |
Definition at line 213 of file qqmljavascriptexpression.cpp.
References QV4::CallData::argc(), QV4::CallData::argValues(), QV4::StaticValue::asValue(), QV4::Function::call(), QQmlJavaScriptExpressionCapture::catchException(), QV4::Scope::engine, engine(), function(), QV4::EngineBase::globalObject, QJSEngine::handle(), QV4::StaticValue::isNullOrUndefined(), Q_ASSERT, qmlEngine(), scopeObject(), QV4::CallData::thisObject, QV4::Encode::undefined(), QV4::PersistentValue::valueRef(), and QV4::QObjectWrapper::wrap().
Definition at line 253 of file qqmljavascriptexpression.cpp.
References QV4::Function::call(), QQmlJavaScriptExpressionCapture::catchException(), engine(), function(), QJSEngine::handle(), Q_ASSERT, qmlEngine(), scopeObject(), and QV4::PersistentValue::valueRef().
|
pure virtual |
Implemented in QQmlBinding, QQmlBoundSignalExpression, QQmlExpressionPrivate, and QQmlPropertyBindingJS.
Referenced by QPropertyChangeTrigger::trigger().
|
virtual |
Reimplemented in QQmlBoundSignalExpression, and QQmlExpressionPrivate.
Definition at line 92 of file qqmljavascriptexpression.cpp.
References QString::asprintf(), function(), QStringLiteral, and url.
|
inline |
Definition at line 105 of file qqmljavascriptexpression_p.h.
Referenced by QQmlBinding::create(), QQmlBinding::create(), QQmlBinding::doUpdate(), evaluate(), evaluate(), expressionIdentifier(), QQmlBoundSignal_callback(), and QQmlBinding::update().
|
inline |
Definition at line 89 of file qqmljavascriptexpression_p.h.
|
inline |
Definition at line 262 of file qqmljavascriptexpression_p.h.
References QTaggedPointer< T, Tag >::isNull(), and m_error.
Referenced by QQmlJavaScriptExpressionCapture::catchException().
|
inline |
Definition at line 257 of file qqmljavascriptexpression_p.h.
References QTaggedPointer< T, Tag >::isNull(), QQmlDelayedError::isValid(), and m_error.
Referenced by QQmlBinding::doUpdate(), QQmlTranslationBinding::doUpdate(), QQmlObjectCreator::finalize(), QQmlBinding::slowWrite(), QQmlBinding::slowWrite(), QQmlExpressionPrivate::v4value(), and QQmlExpressionPrivate::value().
|
inline |
Definition at line 134 of file qqmljavascriptexpression_p.h.
Referenced by QQmlObjectCreator::finalize().
|
inline |
Definition at line 90 of file qqmljavascriptexpression_p.h.
Referenced by QQmlBind::setObject(), QQmlBinding::update(), QQuickStateGroupPrivate::updateAutoState(), and QQmlExpressionPrivate::value().
|
inline |
Definition at line 96 of file qqmljavascriptexpression_p.h.
Referenced by QQmlContextData::addExpression().
|
inlinevirtual |
Reimplemented in QQmlBinding, QQmlBoundSignalExpression, QQmlExpressionPrivate, and QQmlPropertyBindingJS.
Definition at line 127 of file qqmljavascriptexpression_p.h.
Referenced by QV4::QObjectWrapper::getProperty().
bool QQmlJavaScriptExpression::needsPropertyChangeTrigger | ( | QObject * | target, |
int | propertyIndex | ||
) |
Definition at line 353 of file qqmljavascriptexpression.cpp.
References QRecyclePool< T, Step >::Delete(), TriggerList::next, QPropertyChangeTrigger::propertyIndex, qpropertyChangeTriggers, and QPropertyChangeTrigger::target.
Referenced by QQmlPropertyCapture::captureTranslation().
|
inline |
Definition at line 240 of file qqmljavascriptexpression_p.h.
References activeGuards, NotifyOnValueChanged, and QForwardFieldList< N, nextMember, Tag >::tag().
Referenced by QQmlJavaScriptExpressionCapture::QQmlJavaScriptExpressionCapture().
|
inline |
Definition at line 91 of file qqmljavascriptexpression_p.h.
|
virtual |
Reimplemented in QQmlBinding.
Definition at line 139 of file qqmljavascriptexpression.cpp.
void QQmlJavaScriptExpression::resetNotifyOnValueChanged | ( | ) |
Definition at line 111 of file qqmljavascriptexpression.cpp.
References setNotifyOnValueChanged().
|
inline |
Definition at line 245 of file qqmljavascriptexpression_p.h.
References m_scopeObject.
Referenced by QQmlBoundSignalExpression::QQmlBoundSignalExpression(), evalFunction(), evaluate(), evaluate(), QQmlPropertyBindingJS::expressionChanged(), QQmlBoundSignal_callback(), and QQmlExpressionPrivate::v4value().
|
protected |
Definition at line 520 of file qqmljavascriptexpression.cpp.
Referenced by QQmlTranslationBinding::QQmlTranslationBinding().
void QQmlJavaScriptExpression::setContext | ( | const QQmlRefPointer< QQmlContextData > & | context | ) |
Definition at line 123 of file qqmljavascriptexpression.cpp.
References QQmlContextData::addExpression(), context(), and QQmlRefPointer< T >::data().
Referenced by QQmlContextData::clearContext(), QQmlExpressionPrivate::init(), and QQmlExpressionPrivate::init().
void QQmlJavaScriptExpression::setNotifyOnValueChanged | ( | bool | v | ) |
Definition at line 104 of file qqmljavascriptexpression.cpp.
References activeGuards, clearActiveGuards(), NoGuardTag, NotifyOnValueChanged, and QForwardFieldList< N, nextMember, Tag >::setTag().
Referenced by resetNotifyOnValueChanged(), QQmlBinding::setEnabled(), and QQmlBoundSignal::takeExpression().
Definition at line 251 of file qqmljavascriptexpression_p.h.
References m_scopeObject.
Referenced by QQmlExpressionPrivate::init(), and QQmlExpressionPrivate::init().
|
protected |
Definition at line 511 of file qqmljavascriptexpression.cpp.
References QQmlContext::engine(), QV4::Function::executableCompilationUnit(), qmlContext(), QQmlRefPointer< T >::reset(), and QV4::PersistentValue::set().
Referenced by createQmlBinding(), and QQmlExpressionPrivate::init().
|
virtual |
Reimplemented in QQmlBinding, QQmlTranslationBindingFromBinding, and QQmlTranslationBindingFromTranslationInfo.
Definition at line 116 of file qqmljavascriptexpression.cpp.
References QV4::Function::sourceLocation().
Referenced by QQmlData::destroyed(), QQmlPropertyBindingJS::expressionChanged(), QQmlBoundSignalExpression::expressionIdentifier(), and QQmlBinding::sourceLocation().
|
friend |
Definition at line 166 of file qqmljavascriptexpression_p.h.
|
friend |
Definition at line 171 of file qqmljavascriptexpression_p.h.
|
friend |
Definition at line 557 of file qqmljavascriptexpression.cpp.
|
friend |
Definition at line 167 of file qqmljavascriptexpression_p.h.
|
friend |
Definition at line 169 of file qqmljavascriptexpression_p.h.
Referenced by QQmlBinding::createTranslationBinding().
|
friend |
Definition at line 170 of file qqmljavascriptexpression_p.h.
Referenced by QQmlBinding::createTranslationBinding().
|
protected |
Definition at line 156 of file qqmljavascriptexpression_p.h.
Referenced by QQmlJavaScriptExpressionCapture::QQmlJavaScriptExpressionCapture(), QQmlPropertyCapture::captureProperty(), clearActiveGuards(), QQmlBinding::dependencies(), QQmlBinding::hasDependencies(), notifyOnValueChanged(), and setNotifyOnValueChanged().
|
protected |
Definition at line 163 of file qqmljavascriptexpression_p.h.
Referenced by clearError(), delayedError(), error(), QQmlPropertyBindingJS::expressionChanged(), hasDelayedError(), and hasError().
|
protected |
Definition at line 149 of file qqmljavascriptexpression_p.h.
Referenced by ~QQmlJavaScriptExpression(), scopeObject(), and setScopeObject().
|
protected |
Definition at line 185 of file qqmljavascriptexpression_p.h.
Referenced by ~QQmlJavaScriptExpression(), allocatePropertyChangeTrigger(), QQmlBinding::dependencies(), QQmlBinding::hasDependencies(), and needsPropertyChangeTrigger().