51 if(!jsthis ||
ctx->version < 2) {
86 if(name_len && msg_len) {
93 ptr[name_len+1] =
' ';
171 constr ? constr :
ctx->error_constr);
245 case DISPATCH_CONSTRUCT:
323 static const WCHAR *
names[] = {
L"Error",
L"EvalError",
L"RangeError",
324 L"ReferenceError",
L"RegExpError",
L"SyntaxError",
L"TypeError",
L"URIError"};
325 jsdisp_t **constr_addr[] = {&
ctx->error_constr, &
ctx->eval_error_constr,
326 &
ctx->range_error_constr, &
ctx->reference_error_constr, &
ctx->regexp_error_constr,
327 &
ctx->syntax_error_constr, &
ctx->type_error_constr,
328 &
ctx->uri_error_constr};
366 size_t len, arg_len = 0;
414 if(ei->pfnDeferredFillIn)
415 ei->pfnDeferredFillIn(ei);
419 if(ei->bstrDescription)
475 constr =
ctx->syntax_error_constr;
509 constr =
ctx->type_error_constr;
518 constr =
ctx->range_error_constr;
522 constr =
ctx->reference_error_constr;
526 constr =
ctx->regexp_error_constr;
531 constr =
ctx->uri_error_constr;
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static HRESULT RangeErrorConstr_value(script_ctx_t *ctx, jsval_t vthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
static jsstr_t * format_error_message(HRESULT error, const WCHAR *arg)
static HRESULT TypeErrorConstr_value(script_ctx_t *ctx, jsval_t vthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
static HRESULT Error_toString(script_ctx_t *ctx, jsval_t vthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
void handle_dispatch_exception(script_ctx_t *ctx, EXCEPINFO *ei)
static HRESULT error_constr(script_ctx_t *ctx, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r, jsdisp_t *constr)
static HRESULT alloc_error(script_ctx_t *ctx, jsdisp_t *prototype, jsdisp_t *constr, jsdisp_t **ret)
static HRESULT EvalErrorConstr_value(script_ctx_t *ctx, jsval_t vthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
static HRESULT create_error(script_ctx_t *ctx, jsdisp_t *constr, UINT number, jsstr_t *msg, jsdisp_t **ret)
void set_error_location(jsexcept_t *ei, bytecode_t *code, unsigned loc, unsigned source_id, jsstr_t *line)
jsdisp_t * create_builtin_error(script_ctx_t *ctx)
static HRESULT SyntaxErrorConstr_value(script_ctx_t *ctx, jsval_t vthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
static const builtin_info_t Error_info
static HRESULT ReferenceErrorConstr_value(script_ctx_t *ctx, jsval_t vthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
static HRESULT RegExpErrorConstr_value(script_ctx_t *ctx, jsval_t vthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
HRESULT init_error_constr(script_ctx_t *ctx, jsdisp_t *object_prototype)
static HRESULT URIErrorConstr_value(script_ctx_t *ctx, jsval_t vthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
HRESULT throw_error(script_ctx_t *ctx, HRESULT error, const WCHAR *str)
static const builtin_prop_t Error_props[]
static HRESULT ErrorConstr_value(script_ctx_t *ctx, jsval_t vthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
static HRESULT Error_value(script_ctx_t *ctx, jsval_t vthis, WORD flags, unsigned argc, jsval_t *argv, jsval_t *r)
static const builtin_info_t ErrorInst_info
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 wchar_t * wmemchr(const wchar_t *s, wchar_t c, size_t n)
void reset_ei(jsexcept_t *)
static bytecode_t * bytecode_addref(bytecode_t *code)
GLdouble GLdouble GLdouble r
GLenum GLuint GLenum GLsizei const GLchar * buf
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 HRESULT to_string(VARIANT *src, BSTR *dst)
HRESULT jsdisp_define_data_property(jsdisp_t *obj, const WCHAR *name, unsigned flags, jsval_t value)
HRESULT init_dispex_from_constr(jsdisp_t *dispex, script_ctx_t *ctx, const builtin_info_t *builtin_info, jsdisp_t *constr)
ULONG jsdisp_release(jsdisp_t *obj)
HRESULT init_dispex(jsdisp_t *dispex, script_ctx_t *ctx, const builtin_info_t *builtin_info, jsdisp_t *prototype)
HRESULT jsdisp_propget_name(jsdisp_t *obj, const WCHAR *name, jsval_t *val)
jsdisp_t * to_jsdisp(IDispatch *disp)
#define JS_E_INVALID_CHAR
#define JS_E_OBJECT_NOT_COLLECTION
#define JS_E_EXPECTED_CCEND
#define JS_E_ENUMERATOR_EXPECTED
#define JS_E_ILLEGAL_ASSIGN
#define JS_E_BOOLEAN_EXPECTED
#define JS_E_JSCRIPT_EXPECTED
#define JS_E_EXPECTED_IDENTIFIER
#define JS_E_PRECISION_OUT_OF_RANGE
#define JS_E_OBJECT_REQUIRED
#define JS_E_OBJECT_EXPECTED
#define JS_E_MISSING_RBRACKET
#define JS_E_CANNOT_CREATE_FOR_NONEXTENSIBLE
#define JS_E_SUBSCRIPT_OUT_OF_RANGE
#define JS_E_INVALID_BREAK
#define JS_E_MISPLACED_RETURN
#define JS_E_LABEL_REDEFINED
#define JS_E_ARRAYBUFFER_EXPECTED
#define JS_E_DATAVIEW_INVALID_OFFSET
#define JS_E_LABEL_NOT_FOUND
#define JS_E_INVALID_CONTINUE
#define JS_E_UNTERMINATED_STRING
#define JS_E_DATAVIEW_NO_ARGUMENT
#define JS_E_CYCLIC_PROTO_VALUE
#define JS_E_EXPECTED_ASSIGN
#define SCRIPTLANGUAGEVERSION_ES5
#define JS_E_FUNCTION_EXPECTED
#define JS_E_NOT_DATAVIEW
#define JS_E_INVALID_URI_CHAR
HINSTANCE jscript_hinstance
#define JS_E_INVALID_WRITABLE_PROP_DESC
#define JS_E_INVALID_URI_CODING
HRESULT(* builtin_invoke_t)(script_ctx_t *, jsval_t, WORD, unsigned, jsval_t *, jsval_t *)
#define JS_E_MISSING_SEMICOLON
#define JS_E_KEY_NOT_OBJECT
#define JS_E_DATAVIEW_INVALID_ACCESS
#define JS_E_NONWRITABLE_MODIFIED
#define JS_E_VBARRAY_EXPECTED
#define JS_E_ARRAY_EXPECTED
#define JS_E_UNDEFINED_VARIABLE
#define JS_E_MISSING_LBRACKET
#define JS_E_NUMBER_EXPECTED
static BOOL is_jscript_error(HRESULT hres)
HRESULT to_number(script_ctx_t *, jsval_t, double *)
#define JS_E_REGEXP_SYNTAX
#define JS_E_NONCONFIGURABLE_REDEFINED
#define JS_E_INVALID_PROPERTY
#define JS_E_UNEXPECTED_QUANTIFIER
#define JS_E_INVALID_DELETE
#define JS_E_TO_PRIMITIVE
#define JS_E_DATE_EXPECTED
#define JS_E_REGEXP_EXPECTED
#define JS_E_INVALID_ACTION
#define JS_E_PROP_DESC_MISMATCH
#define JS_E_FRACTION_DIGITS_OUT_OF_RANGE
#define JS_E_INVALID_LENGTH
#define JS_E_OBJECT_NONEXTENSIBLE
const unsigned int PROPF_WRITABLE
const unsigned int PROPF_ENUMERABLE
const unsigned int PROPF_CONFIGURABLE
const unsigned int PROPF_METHOD
const unsigned int PROPF_CONSTR
jsstr_t * jsstr_alloc_len(const WCHAR *buf, unsigned len)
jsstr_t * jsstr_empty(void)
jsstr_t * jsstr_alloc_buf(unsigned len, WCHAR **buf)
static jsstr_t * jsstr_addref(jsstr_t *str)
static void jsstr_release(jsstr_t *str)
static unsigned jsstr_length(jsstr_t *str)
static unsigned jsstr_flush(jsstr_t *str, WCHAR *buf)
static jsstr_t * jsstr_alloc(const WCHAR *str)
void jsval_release(jsval_t val)
static jsval_t jsval_string(jsstr_t *str)
static jsval_t jsval_obj(jsdisp_t *obj)
static BOOL is_undefined(jsval_t v)
static IDispatch * get_object(jsval_t v)
static BOOL is_object_instance(jsval_t v)
static jsval_t jsval_number(double n)
#define memcpy(s1, s2, n)
static unsigned int number
UINT WINAPI SysStringLen(BSTR str)
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)