From 891a085f2b75acbf4700cfdffa80fb0b9532d325 Mon Sep 17 00:00:00 2001 From: Nicolas Cannasse Date: Sun, 30 Jan 2022 11:26:32 +0100 Subject: [PATCH] fixed declared vars leak when return (close #111) --- hscript/Interp.hx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hscript/Interp.hx b/hscript/Interp.hx index 27c0e51..dd9fea4 100644 --- a/hscript/Interp.hx +++ b/hscript/Interp.hx @@ -440,6 +440,7 @@ class Interp { for( i in 0...params.length ) me.locals.set(params[i].name,{ r : args[i] }); var r = null; + var oldDecl = declared.length; if( inTry ) try { r = me.exprReturn(fexpr); @@ -454,6 +455,7 @@ class Interp { } else r = me.exprReturn(fexpr); + restore(oldDecl); me.locals = old; me.depth = depth; return r;