Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qv4engine.cpp File Reference

(22df353c14800d2e9b6d57a9a0cb9c6baa337999)

#include "qv4engine_p.h"
#include <wtf/BumpPointerAllocator.h>
#include <wtf/OSAllocator.h>
#include <wtf/PageAllocation.h>
#include <private/qjsvalue_p.h>
#include <private/qqmlbuiltinfunctions_p.h>
#include <private/qqmlengine_p.h>
#include <private/qqmljsdiagnosticmessage_p.h>
#include <private/qqmllist_p.h>
#include <private/qqmllistwrapper_p.h>
#include <private/qqmlscriptdata_p.h>
#include <private/qqmltypeloader_p.h>
#include <private/qqmltypewrapper_p.h>
#include <private/qqmlvaluetype_p.h>
#include <private/qqmlvaluetypewrapper_p.h>
#include <private/qv4argumentsobject_p.h>
#include <private/qv4arraybuffer_p.h>
#include <private/qv4arrayiterator_p.h>
#include <private/qv4arrayobject_p.h>
#include <private/qv4atomics_p.h>
#include <private/qv4booleanobject_p.h>
#include <private/qv4codegen_p.h>
#include <private/qv4compileddata_p.h>
#include <private/qv4dataview_p.h>
#include <private/qv4dateobject_p.h>
#include <private/qv4debugging_p.h>
#include <private/qv4errorobject_p.h>
#include <private/qv4executableallocator_p.h>
#include <private/qv4function_p.h>
#include <private/qv4functionobject_p.h>
#include <private/qv4generatorobject_p.h>
#include <private/qv4globalobject_p.h>
#include <private/qv4identifiertable_p.h>
#include <private/qv4iterator_p.h>
#include <private/qv4jsonobject_p.h>
#include <private/qv4mapiterator_p.h>
#include <private/qv4mapobject_p.h>
#include <private/qv4mathobject_p.h>
#include <private/qv4memberdata_p.h>
#include <private/qv4mm_p.h>
#include <private/qv4module_p.h>
#include <private/qv4numberobject_p.h>
#include <private/qv4object_p.h>
#include <private/qv4objectiterator_p.h>
#include <private/qv4objectproto_p.h>
#include <private/qv4profiling_p.h>
#include <private/qv4promiseobject_p.h>
#include <private/qv4proxy_p.h>
#include <private/qv4qmetaobjectwrapper_p.h>
#include <private/qv4qmlcontext_p.h>
#include <private/qv4qobjectwrapper_p.h>
#include <private/qv4reflect_p.h>
#include <private/qv4regexp_p.h>
#include <private/qv4regexpobject_p.h>
#include <private/qv4runtime_p.h>
#include <private/qv4sequenceobject_p.h>
#include <private/qv4setiterator_p.h>
#include <private/qv4setobject_p.h>
#include <private/qv4sqlerrors_p.h>
#include <private/qv4stackframe_p.h>
#include <private/qv4stacklimits_p.h>
#include <private/qv4stringiterator_p.h>
#include <private/qv4stringobject_p.h>
#include <private/qv4symbol_p.h>
#include <private/qv4typedarray_p.h>
#include <private/qv4urlobject_p.h>
#include <private/qv4value_p.h>
#include <private/qv4variantassociationobject_p.h>
#include <private/qv4variantobject_p.h>
#include <QtQml/qqmlfile.h>
#include <QtCore/qdatetime.h>
#include <QtCore/qdir.h>
#include <QtCore/qfileinfo.h>
#include <QtCore/qiterable.h>
#include <QtCore/qloggingcategory.h>
#include <QtCore/qmetatype.h>
#include <QtCore/qsequentialiterable.h>
#include <QtCore/qtextstream.h>
#include <QtCore/qtimezone.h>

Go to the source code of this file.

Classes

struct  JSArrayIterator
struct  QV4EngineRegistrationData

Typedefs

typedef QSet< QV4::Heap::Object * > V4ObjectSet

Enumerations

enum class  JSToQVariantConversionBehavior {
  Never , Safish , Aggressive , Never ,
  Safish , Aggressive
}
enum class  JSToQVariantConversionBehavior {
  Never , Safish , Aggressive , Never ,
  Safish , Aggressive
}

Functions

QT_BEGIN_NAMESPACE DEFINE_BOOL_CONFIG_OPTION (disableDiskCache, QML_DISABLE_DISK_CACHE)
 DEFINE_BOOL_CONFIG_OPTION (forceDiskCache, QML_FORCE_DISK_CACHE)
ReturnedValue throwTypeError (const FunctionObject *b, const QV4::Value *, const QV4::Value *, int)
template<typename ReturnType>
ReturnType convertJSValueToVariantType (const QJSValue &value)
static QtMetaContainerPrivate::QMetaSequenceInterface emptySequenceInterface ()
static QtMetaContainerPrivate::QMetaSequenceInterface sequenceInterface ()
static QSequentialIterable jsvalueToSequence (const QJSValue &value)
static char * v4StackTrace (const ExecutionContext *context)
Q_QML_EXPORT char * qt_v4StackTrace (void *executionContext)
Q_QML_EXPORT char * qt_v4StackTraceForEngine (void *executionEngine)
static QVariant toVariant (const QV4::Value &value, QMetaType typeHint, JSToQVariantConversionBehavior conversionBehavior, V4ObjectSet *visitedObjects)
static QObjectqtObjectFromJS (const QV4::Value &value)
static QVariant objectToVariant (const QV4::Object *o, V4ObjectSet *visitedObjects=nullptr, JSToQVariantConversionBehavior behavior=JSToQVariantConversionBehavior::Safish)
static bool convertToNativeQObject (const QV4::Value &value, QMetaType targetType, void **result)
template<typename Association>
Association objectToVariantAssociation (const QV4::Object *o, V4ObjectSet *visitedObjects, JSToQVariantConversionBehavior conversionBehvior)
static ExecutionEngine::DiskCacheOptions transFormDiskCache (const char *v)
static bool globalNamesAreStaticallyKnown (QV4::Object *globalObject)
static void freeze_recursive (QV4::ExecutionEngine *v4, QV4::Object *object)
template<typename Source>
bool convertToIterable (QMetaType metaType, void *data, Source *sequence)
 Q_GLOBAL_STATIC (QV4EngineRegistrationData, registrationData)

Variables

static Q_CONSTINIT QBasicAtomicInt engineSerial = Q_BASIC_ATOMIC_INITIALIZER(1)
static Q_CONSTINIT QBasicAtomicInt hasPreview = Q_BASIC_ATOMIC_INITIALIZER(0)

Typedef Documentation

◆ V4ObjectSet

typedef QSet< QV4::Heap::Object * > V4ObjectSet

Definition at line 1531 of file qv4engine.cpp.

Enumeration Type Documentation

◆ JSToQVariantConversionBehavior [1/2]

enum class JSToQVariantConversionBehavior
strong
Enumerator
Never 
Safish 
Aggressive 
Never 
Safish 
Aggressive 

Definition at line 1532 of file qv4engine.cpp.

◆ JSToQVariantConversionBehavior [2/2]

enum class JSToQVariantConversionBehavior
strong
Enumerator
Never 
Safish 
Aggressive 
Never 
Safish 
Aggressive 

Definition at line 1532 of file qv4engine.cpp.

Function Documentation

◆ convertJSValueToVariantType()

template<typename ReturnType>
ReturnType convertJSValueToVariantType ( const QJSValue & value)

Definition at line 130 of file qv4engine.cpp.

◆ convertToIterable()

template<typename Source>
bool convertToIterable ( QMetaType metaType,
void * data,
Source * sequence )

Definition at line 2514 of file qv4engine.cpp.

◆ convertToNativeQObject()

bool convertToNativeQObject ( const QV4::Value & value,
QMetaType targetType,
void ** result )
static

Definition at line 2904 of file qv4engine.cpp.

◆ DEFINE_BOOL_CONFIG_OPTION() [1/2]

QT_BEGIN_NAMESPACE DEFINE_BOOL_CONFIG_OPTION ( disableDiskCache ,
QML_DISABLE_DISK_CACHE  )

◆ DEFINE_BOOL_CONFIG_OPTION() [2/2]

DEFINE_BOOL_CONFIG_OPTION ( forceDiskCache ,
QML_FORCE_DISK_CACHE  )

◆ emptySequenceInterface()

QtMetaContainerPrivate::QMetaSequenceInterface emptySequenceInterface ( )
static

Definition at line 150 of file qv4engine.cpp.

◆ freeze_recursive()

void freeze_recursive ( QV4::ExecutionEngine * v4,
QV4::Object * object )
static

Definition at line 2384 of file qv4engine.cpp.

◆ globalNamesAreStaticallyKnown()

bool globalNamesAreStaticallyKnown ( QV4::Object * globalObject)
static

Definition at line 2308 of file qv4engine.cpp.

◆ jsvalueToSequence()

QSequentialIterable jsvalueToSequence ( const QJSValue & value)
static

Definition at line 286 of file qv4engine.cpp.

◆ objectToVariant()

QVariant objectToVariant ( const QV4::Object * o,
V4ObjectSet * visitedObjects = nullptr,
JSToQVariantConversionBehavior behavior = JSToQVariantConversionBehavior::Safish )
static

Definition at line 1724 of file qv4engine.cpp.

◆ objectToVariantAssociation()

template<typename Association>
Association objectToVariantAssociation ( const QV4::Object * o,
V4ObjectSet * visitedObjects,
JSToQVariantConversionBehavior conversionBehvior )

Definition at line 1702 of file qv4engine.cpp.

◆ Q_GLOBAL_STATIC()

Q_GLOBAL_STATIC ( QV4EngineRegistrationData ,
registrationData  )

◆ qt_v4StackTrace()

Q_QML_EXPORT char * qt_v4StackTrace ( void * executionContext)

Definition at line 1310 of file qv4engine.cpp.

◆ qt_v4StackTraceForEngine()

Q_QML_EXPORT char * qt_v4StackTraceForEngine ( void * executionEngine)

Definition at line 1315 of file qv4engine.cpp.

◆ qtObjectFromJS()

QObject * qtObjectFromJS ( const QV4::Value & value)
static

Definition at line 2931 of file qv4engine.cpp.

◆ sequenceInterface()

QtMetaContainerPrivate::QMetaSequenceInterface sequenceInterface ( )
static

Definition at line 172 of file qv4engine.cpp.

◆ throwTypeError()

ReturnedValue throwTypeError ( const FunctionObject * b,
const QV4::Value * ,
const QV4::Value * ,
int  )

Definition at line 123 of file qv4engine.cpp.

◆ toVariant()

QVariant toVariant ( const QV4::Value & value,
QMetaType typeHint,
JSToQVariantConversionBehavior conversionBehavior,
V4ObjectSet * visitedObjects )
static

Definition at line 1541 of file qv4engine.cpp.

◆ transFormDiskCache()

ExecutionEngine::DiskCacheOptions transFormDiskCache ( const char * v)
static

Definition at line 2234 of file qv4engine.cpp.

◆ v4StackTrace()

char * v4StackTrace ( const ExecutionContext * context)
inlinestatic

Definition at line 1289 of file qv4engine.cpp.

Variable Documentation

◆ engineSerial

Q_CONSTINIT QBasicAtomicInt engineSerial = Q_BASIC_ATOMIC_INITIALIZER(1)
static

Definition at line 116 of file qv4engine.cpp.

◆ hasPreview

Q_CONSTINIT QBasicAtomicInt hasPreview = Q_BASIC_ATOMIC_INITIALIZER(0)
static

Definition at line 117 of file qv4engine.cpp.