Jacek Caban : jscript: Added delete expression for EXPRVAL_IDREF implementation.
Module: wine Branch: master Commit: 9c248189f7ac0770adca62df351e3e80c3a2de27 URL: http://source.winehq.org/git/wine.git/?a=commit;h=9c248189f7ac0770adca62df35... Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Sep 30 17:48:45 2008 +0200 jscript: Added delete expression for EXPRVAL_IDREF implementation. --- dlls/jscript/engine.c | 11 +++++++++++ dlls/jscript/tests/lang.js | 7 +++++++ 2 files changed, 18 insertions(+), 0 deletions(-) diff --git a/dlls/jscript/engine.c b/dlls/jscript/engine.c index 87de0ce..212ad10 100644 --- a/dlls/jscript/engine.c +++ b/dlls/jscript/engine.c @@ -2069,6 +2069,17 @@ HRESULT delete_expression_eval(exec_ctx_t *ctx, expression_t *_expr, DWORD flags return hres; switch(exprval.type) { + case EXPRVAL_IDREF: { + IDispatchEx *dispex; + + hres = IDispatch_QueryInterface(exprval.u.nameref.disp, &IID_IDispatchEx, (void**)&dispex); + if(SUCCEEDED(hres)) { + hres = IDispatchEx_DeleteMemberByDispID(dispex, exprval.u.idref.id); + b = VARIANT_TRUE; + IDispatchEx_Release(dispex); + } + break; + } case EXPRVAL_NAMEREF: { IDispatchEx *dispex; diff --git a/dlls/jscript/tests/lang.js b/dlls/jscript/tests/lang.js index 148dfed..f7ae2be 100644 --- a/dlls/jscript/tests/lang.js +++ b/dlls/jscript/tests/lang.js @@ -741,4 +741,11 @@ function varTestFunc(varTest3) { var varTest4; } +deleteTest = 1; +delete deleteTest; +try { + tmp = deleteTest; + ok(false, "deleteTest not throwed exception?"); +}catch(ex) {} + reportSuccess();
participants (1)
-
Alexandre Julliard