10#include <private/qv4mm_p.h>
11#include <private/qv4identifiertable_p.h>
12#include <private/qv4functiontable_p.h>
13#include <assembler/MacroAssemblerCodeRef.h>
14#include <private/qv4vme_moth_p.h>
15#include <private/qqmlglobal_p.h>
16#include <private/qv4jscall_p.h>
17#include <private/qqmlpropertycachecreator_p.h>
30 return call(thisObject, argv, argc, context);
40 return !
frame.isReturnValueUndefined();
49 frame.init(self, argv, argc);
52 engine->jsStackTop +=
frame.requiredJSStackFrameSize();
67 call(thisObject, a, types, argc, context);
72 [
this,
context, thisObject](
const Value *argv,
int argc) {
73 return doCall(this, thisObject, argv, argc, context);
102 return type.typeNameIndexOrCommonType()
110 , compiledFunction(function)
111 , codeData(function->code())
127 enforceJsTypes =
false;
155 if (
param.indexIsCommonType()) {
160 if (
type == 0 || !typeLoader)
166 return qmltype.typeId().isValid() ? qmltype :
QQmlType();
202 for (
int i = 0, ei = parameters.size();
i != ei; ++
i) {
206 for (
int j =
i - 1;
j >= 0; --
j) {
208 if (
param == prevParam) {
214 if (duplicate == -1) {
217 const QString dup = parameterNames[duplicate];
218 parameterNames.append(dup);
219 parameterNames[duplicate] =
237 for (
const QString ¶meterName : parameterNames) {
238 arg =
engine->newIdentifier(parameterName);
The QQmlTypeLoader class abstracts loading files and their dependencies over the network.
static QQmlType compositeQmlType(const QQmlRefPointer< QV4::CompiledData::CompilationUnit > &unit, QQmlTypeLoader *typeLoader, const QString &type)
\macro QT_RESTRICTED_CAST_FROM_ASCII
static QString fromUtf8(QByteArrayView utf8)
This is an overloaded member function, provided for convenience. It differs from the above function o...
static QString number(int, int base=10)
This is an overloaded member function, provided for convenience. It differs from the above function o...
bool ignoresFunctionSignature() const
const QQmlRefPointer< QV4::CompiledData::CompilationUnit > & baseCompilationUnit() const
static void exec(MetaTypesStackFrame *frame, ExecutionEngine *engine)
void resize(qsizetype sz)
void reserve(qsizetype sz)
Combined button and popup list for selecting options.
ReturnedValue convertAndCall(ExecutionEngine *engine, const Function::AOTCompiledFunction *aotFunction, const Value *thisObject, const Value *argv, int argc, Callable call)
static ReturnedValue doCall(QV4::Function *self, const QV4::Value *thisObject, const QV4::Value *argv, int argc, QV4::ExecutionContext *context)
Scoped< String > ScopedString
ReturnedValue coerceAndCall(ExecutionEngine *engine, const Function::JSTypedFunction *typedFunction, const CompiledData::Function *compiledFunction, const Value *argv, int argc, Callable call)
void destroyFunctionTable(Function *function, JSC::MacroAssemblerCodeRef *codeRef)
static bool isSpecificType(const CompiledData::ParameterType &type)
GLboolean GLboolean GLboolean GLboolean a
[7]
GLsizei GLenum GLenum * types
GLenum const GLint * param
QLatin1StringView QLatin1String
\inmodule QtCore \reentrant
static QMetaType metaTypeForPropertyType(QV4::CompiledData::CommonType type)
const quint32_le * localsTable() const
const Parameter * formalsTable() const
WriteBarrier::HeapObjectWrapper< CompilationUnitRuntimeData, 1 > compilationUnit
FunctionData(EngineBase *engine, ExecutableCompilationUnit *compilationUnit_)
QVarLengthArray< QMetaType, 4 > types
QVarLengthArray< QQmlType, 4 > types
static Function * create(ExecutionEngine *engine, ExecutableCompilationUnit *unit, const CompiledData::Function *function, const QQmlPrivate::AOTCompiledFunction *aotFunction)
Function(ExecutionEngine *engine, ExecutableCompilationUnit *unit, const CompiledData::Function *function, const QQmlPrivate::AOTCompiledFunction *aotFunction)
QString sourceFile() const
static QString prettyName(const Function *function, const void *address)
const CompiledData::Function * compiledFunction
void mark(QV4::MarkStack *ms)
JSC::MacroAssemblerCodeRef * codeRef
JSTypedFunction jsTypedFunction
void updateInternalClass(ExecutionEngine *engine, const QList< QByteArray > ¶meters)
QQmlSourceLocation sourceLocation() const
QV4::WriteBarrier::Pointer< Heap::InternalClass > internalClass
AOTCompiledFunction aotCompiledFunction
bool call(QObject *thisObject, void **a, const QMetaType *types, int argc, ExecutionContext *context)
AotCompiledCode aotCompiledCode
static constexpr Value undefinedValue()