Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QV4::Lookup Struct Reference

#include <qv4lookup_p.h>

+ Collaboration diagram for QV4::Lookup:

Public Member Functions

ReturnedValue resolveGetter (ExecutionEngine *engine, const Object *object)
 
ReturnedValue resolvePrimitiveGetter (ExecutionEngine *engine, const Value &object)
 
ReturnedValue resolveGlobalGetter (ExecutionEngine *engine)
 
void resolveProtoGetter (PropertyKey name, const Heap::Object *proto)
 
bool resolveSetter (ExecutionEngine *engine, Object *object, const Value &value)
 
void markObjects (MarkStack *stack)
 
void releasePropertyCache ()
 

Static Public Member Functions

static ReturnedValue getterGeneric (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue getterTwoClasses (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)
 
static ReturnedValue getter0MemberData (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue getter0Inline (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue getterProto (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue getter0Inlinegetter0Inline (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue getter0Inlinegetter0MemberData (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue getter0MemberDatagetter0MemberData (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue getterProtoTwoClasses (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue getterAccessor (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue getterProtoAccessor (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue getterProtoAccessorTwoClasses (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue getterIndexed (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue getterQObject (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue getterQObjectAsVariant (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue getterQObjectMethod (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue primitiveGetterProto (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue primitiveGetterAccessor (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue stringLengthGetter (Lookup *l, ExecutionEngine *engine, const Value &object)
 
static ReturnedValue globalGetterGeneric (Lookup *l, ExecutionEngine *engine)
 
static ReturnedValue globalGetterProto (Lookup *l, ExecutionEngine *engine)
 
static ReturnedValue globalGetterProtoAccessor (Lookup *l, ExecutionEngine *engine)
 
static bool setterGeneric (Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
 
static Q_NEVER_INLINE bool setterTwoClasses (Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
 
static bool setterFallback (Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
 
static bool setterFallbackAsVariant (Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
 
static bool setter0MemberData (Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
 
static bool setter0Inline (Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
 
static bool setter0setter0 (Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
 
static bool setterInsert (Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
 
static bool setterQObject (Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
 
static bool setterQObjectAsVariant (Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
 
static bool arrayLengthSetter (Lookup *l, ExecutionEngine *engine, Value &object, const Value &value)
 

Public Attributes

union { 
 
   ReturnedValue(*   getter )(Lookup *l, ExecutionEngine
      *engine, const Value &object
 
   ReturnedValue(*   globalGetter )(Lookup *l, ExecutionEngine
      *engine
 
   ReturnedValue(*   qmlContextPropertyGetter )(Lookup *l, ExecutionEngine
      *engine, Value *thisObject) 
 
   bool(*   setter )(Lookup *l, ExecutionEngine
      *engine, Value &object, const
      Value &v
 
};  
 
union { 
 
   struct { 
 
      Heap::Base *   h1 
 
      Heap::Base *   h2 
 
      quintptr   unused 
 
      quintptr   unused2 
 
   }   markDef 
 
   struct { 
 
      HeapObjectWrapper< Heap::InternalClass, 0 >   ic 
 
      quintptr   unused 
 
      uint   index 
 
      uint   offset 
 
   }   objectLookup 
 
   struct { 
 
      quintptr   protoId 
 
      quintptr   _unused 
 
      const Value *   data 
 
   }   protoLookup 
 
   struct { 
 
      HeapObjectWrapper< Heap::InternalClass, 1 >   ic 
 
      HeapObjectWrapper< Heap::InternalClass, 2 >   ic2 
 
      uint   offset 
 
      uint   offset2 
 
   }   objectLookupTwoClasses 
 
   struct { 
 
      quintptr   protoId 
 
      quintptr   protoId2 
 
      const Value *   data 
 
      const Value *   data2 
 
   }   protoLookupTwoClasses 
 
   struct { 
 
      quintptr   protoId 
 
      HeapObjectWrapper< Heap::Object, 3 >   proto 
 
      const Value *   data 
 
      quintptr   type 
 
   }   primitiveLookup 
 
   struct { 
 
      HeapObjectWrapper< Heap::InternalClass, 4 >   newClass 
 
      quintptr   protoId 
 
      uint   offset 
 
      uint   unused 
 
   }   insertionLookup 
 
   struct { 
 
      quintptr   _unused 
 
      quintptr   _unused2 
 
      uint   index 
 
      uint   unused 
 
   }   indexedLookup 
 
   struct { 
 
      HeapObjectWrapper< Heap::InternalClass, 5 >   ic 
 
      HeapObjectWrapper< Heap::InternalClass, 6 >   qmlTypeIc 
 
      const QQmlPropertyCache *   propertyCache 
 
      const QQmlPropertyData *   propertyData 
 
   }   qobjectLookup 
 
   struct { 
 
      HeapObjectWrapper< Heap::InternalClass, 7 >   ic 
 
      HeapObjectWrapper< Heap::QObjectMethod, 8 >   method 
 
      const QQmlPropertyCache *   propertyCache 
 
      const QQmlPropertyData *   propertyData 
 
   }   qobjectMethodLookup 
 
   struct { 
 
      quintptr   isConstant 
 
      quintptr   metaObject 
 
      int   coreIndex 
 
      int   notifyIndex 
 
   }   qobjectFallbackLookup 
 
   struct { 
 
      HeapObjectWrapper< Heap::InternalClass, 9 >   ic 
 
      quintptr   metaObject 
 
      const QtPrivate::QMetaTypeInterface *   metaType 
 
      quint16   coreIndex 
 
      bool   isFunction 
 
      bool   isEnum 
 
   }   qgadgetLookup 
 
   struct { 
 
      quintptr   unused1 
 
      quintptr   unused2 
 
      int   scriptIndex 
 
   }   qmlContextScriptLookup 
 
   struct { 
 
      HeapObjectWrapper< Heap::Base, 10 >   singletonObject 
 
      quintptr   unused2 
 
      QV4::ReturnedValue   singletonValue 
 
   }   qmlContextSingletonLookup 
 
   struct { 
 
      quintptr   unused1 
 
      quintptr   unused2 
 
      int   objectId 
 
   }   qmlContextIdObjectLookup 
 
   struct { 
 
      quintptr   reserved1 
 
      quintptr   reserved2 
 
      quintptr   reserved3 
 
      ReturnedValue(*   getterTrampoline )(Lookup *l, ExecutionEngine
         *engine
 
   }   qmlContextGlobalLookup 
 
   struct { 
 
      HeapObjectWrapper< Heap::Base, 11 >   qmlTypeWrapper 
 
      quintptr   unused2 
 
   }   qmlTypeLookup 
 
   struct { 
 
      HeapObjectWrapper< Heap::InternalClass, 12 >   ic 
 
      quintptr   unused 
 
      ReturnedValue   encodedEnumValue 
 
      const QtPrivate::QMetaTypeInterface *   metaType 
 
   }   qmlEnumValueLookup 
 
   struct { 
 
      HeapObjectWrapper< Heap::InternalClass, 13 >   ic 
 
      HeapObjectWrapper< Heap::Object, 14 >   qmlScopedEnumWrapper 
 
   }   qmlScopedEnumWrapperLookup 
 
};  
 
uint nameIndex: 28
 
uint forCall: 1
 
uint reserved: 3
 

Detailed Description

Definition at line 38 of file qv4lookup_p.h.

Member Function Documentation

◆ arrayLengthSetter()

bool Lookup::arrayLengthSetter ( Lookup * l,
ExecutionEngine * engine,
Value & object,
const Value & value )
static

Definition at line 690 of file qv4lookup.cpp.

References engine, ok, and Q_ASSERT.

Referenced by QV4::Object::virtualResolveLookupSetter().

+ Here is the caller graph for this function:

◆ getter0Inline()

ReturnedValue Lookup::getter0Inline ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 234 of file qv4lookup.cpp.

References engine, getterTwoClasses(), o, and objectLookup.

Referenced by getterTwoClasses(), and QV4::Object::virtualResolveLookupGetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getter0Inlinegetter0Inline()

ReturnedValue Lookup::getter0Inlinegetter0Inline ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 261 of file qv4lookup.cpp.

References engine, getter, getterFallback(), o, and objectLookupTwoClasses.

Referenced by getterTwoClasses().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getter0Inlinegetter0MemberData()

ReturnedValue Lookup::getter0Inlinegetter0MemberData ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 276 of file qv4lookup.cpp.

References engine, getter, getterFallback(), o, and objectLookupTwoClasses.

Referenced by getterTwoClasses().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getter0MemberData()

ReturnedValue Lookup::getter0MemberData ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 222 of file qv4lookup.cpp.

References engine, getterTwoClasses(), o, and objectLookup.

Referenced by getterTwoClasses(), and QV4::Object::virtualResolveLookupGetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getter0MemberDatagetter0MemberData()

ReturnedValue Lookup::getter0MemberDatagetter0MemberData ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 291 of file qv4lookup.cpp.

References engine, getter, getterFallback(), o, and objectLookupTwoClasses.

Referenced by getterTwoClasses().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getterAccessor()

ReturnedValue Lookup::getterAccessor ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 325 of file qv4lookup.cpp.

References QV4::checkedResult(), engine, getter, getterFallback(), o, objectLookup, and QV4::Encode::undefined().

Referenced by QV4::Object::virtualResolveLookupGetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getterFallback()

ReturnedValue Lookup::getterFallback ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

◆ getterFallbackAsVariant()

ReturnedValue Lookup::getterFallbackAsVariant ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 207 of file qv4lookup.cpp.

References engine, getterFallback(), getterFallbackAsVariant(), and qFatal.

Referenced by QQmlPrivate::AOTCompiledContext::captureLookup(), QQmlPrivate::AOTCompiledContext::getObjectLookup(), getterFallbackAsVariant(), QQmlPrivate::AOTCompiledContext::initGetObjectLookup(), QQmlPrivate::AOTCompiledContext::lookupResultMetaType(), and QQmlPrivate::AOTCompiledContext::writeBackObjectLookup().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getterGeneric()

ReturnedValue Lookup::getterGeneric ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 112 of file qv4lookup.cpp.

References engine, o, resolveGetter(), and resolvePrimitiveGetter().

Referenced by getterQObject(), getterQObjectMethod(), getterTwoClasses(), QV4::QQmlTypeWrapper::lookupEnumValue(), QV4::QQmlTypeWrapper::lookupScopedEnum(), QV4::QQmlTypeWrapper::lookupSingletonMethod(), QV4::QQmlTypeWrapper::lookupSingletonProperty(), QV4::ExecutableCompilationUnit::populate(), primitiveGetterAccessor(), primitiveGetterProto(), and stringLengthGetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getterIndexed()

ReturnedValue Lookup::getterIndexed ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 389 of file qv4lookup.cpp.

References QV4::ArrayData::arrayData(), QV4::StaticValue::asReturnedValue(), QV4::Value::cast(), QV4::Heap::SimpleArrayData::data(), engine, getter, getterFallback(), indexedLookup, and o.

Referenced by QV4::Object::virtualResolveLookupGetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getterProto()

ReturnedValue Lookup::getterProto ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 246 of file qv4lookup.cpp.

References engine, getterTwoClasses(), o, protoLookup, and Q_ASSERT.

Referenced by getterTwoClasses(), resolveGlobalGetter(), resolvePrimitiveGetter(), and resolveProtoGetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getterProtoAccessor()

ReturnedValue Lookup::getterProtoAccessor ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 344 of file qv4lookup.cpp.

References QV4::checkedResult(), engine, getter, getterTwoClasses(), o, protoLookup, Q_ASSERT, and QV4::Encode::undefined().

Referenced by getterTwoClasses(), resolveGlobalGetter(), resolvePrimitiveGetter(), and resolveProtoGetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getterProtoAccessorTwoClasses()

ReturnedValue Lookup::getterProtoAccessorTwoClasses ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 363 of file qv4lookup.cpp.

References QV4::checkedResult(), engine, getter, getterFallback(), o, protoLookupTwoClasses, Q_ASSERT, and QV4::Encode::undefined().

Referenced by getterTwoClasses().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getterProtoTwoClasses()

ReturnedValue Lookup::getterProtoTwoClasses ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 306 of file qv4lookup.cpp.

References engine, getter, getterFallback(), o, protoLookupTwoClasses, and Q_ASSERT.

Referenced by getterTwoClasses().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getterQObject()

ReturnedValue Lookup::getterQObject ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 406 of file qv4lookup.cpp.

References QV4::QObjectWrapper::AllowOverride, QV4::QObjectWrapper::AttachMethods, engine, forCall, getter, getterGeneric(), QV4::QObjectWrapper::lookupPropertyGetterImpl(), and qobjectLookup.

Referenced by QQmlPrivate::AOTCompiledContext::captureLookup(), QQmlPrivate::AOTCompiledContext::getObjectLookup(), getterQObjectAsVariant(), QQmlPrivate::AOTCompiledContext::initGetObjectLookup(), QQmlPrivate::AOTCompiledContext::lookupResultMetaType(), and QQmlPrivate::AOTCompiledContext::writeBackObjectLookup().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getterQObjectAsVariant()

ReturnedValue Lookup::getterQObjectAsVariant ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 422 of file qv4lookup.cpp.

References engine, getterQObject(), getterQObjectAsVariant(), and qFatal.

Referenced by QQmlPrivate::AOTCompiledContext::captureLookup(), QQmlPrivate::AOTCompiledContext::getObjectLookup(), getterQObjectAsVariant(), QQmlPrivate::AOTCompiledContext::initGetObjectLookup(), QQmlPrivate::AOTCompiledContext::lookupResultMetaType(), and QQmlPrivate::AOTCompiledContext::writeBackObjectLookup().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getterQObjectMethod()

ReturnedValue Lookup::getterQObjectMethod ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 437 of file qv4lookup.cpp.

References QV4::QObjectWrapper::AllowOverride, QV4::QObjectWrapper::AttachMethods, engine, forCall, getter, getterGeneric(), QV4::QObjectWrapper::lookupMethodGetterImpl(), and qobjectMethodLookup.

+ Here is the call graph for this function:

◆ getterTwoClasses()

ReturnedValue Lookup::getterTwoClasses ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 146 of file qv4lookup.cpp.

References engine, forCall, getter, getter0Inline(), getter0Inlinegetter0Inline(), getter0Inlinegetter0MemberData(), getter0MemberData(), getter0MemberDatagetter0MemberData(), getterFallback(), getterGeneric(), getterProto(), getterProtoAccessor(), getterProtoAccessorTwoClasses(), getterProtoTwoClasses(), nameIndex, o, releasePropertyCache(), resolveGetter(), setupObjectLookupTwoClasses(), and setupProtoLookupTwoClasses().

Referenced by getter0Inline(), getter0MemberData(), getterProto(), and getterProtoAccessor().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ globalGetterGeneric()

ReturnedValue Lookup::globalGetterGeneric ( Lookup * l,
ExecutionEngine * engine )
static

Definition at line 496 of file qv4lookup.cpp.

References engine, and resolveGlobalGetter().

Referenced by QV4::QQmlContextWrapper::getPropertyAndBase(), globalGetterProto(), globalGetterProtoAccessor(), QV4::ExecutableCompilationUnit::populate(), resolveGlobalGetter(), and QV4::QQmlContextWrapper::resolveQmlContextPropertyLookupGetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ globalGetterProto()

ReturnedValue Lookup::globalGetterProto ( Lookup * l,
ExecutionEngine * engine )
static

Definition at line 501 of file qv4lookup.cpp.

References engine, globalGetter, globalGetterGeneric(), QJSEngine::globalObject(), o, protoLookup, and Q_ASSERT.

Referenced by resolveGlobalGetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ globalGetterProtoAccessor()

ReturnedValue Lookup::globalGetterProtoAccessor ( Lookup * l,
ExecutionEngine * engine )
static

Definition at line 513 of file qv4lookup.cpp.

References QV4::checkedResult(), engine, getter, globalGetter, globalGetterGeneric(), QJSEngine::globalObject(), o, protoLookup, Q_ASSERT, and QV4::Encode::undefined().

Referenced by resolveGlobalGetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ markObjects()

void QV4::Lookup::markObjects ( MarkStack * stack)
inline

Definition at line 210 of file qv4lookup_p.h.

◆ primitiveGetterAccessor()

ReturnedValue Lookup::primitiveGetterAccessor ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 467 of file qv4lookup.cpp.

References QV4::checkedResult(), engine, getter, getterGeneric(), o, primitiveLookup, Q_ASSERT, type, and QV4::Encode::undefined().

Referenced by resolvePrimitiveGetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ primitiveGetterProto()

ReturnedValue Lookup::primitiveGetterProto ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 453 of file qv4lookup.cpp.

References engine, getter, getterGeneric(), o, primitiveLookup, Q_ASSERT, and type.

Referenced by resolvePrimitiveGetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ releasePropertyCache()

void QV4::Lookup::releasePropertyCache ( )
inline

Definition at line 217 of file qv4lookup_p.h.

Referenced by getterTwoClasses(), QQmlPrivate::initObjectLookup(), setterTwoClasses(), QV4::setupQObjectLookup(), and QV4::setupQObjectMethodLookup().

+ Here is the caller graph for this function:

◆ resolveGetter()

ReturnedValue Lookup::resolveGetter ( ExecutionEngine * engine,
const Object * object )

Definition at line 36 of file qv4lookup.cpp.

References engine.

Referenced by getterGeneric(), and getterTwoClasses().

+ Here is the caller graph for this function:

◆ resolveGlobalGetter()

ReturnedValue Lookup::resolveGlobalGetter ( ExecutionEngine * engine)

Definition at line 89 of file qv4lookup.cpp.

References engine, getter, getterProto(), getterProtoAccessor(), globalGetter, globalGetterGeneric(), globalGetterProto(), globalGetterProtoAccessor(), QJSEngine::globalObject(), nameIndex, o, protoLookup, Q_ASSERT, and resolveProtoGetter().

Referenced by QV4::QQmlContextWrapper::getPropertyAndBase(), globalGetterGeneric(), and QV4::QQmlContextWrapper::resolveQmlContextPropertyLookupGetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resolvePrimitiveGetter()

ReturnedValue Lookup::resolvePrimitiveGetter ( ExecutionEngine * engine,
const Value & object )

Definition at line 41 of file qv4lookup.cpp.

References QV4::StaticValue::Boolean_Type, engine, getter, getterProto(), getterProtoAccessor(), QV4::StaticValue::Integer_Type, QV4::StaticValue::Managed_Type, nameIndex, QV4::StaticValue::Null_Type, primitiveGetterAccessor(), primitiveGetterProto(), primitiveLookup, protoLookup, Q_ASSERT, QStringLiteral, resolveProtoGetter(), stringLengthGetter(), and QV4::StaticValue::Undefined_Type.

Referenced by getterGeneric().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resolveProtoGetter()

void Lookup::resolveProtoGetter ( PropertyKey name,
const Heap::Object * proto )

Definition at line 16 of file qv4lookup.cpp.

References attrs, getter, getterFallback(), getterProto(), getterProtoAccessor(), proto, and protoLookup.

Referenced by resolveGlobalGetter(), resolvePrimitiveGetter(), and QV4::Object::virtualResolveLookupGetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resolveSetter()

bool Lookup::resolveSetter ( ExecutionEngine * engine,
Object * object,
const Value & value )

Definition at line 531 of file qv4lookup.cpp.

References engine.

Referenced by setterGeneric(), and setterTwoClasses().

+ Here is the caller graph for this function:

◆ setter0Inline()

bool Lookup::setter0Inline ( Lookup * l,
ExecutionEngine * engine,
Value & object,
const Value & value )
static

Definition at line 622 of file qv4lookup.cpp.

References engine, o, objectLookup, and setterTwoClasses().

Referenced by setterTwoClasses(), and QV4::Object::virtualResolveLookupSetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setter0MemberData()

bool Lookup::setter0MemberData ( Lookup * l,
ExecutionEngine * engine,
Value & object,
const Value & value )
static

Definition at line 611 of file qv4lookup.cpp.

References engine, o, objectLookup, and setterTwoClasses().

Referenced by setterTwoClasses(), and QV4::Object::virtualResolveLookupSetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setter0setter0()

bool Lookup::setter0setter0 ( Lookup * l,
ExecutionEngine * engine,
Value & object,
const Value & value )
static

Definition at line 633 of file qv4lookup.cpp.

References engine, o, objectLookupTwoClasses, setter, and setterFallback().

Referenced by setterTwoClasses().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setterFallback()

bool Lookup::setterFallback ( Lookup * l,
ExecutionEngine * engine,
Value & object,
const Value & value )
static

◆ setterFallbackAsVariant()

bool Lookup::setterFallbackAsVariant ( Lookup * l,
ExecutionEngine * engine,
Value & object,
const Value & value )
static

Definition at line 596 of file qv4lookup.cpp.

References engine, qFatal, setterFallback(), and setterFallbackAsVariant().

Referenced by QQmlPrivate::AOTCompiledContext::initSetObjectLookup(), QQmlPrivate::AOTCompiledContext::lookupResultMetaType(), QQmlPrivate::AOTCompiledContext::setObjectLookup(), and setterFallbackAsVariant().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setterGeneric()

bool Lookup::setterGeneric ( Lookup * l,
ExecutionEngine * engine,
Value & object,
const Value & value )
static

Definition at line 536 of file qv4lookup.cpp.

References QV4::RuntimeHelpers::convertToObject(), engine, QV4::Scope::engine, nameIndex, o, and resolveSetter().

Referenced by QV4::ExecutableCompilationUnit::populate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setterInsert()

bool Lookup::setterInsert ( Lookup * l,
ExecutionEngine * engine,
Value & object,
const Value & value )
static

Definition at line 651 of file qv4lookup.cpp.

References engine, insertionLookup, o, Q_ASSERT, setter, and setterFallback().

Referenced by QV4::Object::virtualResolveLookupSetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setterQObject()

bool Lookup::setterQObject ( Lookup * l,
ExecutionEngine * engine,
Value & object,
const Value & value )
static

Definition at line 667 of file qv4lookup.cpp.

References engine, and setterFallback().

Referenced by QQmlPrivate::AOTCompiledContext::initSetObjectLookup(), QQmlPrivate::AOTCompiledContext::lookupResultMetaType(), QQmlPrivate::AOTCompiledContext::setObjectLookup(), and setterQObjectAsVariant().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setterQObjectAsVariant()

bool Lookup::setterQObjectAsVariant ( Lookup * l,
ExecutionEngine * engine,
Value & object,
const Value & value )
static

Definition at line 674 of file qv4lookup.cpp.

References engine, qFatal, setterQObject(), and setterQObjectAsVariant().

Referenced by QQmlPrivate::AOTCompiledContext::initSetObjectLookup(), QQmlPrivate::AOTCompiledContext::lookupResultMetaType(), QQmlPrivate::AOTCompiledContext::setObjectLookup(), and setterQObjectAsVariant().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setterTwoClasses()

bool Lookup::setterTwoClasses ( Lookup * l,
ExecutionEngine * engine,
Value & object,
const Value & value )
static

Definition at line 552 of file qv4lookup.cpp.

References engine, ic, index, objectLookup, objectLookupTwoClasses, Q_ASSERT, releasePropertyCache(), resolveSetter(), setter, setter0Inline(), setter0MemberData(), setter0setter0(), and setterFallback().

Referenced by setter0Inline(), and setter0MemberData().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stringLengthGetter()

ReturnedValue Lookup::stringLengthGetter ( Lookup * l,
ExecutionEngine * engine,
const Value & object )
static

Definition at line 487 of file qv4lookup.cpp.

References engine, getter, and getterGeneric().

Referenced by resolvePrimitiveGetter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ [union]

union { ... } QV4::Lookup

◆ [union]

union { ... } QV4::Lookup

◆ _unused

quintptr QV4::Lookup::_unused

Definition at line 62 of file qv4lookup_p.h.

◆ _unused2

quintptr QV4::Lookup::_unused2

Definition at line 92 of file qv4lookup_p.h.

◆ coreIndex [1/2]

int QV4::Lookup::coreIndex

Definition at line 111 of file qv4lookup_p.h.

◆ coreIndex [2/2]

quint16 QV4::Lookup::coreIndex

Definition at line 118 of file qv4lookup_p.h.

◆ data

const Value* QV4::Lookup::data

Definition at line 63 of file qv4lookup_p.h.

◆ data2

const Value* QV4::Lookup::data2

Definition at line 75 of file qv4lookup_p.h.

◆ encodedEnumValue

ReturnedValue QV4::Lookup::encodedEnumValue

Definition at line 151 of file qv4lookup_p.h.

◆ forCall

◆ getter

ReturnedValue(* QV4::Lookup::getter) (Lookup *l, ExecutionEngine *engine, const Value &object)

Definition at line 40 of file qv4lookup_p.h.

Referenced by QV4::Runtime::CallPropertyLookup::call(), QV4::Runtime::GetLookup::call(), QQmlPrivate::AOTCompiledContext::callObjectPropertyLookup(), QQmlPrivate::AOTCompiledContext::captureLookup(), QQmlPrivate::AOTCompiledContext::getEnumLookup(), QQmlPrivate::AOTCompiledContext::getObjectLookup(), getter0Inlinegetter0Inline(), getter0Inlinegetter0MemberData(), getter0MemberDatagetter0MemberData(), getterAccessor(), getterIndexed(), getterProtoAccessor(), getterProtoAccessorTwoClasses(), getterProtoTwoClasses(), getterQObject(), getterQObjectMethod(), getterTwoClasses(), QQmlPrivate::AOTCompiledContext::getValueLookup(), globalGetterProtoAccessor(), QQmlPrivate::AOTCompiledContext::initGetEnumLookup(), QQmlPrivate::AOTCompiledContext::initGetObjectLookup(), QQmlPrivate::AOTCompiledContext::initGetValueLookup(), QQmlPrivate::AOTCompiledContext::initLoadAttachedLookup(), QV4::Moth::VME::interpret(), QQmlPrivate::AOTCompiledContext::loadAttachedLookup(), QV4::QQmlTypeWrapper::lookupEnumValue(), QV4::QQmlValueTypeWrapper::lookupGetter(), QQmlPrivate::AOTCompiledContext::lookupResultMetaType(), QV4::QQmlTypeWrapper::lookupScopedEnum(), QV4::QQmlTypeWrapper::lookupSingletonMethod(), QV4::QQmlTypeWrapper::lookupSingletonProperty(), QV4::ExecutableCompilationUnit::populate(), primitiveGetterAccessor(), primitiveGetterProto(), resolveGlobalGetter(), resolvePrimitiveGetter(), resolveProtoGetter(), stringLengthGetter(), QV4::Object::virtualResolveLookupGetter(), QV4::QObjectWrapper::virtualResolveLookupGetter(), QV4::QQmlTypeWrapper::virtualResolveLookupGetter(), QV4::QQmlValueTypeWrapper::virtualResolveLookupGetter(), QV4::ModelObject::virtualResolveLookupGetter(), QQmlPrivate::AOTCompiledContext::writeBackObjectLookup(), and QQmlPrivate::AOTCompiledContext::writeBackValueLookup().

◆ getterTrampoline

ReturnedValue(* QV4::Lookup::getterTrampoline) (Lookup *l, ExecutionEngine *engine)

Definition at line 142 of file qv4lookup_p.h.

◆ globalGetter

◆ h1

Heap::Base* QV4::Lookup::h1

Definition at line 49 of file qv4lookup_p.h.

◆ h2

Heap::Base* QV4::Lookup::h2

Definition at line 50 of file qv4lookup_p.h.

◆ ic [1/7]

Definition at line 55 of file qv4lookup_p.h.

Referenced by setterTwoClasses().

◆ ic [2/7]

Definition at line 66 of file qv4lookup_p.h.

◆ ic [3/7]

Definition at line 97 of file qv4lookup_p.h.

◆ ic [4/7]

Definition at line 103 of file qv4lookup_p.h.

◆ ic [5/7]

Definition at line 115 of file qv4lookup_p.h.

◆ ic [6/7]

HeapObjectWrapper<Heap::InternalClass, 12> QV4::Lookup::ic

Definition at line 149 of file qv4lookup_p.h.

◆ ic [7/7]

HeapObjectWrapper<Heap::InternalClass, 13> QV4::Lookup::ic

Definition at line 155 of file qv4lookup_p.h.

◆ ic2

HeapObjectWrapper<Heap::InternalClass, 2> QV4::Lookup::ic2

Definition at line 67 of file qv4lookup_p.h.

◆ index

uint QV4::Lookup::index

Definition at line 57 of file qv4lookup_p.h.

Referenced by setterTwoClasses().

◆ [struct]

struct { ... } QV4::Lookup::indexedLookup

◆ [struct]

struct { ... } QV4::Lookup::insertionLookup

◆ isConstant

quintptr QV4::Lookup::isConstant

Definition at line 109 of file qv4lookup_p.h.

◆ isEnum

bool QV4::Lookup::isEnum

Definition at line 120 of file qv4lookup_p.h.

◆ isFunction

bool QV4::Lookup::isFunction

Definition at line 119 of file qv4lookup_p.h.

◆ [struct]

struct { ... } QV4::Lookup::markDef

◆ metaObject

quintptr QV4::Lookup::metaObject

Definition at line 110 of file qv4lookup_p.h.

◆ metaType

const QtPrivate::QMetaTypeInterface* QV4::Lookup::metaType

Definition at line 117 of file qv4lookup_p.h.

◆ method

HeapObjectWrapper<Heap::QObjectMethod, 8> QV4::Lookup::method

Definition at line 104 of file qv4lookup_p.h.

◆ nameIndex

◆ newClass

HeapObjectWrapper<Heap::InternalClass, 4> QV4::Lookup::newClass

Definition at line 85 of file qv4lookup_p.h.

◆ notifyIndex

int QV4::Lookup::notifyIndex

Definition at line 112 of file qv4lookup_p.h.

◆ objectId

int QV4::Lookup::objectId

Definition at line 135 of file qv4lookup_p.h.

◆ [struct]

◆ [struct]

◆ offset

uint QV4::Lookup::offset

Definition at line 58 of file qv4lookup_p.h.

◆ offset2

uint QV4::Lookup::offset2

Definition at line 69 of file qv4lookup_p.h.

◆ [struct]

struct { ... } QV4::Lookup::primitiveLookup

◆ propertyCache

const QQmlPropertyCache* QV4::Lookup::propertyCache

Definition at line 99 of file qv4lookup_p.h.

◆ propertyData

const QQmlPropertyData* QV4::Lookup::propertyData

Definition at line 100 of file qv4lookup_p.h.

◆ proto

HeapObjectWrapper<Heap::Object, 3> QV4::Lookup::proto

Definition at line 80 of file qv4lookup_p.h.

Referenced by resolveProtoGetter().

◆ protoId

quintptr QV4::Lookup::protoId

Definition at line 61 of file qv4lookup_p.h.

◆ protoId2

quintptr QV4::Lookup::protoId2

Definition at line 73 of file qv4lookup_p.h.

◆ [struct]

◆ [struct]

struct { ... } QV4::Lookup::protoLookupTwoClasses

◆ [struct]

◆ [struct]

◆ [struct]

◆ qmlContextPropertyGetter

◆ [struct]

struct { ... } QV4::Lookup::qmlContextScriptLookup

◆ [struct]

◆ [struct]

◆ qmlScopedEnumWrapper

HeapObjectWrapper<Heap::Object, 14> QV4::Lookup::qmlScopedEnumWrapper

Definition at line 156 of file qv4lookup_p.h.

◆ [struct]

struct { ... } QV4::Lookup::qmlScopedEnumWrapperLookup

◆ qmlTypeIc

HeapObjectWrapper<Heap::InternalClass, 6> QV4::Lookup::qmlTypeIc

Definition at line 98 of file qv4lookup_p.h.

◆ [struct]

◆ qmlTypeWrapper

HeapObjectWrapper<Heap::Base, 11> QV4::Lookup::qmlTypeWrapper

Definition at line 145 of file qv4lookup_p.h.

◆ [struct]

◆ [struct]

◆ [struct]

◆ reserved

uint QV4::Lookup::reserved

Definition at line 162 of file qv4lookup_p.h.

◆ reserved1

quintptr QV4::Lookup::reserved1

Definition at line 139 of file qv4lookup_p.h.

◆ reserved2

quintptr QV4::Lookup::reserved2

Definition at line 140 of file qv4lookup_p.h.

◆ reserved3

quintptr QV4::Lookup::reserved3

Definition at line 141 of file qv4lookup_p.h.

◆ scriptIndex

int QV4::Lookup::scriptIndex

Definition at line 125 of file qv4lookup_p.h.

◆ setter

◆ singletonObject

HeapObjectWrapper<Heap::Base, 10> QV4::Lookup::singletonObject

Definition at line 128 of file qv4lookup_p.h.

◆ singletonValue

QV4::ReturnedValue QV4::Lookup::singletonValue

Definition at line 130 of file qv4lookup_p.h.

◆ type

quintptr QV4::Lookup::type

Definition at line 82 of file qv4lookup_p.h.

Referenced by primitiveGetterAccessor(), and primitiveGetterProto().

◆ unused [1/2]

quintptr QV4::Lookup::unused

Definition at line 51 of file qv4lookup_p.h.

◆ unused [2/2]

uint QV4::Lookup::unused

Definition at line 88 of file qv4lookup_p.h.

◆ unused1

quintptr QV4::Lookup::unused1

Definition at line 123 of file qv4lookup_p.h.

◆ unused2

quintptr QV4::Lookup::unused2

Definition at line 52 of file qv4lookup_p.h.


The documentation for this struct was generated from the following files: