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>.
|
#include <qv4functionobject_p.h>
Inherits QV4::Object.
Inherited by QV4::ArrayCtor, QV4::BooleanCtor, QV4::CapabilitiesExecutorWrapper, QV4::DataViewCtor, QV4::DateCtor, QV4::DefaultClassConstructorFunction, QV4::DelegateModelGroupFunction, QV4::DynamicFunctionObject, QV4::ErrorCtor, QV4::EvalFunction, QV4::FunctionCtor, QV4::FunctionPrototype, QV4::Heap::ArrayCtor, QV4::Heap::BooleanCtor, QV4::Heap::DataViewCtor, QV4::Heap::DateCtor, QV4::Heap::DelegateModelGroupFunction, QV4::Heap::ErrorCtor, QV4::Heap::EvalFunction, QV4::Heap::FunctionCtor, QV4::Heap::FunctionPrototype, QV4::Heap::GeneratorFunctionCtor, QV4::Heap::GeneratorPrototype, QV4::Heap::IntrinsicTypedArrayCtor, QV4::Heap::NumberCtor, QV4::Heap::ObjectCtor, QV4::Heap::PromiseCtor, QV4::Heap::QMetaObjectWrapper, QV4::Heap::SharedArrayBufferCtor, QV4::Heap::StringCtor, QV4::Heap::SymbolCtor, QV4::Heap::TypedArrayCtor, QV4::Heap::UrlCtor, QV4::Heap::UrlSearchParamsCtor, QV4::Heap::WeakMapCtor, QV4::Heap::WeakSetCtor, QV4::IntrinsicTypedArrayCtor, QV4::JavaScriptFunctionObject, QV4::NumberCtor, QV4::ObjectCtor, QV4::PromiseCtor, QV4::Proxy, QV4::ProxyObject, QV4::QMetaObjectWrapper, QV4::QObjectMethod, QV4::QQmlXMLHttpRequestCtor, QV4::RegExpCtor, QV4::RejectWrapper, QV4::ResolveElementWrapper, QV4::ResolveWrapper, QV4::SharedArrayBufferCtor, QV4::StringCtor, QV4::SymbolCtor, QV4::TypedArrayCtor, QV4::UrlCtor, QV4::UrlSearchParamsCtor, QV4::WeakMapCtor, and QV4::WeakSetCtor.
Public Types | |
enum | { NInlineProperties = 1 } |
Public Types inherited from QV4::Object | |
enum | { NInlineProperties = 2 } |
enum | { IsObject = true , GetterOffset = 0 , SetterOffset = 1 } |
enum | ThrowOnFailure { DoThrowOnRejection , DoNotThrow } |
Public Types inherited from QV4::Managed | |
enum | { IsExecutionContext = false , IsString = false , IsStringOrSymbol = false , IsObject = false , IsTailCallable = 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 } |
Public Types inherited from QV4::Value | |
using | ManagedPtr = Managed * |
Public Types inherited from QV4::StaticValue | |
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 | virtualConvertAndCall (const FunctionObject *f, QObject *thisObject, void **argv, const QMetaType *types, int argc) |
static Heap::FunctionObject * | createScriptFunction (ExecutionContext *scope, Function *function) |
static Heap::FunctionObject * | createConstructorFunction (ExecutionContext *scope, Function *function, Object *homeObject, bool isDerivedConstructor) |
static Heap::FunctionObject * | createMemberFunction (ExecutionContext *scope, Function *function, Object *homeObject, String *name) |
static Heap::FunctionObject * | createBuiltinFunction (ExecutionEngine *engine, StringOrSymbol *nameOrSymbol, VTable::Call code, int argumentCount) |
Static Public Member Functions inherited from QV4::Object | |
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 Public Member Functions inherited from QV4::Value | |
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 Public Member Functions inherited from QV4::StaticValue | |
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 160 of file qv4functionobject_p.h.
anonymous enum |
Enumerator | |
---|---|
NInlineProperties |
Definition at line 165 of file qv4functionobject_p.h.
|
inline |
Definition at line 106 of file qv4jscall_p.h.
References call().
|
inline |
Definition at line 184 of file qv4functionobject_p.h.
Referenced by call(), QV4::Promise::ReactionHandler::executeResolveThenable(), QV4::Heap::IndexedBuiltinFunction::init(), QV4::Moth::VME::interpret(), QV4::Reflect::method_apply(), QV4::ArrayPrototype::method_every(), QV4::IntrinsicTypedArrayPrototype::method_every(), QV4::ArrayPrototype::method_filter(), QV4::IntrinsicTypedArrayPrototype::method_filter(), QV4::ArrayPrototype::method_find(), QV4::IntrinsicTypedArrayPrototype::method_find(), QV4::ArrayPrototype::method_findIndex(), QV4::IntrinsicTypedArrayPrototype::method_findIndex(), QV4::ArrayPrototype::method_forEach(), QV4::IntrinsicTypedArrayPrototype::method_forEach(), QV4::ArrayPrototype::method_map(), QV4::IntrinsicTypedArrayPrototype::method_map(), QV4::ArrayPrototype::method_reduce(), QV4::IntrinsicTypedArrayPrototype::method_reduce(), QV4::ArrayPrototype::method_reduceRight(), QV4::IntrinsicTypedArrayPrototype::method_reduceRight(), QV4::ArrayPrototype::method_some(), QV4::IntrinsicTypedArrayPrototype::method_some(), qmlsqldatabase_transaction_shared(), QV4::ProxyObject::virtualDefineOwnProperty(), QV4::ProxyObject::virtualDeleteProperty(), QV4::ProxyObject::virtualGet(), QV4::ProxyObject::virtualGetOwnProperty(), QV4::ProxyObject::virtualGetPrototypeOf(), QV4::ProxyObject::virtualHasProperty(), QV4::ProxyObject::virtualIsExtensible(), QV4::ProxyObject::virtualOwnPropertyKeys(), QV4::ProxyObject::virtualPreventExtensions(), QV4::ProxyObject::virtualPut(), and QV4::ProxyObject::virtualSetPrototypeOf().
|
inline |
Definition at line 191 of file qv4functionobject_p.h.
|
inline |
Definition at line 100 of file qv4jscall_p.h.
References callAsConstructor().
|
inline |
Definition at line 176 of file qv4functionobject_p.h.
Referenced by callAsConstructor(), QV4::RegExpPrototype::method_compile(), QV4::IntrinsicTypedArrayCtor::method_from(), QV4::IntrinsicTypedArrayCtor::method_of(), QV4::StringPrototype::method_search(), QV4::RegExpPrototype::method_split(), QV4::ExecutionEngine::newPromiseObject(), QV4::SharedArrayBufferPrototype::slice(), and typedArraySpeciesCreate().
|
inline |
Definition at line 167 of file qv4functionobject_p.h.
|
static |
Definition at line 154 of file qv4functionobject.cpp.
References QV4::MemoryManager::allocate(), QV4::Managed::engine(), QV4::Value::fromInt32(), function, QV4::ExecutionEngine::id_length(), QV4::EngineBase::memoryManager, QStringView::mid(), name(), and QV4::ExecutionEngine::newString().
Referenced by QV4::ExecutionEngine::ExecutionEngine(), WorkerScript::WorkerScript(), QV4::Object::defineAccessorProperty(), QV4::Object::defineDefaultProperty(), QV4::IntrinsicTypedArrayPrototype::init(), QV4::ArrayPrototype::init(), QV4::DatePrototype::init(), QV4::MapPrototype::init(), and QV4::SetPrototype::init().
|
static |
Definition at line 129 of file qv4functionobject.cpp.
References QV4::MemoryManager::allocate(), QV4::Managed::engine(), function, QV4::EngineBase::memoryManager, and QV4::Object::set().
Definition at line 86 of file qv4functionobject.cpp.
References QV4::Attr_NotConfigurable, QV4::Attr_NotEnumerable, QV4::EngineBase::Class_ObjectProto, d, QV4::Object::defineDefaultProperty(), Q_ASSERT, and QV4::Object::setProperty().
|
static |
Definition at line 147 of file qv4functionobject.cpp.
References QV4::MemoryManager::allocate(), QV4::Managed::engine(), function, QV4::EngineBase::memoryManager, name(), and QV4::Object::set().
|
static |
Definition at line 122 of file qv4functionobject.cpp.
References QV4::MemoryManager::allocate(), QV4::Managed::engine(), function, and QV4::EngineBase::memoryManager.
Referenced by QV4::EvalFunction::evalCall(), and QV4::FunctionCtor::virtualCallAsConstructor().
ReturnedValue FunctionObject::failCall | ( | ) | const |
Definition at line 102 of file qv4functionobject.cpp.
References QV4::Managed::engine(), QStringLiteral, and QV4::ExecutionEngine::throwTypeError().
ReturnedValue FunctionObject::failCallAsConstructor | ( | ) | const |
Definition at line 107 of file qv4functionobject.cpp.
References QV4::Managed::engine(), QStringLiteral, and QV4::ExecutionEngine::throwTypeError().
ReturnedValue FunctionObject::getHomeObject | ( | ) | const |
Definition at line 167 of file qv4functionobject.cpp.
References QV4::Encode::undefined().
|
inline |
Definition at line 222 of file qv4functionobject_p.h.
|
inline |
Definition at line 259 of file qqmlbuiltinfunctions_p.h.
References d.
|
inline |
Definition at line 363 of file qv4functionobject_p.h.
References d.
|
inline |
Definition at line 215 of file qv4functionobject_p.h.
Referenced by QV4::IntrinsicTypedArrayCtor::method_from(), and QV4::IntrinsicTypedArrayCtor::method_of().
ReturnedValue FunctionObject::name | ( | ) | const |
Definition at line 97 of file qv4functionobject.cpp.
References QV4::Managed::engine(), and QV4::Object::get().
Referenced by QV4::ExecutionEngine::ExecutionEngine(), createBuiltinFunction(), createMemberFunction(), QV4::ProxyFunctionObject::virtualCall(), and QV4::ProxyConstructorObject::virtualCallAsConstructor().
|
inline |
Definition at line 219 of file qv4functionobject_p.h.
Referenced by QV4::ScriptFunction::virtualCallAsConstructor(), QV4::ArrayBufferCtor::virtualCallAsConstructor(), and QV4::TypedArrayCtor::virtualCallAsConstructor().
Definition at line 171 of file qv4functionobject_p.h.
References engine.
|
static |
Definition at line 112 of file qv4functionobject.cpp.
References QV4::convertAndCall().