![]() |
Qt 6.x
The Qt SDK
|
#include <qv4arraydata_p.h>
Public Types | |
enum | { IsArrayData = true } |
typedef Heap::ArrayData::Type | Type |
![]() | |
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 void | ensureAttributes (Object *o) |
static void | realloc (Object *o, Type newType, uint alloc, bool enforceAttributes) |
static void | sort (ExecutionEngine *engine, Object *thisObject, const Value &comparefn, uint dataLen) |
static uint | append (Object *obj, ArrayObject *otherObj, uint n) |
static void | insert (Object *o, uint index, const Value *v, bool isAccessor=false) |
![]() | |
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) |
Definition at line 134 of file qv4arraydata_p.h.
typedef Heap::ArrayData::Type QV4::ArrayData::Type |
Definition at line 136 of file qv4arraydata_p.h.
anonymous enum |
Enumerator | |
---|---|
IsArrayData |
Definition at line 138 of file qv4arraydata_p.h.
|
inline |
Definition at line 143 of file qv4arraydata_p.h.
References d.
|
inline |
Definition at line 142 of file qv4arraydata_p.h.
References d.
Referenced by QV4::SparseArrayData::allocate(), append(), QV4::SimpleArrayData::pop_front(), QV4::SimpleArrayData::push_front(), QV4::SimpleArrayData::putArray(), and realloc().
|
static |
Definition at line 509 of file qv4arraydata.cpp.
References alloc(), QV4::Object::arrayData(), QV4::Heap::SimpleArrayData::data(), QV4::Object::get(), QV4::Object::getValue(), i, QV4::ArgumentsObject::isNonStrictArgumentsObject(), it, other(), and Q_ASSERT.
Referenced by QV4::ArrayPrototype::method_concat().
|
inline |
Definition at line 149 of file qv4arraydata_p.h.
References d.
Referenced by QV4::Lookup::getterIndexed(), and sort().
|
inline |
Definition at line 164 of file qv4arraydata_p.h.
|
inline |
Definition at line 147 of file qv4arraydata_p.h.
References d.
Referenced by QV4::SparseArrayData::allocate(), QV4::Heap::SimpleArrayData::attributes(), QV4::Heap::SparseArrayData::attributes(), QV4::SimpleArrayData::del(), QV4::SparseArrayData::del(), QV4::ObjectOwnPropertyKeyIterator::next(), QV4::SimpleArrayData::pop_front(), QV4::SimpleArrayData::push_front(), QV4::SimpleArrayData::put(), QV4::SimpleArrayData::setAttribute(), QV4::SparseArrayData::setAttribute(), and QV4::SimpleArrayData::truncate().
Definition at line 174 of file qv4arraydata.cpp.
Referenced by QV4::ObjectPrototype::method_freeze(), and QV4::ObjectPrototype::method_seal().
|
inline |
Definition at line 172 of file qv4arraydata_p.h.
|
inline |
Definition at line 161 of file qv4arraydata_p.h.
References attrs.
Definition at line 559 of file qv4arraydata.cpp.
References QV4::SparseArrayData::allocate(), d, QV4::Value::emptyValue(), i, o, setArrayData(), QV4::Object::SetterOffset, and QV4::SparseArrayNode::value.
Referenced by QV4::Object::arraySet(), QV4::Object::arraySet(), and realloc().
|
inline |
Definition at line 168 of file qv4arraydata_p.h.
Referenced by QV4::SparseArrayData::del(), and realloc().
|
inline |
Definition at line 155 of file qv4arraydata_p.h.
|
inline |
Definition at line 157 of file qv4arraydata_p.h.
References d.
Definition at line 58 of file qv4arraydata.cpp.
References alloc(), QV4::MemoryManager::allocManaged(), QV4::Attr_Data, d, QV4::Scope::engine, i, insert(), isEmpty(), QV4::StaticValue::isInteger(), QV4::EngineBase::memoryManager, o, Q_ASSERT, and QV4::StaticValue::setEmpty().
Referenced by QV4::Object::copyArrayData(), ensureAttributes(), QV4::Object::initSparseArray(), QV4::SimpleArrayData::push_front(), QV4::SimpleArrayData::reallocate(), QV4::SparseArrayData::reallocate(), QV4::Object::setArrayLength(), and sort().
Definition at line 144 of file qv4arraydata_p.h.
References d.
|
inline |
Definition at line 150 of file qv4arraydata_p.h.
Referenced by insert(), and QV4::SparseArrayData::put().
|
inline |
Definition at line 148 of file qv4arraydata_p.h.
References d.
Definition at line 146 of file qv4arraydata_p.h.
References d.
|
static |
Definition at line 622 of file qv4arraydata.cpp.
References arrayData(), QV4::Object::arrayData(), QV4::Object::arraySet(), QV4::Attr_Data, begin(), d, QV4::Value::emptyValue(), QV4::Managed::engine(), QV4::Value::fromReturnedValue(), QV4::Object::getValue(), i, QV4::Object::initSparseArray(), QV4::Value::isFunctionObject(), QV4::StaticValue::isUndefined(), lessThan(), Q_ASSERT, realloc(), QV4::Object::setArrayData(), QV4::sortHelper(), QV4::ExecutionEngine::throwTypeError(), and QV4::StaticValue::type().
Referenced by QV4::ArrayPrototype::method_sort().
|
inline |
Definition at line 145 of file qv4arraydata_p.h.
References d.
Referenced by QV4::SparseArrayData::del().
|
inline |
Definition at line 154 of file qv4arraydata_p.h.
References d.