4#include <private/qv4functionobject_p.h>
5#include <private/qv4identifiertable_p.h>
6#include <private/qv4lookup_p.h>
7#include <private/qv4qobjectwrapper_p.h>
8#include <private/qv4runtime_p.h>
9#include <private/qv4stackframe_p.h>
20 if (
index.isValid()) {
38 return object->resolveLookupGetter(
engine,
this);
66 if (
object.isString() &&
name->equals(
engine->id_length())) {
107 return engine->throwReferenceError(
n);
114 if (
const Object *
o =
object.as<Object>())
122 const uint offset1 =
first.objectLookup.offset;
147 if (
const Object *
o =
object.as<Object>()) {
151 memset(&second, 0,
sizeof(
Lookup));
213 qFatal(
"Your C++ compiler is broken.");
225 Heap::Object *
o =
static_cast<Heap::Object *
>(
object.heapObject());
237 Heap::Object *
o =
static_cast<Heap::Object *
>(
object.heapObject());
252 Heap::Object *
o =
static_cast<Heap::Object *
>(
object.heapObject());
264 Heap::Object *
o =
static_cast<Heap::Object *
>(
object.heapObject());
279 Heap::Object *
o =
static_cast<Heap::Object *
>(
object.heapObject());
294 Heap::Object *
o =
static_cast<Heap::Object *
>(
object.heapObject());
312 Heap::Object *
o =
static_cast<Heap::Object *
>(
object.heapObject());
328 Heap::Object *
o =
static_cast<Heap::Object *
>(
object.heapObject());
332 if (!
getter->isFunctionObject())
336 &
object,
nullptr, 0));
350 Heap::Object *
o =
static_cast<Heap::Object *
>(
object.heapObject());
353 if (!
getter->isFunctionObject())
357 &
object,
nullptr, 0));
369 Heap::Object *
o =
static_cast<Heap::Object *
>(
object.heapObject());
377 if (!
getter->isFunctionObject())
381 &
object,
nullptr, 0));
390 Object *
o =
object.objectValue();
392 Heap::Object *ho =
o->d();
393 if (ho->arrayData && ho->arrayData->type == Heap::ArrayData::Simple) {
428 qFatal(
"Your C++ compiler is broken.");
475 if (!
getter->isFunctionObject())
479 &
object,
nullptr, 0));
488 if (
const String *
s =
object.as<String>())
489 return Encode(
s->d()->length());
520 if (!
getter->isFunctionObject())
532 return object->resolveLookupSetter(
engine,
this,
value);
537 if (
object.isObject())
540 if (
engine->currentStackFrame->v4Function->isStrict())
556 if (
object.isObject()) {
604 Heap::Object *
o =
static_cast<Heap::Object *
>(
object.heapObject());
615 Heap::Object *
o =
static_cast<Heap::Object *
>(
object.heapObject());
626 Heap::Object *
o =
static_cast<Heap::Object *
>(
object.heapObject());
676 Q_ASSERT(
object.isObject() &&
static_cast<Object &
>(
object).isArrayObject());
QJSValue globalObject() const
Returns this engine's Global Object.
\macro QT_RESTRICTED_CAST_FROM_ASCII
Combined button and popup list for selecting options.
\qmltype Particle \inqmlmodule QtQuick.Particles
ReturnedValue checkedResult(QV4::ExecutionEngine *v4, ReturnedValue result)
static struct AttrInfo attrs[]
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLsizei const GLfloat * v
[13]
GLuint GLsizei const GLchar * message
QLatin1StringView QLatin1String
#define QStringLiteral(str)
static void setupObjectLookupTwoClasses(Lookup *l, const Lookup &first, const Lookup &second)
static void setupProtoLookupTwoClasses(Lookup *l, const Lookup &first, const Lookup &second)
const Value * arrayData() const
static constexpr ReturnedValue undefined()
const Value & data(uint index) const
ReturnedValue(* globalGetter)(Lookup *l, ExecutionEngine *engine)
ReturnedValue resolvePrimitiveGetter(ExecutionEngine *engine, const Value &object)
struct QV4::Lookup::@576::@592 objectLookup
static ReturnedValue getter0MemberDatagetter0MemberData(Lookup *l, ExecutionEngine *engine, const Value &object)
void resolveProtoGetter(PropertyKey name, const Heap::Object *proto)
struct QV4::Lookup::@576::@601 qobjectLookup
static ReturnedValue primitiveGetterProto(Lookup *l, ExecutionEngine *engine, const Value &object)
static ReturnedValue getter0Inlinegetter0Inline(Lookup *l, ExecutionEngine *engine, const Value &object)
static ReturnedValue stringLengthGetter(Lookup *l, ExecutionEngine *engine, const Value &object)
ReturnedValue resolveGlobalGetter(ExecutionEngine *engine)
static bool setter0Inline(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
static ReturnedValue globalGetterProtoAccessor(Lookup *l, ExecutionEngine *engine)
static ReturnedValue getterQObject(Lookup *l, ExecutionEngine *engine, const Value &object)
Heap::InternalClass * ic2
static ReturnedValue getterQObjectAsVariant(Lookup *l, ExecutionEngine *engine, const Value &object)
static ReturnedValue getterProtoAccessor(Lookup *l, ExecutionEngine *engine, const Value &object)
static bool setterQObjectAsVariant(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
struct QV4::Lookup::@576::@596 protoLookupTwoClasses
static bool setterQObject(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
ReturnedValue(* getter)(Lookup *l, ExecutionEngine *engine, const Value &object)
static ReturnedValue getter0Inlinegetter0MemberData(Lookup *l, ExecutionEngine *engine, const Value &object)
static bool setterInsert(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
struct QV4::Lookup::@576::@600 indexedLookup
static bool setter0MemberData(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
struct QV4::Lookup::@576::@595 objectLookupTwoClasses
ReturnedValue resolveGetter(ExecutionEngine *engine, const Object *object)
static ReturnedValue getterGeneric(Lookup *l, ExecutionEngine *engine, const Value &object)
static bool setterGeneric(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
struct QV4::Lookup::@576::@593 protoLookup
static ReturnedValue globalGetterGeneric(Lookup *l, ExecutionEngine *engine)
Heap::InternalClass * newClass
static ReturnedValue getterTwoClasses(Lookup *l, ExecutionEngine *engine, const Value &object)
static bool arrayLengthSetter(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
static bool setterFallbackAsVariant(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
bool(* setter)(Lookup *l, ExecutionEngine *engine, Value &object, const Value &v)
static bool setter0setter0(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
bool resolveSetter(ExecutionEngine *engine, Object *object, const Value &value)
static ReturnedValue getterAccessor(Lookup *l, ExecutionEngine *engine, const Value &object)
static ReturnedValue getterFallback(Lookup *l, ExecutionEngine *engine, const Value &object)
static ReturnedValue getterFallbackAsVariant(Lookup *l, ExecutionEngine *engine, const Value &object)
struct QV4::Lookup::@576::@599 insertionLookup
void releasePropertyCache()
static ReturnedValue getterQObjectMethod(Lookup *l, ExecutionEngine *engine, const Value &object)
static ReturnedValue getter0Inline(Lookup *l, ExecutionEngine *engine, const Value &object)
static ReturnedValue getterProtoTwoClasses(Lookup *l, ExecutionEngine *engine, const Value &object)
static ReturnedValue primitiveGetterAccessor(Lookup *l, ExecutionEngine *engine, const Value &object)
static ReturnedValue getterProto(Lookup *l, ExecutionEngine *engine, const Value &object)
static bool setterFallback(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
static ReturnedValue globalGetterProto(Lookup *l, ExecutionEngine *engine)
static Q_NEVER_INLINE bool setterTwoClasses(Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
struct QV4::Lookup::@576::@597 primitiveLookup
static ReturnedValue getter0MemberData(Lookup *l, ExecutionEngine *engine, const Value &object)
struct QV4::Lookup::@576::@602 qobjectMethodLookup
const QQmlPropertyCache * propertyCache
static ReturnedValue getterIndexed(Lookup *l, ExecutionEngine *engine, const Value &object)
static ReturnedValue getterProtoAccessorTwoClasses(Lookup *l, ExecutionEngine *engine, const Value &object)
static ReturnedValue lookupPropertyGetterImpl(Lookup *l, ExecutionEngine *engine, const Value &object, Flags flags, ReversalFunctor revert)
static ReturnedValue lookupMethodGetterImpl(Lookup *l, ExecutionEngine *engine, const Value &object, Flags flags, ReversalFunctor revert)
static Heap::Object * convertToObject(ExecutionEngine *engine, const Value &value)
constexpr ReturnedValue asReturnedValue() const