From 9c7907f91a3a927cfbd14f6af0a0e58d98f9d62c Mon Sep 17 00:00:00 2001 From: Yoshman29 Date: Thu, 30 Jun 2022 02:03:07 +0200 Subject: [PATCH] fixes --- hscript/Interp.hx | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/hscript/Interp.hx b/hscript/Interp.hx index 4c63905..25a4418 100644 --- a/hscript/Interp.hx +++ b/hscript/Interp.hx @@ -701,14 +701,25 @@ import haxe.PosInfos; cast(map, haxe.Constraints.IMap).set(key, value); } - public var getRedirects:MapString->Dynamic> = []; - public var setRedirects:MapString->Dynamic->Dynamic> = []; + public static var getRedirects:MapString->Dynamic> = []; + public static var setRedirects:MapString->Dynamic->Dynamic> = []; function get( o : Dynamic, f : String ) : Dynamic { if ( o == null ) error(EInvalidAccess(f)); return { var redirect:Dynamic->String->Dynamic = null; - var cl:String; + var cl:String = switch(Type.typeof(o)) { + case TNull: + "Null"; + case TInt: + "Int"; + case TFloat: + "Float"; + case TBool: + "Bool"; + case _: + null; + }; if (getRedirects.exists(cl = Type.getClassName(Type.getClass(o))) && (redirect = getRedirects[cl]) != null) { return redirect(o, f); } else { @@ -723,7 +734,18 @@ import haxe.PosInfos; if( o == null ) error(EInvalidAccess(f)); var redirect:Dynamic->String->Dynamic->Dynamic = null; - var cl:String; + var cl:String = switch(Type.typeof(o)) { + case TNull: + "Null"; + case TInt: + "Int"; + case TFloat: + "Float"; + case TBool: + "Bool"; + case _: + null; + }; if (setRedirects.exists(cl = Type.getClassName(Type.getClass(o))) && (redirect = setRedirects[cl]) != null) return redirect(o, f, v);