#include <assert.h>
#include "jscript.h"
#include "wine/debug.h"
Go to the source code of this file.
|
| WINE_DEFAULT_DEBUG_CHANNEL (jscript) |
|
static EnumeratorInstance * | enumerator_from_jsdisp (jsdisp_t *jsdisp) |
|
static EnumeratorInstance * | enumerator_from_vdisp (vdisp_t *vdisp) |
|
static EnumeratorInstance * | enumerator_this (vdisp_t *jsthis) |
|
static HRESULT | enumvar_get_next_item (EnumeratorInstance *This) |
|
static void | Enumerator_destructor (jsdisp_t *dispex) |
|
static HRESULT | Enumerator_atEnd (script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r) |
|
static HRESULT | Enumerator_item (script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r) |
|
static HRESULT | Enumerator_moveFirst (script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r) |
|
static HRESULT | Enumerator_moveNext (script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r) |
|
static HRESULT | alloc_enumerator (script_ctx_t *ctx, jsdisp_t *object_prototype, EnumeratorInstance **ret) |
|
static HRESULT | create_enumerator (script_ctx_t *ctx, jsval_t *argv, jsdisp_t **ret) |
|
static HRESULT | EnumeratorConstr_value (script_ctx_t *ctx, vdisp_t *vthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r) |
|
HRESULT | create_enumerator_constr (script_ctx_t *ctx, jsdisp_t *object_prototype, jsdisp_t **ret) |
|
|
static const WCHAR | atEndW [] = {'a','t','E','n','d',0} |
|
static const WCHAR | itemW [] = {'i','t','e','m',0} |
|
static const WCHAR | moveFirstW [] = {'m','o','v','e','F','i','r','s','t',0} |
|
static const WCHAR | moveNextW [] = {'m','o','v','e','N','e','x','t',0} |
|
static const builtin_prop_t | Enumerator_props [] |
|
static const builtin_info_t | Enumerator_info |
|
static const builtin_info_t | EnumeratorInst_info |
|
static const builtin_info_t | EnumeratorConstr_info |
|
◆ alloc_enumerator()
Definition at line 204 of file enumerator.c.
217 ctx->enumerator_constr);
static const builtin_info_t EnumeratorInst_info
static const builtin_info_t Enumerator_info
HRESULT init_dispex(jsdisp_t *dispex, script_ctx_t *ctx, const builtin_info_t *builtin_info, jsdisp_t *prototype)
HRESULT init_dispex_from_constr(jsdisp_t *dispex, script_ctx_t *ctx, const builtin_info_t *builtin_info, jsdisp_t *constr)
static BOOL heap_free(void *mem)
Referenced by create_enumerator(), and create_enumerator_constr().
◆ create_enumerator()
Definition at line 229 of file enumerator.c.
243 FIXME(
"I don't know how to handle this type!\n");
255 WARN(
"Enumerator: no DISPID_NEWENUM.\n");
262 &IID_IEnumVARIANT, (
void**)&
enumvar);
266 FIXME(
"Enumerator: NewEnum unexpected type of varresult (%d).\n",
V_VT(&varresult));
static IDispatch * get_object(jsval_t v)
static HRESULT enumvar_get_next_item(EnumeratorInstance *This)
void WINAPI VariantInit(VARIANTARG *pVarg)
GLsizei GLsizei GLuint * obj
static BOOL is_object_instance(jsval_t v)
static HRESULT alloc_enumerator(script_ctx_t *ctx, jsdisp_t *object_prototype, EnumeratorInstance **ret)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
static void jsdisp_release(jsdisp_t *jsdisp)
struct stdole::DISPPARAMS DISPPARAMS
Referenced by EnumeratorConstr_value().
◆ create_enumerator_constr()
Definition at line 332 of file enumerator.c.
336 static const WCHAR EnumeratorW[] = {
'E',
'n',
'u',
'm',
'e',
'r',
'a',
't',
'o',
'r',0};
HRESULT create_builtin_constructor(script_ctx_t *ctx, builtin_invoke_t value_proc, const WCHAR *name, const builtin_info_t *builtin_info, DWORD flags, jsdisp_t *prototype, jsdisp_t **ret)
static const WCHAR EnumeratorW[]
static HRESULT alloc_enumerator(script_ctx_t *ctx, jsdisp_t *object_prototype, EnumeratorInstance **ret)
static const builtin_info_t EnumeratorConstr_info
static HRESULT EnumeratorConstr_value(script_ctx_t *ctx, vdisp_t *vthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
static void jsdisp_release(jsdisp_t *jsdisp)
Referenced by init_constructors().
◆ Enumerator_atEnd()
Definition at line 100 of file enumerator.c.
GLdouble GLdouble GLdouble r
#define JS_E_ENUMERATOR_EXPECTED
static EnumeratorInstance * enumerator_this(vdisp_t *jsthis)
HRESULT throw_type_error(script_ctx_t *ctx, HRESULT error, const WCHAR *str)
static jsval_t jsval_bool(BOOL b)
◆ Enumerator_destructor()
Definition at line 90 of file enumerator.c.
void jsval_release(jsval_t val)
static EnumeratorInstance * enumerator_from_jsdisp(jsdisp_t *jsdisp)
static BOOL heap_free(void *mem)
◆ enumerator_from_jsdisp()
Definition at line 41 of file enumerator.c.
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Referenced by Enumerator_destructor(), and enumerator_from_vdisp().
◆ enumerator_from_vdisp()
◆ Enumerator_item()
Definition at line 115 of file enumerator.c.
GLdouble GLdouble GLdouble r
HRESULT jsval_copy(jsval_t v, jsval_t *r)
#define JS_E_ENUMERATOR_EXPECTED
static EnumeratorInstance * enumerator_this(vdisp_t *jsthis)
HRESULT throw_type_error(script_ctx_t *ctx, HRESULT error, const WCHAR *str)
◆ Enumerator_moveFirst()
Definition at line 128 of file enumerator.c.
141 hres = IEnumVARIANT_Reset(
This->enumvar);
GLdouble GLdouble GLdouble r
static HRESULT enumvar_get_next_item(EnumeratorInstance *This)
#define JS_E_ENUMERATOR_EXPECTED
static jsval_t jsval_undefined(void)
static EnumeratorInstance * enumerator_this(vdisp_t *jsthis)
HRESULT throw_type_error(script_ctx_t *ctx, HRESULT error, const WCHAR *str)
◆ Enumerator_moveNext()
Definition at line 156 of file enumerator.c.
GLdouble GLdouble GLdouble r
static HRESULT enumvar_get_next_item(EnumeratorInstance *This)
#define JS_E_ENUMERATOR_EXPECTED
static jsval_t jsval_undefined(void)
static EnumeratorInstance * enumerator_this(vdisp_t *jsthis)
HRESULT throw_type_error(script_ctx_t *ctx, HRESULT error, const WCHAR *str)
◆ enumerator_this()
◆ EnumeratorConstr_value()
Definition at line 295 of file enumerator.c.
304 case DISPATCH_CONSTRUCT: {
GLdouble GLdouble GLdouble r
GLsizei GLsizei GLuint * obj
HRESULT throw_syntax_error(script_ctx_t *ctx, HRESULT error, const WCHAR *str)
static HRESULT create_enumerator(script_ctx_t *ctx, jsval_t *argv, jsdisp_t **ret)
static jsval_t jsval_obj(jsdisp_t *obj)
Referenced by create_enumerator_constr().
◆ enumvar_get_next_item()
Definition at line 56 of file enumerator.c.
76 WARN(
"failed to convert jsval to variant!\n");
void jsval_release(jsval_t val)
void WINAPI VariantInit(VARIANTARG *pVarg)
HRESULT variant_to_jsval(VARIANT *var, jsval_t *r)
HRESULT WINAPI DECLSPEC_HOTPATCH VariantClear(VARIANTARG *pVarg)
static jsval_t jsval_undefined(void)
Referenced by create_enumerator(), Enumerator_moveFirst(), and Enumerator_moveNext().
◆ WINE_DEFAULT_DEBUG_CHANNEL()
WINE_DEFAULT_DEBUG_CHANNEL |
( |
jscript |
| ) |
|
◆ atEndW
◆ Enumerator_info
◆ Enumerator_props
Initial value:= {
}
static HRESULT Enumerator_item(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
static HRESULT Enumerator_atEnd(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
static const WCHAR moveNextW[]
static const WCHAR atEndW[]
static HRESULT Enumerator_moveFirst(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
static const WCHAR moveFirstW[]
static const WCHAR itemW[]
static HRESULT Enumerator_moveNext(script_ctx_t *ctx, vdisp_t *jsthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
Definition at line 179 of file enumerator.c.
◆ EnumeratorConstr_info
◆ EnumeratorInst_info
◆ itemW
◆ moveFirstW
◆ moveNextW