27 #include "private/qscriptengine_p.h" 29 #include "private/qscriptcontext_p.h" 30 #include "private/qscriptvalue_p.h" 34 #include "JSGlobalObject.h" 35 #include "DebuggerCallFrame.h" 52 FunctionWrapper::FunctionWrapper(JSC::ExecState *exec,
int length,
const JSC::Identifier &
name,
54 :
JSC::PrototypeFunction(exec, length, name, proxyCall),
68 consData.native.function.doNotCallDebuggerFunctionExit();
69 return JSC::ConstructTypeHost;
73 JSC::JSValue thisObject,
const JSC::ArgList &args)
93 const JSC::ArgList &args)
99 eng_p->
pushContext(exec, JSC::JSValue(), args, callee,
true);
118 :
JSC::PrototypeFunction(exec, length, name,
proxyCall),
133 return JSC::ConstructTypeHost;
137 JSC::JSValue thisObject,
const JSC::ArgList &args)
143 eng_p->
pushContext(exec, thisObject, args, callee);
155 const JSC::ArgList &args)
161 eng_p->
pushContext(exec, JSC::JSValue(), args, callee,
true);
The QScriptContext class represents a Qt Script function invocation.
QScriptValue(* FunctionSignature)(QScriptContext *, QScriptEngine *)
QScriptEnginePrivate * scriptEngineFromExec(const JSC::ExecState *exec)
static mach_timebase_info_data_t info
#define QT_END_NAMESPACE
This macro expands to.
static QScriptEnginePrivate * get(QScriptEngine *q)
ASSERT_CLASS_FITS_IN_CELL(::QScript::QScriptActivationObject)
static JSC::JSObject * proxyConstruct(JSC::ExecState *, JSC::JSObject *, const JSC::ArgList &)
JSC::CallFrame * pushContext(JSC::CallFrame *exec, JSC::JSValue thisObject, const JSC::ArgList &args, JSC::JSObject *callee, bool calledAsConstructor=false, bool clearScopeChain=false)
JSC native function doesn't have different stackframe or context.
static QScriptValuePrivate * get(const QScriptValue &q)
QScriptEngine::FunctionSignature function
~FunctionWithArgWrapper()
JSC::ExecState * currentFrame
QScriptValue(* FunctionWithArgSignature)(QScriptContext *, QScriptEngine *, void *)
FunctionWithArgWrapper(JSC::ExecState *, int length, const JSC::Identifier &, QScriptEngine::FunctionWithArgSignature, void *)
#define QT_BEGIN_NAMESPACE
This macro expands to.
JSC::JSValue scriptValueToJSCValue(const QScriptValue &value)
static QScriptContext * contextForFrame(JSC::ExecState *frame)
JSC::JSGlobalObject * originalGlobalObject() const
virtual JSC::ConstructType getConstructData(JSC::ConstructData &)
#define QT_PREPEND_NAMESPACE(name)
This macro qualifies identifier with the full namespace.
static const char * data(const QByteArray &arr)
QScriptEngine::FunctionWithArgSignature function
static JSC::JSObject * proxyConstruct(JSC::ExecState *, JSC::JSObject *, const JSC::ArgList &)
static JSC::JSValue JSC_HOST_CALL proxyCall(JSC::ExecState *, JSC::JSObject *, JSC::JSValue, const JSC::ArgList &)
QScriptValue data() const
Returns the internal data of this QScriptValue object.
static JSC::JSValue JSC_HOST_CALL proxyCall(JSC::ExecState *, JSC::JSObject *, JSC::JSValue, const JSC::ArgList &)
QScriptValue thisObject() const
Returns the `this' object associated with this QScriptContext.
The QScriptValue class acts as a container for the Qt Script data types.
bool isValid() const
Returns true if this QScriptValue is valid; otherwise returns false.
bool isObject() const
Returns true if this QScriptValue is of the Object type; otherwise returns false. ...
virtual JSC::ConstructType getConstructData(JSC::ConstructData &)