static HRESULT Function_length(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r) { FunctionInstance *This = function_from_vdisp(jsthis); TRACE("%p %d\n", This, This->length); switch(flags) { case DISPATCH_PROPERTYGET: *r = jsval_number(This->length); break; default: FIXME("unimplemented flags %x\n", flags); return E_NOTIMPL; } return S_OK; }
static HRESULT Function_length(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, DISPPARAMS *dp, VARIANT *retv, jsexcept_t *ei, IServiceProvider *sp) { FunctionInstance *This = function_from_vdisp(jsthis); TRACE("%p %d\n", This, This->length); switch(flags) { case DISPATCH_PROPERTYGET: V_VT(retv) = VT_I4; V_I4(retv) = This->length; break; default: FIXME("unimplemented flags %x\n", flags); return E_NOTIMPL; } return S_OK; }
static inline FunctionInstance *function_this(vdisp_t *jsthis) { return is_vclass(jsthis, JSCLASS_FUNCTION) ? function_from_vdisp(jsthis) : NULL; }