40 #include "wine/list.h" 47 #define SCRIPTLANGUAGEVERSION_HTML 0x400 52 #define SCRIPTLANGUAGEVERSION_ES5 0x102 96 #define PROPF_ARGMASK 0x00ff 97 #define PROPF_METHOD 0x0100 98 #define PROPF_CONSTR 0x0200 100 #define PROPF_ENUMERABLE 0x0400 101 #define PROPF_WRITABLE 0x0800 102 #define PROPF_CONFIGURABLE 0x1000 103 #define PROPF_ALL (PROPF_ENUMERABLE | PROPF_WRITABLE | PROPF_CONFIGURABLE) 105 #define PROPF_VERSION_MASK 0x01ff0000 106 #define PROPF_VERSION_SHIFT 16 107 #define PROPF_HTML (SCRIPTLANGUAGEVERSION_HTML << PROPF_VERSION_SHIFT) 108 #define PROPF_ES5 ((SCRIPTLANGUAGEVERSION_HTML|SCRIPTLANGUAGEVERSION_ES5) << PROPF_VERSION_SHIFT) 115 #define DISPATCH_JSCRIPT_CALLEREXECSSOURCE 0x8000 116 #define DISPATCH_JSCRIPT_INTERNAL_MASK DISPATCH_JSCRIPT_CALLEREXECSSOURCE 149 #define VDISP_DISPEX 0x0001 150 #define VDISP_JSDISP 0x0002 154 IDispatch_Release(vdisp->
u.
disp);
171 IDispatch_AddRef(vdisp->
u.
disp);
187 hres = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (
void**)&dispex);
194 IDispatch_AddRef(disp);
195 vdisp->
u.
disp = disp;
315 #define DEFAULT_FUNCTION_VALUE {NULL, Function_value,0, Function_get_value} 489 #define REM_CHECK_GLOBAL 0x0001 490 #define REM_RESET_INDEX 0x0002 491 #define REM_NO_CTX_UPDATE 0x0004 492 #define REM_ALLOC_RESULT 0x0008 493 #define REM_NO_PARENS 0x0010 521 return ((
ctx->version & 0xff) << 28) |
flags;
524 #define FACILITY_JSCRIPT 10 526 #define MAKE_JSERROR(code) MAKE_HRESULT(SEVERITY_ERROR, FACILITY_JSCRIPT, code) 528 #define JS_E_TO_PRIMITIVE MAKE_JSERROR(IDS_TO_PRIMITIVE) 529 #define JS_E_INVALIDARG MAKE_JSERROR(IDS_INVALID_CALL_ARG) 530 #define JS_E_SUBSCRIPT_OUT_OF_RANGE MAKE_JSERROR(IDS_SUBSCRIPT_OUT_OF_RANGE) 531 #define JS_E_OBJECT_REQUIRED MAKE_JSERROR(IDS_OBJECT_REQUIRED) 532 #define JS_E_CANNOT_CREATE_OBJ MAKE_JSERROR(IDS_CREATE_OBJ_ERROR) 533 #define JS_E_INVALID_PROPERTY MAKE_JSERROR(IDS_NO_PROPERTY) 534 #define JS_E_INVALID_ACTION MAKE_JSERROR(IDS_UNSUPPORTED_ACTION) 535 #define JS_E_MISSING_ARG MAKE_JSERROR(IDS_ARG_NOT_OPT) 536 #define JS_E_SYNTAX MAKE_JSERROR(IDS_SYNTAX_ERROR) 537 #define JS_E_MISSING_SEMICOLON MAKE_JSERROR(IDS_SEMICOLON) 538 #define JS_E_MISSING_LBRACKET MAKE_JSERROR(IDS_LBRACKET) 539 #define JS_E_MISSING_RBRACKET MAKE_JSERROR(IDS_RBRACKET) 540 #define JS_E_EXPECTED_IDENTIFIER MAKE_JSERROR(IDS_EXPECTED_IDENTIFIER) 541 #define JS_E_EXPECTED_ASSIGN MAKE_JSERROR(IDS_EXPECTED_ASSIGN) 542 #define JS_E_INVALID_CHAR MAKE_JSERROR(IDS_INVALID_CHAR) 543 #define JS_E_UNTERMINATED_STRING MAKE_JSERROR(IDS_UNTERMINATED_STR) 544 #define JS_E_MISPLACED_RETURN MAKE_JSERROR(IDS_MISPLACED_RETURN) 545 #define JS_E_INVALID_BREAK MAKE_JSERROR(IDS_INVALID_BREAK) 546 #define JS_E_INVALID_CONTINUE MAKE_JSERROR(IDS_INVALID_CONTINUE) 547 #define JS_E_LABEL_REDEFINED MAKE_JSERROR(IDS_LABEL_REDEFINED) 548 #define JS_E_LABEL_NOT_FOUND MAKE_JSERROR(IDS_LABEL_NOT_FOUND) 549 #define JS_E_EXPECTED_CCEND MAKE_JSERROR(IDS_EXPECTED_CCEND) 550 #define JS_E_DISABLED_CC MAKE_JSERROR(IDS_DISABLED_CC) 551 #define JS_E_EXPECTED_AT MAKE_JSERROR(IDS_EXPECTED_AT) 552 #define JS_E_FUNCTION_EXPECTED MAKE_JSERROR(IDS_NOT_FUNC) 553 #define JS_E_DATE_EXPECTED MAKE_JSERROR(IDS_NOT_DATE) 554 #define JS_E_NUMBER_EXPECTED MAKE_JSERROR(IDS_NOT_NUM) 555 #define JS_E_OBJECT_EXPECTED MAKE_JSERROR(IDS_OBJECT_EXPECTED) 556 #define JS_E_ILLEGAL_ASSIGN MAKE_JSERROR(IDS_ILLEGAL_ASSIGN) 557 #define JS_E_UNDEFINED_VARIABLE MAKE_JSERROR(IDS_UNDEFINED) 558 #define JS_E_BOOLEAN_EXPECTED MAKE_JSERROR(IDS_NOT_BOOL) 559 #define JS_E_VBARRAY_EXPECTED MAKE_JSERROR(IDS_NOT_VBARRAY) 560 #define JS_E_INVALID_DELETE MAKE_JSERROR(IDS_INVALID_DELETE) 561 #define JS_E_JSCRIPT_EXPECTED MAKE_JSERROR(IDS_JSCRIPT_EXPECTED) 562 #define JS_E_ENUMERATOR_EXPECTED MAKE_JSERROR(IDS_NOT_ENUMERATOR) 563 #define JS_E_REGEXP_SYNTAX MAKE_JSERROR(IDS_REGEXP_SYNTAX_ERROR) 564 #define JS_E_INVALID_URI_CODING MAKE_JSERROR(IDS_URI_INVALID_CODING) 565 #define JS_E_INVALID_URI_CHAR MAKE_JSERROR(IDS_URI_INVALID_CHAR) 566 #define JS_E_FRACTION_DIGITS_OUT_OF_RANGE MAKE_JSERROR(IDS_FRACTION_DIGITS_OUT_OF_RANGE) 567 #define JS_E_PRECISION_OUT_OF_RANGE MAKE_JSERROR(IDS_PRECISION_OUT_OF_RANGE) 568 #define JS_E_INVALID_LENGTH MAKE_JSERROR(IDS_INVALID_LENGTH) 569 #define JS_E_ARRAY_EXPECTED MAKE_JSERROR(IDS_ARRAY_EXPECTED) 570 #define JS_E_NONCONFIGURABLE_REDEFINED MAKE_JSERROR(IDS_NONCONFIGURABLE_REDEFINED) 571 #define JS_E_NONWRITABLE_MODIFIED MAKE_JSERROR(IDS_NONWRITABLE_MODIFIED) 572 #define JS_E_PROP_DESC_MISMATCH MAKE_JSERROR(IDS_PROP_DESC_MISMATCH) 573 #define JS_E_INVALID_WRITABLE_PROP_DESC MAKE_JSERROR(IDS_INVALID_WRITABLE_PROP_DESC) HRESULT jsdisp_next_prop(jsdisp_t *, DISPID, BOOL, DISPID *) DECLSPEC_HIDDEN
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
HRESULT to_uint32(script_ctx_t *, jsval_t, UINT32 *) DECLSPEC_HIDDEN
HRESULT parse_regexp_flags(const WCHAR *, DWORD, DWORD *) DECLSPEC_HIDDEN
jsdisp_t * vbarray_constr
HRESULT create_object_constr(script_ctx_t *, jsdisp_t *, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT disp_delete_name(script_ctx_t *, IDispatch *, jsstr_t *, BOOL *) DECLSPEC_HIDDEN
jsdisp_t * reference_error_constr
HRESULT disp_call(script_ctx_t *, IDispatch *, DISPID, WORD, unsigned, jsval_t *, jsval_t *) DECLSPEC_HIDDEN
jsdisp_t * enumerator_constr
HRESULT create_builtin_function(script_ctx_t *, builtin_invoke_t, const WCHAR *, const builtin_info_t *, DWORD, jsdisp_t *, jsdisp_t **) DECLSPEC_HIDDEN
jsdisp_t * iface_to_jsdisp(IDispatch *) DECLSPEC_HIDDEN
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
static void set_disp(vdisp_t *vdisp, IDispatch *disp)
static void vdisp_release(vdisp_t *vdisp)
static void lock_module(void)
jsdisp_t * to_jsdisp(IDispatch *) DECLSPEC_HIDDEN
jsdisp_t * type_error_constr
HRESULT to_integer(script_ctx_t *, jsval_t, double *) DECLSPEC_HIDDEN
HRESULT Function_invoke(jsdisp_t *, IDispatch *, WORD, unsigned, jsval_t *, jsval_t *) DECLSPEC_HIDDEN
jsdisp_t * range_error_constr
HRESULT throw_syntax_error(script_ctx_t *, HRESULT, const WCHAR *) DECLSPEC_HIDDEN
BOOL bool_obj_value(jsdisp_t *) DECLSPEC_HIDDEN
void * heap_pool_alloc(heap_pool_t *, DWORD) __WINE_ALLOC_SIZE(2) DECLSPEC_HIDDEN
#define __WINE_ALLOC_SIZE(x)
HRESULT create_jscaller(script_ctx_t *) DECLSPEC_HIDDEN
void clear_ei(script_ctx_t *) DECLSPEC_HIDDEN
HRESULT jsdisp_propput_idx(jsdisp_t *, DWORD, jsval_t) DECLSPEC_HIDDEN
HRESULT init_dispex(jsdisp_t *, script_ctx_t *, const builtin_info_t *, jsdisp_t *) DECLSPEC_HIDDEN
HRESULT jsdisp_propput_name(jsdisp_t *, const WCHAR *, jsval_t) DECLSPEC_HIDDEN
const builtin_info_t * builtin_info
HRESULT create_string(script_ctx_t *, jsstr_t *, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT create_number_constr(script_ctx_t *, jsdisp_t *, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT create_enumerator_constr(script_ctx_t *, jsdisp_t *, jsdisp_t **) DECLSPEC_HIDDEN
struct _call_frame_t * call_ctx
HRESULT(* builtin_setter_t)(script_ctx_t *, jsdisp_t *, jsval_t)
unsigned array_get_length(jsdisp_t *) DECLSPEC_HIDDEN
struct named_item_t * next
HRESULT double_to_string(double, jsstr_t **) DECLSPEC_HIDDEN
HRESULT throw_range_error(script_ctx_t *, HRESULT, const WCHAR *) DECLSPEC_HIDDEN
HRESULT create_bool(script_ctx_t *, BOOL, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT throw_reference_error(script_ctx_t *, HRESULT, const WCHAR *) DECLSPEC_HIDDEN
HRESULT throw_generic_error(script_ctx_t *, HRESULT, const WCHAR *) DECLSPEC_HIDDEN
HRESULT jsdisp_define_property(jsdisp_t *, const WCHAR *, property_desc_t *) DECLSPEC_HIDDEN
static void * heap_alloc(size_t len)
HRESULT init_global(script_ctx_t *) DECLSPEC_HIDDEN
HRESULT init_error_constr(script_ctx_t *, jsdisp_t *) DECLSPEC_HIDDEN
HRESULT jsdisp_propget_name(jsdisp_t *, LPCWSTR, jsval_t *) DECLSPEC_HIDDEN
jsdisp_t * syntax_error_constr
HRESULT JSGlobal_eval(script_ctx_t *, vdisp_t *, WORD, unsigned, jsval_t *, jsval_t *) DECLSPEC_HIDDEN
jsdisp_t * regexp_error_constr
static BOOL is_jscript_error(HRESULT hres)
HRESULT to_number(script_ctx_t *, jsval_t, double *) DECLSPEC_HIDDEN
IDispatchEx IDispatchEx_iface
static BOOL is_class(jsdisp_t *jsdisp, jsclass_t class)
#define HRESULT_FACILITY(hr)
HRESULT create_math(script_ctx_t *, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT jsdisp_get_own_property(jsdisp_t *, const WCHAR *, BOOL, property_desc_t *) DECLSPEC_HIDDEN
HRESULT jsdisp_propput(jsdisp_t *, const WCHAR *, DWORD, jsval_t) DECLSPEC_HIDDEN
HRESULT throw_eval_error(script_ctx_t *, HRESULT, const WCHAR *) DECLSPEC_HIDDEN
match_result_t match_parens[9]
static const char mbstate_t *static wchar_t const char mbstate_t *static const wchar_t int *static double
HRESULT create_json(script_ctx_t *, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT regexp_match_next(script_ctx_t *, jsdisp_t *, DWORD, jsstr_t *, struct match_state_t **) DECLSPEC_HIDDEN
HRESULT create_vbarray_constr(script_ctx_t *, jsdisp_t *, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT to_int32(script_ctx_t *, jsval_t, INT *) DECLSPEC_HIDDEN
enum tagSCRIPTSTATE SCRIPTSTATE
IServiceProvider IServiceProvider_iface
HRESULT create_object_prototype(script_ctx_t *, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT create_number(script_ctx_t *, double, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT Function_get_value(script_ctx_t *, jsdisp_t *, jsval_t *) DECLSPEC_HIDDEN
static DWORD make_grfdex(script_ctx_t *ctx, DWORD flags)
HRESULT jsdisp_get_idx(jsdisp_t *, DWORD, jsval_t *) DECLSPEC_HIDDEN
HRESULT create_array_constr(script_ctx_t *, jsdisp_t *, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT create_regexp(script_ctx_t *, jsstr_t *, DWORD, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT builtin_set_const(script_ctx_t *, jsdisp_t *, jsval_t) DECLSPEC_HIDDEN
static jsdisp_t * get_jsdisp(vdisp_t *vdisp)
struct named_item_t named_item_t
HINSTANCE jscript_hinstance
static void set_jsdisp(vdisp_t *vdisp, jsdisp_t *jsdisp)
HRESULT disp_propput(script_ctx_t *, IDispatch *, DISPID, jsval_t) DECLSPEC_HIDDEN
HRESULT jsval_strict_equal(jsval_t, jsval_t, BOOL *) DECLSPEC_HIDDEN
HRESULT variant_change_type(script_ctx_t *, VARIANT *, VARIANT *, VARTYPE) DECLSPEC_HIDDEN
HRESULT create_activex_constr(script_ctx_t *, jsdisp_t **) DECLSPEC_HIDDEN
void script_release(script_ctx_t *) DECLSPEC_HIDDEN
HRESULT create_builtin_constructor(script_ctx_t *, builtin_invoke_t, const WCHAR *, const builtin_info_t *, DWORD, jsdisp_t *, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT create_jscript_object(BOOL, REFIID, void **) DECLSPEC_HIDDEN
void release_cc(cc_ctx_t *) DECLSPEC_HIDDEN
HRESULT jsdisp_call_value(jsdisp_t *, IDispatch *, WORD, unsigned, jsval_t *, jsval_t *) DECLSPEC_HIDDEN
static BOOL is_vclass(vdisp_t *vdisp, jsclass_t class)
builtin_prop_t value_prop
HRESULT create_array(script_ctx_t *, DWORD, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT decode_source(WCHAR *) DECLSPEC_HIDDEN
HRESULT regexp_string_match(script_ctx_t *, jsdisp_t *, jsstr_t *, jsval_t *) DECLSPEC_HIDDEN
HRESULT to_boolean(jsval_t, BOOL *) DECLSPEC_HIDDEN
HRESULT jsdisp_call(jsdisp_t *, DISPID, WORD, unsigned, jsval_t *, jsval_t *) DECLSPEC_HIDDEN
static jsdisp_t * jsdisp_addref(jsdisp_t *jsdisp)
const builtin_prop_t * props
HINSTANCE jscript_hinstance DECLSPEC_HIDDEN
HRESULT jsdisp_define_data_property(jsdisp_t *, const WCHAR *, unsigned, jsval_t) DECLSPEC_HIDDEN
IActiveScript * active_script
HRESULT disp_call_value(script_ctx_t *, IDispatch *, IDispatch *, WORD, unsigned, jsval_t *, jsval_t *) DECLSPEC_HIDDEN
HRESULT jsdisp_get_id(jsdisp_t *, const WCHAR *, DWORD, DISPID *) DECLSPEC_HIDDEN
#define InterlockedDecrement
void jsdisp_free(jsdisp_t *) DECLSPEC_HIDDEN
HRESULT create_regexp_var(script_ctx_t *, jsval_t, jsval_t *, jsdisp_t **) DECLSPEC_HIDDEN
#define memcpy(s1, s2, n)
HRESULT throw_regexp_error(script_ctx_t *, HRESULT, const WCHAR *) DECLSPEC_HIDDEN
HRESULT jsdisp_delete_idx(jsdisp_t *, DWORD) DECLSPEC_HIDDEN
jsdisp_t * as_jsdisp(IDispatch *) DECLSPEC_HIDDEN
static BOOL is_dispex(vdisp_t *vdisp)
HRESULT Function_value(script_ctx_t *, vdisp_t *, WORD, unsigned, jsval_t *, jsval_t *) DECLSPEC_HIDDEN
void heap_pool_init(heap_pool_t *) DECLSPEC_HIDDEN
static IDispatch * to_disp(jsdisp_t *jsdisp)
HRESULT create_dispex(script_ctx_t *, const builtin_info_t *, jsdisp_t *, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT create_regexp_constr(script_ctx_t *, jsdisp_t *, jsdisp_t **) DECLSPEC_HIDDEN
BOOL is_finite(double) DECLSPEC_HIDDEN
HRESULT create_date_constr(script_ctx_t *, jsdisp_t *, jsdisp_t **) DECLSPEC_HIDDEN
struct stdole::EXCEPINFO EXCEPINFO
static VARIANTARG static DISPID
jsdisp_t * function_constr
#define InterlockedIncrement
HRESULT jsdisp_call_name(jsdisp_t *, const WCHAR *, WORD, unsigned, jsval_t *, jsval_t *) DECLSPEC_HIDDEN
HRESULT create_string_constr(script_ctx_t *, jsdisp_t *, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT init_dispex_from_constr(jsdisp_t *, script_ctx_t *, const builtin_info_t *, jsdisp_t *) DECLSPEC_HIDDEN
HRESULT throw_uri_error(script_ctx_t *, HRESULT, const WCHAR *) DECLSPEC_HIDDEN
IInternetHostSecurityManager * secmgr
static void jsdisp_release(jsdisp_t *jsdisp)
static void script_addref(script_ctx_t *ctx)
HRESULT to_string(script_ctx_t *, jsval_t, jsstr_t **) DECLSPEC_HIDDEN
static void unlock_module(void)
HRESULT init_function_constr(script_ctx_t *, jsdisp_t *) DECLSPEC_HIDDEN
IUnknown * create_ax_site(script_ctx_t *) DECLSPEC_HIDDEN
void * heap_pool_grow(heap_pool_t *, void *, DWORD, DWORD) DECLSPEC_HIDDEN
void heap_pool_free(heap_pool_t *) DECLSPEC_HIDDEN
HRESULT(* builtin_getter_t)(script_ctx_t *, jsdisp_t *, jsval_t *)
HRESULT create_bool_constr(script_ctx_t *, jsdisp_t *, jsdisp_t **) DECLSPEC_HIDDEN
HRESULT jsdisp_propget(jsdisp_t *, DISPID, jsval_t *) DECLSPEC_HIDDEN
HRESULT to_object(script_ctx_t *, jsval_t, IDispatch **) DECLSPEC_HIDDEN
HRESULT throw_type_error(script_ctx_t *, HRESULT, const WCHAR *) DECLSPEC_HIDDEN
HRESULT create_object(script_ctx_t *, jsdisp_t *, jsdisp_t **) DECLSPEC_HIDDEN
named_item_t * named_items
struct _builtin_prop_t builtin_prop_t
jsdisp_t * eval_error_constr
heap_pool_t * heap_pool_mark(heap_pool_t *) DECLSPEC_HIDDEN
static LPWSTR heap_strdupW(LPCWSTR str)
static BOOL is_int32(double d)
HRESULT create_vbarray(script_ctx_t *, SAFEARRAY *, jsdisp_t **) DECLSPEC_HIDDEN
jsdisp_t * uri_error_constr
HRESULT to_flat_string(script_ctx_t *, jsval_t, jsstr_t **, const WCHAR **) DECLSPEC_HIDDEN
static BOOL is_jsdisp(vdisp_t *vdisp)
static unsigned(__cdecl *hash_bstr)(bstr_t s)
HRESULT(* builtin_invoke_t)(script_ctx_t *, vdisp_t *, WORD, unsigned, jsval_t *, jsval_t *)
const char * debugstr_jsval(const jsval_t) DECLSPEC_HIDDEN
HRESULT disp_propget(script_ctx_t *, IDispatch *, DISPID, jsval_t *) DECLSPEC_HIDDEN
HRESULT disp_delete(IDispatch *, DISPID, BOOL *) DECLSPEC_HIDDEN
HRESULT to_primitive(script_ctx_t *, jsval_t, jsval_t *, hint_t) DECLSPEC_HIDDEN
void heap_pool_clear(heap_pool_t *) DECLSPEC_HIDDEN