![]() |
Qt 6.x
The Qt SDK
|
#include <qv4object_p.h>
Inherits QV4::Managed.
Inherited by QQmlDelegateModelGroupChange, QQmlDelegateModelGroupChangeArray, QQmlDelegateModelItemObject, QQuickContext2DStyle, QQuickJSContext2D, QQuickJSContext2DImageData, QQuickJSContext2DPixelData, QQuickJSContext2DPrototype, QV4::ArgumentsObject, QV4::ArrayIteratorObject, QV4::ArrayIteratorPrototype, QV4::ArrayObject, QV4::Atomics, QV4::BooleanObject, QV4::ConsoleObject, QV4::DataView, QV4::DataViewPrototype, QV4::DatePrototype, QV4::ErrorObject, QV4::ErrorPrototype, QV4::EvalErrorPrototype, QV4::ForInIteratorObject, QV4::ForInIteratorPrototype, QV4::FunctionObject, QV4::GeneratorObject, QV4::GeneratorPrototype, QV4::Heap::ArrayObject, QV4::Heap::Atomics, QV4::Heap::BooleanObject, QV4::Heap::ConsoleObject, QV4::Heap::IntrinsicTypedArrayPrototype, QV4::Heap::JsonObject, QV4::Heap::MapObject, QV4::Heap::MathObject, QV4::Heap::NamedNodeMap, QV4::Heap::Node, QV4::Heap::NodeList, QV4::Heap::NodePrototype, QV4::Heap::NumberObject, QV4::Heap::QObjectWrapper, QV4::Heap::QQmlDelegateModelGroupChange, QV4::Heap::QQmlDelegateModelGroupChangeArray, QV4::Heap::QQmlDelegateModelItemObject, QV4::Heap::QQmlLocaleData, QV4::Heap::QQmlScopedEnumWrapper, QV4::Heap::QQmlSqlDatabaseWrapper, QV4::Heap::QQmlTypeWrapper, QV4::Heap::QQmlXMLHttpRequestWrapper, QV4::Heap::QQuickContext2DStyle, QV4::Heap::QQuickJSContext2D, QV4::Heap::QQuickJSContext2DImageData, QV4::Heap::QQuickJSContext2DPixelData, QV4::Heap::QQuickJSContext2DPrototype, QV4::Heap::QmlListWrapper, QV4::Heap::QmlSignalHandler, QV4::Heap::Reflect, QV4::Heap::SetObject, QV4::Heap::SharedArrayBuffer, QV4::Heap::TypedArrayPrototype, QV4::Heap::VariantObject, QV4::IntrinsicTypedArrayPrototype, QV4::IteratorPrototype, QV4::JsonObject, QV4::MapIteratorObject, QV4::MapIteratorPrototype, QV4::MapObject, QV4::MathObject, QV4::Module, QV4::NamedNodeMap, QV4::Node, QV4::NodeList, QV4::NodePrototype, QV4::NumberObject, QV4::ObjectPrototype, QV4::PromiseCapability, QV4::PromiseExecutionState, QV4::PromiseObject, QV4::PromisePrototype, QV4::PromiseReaction, QV4::PropertyListPrototype, QV4::QObjectWrapper, QV4::QQmlContextWrapper, QV4::QQmlLocaleData, QV4::QQmlScopedEnumWrapper, QV4::QQmlSqlDatabaseWrapper, QV4::QQmlTypeWrapper, QV4::QQmlXMLHttpRequestWrapper, QV4::QmlIncubatorObject, QV4::QmlListWrapper, QV4::QmlSignalHandler, QV4::RangeErrorPrototype, QV4::ReferenceErrorPrototype, QV4::ReferenceObject, QV4::Reflect, QV4::RegExpObject, QV4::RegExpPrototype, QV4::SequencePrototype, QV4::SetIteratorObject, QV4::SetIteratorPrototype, QV4::SetObject, QV4::SharedArrayBuffer, QV4::SharedArrayBufferPrototype, QV4::StrictArgumentsObject, QV4::StringIteratorObject, QV4::StringIteratorPrototype, QV4::StringObject, QV4::SymbolObject, QV4::SymbolPrototype, QV4::SyntaxErrorPrototype, QV4::TypeErrorPrototype, QV4::TypedArray, QV4::TypedArrayPrototype, QV4::URIErrorPrototype, QV4::UrlObject, QV4::UrlPrototype, QV4::UrlSearchParamsObject, QV4::UrlSearchParamsPrototype, QV4::VariantObject, QV4::WeakMapPrototype, QV4::WeakSetPrototype, and QV4ParticleData.
Public Types | |
enum | { NInlineProperties = 2 } |
enum | { IsObject = true , GetterOffset = 0 , SetterOffset = 1 } |
enum | ThrowOnFailure { DoThrowOnRejection , DoNotThrow } |
![]() | |
enum | { IsExecutionContext = false , IsString = false , IsStringOrSymbol = false , IsObject = false , IsFunctionObject = false , IsErrorObject = false , IsArrayData = false } |
enum | { NInlineProperties = 0 } |
enum | Type { Type_Invalid , Type_String , Type_Object , Type_Symbol , Type_ArrayObject , Type_FunctionObject , Type_GeneratorObject , Type_BooleanObject , Type_NumberObject , Type_StringObject , Type_SymbolObject , Type_DateObject , Type_RegExpObject , Type_ErrorObject , Type_ArgumentsObject , Type_JsonObject , Type_MathObject , Type_ProxyObject , Type_UrlObject , Type_UrlSearchParamsObject , Type_ExecutionContext , Type_InternalClass , Type_SetIteratorObject , Type_MapIteratorObject , Type_ArrayIteratorObject , Type_StringIteratorObject , Type_ForInIterator , Type_RegExp , Type_V4Sequence , Type_QmlListProperty } |
![]() | |
using | ManagedPtr = Managed * |
![]() | |
enum class | TagBit { SpecialNegative = 0b10000000000000000000 << 12 , SpecialQNaN = 0b00000000000010000000 << 12 , Special = 0b00000000000001000000 << 12 , IntCompat = 0b00000000000000100000 << 12 , Unmanaged = 0b00000000000000010000 << 12 , IntOrBool = 0b00000000000000001000 << 12 , Number = 0b00000000000000000100 << 12 } |
enum | Type { Managed_Type = 0 , Double_Type = 1 , Undefined_Type = 2 , Empty_Type = quint32(TagBit::Unmanaged) , Null_Type = Empty_Type | quint32(TagBit::IntCompat) , Boolean_Type = Null_Type | quint32(TagBit::IntOrBool) , Integer_Type = Boolean_Type | quint32(TagBit::Number) } |
enum | { Tag_Shift = 32 , IsIntegerConvertible_Shift = 48 , IsIntegerConvertible_Value = 3 , IsIntegerOrBool_Shift = 47 , IsIntegerOrBool_Value = 7 } |
enum class | QuickType : quint32 { Managed = Managed_Type , Empty = Empty_Type , Null = Null_Type , Boolean = Boolean_Type , Integer = Integer_Type , PlusInf = quint32(TagBit::Number) | quint32(TagBit::Special) | quint32(TagBit::Unmanaged) , MinusInf = PlusInf | quint32(TagBit::SpecialNegative) , NaN = PlusInf | quint32(TagBit::SpecialQNaN) , MinusNaN = NaN | quint32(TagBit::SpecialNegative) } |
enum | { QT_Empty = Empty_Type , QT_Null = Null_Type , QT_Bool = Boolean_Type , QT_Int = Integer_Type , QuickType_Shift = Tag_Shift } |
using | HeapBasePtr = Heap::Base * |
using | ValueTypeInternal = QuickType |
Static Public Member Functions | |
static ReturnedValue | getValue (const Value *thisObject, const Value &v, PropertyAttributes attrs) |
static ReturnedValue | getValueAccessor (const Value *thisObject, const Value &v, PropertyAttributes attrs) |
static ReturnedValue | checkedInstanceOf (ExecutionEngine *engine, const FunctionObject *typeObject, const Value &var) |
![]() | |
static constexpr Value | fromStaticValue (StaticValue staticValue) |
static Value | fromHeapObject (HeapBasePtr m) |
static bool | toBooleanImpl (Value val) |
static double | toNumberImpl (Value v) |
static Heap::String * | toString (ExecutionEngine *e, Value val) |
static Heap::Object * | toObject (ExecutionEngine *e, Value val) |
static constexpr Value | fromReturnedValue (ReturnedValue val) |
static double | toInteger (double d) |
static int | toInt32 (double d) |
static unsigned int | toUInt32 (double d) |
static constexpr Value | emptyValue () |
static constexpr Value | fromBoolean (bool b) |
static constexpr Value | fromInt32 (int i) |
static constexpr Value | undefinedValue () |
static constexpr Value | nullValue () |
static Value | fromDouble (double d) |
static Value | fromUInt32 (uint i) |
![]() | |
static int | valueOffset () |
static int | tagOffset () |
static constexpr quint64 | tagValue (quint32 tag, quint32 value) |
static constexpr quint64 | tagBitMask (TagBit bit) |
static bool | integerCompatible (StaticValue a, StaticValue b) |
static bool | bothDouble (StaticValue a, StaticValue b) |
static QV4_NEARLY_ALWAYS_INLINE bool | isInt32 (double d) |
static constexpr StaticValue | fromReturnedValue (ReturnedValue val) |
static constexpr StaticValue | emptyValue () |
static constexpr StaticValue | fromBoolean (bool b) |
static constexpr StaticValue | fromInt32 (int i) |
static constexpr StaticValue | undefinedValue () |
static constexpr StaticValue | nullValue () |
static StaticValue | fromDouble (double d) |
static StaticValue | fromUInt32 (uint i) |
static double | toInteger (double d) |
static int | toInt32 (double d) |
static unsigned int | toUInt32 (double d) |
Friends | |
struct | ObjectIterator |
struct | ObjectPrototype |
Definition at line 104 of file qv4object_p.h.
anonymous enum |
Enumerator | |
---|---|
NInlineProperties |
Definition at line 110 of file qv4object_p.h.
anonymous enum |
Enumerator | |
---|---|
IsObject | |
GetterOffset | |
SetterOffset |
Definition at line 112 of file qv4object_p.h.
Enumerator | |
---|---|
DoThrowOnRejection | |
DoNotThrow |
Definition at line 289 of file qv4object_p.h.
void Object::addSymbolSpecies | ( | ) |
Definition at line 227 of file qv4object.cpp.
References QV4::Attr_Accessor, QV4::Attr_NotEnumerable, QV4::Attr_NotWritable, engine, QV4::Scope::engine, QV4::ExecutionEngine::getSymbolSpecies(), and QV4::ExecutionEngine::symbol_species().
Referenced by QV4::IntrinsicTypedArrayPrototype::init(), QV4::SharedArrayBufferPrototype::init(), QV4::ArrayBufferPrototype::init(), QV4::ArrayPrototype::init(), QV4::MapPrototype::init(), QV4::PromisePrototype::init(), and QV4::SetPrototype::init().
|
inline |
Definition at line 247 of file qv4object_p.h.
Referenced by arraySet(), arraySet(), and push_back().
|
inline |
Definition at line 122 of file qv4object_p.h.
References d.
Referenced by QV4::ArrayData::append(), arraySet(), arraySet(), copyArrayData(), QV4::FunctionPrototype::method_apply(), setArrayLength(), and QV4::ArrayData::sort().
Definition at line 216 of file qv4object_p.h.
Referenced by QV4::ArgumentsObject::fullyCreate(), QV4::ModelObjectOwnPropertyKeyIterator::next(), and push_back().
Definition at line 219 of file qv4object_p.h.
Definition at line 243 of file qv4object_p.h.
Referenced by QV4::ArgumentsObject::fullyCreate(), and push_back().
|
inline |
Definition at line 485 of file qv4object_p.h.
References arrayCreate(), arrayData(), d, getLength(), initSparseArray(), QV4::ArrayData::insert(), QV4::PropertyAttributes::isAccessor(), QV4::Managed::isArrayObject(), setArrayAttributes(), and setArrayLengthUnchecked().
Referenced by copyArrayData(), and QV4::ArrayData::sort().
Definition at line 501 of file qv4object_p.h.
References arrayCreate(), arrayData(), d, getLength(), initSparseArray(), QV4::ArrayData::insert(), QV4::Managed::isArrayObject(), and setArrayLengthUnchecked().
|
inline |
Definition at line 233 of file qv4object_p.h.
References d.
Referenced by initSparseArray(), QV4::FunctionPrototype::method_apply(), QV4::IntrinsicTypedArrayPrototype::method_subarray(), and setArrayLength().
|
static |
Definition at line 859 of file qv4object.cpp.
References QV4::Managed::engine(), QV4::Value::fromReturnedValue(), o, and var.
Referenced by virtualInstanceOf().
Definition at line 684 of file qv4object.cpp.
References arrayData(), arraySet(), d, QV4::Managed::engine(), i, QV4::Managed::isArrayObject(), QV4::ArgumentsObject::isNonStrictArgumentsObject(), other(), Q_ASSERT, QV4::ArrayData::realloc(), and setArrayLengthUnchecked().
void Object::defineAccessorProperty | ( | const QString & | name, |
VTable::Call | getter, | ||
VTable::Call | setter | ||
) |
Definition at line 168 of file qv4object.cpp.
Referenced by QV4::IntrinsicTypedArrayPrototype::init(), and QV4::RegExpPrototype::init().
void Object::defineAccessorProperty | ( | StringOrSymbol * | name, |
VTable::Call | getter, | ||
VTable::Call | setter | ||
) |
Definition at line 176 of file qv4object.cpp.
References QV4::Attr_Accessor, QV4::Attr_NotEnumerable, QV4::FunctionObject::createBuiltinFunction(), engine, QChar::fromLatin1(), QString::fromLatin1(), QStringView::mid(), QV4::ExecutionEngine::newString(), and setName().
void Object::defineDefaultProperty | ( | const QString & | name, |
const Value & | value, | ||
PropertyAttributes | attributes = Attr_Data|Attr_NotEnumerable |
||
) |
Definition at line 141 of file qv4object.cpp.
void Object::defineDefaultProperty | ( | const QString & | name, |
VTable::Call | code, | ||
int | argumentCount = 0 , |
||
PropertyAttributes | attributes = Attr_Data|Attr_NotEnumerable |
||
) |
Definition at line 149 of file qv4object.cpp.
References QV4::FunctionObject::createBuiltinFunction(), e, engine, and function.
|
inline |
Definition at line 171 of file qv4object_p.h.
Referenced by QV4::ExecutionEngine::ExecutionEngine(), QV4::FunctionObject::createDefaultPrototypeProperty(), QV4::ExecutionEngine::createQtObject(), QV4::ArrayIteratorPrototype::init(), QV4::IteratorPrototype::init(), QV4::MapIteratorPrototype::init(), QV4::ForInIteratorPrototype::init(), QV4::SetIteratorPrototype::init(), QV4::StringIteratorPrototype::init(), QV4::IntrinsicTypedArrayPrototype::init(), QV4::ArrayBufferPrototype::init(), QV4::ArrayPrototype::init(), QV4::DatePrototype::init(), QV4::FunctionPrototype::init(), QV4::GeneratorPrototype::init(), QV4::NumberPrototype::init(), QV4::ObjectPrototype::init(), QV4::PromisePrototype::init(), QV4::RegExpPrototype::init(), QV4::StringPrototype::init(), QV4::SymbolPrototype::init(), QV4::TypedArrayPrototype::init(), and QV4::GlobalExtensions::init().
void QV4::Object::defineDefaultProperty | ( | StringOrSymbol * | name, |
VTable::Call | code, | ||
int | argumentCount = 0 , |
||
PropertyAttributes | attributes = Attr_Data|Attr_NotEnumerable |
||
) |
|
inline |
Definition at line 144 of file qv4object_p.h.
References attrs.
Definition at line 214 of file qv4object.cpp.
Referenced by QV4::ArrayIteratorPrototype::init(), QV4::MapIteratorPrototype::init(), QV4::SetIteratorPrototype::init(), QV4::StringIteratorPrototype::init(), QV4::IntrinsicTypedArrayPrototype::init(), QV4::SharedArrayBufferPrototype::init(), QV4::ArrayBufferPrototype::init(), QV4::ArrayPrototype::init(), QV4::BooleanPrototype::init(), QV4::DataViewPrototype::init(), QV4::DatePrototype::init(), QV4::FunctionPrototype::init(), QV4::GeneratorPrototype::init(), QV4::WeakMapPrototype::init(), QV4::MapPrototype::init(), QV4::NumberPrototype::init(), QV4::ObjectPrototype::init(), QV4::PromisePrototype::init(), QV4::WeakSetPrototype::init(), QV4::SetPrototype::init(), QV4::StringPrototype::init(), QV4::SymbolPrototype::init(), QV4::ErrorPrototype::init(), and QV4::TypedArrayPrototype::init().
void Object::defineReadonlyConfigurableProperty | ( | StringOrSymbol * | name, |
const Value & | value | ||
) |
Definition at line 222 of file qv4object.cpp.
References QV4::Attr_ReadOnly_ButConfigurable.
Definition at line 201 of file qv4object.cpp.
Referenced by QV4::ExecutionEngine::ExecutionEngine(), QV4::IntrinsicTypedArrayPrototype::init(), QV4::SharedArrayBufferPrototype::init(), QV4::ArrayBufferPrototype::init(), QV4::ArrayPrototype::init(), QV4::BooleanPrototype::init(), QV4::DataViewPrototype::init(), QV4::DatePrototype::init(), QV4::FunctionPrototype::init(), QV4::GeneratorPrototype::init(), QV4::WeakMapPrototype::init(), QV4::MapPrototype::init(), QV4::NumberPrototype::init(), QV4::ObjectPrototype::init(), QV4::PromisePrototype::init(), QV4::WeakSetPrototype::init(), QV4::SetPrototype::init(), QV4::StringPrototype::init(), QV4::SymbolPrototype::init(), QV4::ErrorPrototype::init(), QV4::TypedArrayPrototype::init(), and qt_add_qmlxmlhttprequest().
Definition at line 209 of file qv4object.cpp.
References QV4::Attr_ReadOnly.
|
inline |
Definition at line 327 of file qv4object_p.h.
|
inline |
Definition at line 276 of file qv4object_p.h.
|
inline |
Definition at line 270 of file qv4object_p.h.
Referenced by QV4::ArrayData::append(), QV4::ErrorObject::create(), QV4::doInstanceof(), QV4::QQmlContextWrapper::getPropertyAndBase(), QV4::IntrinsicTypedArrayPrototype::init(), isConcatSpreadable(), QV4::QQmlContextWrapper::lookupInParentContextHierarchy(), QV4::PromiseCtor::method_all(), QV4::FunctionPrototype::method_apply(), QV4::RegExpPrototype::method_match(), QV4::PromiseCtor::method_race(), QV4::RegExpPrototype::method_replace(), QV4::FunctionObject::name(), speciesConstructor(), QV4::ArrayObject::toQStringList(), QV4::GeneratorFunction::virtualCall(), QV4::RejectWrapper::virtualCall(), QV4::DefaultClassConstructorFunction::virtualCallAsConstructor(), QV4::ObjectCtor::virtualCallAsConstructor(), QV4::RegExpCtor::virtualCallAsConstructor(), virtualGetLength(), and QV4::QQmlTypeWrapper::virtualGetOwnProperty().
|
inline |
Definition at line 272 of file qv4object_p.h.
|
inline |
Definition at line 274 of file qv4object_p.h.
References get().
|
inline |
Definition at line 331 of file qv4object_p.h.
Referenced by arraySet(), arraySet(), QV4::FunctionPrototype::method_apply(), QV4::ArrayIteratorPrototype::method_next(), push_back(), setArrayLength(), QV4::ArrayObject::toQStringList(), and QV4::ArrayObject::virtualDefineOwnProperty().
|
inline |
Definition at line 134 of file qv4object_p.h.
void Object::getProperty | ( | const InternalClassEntry & | entry, |
Property * | p | ||
) | const |
Definition at line 80 of file qv4object.cpp.
|
inline |
Definition at line 201 of file qv4object_p.h.
|
inline |
Definition at line 156 of file qv4object_p.h.
References attrs.
|
inlinestatic |
Definition at line 151 of file qv4object_p.h.
References attrs.
Referenced by QV4::ArrayData::append(), and QV4::ArrayData::sort().
|
static |
Definition at line 99 of file qv4object.cpp.
References QV4::Value::as(), attrs, QV4::checkedResult(), QV4::Scope::engine, QV4::JSCallArguments::thisObject, and QV4::Encode::undefined().
|
inline |
Definition at line 159 of file qv4object_p.h.
References attrs.
PropertyIndex Object::getValueOrSetter | ( | PropertyKey | id, |
PropertyAttributes * | attrs | ||
) |
Definition at line 270 of file qv4object.cpp.
References QV4::Attr_Invalid, QV4::Attr_NotConfigurable, QV4::Attr_NotWritable, attrs, d, and o.
|
inline |
Definition at line 140 of file qv4object_p.h.
Referenced by QV4::Runtime::In::call(), QV4::Sequence::containerGetIndexed(), QV4::QQmlContextWrapper::getPropertyAndBase(), QV4::QQmlContextWrapper::resolveQmlContextPropertyLookupGetter(), virtualDefineOwnProperty(), QV4::ArgumentsObject::virtualGet(), QV4::Module::virtualGet(), QV4::QQmlContextWrapper::virtualGet(), QV4::QmlListWrapper::virtualGet(), QV4::QQmlTypeWrapper::virtualGet(), QV4::QQmlScopedEnumWrapper::virtualGet(), QV4::NamedNodeMap::virtualGet(), QV4::NodeList::virtualGet(), QV4::QQmlSqlDatabaseWrapper::virtualGet(), QV4::ModelObject::virtualGet(), QQuickJSContext2DPixelData::virtualGet(), QV4::Sequence::virtualGet(), and QV4::QQmlTypeWrapper::virtualGetOwnProperty().
void Object::initSparseArray | ( | ) |
Definition at line 1075 of file qv4object.cpp.
References arrayType(), and QV4::ArrayData::realloc().
Referenced by arraySet(), arraySet(), QV4::ArgumentsObject::fullyCreate(), setArrayLength(), and QV4::ArrayData::sort().
void Object::insertMember | ( | StringOrSymbol * | s, |
const Property * | p, | ||
PropertyAttributes | attributes | ||
) |
Definition at line 253 of file qv4object.cpp.
References QV4::Heap::InternalClass::addMember(), QV4::InternalClassEntry::index, QV4::PropertyAttributes::isAccessor(), setProperty(), and QV4::InternalClassEntry::setterIndex.
|
inline |
Definition at line 191 of file qv4object_p.h.
References engine.
Referenced by QV4::ExecutionEngine::ExecutionEngine().
|
inline |
Definition at line 332 of file qv4object_p.h.
References var.
Referenced by QV4::doInstanceof().
bool Object::isArray | ( | ) | const |
Definition at line 1092 of file qv4object.cpp.
References QV4::Scope::engine, QV4::Managed::isArrayObject(), o, QV4::ExecutionEngine::throwTypeError(), and vtable().
Referenced by isConcatSpreadable(), and QV4::ArrayPrototype::method_isArray().
bool Object::isConcatSpreadable | ( | ) | const |
Definition at line 1083 of file qv4object.cpp.
References QV4::Scope::engine, get(), isArray(), QV4::StaticValue::isUndefined(), QV4::ExecutionEngine::symbol_isConcatSpreadable(), and QV4::Value::toBoolean().
|
inline |
Definition at line 199 of file qv4object_p.h.
|
inline |
Definition at line 346 of file qv4object_p.h.
|
inline |
Definition at line 329 of file qv4object_p.h.
|
inline |
Definition at line 200 of file qv4object_p.h.
Definition at line 120 of file qv4object_p.h.
References d.
Referenced by QV4::QQmlContextWrapper::getPropertyAndBase(), setArrayLength(), QV4::ArgumentsObject::virtualGetLength(), and QV4::ArrayObject::virtualGetLength().
|
inline |
Definition at line 259 of file qv4object_p.h.
References engine.
Referenced by QV4::FunctionPrototype::method_apply().
Definition at line 470 of file qv4object_p.h.
References arrayCreate(), arrayPut(), arrayReserve(), QV4::Managed::engine(), getLength(), Q_UNLIKELY, setArrayLengthUnchecked(), and QV4::ExecutionEngine::throwRangeError().
Referenced by QV4::ObjectPrototype::method_entries().
|
inline |
Definition at line 286 of file qv4object_p.h.
|
inline |
Definition at line 280 of file qv4object_p.h.
Definition at line 282 of file qv4object_p.h.
|
inline |
Definition at line 284 of file qv4object_p.h.
bool Object::putValue | ( | uint | memberIndex, |
PropertyAttributes | attrs, | ||
const Value & | value | ||
) |
Definition at line 114 of file qv4object.cpp.
References QV4::JSCallArguments::args, attrs, QV4::Heap::InternalClass::engine, QV4::EngineBase::hasException, set, setProperty(), and QV4::JSCallArguments::thisObject.
|
inline |
Definition at line 341 of file qv4object_p.h.
References engine.
|
inline |
Definition at line 343 of file qv4object_p.h.
References engine.
|
inline |
Definition at line 312 of file qv4object_p.h.
References e, engine, and ret.
Referenced by QV4::FunctionObject::createConstructorFunction(), QV4::FunctionObject::createMemberFunction(), QV4::Heap::ProxyFunctionObject::init(), QV4::ErrorObject::method_get_stack(), QV4::ArrayIteratorPrototype::method_next(), QV4::MapIteratorPrototype::method_next(), QV4::SetIteratorPrototype::method_next(), and QV4::StringIteratorPrototype::method_next().
|
inline |
Definition at line 222 of file qv4object_p.h.
References QV4::Attr_Data, d, i, and Q_ASSERT.
Referenced by arraySet().
Definition at line 123 of file qv4object_p.h.
Referenced by QV4::ArrayData::sort().
bool Object::setArrayLength | ( | uint | newLen | ) |
Definition at line 1051 of file qv4object.cpp.
References arrayData(), arrayType(), getLength(), initSparseArray(), QV4::Managed::internalClass(), QV4::Managed::isArrayObject(), QV4::Heap::ArrayObject::LengthPropertyIndex, ok, propertyData(), Q_ASSERT, QV4::ArrayData::realloc(), and setArrayLengthUnchecked().
Definition at line 464 of file qv4object_p.h.
References QV4::Value::fromUInt32(), QV4::Managed::isArrayObject(), QV4::Heap::ArrayObject::LengthPropertyIndex, and setProperty().
Referenced by arraySet(), arraySet(), copyArrayData(), push_back(), and setArrayLength().
|
inline |
Definition at line 237 of file qv4object_p.h.
|
inline |
Definition at line 296 of file qv4object_p.h.
References e, engine, QString::number(), and ret.
void Object::setInternalClass | ( | Heap::InternalClass * | ic | ) |
Definition at line 28 of file qv4object.cpp.
References QV4::MemberData::allocate(), d, engine, QV4::Scope::engine, get(), i, Q_ASSERT, and setProperty().
void Object::setProperty | ( | const InternalClassEntry & | entry, |
const Property * | p | ||
) |
Definition at line 87 of file qv4object.cpp.
References setProperty().
Referenced by QV4::RegExpObject::initProperties(), and setArrayLengthUnchecked().
|
inline |
Definition at line 130 of file qv4object_p.h.
|
inline |
Definition at line 129 of file qv4object_p.h.
|
inline |
Definition at line 128 of file qv4object_p.h.
Definition at line 127 of file qv4object_p.h.
bool Object::setProtoFromNewTarget | ( | const Value * | newTarget | ) |
Definition at line 1131 of file qv4object.cpp.
References QV4::Value::isFunctionObject(), QV4::StaticValue::isUndefined(), Q_ASSERT, and setPrototypeOf().
|
inline |
Definition at line 202 of file qv4object_p.h.
Referenced by QV4::GeneratorPrototype::init(), QV4::TypedArrayPrototype::init(), and setProtoFromNewTarget().
Definition at line 264 of file qv4object.cpp.
|
inline |
Definition at line 256 of file qv4object_p.h.
References d.
|
inline |
Definition at line 257 of file qv4object_p.h.
References d.
const FunctionObject * Object::speciesConstructor | ( | Scope & | scope, |
const FunctionObject * | defaultConstructor | ||
) | const |
Definition at line 1109 of file qv4object.cpp.
References QV4::Scope::engine, get(), QV4::ExecutionEngine::id_constructor(), QV4::StaticValue::isUndefined(), QV4::Value::objectValue(), Q_ASSERT, QV4::ExecutionEngine::symbol_species(), and QV4::ExecutionEngine::throwTypeError().
Referenced by QV4::SharedArrayBufferPrototype::slice(), and typedArraySpeciesCreate().
|
staticprotected |
Definition at line 941 of file qv4object.cpp.
References QV4::Attr_Data, attrs, QV4::Property::copy(), QV4::Scope::engine, QV4::Property::fullyPopulated(), hasProperty(), o, qCWarning, QStringLiteral, QV4::Value::toQString(), and QV4::Property::value.
|
staticprotected |
Definition at line 319 of file qv4object.cpp.
|
staticprotected |
Definition at line 309 of file qv4object.cpp.
Definition at line 719 of file qv4object.cpp.
References QV4::Managed::engine(), QV4::Scope::engine, get(), and QV4::ExecutionEngine::id_length().
|
staticprotected |
Definition at line 913 of file qv4object.cpp.
References QV4::Attr_Invalid, attrs, o, and Q_ASSERT.
|
staticprotected |
Definition at line 1023 of file qv4object.cpp.
|
staticprotected |
Definition at line 897 of file qv4object.cpp.
References QV4::Attr_Invalid, and o.
|
staticprotected |
Definition at line 727 of file qv4object.cpp.
References QV4::Value::as(), checkedInstanceOf(), QV4::Heap::InternalClass::engine, QV4::Managed::engine(), function, QV4::Managed::internalClass(), QV4::ExecutionEngine::throwTypeError(), and var.
|
staticprotected |
Definition at line 1010 of file qv4object.cpp.
|
staticprotected |
This method is modeled after \l{QMetaObject::metacall}. It takes a JavaScript object and performs call on it, using index as identifier for the property/method/etc to be used and a as arguments. Like \l{QMetaObject::metacall} this method is overly generic in order to reduce the API surface. On a plain Object it does nothing and returns 0. Specific objects can override it and do some meaningful work. If the metacall succeeds they should return a non-0 value. Otherwise they should return 0.
Most prominently, \l QMetaObject::ReadProperty and \l QMetaObject::WriteProperty calls can be used to manipulate properties of QObjects and Q_GADGETs wrapped by QV4::QObjectWrapper, QV4::QQmlTypeWrapper and QV4::QQmlValueTypeWrapper. They can also be used to manipulate elements in QV4::Sequence.
Definition at line 850 of file qv4object.cpp.
References Q_UNUSED.
|
staticprotected |
Definition at line 402 of file qv4object.cpp.
References o.
|
staticprotected |
Definition at line 1015 of file qv4object.cpp.
|
staticprotected |
Definition at line 314 of file qv4object.cpp.
|
staticprotected |
Definition at line 739 of file qv4object.cpp.
References QV4::IdentifierTable::asPropertyKey(), attrs, QV4::FunctionData::compilationUnit, QV4::EngineBase::currentStackFrame, QV4::Managed::engine(), QV4::Lookup::getter, QV4::Lookup::getter0Inline(), QV4::Lookup::getter0MemberData(), QV4::Lookup::getterAccessor(), QV4::Lookup::getterIndexed(), QV4::Lookup::ic, QV4::EngineBase::identifierTable, QV4::Lookup::index, QV4::Lookup::indexedLookup, QV4::Heap::Base::internalClass, QV4::EngineBase::isInitialized, QV4::Lookup::nameIndex, QV4::Lookup::objectLookup, QV4::Lookup::offset, QV4::Lookup::protoId, QV4::Lookup::protoLookup, Q_ASSERT, QV4::Lookup::resolveProtoGetter(), QV4::CompiledData::CompilationUnitBase::runtimeStrings, and QV4::CppStackFrame::v4Function.
|
staticprotected |
Definition at line 777 of file qv4object.cpp.
References QV4::Lookup::arrayLengthSetter(), QV4::FunctionData::compilationUnit, QV4::EngineBase::currentStackFrame, QV4::Managed::engine(), QV4::Scope::engine, QV4::Lookup::ic, QV4::Lookup::index, QV4::Lookup::insertionLookup, QV4::Heap::Base::internalClass, QV4::EngineBase::isInitialized, QV4::Heap::ArrayObject::LengthPropertyIndex, QV4::Lookup::nameIndex, QV4::Lookup::newClass, QV4::Lookup::objectLookup, QV4::Lookup::offset, QV4::Lookup::protoId, Q_ASSERT, QV4::CompiledData::CompilationUnitBase::runtimeStrings, QV4::Lookup::setter, QV4::Lookup::setter0Inline(), QV4::Lookup::setter0MemberData(), QV4::Lookup::setterFallback(), QV4::Lookup::setterInsert(), and QV4::CppStackFrame::v4Function.
Definition at line 1028 of file qv4object.cpp.
References QV4::Heap::InternalClass::changePrototype(), QV4::Heap::InternalClass::isExtensible(), QV4::Heap::InternalClass::isLocked(), o, QV4::Heap::InternalClass::prototype, and Q_ASSERT.
|
inline |
Definition at line 132 of file qv4object_p.h.
References d.
Referenced by QV4::ExecutionEngine::ExecutionEngine(), and isArray().
|
friend |
Definition at line 376 of file qv4object_p.h.
|
friend |
Definition at line 377 of file qv4object_p.h.