Jacek Caban : jscript: Get rid of no longer needed EXPRVAL_NAMEREF.
Alexandre Julliard
julliard at winehq.org
Wed Nov 30 14:19:20 CST 2011
Module: wine
Branch: master
Commit: 82368f5cfea6dc4ebf91d13bab523aaebc190226
URL: http://source.winehq.org/git/wine.git/?a=commit;h=82368f5cfea6dc4ebf91d13bab523aaebc190226
Author: Jacek Caban <jacek at codeweavers.com>
Date: Wed Nov 30 10:14:48 2011 +0100
jscript: Get rid of no longer needed EXPRVAL_NAMEREF.
---
dlls/jscript/engine.c | 39 +++++----------------------------------
dlls/jscript/engine.h | 5 -----
2 files changed, 5 insertions(+), 39 deletions(-)
diff --git a/dlls/jscript/engine.c b/dlls/jscript/engine.c
index 6567d68..62efc44 100644
--- a/dlls/jscript/engine.c
+++ b/dlls/jscript/engine.c
@@ -31,7 +31,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(jscript);
#define EXPR_NOVAL 0x0001
#define EXPR_NEWREF 0x0002
-#define EXPR_STRREF 0x0004
struct _return_type_t {
enum{
@@ -154,11 +153,6 @@ static void exprval_release(exprval_t *val)
if(val->u.idref.disp)
IDispatch_Release(val->u.idref.disp);
return;
- case EXPRVAL_NAMEREF:
- if(val->u.nameref.disp)
- IDispatch_Release(val->u.nameref.disp);
- SysFreeString(val->u.nameref.name);
- return;
case EXPRVAL_INVALID:
SysFreeString(val->u.identifier);
}
@@ -179,8 +173,6 @@ static HRESULT exprval_value(script_ctx_t *ctx, exprval_t *val, jsexcept_t *ei,
}
return disp_propget(ctx, val->u.idref.disp, val->u.idref.id, ret, ei, NULL/*FIXME*/);
- case EXPRVAL_NAMEREF:
- break;
case EXPRVAL_INVALID:
return throw_type_error(ctx, ei, JS_E_UNDEFINED_VARIABLE, val->u.identifier);
}
@@ -1494,13 +1486,6 @@ HRESULT array_expression_eval(script_ctx_t *ctx, expression_t *_expr, DWORD flag
hres = to_string(ctx, &val, ei, &str);
VariantClear(&val);
if(SUCCEEDED(hres)) {
- if(flags & EXPR_STRREF) {
- ret->type = EXPRVAL_NAMEREF;
- ret->u.nameref.disp = obj;
- ret->u.nameref.name = str;
- return S_OK;
- }
-
hres = disp_get_id(ctx, obj, str, flags & EXPR_NEWREF ? fdexNameEnsure : 0, &id);
SysFreeString(str);
}
@@ -1546,11 +1531,9 @@ HRESULT member_expression_eval(script_ctx_t *ctx, expression_t *_expr, DWORD fla
return hres;
str = SysAllocString(expr->identifier);
- if(flags & EXPR_STRREF) {
- ret->type = EXPRVAL_NAMEREF;
- ret->u.nameref.disp = obj;
- ret->u.nameref.name = str;
- return S_OK;
+ if(!str) {
+ IDispatch_Release(obj);
+ return E_OUTOFMEMORY;
}
hres = disp_get_id(ctx, obj, str, flags & EXPR_NEWREF ? fdexNameEnsure : 0, &id);
@@ -2457,7 +2440,7 @@ HRESULT delete_expression_eval(script_ctx_t *ctx, expression_t *_expr, DWORD fla
TRACE("\n");
- hres = expr_eval(ctx, expr->expression, EXPR_STRREF, ei, &exprval);
+ hres = expr_eval(ctx, expr->expression, 0, ei, &exprval);
if(FAILED(hres))
return hres;
@@ -2465,7 +2448,7 @@ HRESULT delete_expression_eval(script_ctx_t *ctx, expression_t *_expr, DWORD fla
case EXPRVAL_IDREF: {
IDispatchEx *dispex;
- hres = IDispatch_QueryInterface(exprval.u.nameref.disp, &IID_IDispatchEx, (void**)&dispex);
+ hres = IDispatch_QueryInterface(exprval.u.idref.disp, &IID_IDispatchEx, (void**)&dispex);
if(SUCCEEDED(hres)) {
hres = IDispatchEx_DeleteMemberByDispID(dispex, exprval.u.idref.id);
b = VARIANT_TRUE;
@@ -2473,18 +2456,6 @@ HRESULT delete_expression_eval(script_ctx_t *ctx, expression_t *_expr, DWORD fla
}
break;
}
- case EXPRVAL_NAMEREF: {
- IDispatchEx *dispex;
-
- hres = IDispatch_QueryInterface(exprval.u.nameref.disp, &IID_IDispatchEx, (void**)&dispex);
- if(SUCCEEDED(hres)) {
- hres = IDispatchEx_DeleteMemberByName(dispex, exprval.u.nameref.name,
- make_grfdex(ctx, fdexNameCaseSensitive));
- b = VARIANT_TRUE;
- IDispatchEx_Release(dispex);
- }
- break;
- }
default:
FIXME("unsupported type %d\n", exprval.type);
hres = E_NOTIMPL;
diff --git a/dlls/jscript/engine.h b/dlls/jscript/engine.h
index f2af36f..362e9d1 100644
--- a/dlls/jscript/engine.h
+++ b/dlls/jscript/engine.h
@@ -364,7 +364,6 @@ typedef struct {
enum {
EXPRVAL_VARIANT,
EXPRVAL_IDREF,
- EXPRVAL_NAMEREF,
EXPRVAL_INVALID
} type;
union {
@@ -373,10 +372,6 @@ typedef struct {
IDispatch *disp;
DISPID id;
} idref;
- struct {
- IDispatch *disp;
- BSTR name;
- } nameref;
BSTR identifier;
} u;
} exprval_t;
More information about the wine-cvs
mailing list