From a3b998a18cca8e262e3d10a4f8438d7d79ed4fa9 Mon Sep 17 00:00:00 2001 From: Joshua Granick Date: Fri, 15 Jun 2018 23:35:06 -0700 Subject: [PATCH] Better CFFI trace --- lime/system/CFFI.hx | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/lime/system/CFFI.hx b/lime/system/CFFI.hx index 1a7d7f527..90aeb6ca7 100644 --- a/lime/system/CFFI.hx +++ b/lime/system/CFFI.hx @@ -117,16 +117,12 @@ class CFFI { var result:Dynamic = neko.Lib.load (__moduleNames.get (library), method, args); if (result == null) return null; - var _trace = function () { trace ("Called " + library + "@" + method); } - - switch (args) { - case 1: return function (a:Dynamic):Dynamic { _trace (); return result (a); } - case 2: return function (a:Dynamic, b:Dynamic):Dynamic { _trace (); return result (a, b); } - case 3: return function (a:Dynamic, b:Dynamic, c:Dynamic):Dynamic { _trace (); return result (a, b, c); } - case 4: return function (a:Dynamic, b:Dynamic, c:Dynamic, d:Dynamic):Dynamic { _trace (); return result (a, b, c, d); } - case 5: return function (a:Dynamic, b:Dynamic, c:Dynamic, d:Dynamic, e:Dynamic):Dynamic { _trace (); return result (a, b, c, d, e); } - default: return function ():Dynamic { _trace (); return result (); } - } + return Reflect.makeVarArgs (function (args) { + + trace ("Called " + library + "@" + method); + return Reflect.callMethod (result, result, args); + + }); #else return neko.Lib.load (__moduleNames.get (library), method, args);