Module: wine Branch: master Commit: afffa2c58cd6d41cb0a064a18c5d3614a1c7ea54 URL: http://source.winehq.org/git/wine.git/?a=commit;h=afffa2c58cd6d41cb0a064a18c...
Author: Jacek Caban jacek@codeweavers.com Date: Mon Sep 19 14:10:08 2011 +0200
vbscript: Added interp_me implementation.
---
dlls/vbscript/interp.c | 10 ++++++++-- dlls/vbscript/tests/lang.vbs | 10 ++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/dlls/vbscript/interp.c b/dlls/vbscript/interp.c index 831a39d..16feabe 100644 --- a/dlls/vbscript/interp.c +++ b/dlls/vbscript/interp.c @@ -710,8 +710,14 @@ static HRESULT interp_stop(exec_ctx_t *ctx)
static HRESULT interp_me(exec_ctx_t *ctx) { - FIXME("\n"); - return E_NOTIMPL; + VARIANT v; + + TRACE("\n"); + + IDispatch_AddRef(ctx->this_obj); + V_VT(&v) = VT_DISPATCH; + V_DISPATCH(&v) = ctx->this_obj; + return stack_push(ctx, &v); }
static HRESULT interp_bool(exec_ctx_t *ctx) diff --git a/dlls/vbscript/tests/lang.vbs b/dlls/vbscript/tests/lang.vbs index 2b33a2d..922fc6a 100644 --- a/dlls/vbscript/tests/lang.vbs +++ b/dlls/vbscript/tests/lang.vbs @@ -620,6 +620,16 @@ Call ok(not (x is Nothing), "x is 1") Call ok(Nothing is Nothing, "Nothing is not Nothing") Call ok(x is obj and true, "x is obj and true is false")
+Class TestMe + Public Sub Test(MyMe) + Call ok(Me is MyMe, "Me is not MyMe") + End Sub +End Class + +Set obj = New TestMe +Call obj.test(obj) + Call ok(getVT(test) = "VT_DISPATCH", "getVT(test) = " & getVT(test)) +Call ok(Me is Test, "Me is not Test")
reportSuccess()