Better CFFI trace

This commit is contained in:
Joshua Granick
2018-06-15 23:35:06 -07:00
parent a7c96a5bff
commit a3b998a18c

View File

@@ -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);