From ae4d8be50c5e4f7685d3d51b0ed247694f9679c2 Mon Sep 17 00:00:00 2001 From: Yoshman29 Date: Wed, 10 Aug 2022 17:21:15 +0200 Subject: [PATCH] more error handling + variables fix --- hscript/Interp.hx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/hscript/Interp.hx b/hscript/Interp.hx index c85e489..9d53ed3 100644 --- a/hscript/Interp.hx +++ b/hscript/Interp.hx @@ -324,6 +324,8 @@ class Interp { returnValue = null; return v; } + } catch(e) { + error(ECustom('${e.toString()}')); } return null; } @@ -509,7 +511,12 @@ class Interp { returnValue = e == null ? null : expr(e); throw SReturn; case EFunction(params, fexpr, name, _): - var capturedLocals = duplicate(locals); + var __capturedLocals = duplicate(locals); + var capturedLocals:Map = []; + for(k=>e in __capturedLocals) + if (e != null && e.depth > 0) + capturedLocals.set(k, e); + var me = this; var hasOpt = false, minParams = 0; for (p in params)