33#include "vbscript_classes.h"
44 struct list custom_blocks;
175static inline unsigned arg_cnt(
const DISPPARAMS *dp)
177 return dp->cArgs - dp->cNamedArgs;
182 return dp->rgvarg + dp->cArgs-
i-1;
185#define SP_CALLER_UNINITIALIZED ((IServiceProvider*)IntToPtr(-1))
238 X(assign_ident, 1, ARG_BSTR, ARG_UINT) \
239 X(assign_member, 1, ARG_BSTR, ARG_UINT) \
240 X(bool, 1, ARG_INT, 0) \
241 X(catch, 1, ARG_ADDR, ARG_UINT) \
242 X(case, 0, ARG_ADDR, 0) \
244 X(const, 1, ARG_BSTR, 0) \
245 X(date, 1, ARG_DATE, 0) \
247 X(dim, 1, ARG_BSTR, ARG_UINT) \
249 X(double, 1, ARG_DOUBLE, 0) \
251 X(enumnext, 0, ARG_ADDR, ARG_BSTR) \
253 X(hres, 1, ARG_UINT, 0) \
254 X(errmode, 1, ARG_INT, 0) \
259 X(icall, 1, ARG_BSTR, ARG_UINT) \
260 X(icallv, 1, ARG_BSTR, ARG_UINT) \
261 X(ident, 1, ARG_BSTR, 0) \
264 X(incc, 1, ARG_BSTR, 0) \
265 X(int, 1, ARG_INT, 0) \
267 X(jmp, 0, ARG_ADDR, 0) \
268 X(jmp_false, 0, ARG_ADDR, 0) \
269 X(jmp_true, 0, ARG_ADDR, 0) \
272 X(mcall, 1, ARG_BSTR, ARG_UINT) \
273 X(mcallv, 1, ARG_BSTR, ARG_UINT) \
279 X(new, 1, ARG_STR, 0) \
280 X(newenum, 1, 0, 0) \
282 X(nothing, 1, 0, 0) \
286 X(pop, 1, ARG_UINT, 0) \
287 X(redim, 1, ARG_BSTR, ARG_UINT) \
288 X(redim_preserve, 1, ARG_BSTR, ARG_UINT) \
291 X(set_ident, 1, ARG_BSTR, ARG_UINT) \
292 X(set_member, 1, ARG_BSTR, ARG_UINT) \
293 X(stack, 1, ARG_UINT, 0) \
294 X(step, 0, ARG_ADDR, ARG_BSTR) \
296 X(string, 1, ARG_STR, 0) \
299 X(vcall, 1, ARG_UINT, 0) \
300 X(vcallv, 1, ARG_UINT, 0) \
304#define X(x,n,a,b) OP_##x,
414 return '0' <=
c &&
c <=
'9';
424#define FACILITY_VBS 0xa
425#define MAKE_VBSERROR(code) MAKE_HRESULT(SEVERITY_ERROR, FACILITY_VBS, code)
432#define VBSCRIPT_BUILD_VERSION 16978
433#define VBSCRIPT_MAJOR_VERSION 5
434#define VBSCRIPT_MINOR_VERSION 8
static struct sockaddr_in sa
#define __WINE_ALLOC_SIZE(...)
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 const GLfloat const GLdouble const GLfloat GLint i
static const char mbstate_t *static wchar_t const char mbstate_t *static const wchar_t int *static double
static VARIANTARG static DISPID
const builtin_prop_t * members
IDispatch IDispatch_iface
function_t ** global_funcs
dynamic_var_t ** global_vars
IDispatchEx IDispatchEx_iface
array_desc_t * array_descs
vbdisp_prop_desc_t * props
vbdisp_funcprop_desc_t * funcs
unsigned class_terminate_id
unsigned class_initialize_id
struct _class_desc_t * next
struct _dynamic_var_t * next
array_desc_t * array_descs
vbscode_t * error_loc_code
struct vbcaller * vbcaller
unsigned error_loc_offset
IInternetHostSecurityManager * secmgr
IDispatchEx IDispatchEx_iface
const class_desc_t * desc
class_desc_t * last_class
named_item_t * named_item
IServiceProvider * caller
IServiceProvider IServiceProvider_iface
static void grab_vbscode(vbscode_t *code)
HRESULT WINAPI VBScriptRegExpFactory_CreateInstance(IClassFactory *, IUnknown *, REFIID, void **)
HRESULT compile_procedure(script_ctx_t *, const WCHAR *, const WCHAR *, const WCHAR *, DWORD_PTR, unsigned, DWORD, class_desc_t **)
HRESULT create_safearray_iter(SAFEARRAY *sa, BOOL owned, IEnumVARIANT **ev)
HRESULT array_access(SAFEARRAY *array, DISPPARAMS *dp, VARIANT **ret)
void release_dynamic_var(dynamic_var_t *)
BSTR get_vbscript_string(int)
HRESULT disp_call(script_ctx_t *, IDispatch *, DISPID, DISPPARAMS *, VARIANT *)
void clear_ei(EXCEPINFO *)
HRESULT init_global(script_ctx_t *)
HRESULT create_vbdisp(const class_desc_t *, vbdisp_t **)
HRESULT create_script_disp(script_ctx_t *, ScriptDisp **)
IUnknown * create_ax_site(script_ctx_t *)
HRESULT init_err(script_ctx_t *)
void heap_pool_clear(heap_pool_t *)
HRESULT get_disp_value(script_ctx_t *, IDispatch *, VARIANT *)
static unsigned arg_cnt(const DISPPARAMS *dp)
heap_pool_t * heap_pool_mark(heap_pool_t *)
void * heap_pool_grow(heap_pool_t *, void *, DWORD, DWORD)
struct _dynamic_var_t dynamic_var_t
HRESULT exec_script(script_ctx_t *, BOOL, function_t *, vbdisp_t *, DISPPARAMS *, VARIANT *)
struct _class_desc_t class_desc_t
void heap_pool_init(heap_pool_t *)
void collect_objects(script_ctx_t *)
HRESULT get_builtin_id(BuiltinDisp *, const WCHAR *, DISPID *)
static BOOL is_int32(double d)
named_item_t * lookup_named_item(script_ctx_t *, const WCHAR *, unsigned)
HRESULT to_int(VARIANT *, int *)
BSTR string_replace(BSTR, BSTR, BSTR, int, int, int)
void heap_pool_free(heap_pool_t *)
HRESULT compile_script(script_ctx_t *, const WCHAR *, const WCHAR *, const WCHAR *, DWORD_PTR, unsigned, DWORD, vbscode_t **)
HRESULT disp_propput(script_ctx_t *, IDispatch *, DISPID, WORD, DISPPARAMS *)
void release_named_item(named_item_t *)
HRESULT WINAPI VBScriptFactory_CreateInstance(IClassFactory *, IUnknown *, REFIID, void **)
HRESULT vbdisp_get_id(vbdisp_t *, BSTR, vbdisp_invoke_type_t, BOOL, DISPID *)
void map_vbs_exception(EXCEPINFO *)
void release_regexp_typelib(void)
void detach_global_objects(script_ctx_t *)
HRESULT report_script_error(script_ctx_t *, const vbscode_t *, unsigned)
void release_vbscode(vbscode_t *)
HRESULT create_regexp(IDispatch **)
HRESULT get_dispatch_typeinfo(ITypeInfo **)
HRESULT disp_get_id(IDispatch *, BSTR, vbdisp_invoke_type_t, BOOL, DISPID *)
static VARIANT * get_arg(DISPPARAMS *dp, DWORD i)
void * heap_pool_alloc(heap_pool_t *, size_t) __WINE_ALLOC_SIZE(2)