From 8b6493eecefde0d1a0eda4bdab029c4b4650c68b Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Tue, 21 Jan 2014 15:49:36 +0100 Subject: [PATCH] Implement with statement. --- jsrun.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/jsrun.c b/jsrun.c index 52e8d33..44f0dcb 100644 --- a/jsrun.c +++ b/jsrun.c @@ -793,6 +793,18 @@ static void jsR_run(js_State *J, js_Function *F) js_pushnumber(J, toint32(x) | toint32(y)); break; + /* With */ + + case OP_WITH: + obj = js_toobject(J, -1); + J->E = jsR_newenvironment(J, obj, J->E); + js_pop(J, 1); + break; + + case OP_ENDWITH: + J->E = J->E->outer; + break; + /* Branching */ case OP_DEBUGGER: