29 return scope.engine->throwTypeError();
32 if (
scope.hasException())
34 if (len < 0 || len >= std::numeric_limits<int>::max())
39 if (
scope.hasException())
42 return a->asReturnedValue();
47 return f->engine()->throwTypeError();
71 if (
scope.hasException())
74 return a->asReturnedValue();
82 if (argv[0].as<TypedArray>() ||
83 argv[0].as<DataView>())
98 internalClass->engine->throwRangeError(
QStringLiteral(
"ArrayBuffer: out of memory"));
118 arrayDataPointer().~QArrayDataPointer();
141 defineDefaultProperty(
engine->id_constructor(), (
o = ctor));
142 defineAccessorProperty(
QStringLiteral(
"byteLength"), method_get_byteLength,
nullptr);
151 if (!
a ||
a->hasDetachedArrayData() || !
a->isSharedArrayBuffer())
154 return Encode(
a->arrayDataLength());
159 return slice(
b, thisObject, argv, argc,
true);
166 if (!
a ||
a->hasDetachedArrayData() || (
a->isSharedArrayBuffer() != shared))
169 const uint aDataLength =
a->arrayDataLength();
177 double final = (
end < 0) ?
qMax(aDataLength +
end, 0.) :
qMin(
end,
double(aDataLength));
186 if (!newBuffer || newBuffer->arrayDataLength() < newLen ||
187 newBuffer->hasDetachedArrayData() || (newBuffer->isSharedArrayBuffer() != shared) ||
188 newBuffer->sameValue(*
a) ||
189 a->hasDetachedArrayData())
192 memcpy(newBuffer->arrayData(),
a->constArrayData() + (
uint)
first, newLen);
206 defineDefaultProperty(
engine->id_constructor(), (
o = ctor));
207 defineAccessorProperty(
QStringLiteral(
"byteLength"), method_get_byteLength,
nullptr);
209 defineDefaultProperty(
QStringLiteral(
"toString"), method_toString, 0);
217 if (!
a ||
a->isSharedArrayBuffer())
220 if (
a->hasDetachedArrayData())
223 return Encode(
a->arrayDataLength());
228 return slice(
b, thisObject, argv, argc,
false);
static QString fromUtf8(QByteArrayView utf8)
This is an overloaded member function, provided for convenience. It differs from the above function o...
\qmltype Particle \inqmlmodule QtQuick.Particles
std::pair< T1, T2 > QPair
constexpr const T & qMin(const T &a, const T &b)
constexpr const T & qBound(const T &min, const T &val, const T &max)
constexpr const T & qMax(const T &a, const T &b)
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
[7]
GLenum GLuint GLenum GLsizei length
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
QLatin1StringView QLatin1String
#define QStringLiteral(str)
#define RETURN_UNDEFINED()
#define DEFINE_OBJECT_VTABLE(classname)
static QPair< QTypedArrayData *, T * > allocate(qsizetype capacity, AllocationOption option=QArrayData::KeepSize)
static ReturnedValue method_isView(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get_byteLength(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_toString(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_slice(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
void init(ExecutionEngine *engine, Object *ctor)
V4_NEEDS_DESTROY QByteArray asByteArray() const
static constexpr ReturnedValue undefined()
Heap::String * newString(const QString &s=QString())
ReturnedValue throwRangeError(const Value &value)
Symbol * symbol_toStringTag() const
FunctionObject * arrayBufferCtor() const
Heap::ArrayBuffer * newArrayBuffer(const QByteArray &array)
ReturnedValue throwTypeError()
FunctionObject * sharedArrayBufferCtor() const
ReturnedValue protoProperty() const
ReturnedValue callAsConstructor(const JSCallData &data) const
Heap::ExecutionContext * scope() const
void init(QV4::ExecutionContext *scope)
void init(QV4::ExecutionContext *scope)
void detachArrayData() noexcept
uint arrayDataLength() const noexcept
const char * constArrayData() const noexcept
ExecutionEngine * engine() const
void defineDefaultProperty(StringOrSymbol *name, const Value &value, PropertyAttributes attributes=Attr_Data|Attr_NotEnumerable)
const FunctionObject * speciesConstructor(Scope &scope, const FunctionObject *defaultConstructor) const
void defineReadonlyConfigurableProperty(const QString &name, const Value &value)
void defineReadonlyProperty(const QString &name, const Value &value)
bool hasException() const
QML_NEARLY_ALWAYS_INLINE ReturnedValue asReturnedValue() const
void init(ExecutionEngine *engine, Object *ctor)
static ReturnedValue method_get_byteLength(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_slice(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue slice(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc, bool shared)
static constexpr VTable::CallAsConstructor virtualCallAsConstructor
static constexpr VTable::Call virtualCall
static constexpr Value fromInt32(int i)
bool isFunctionObject() const
static constexpr Value undefinedValue()
QML_NEARLY_ALWAYS_INLINE Value::HeapBasePtr heapObject() const