|
@@ -578,72 +578,6 @@ import cs.system.Object;
|
|
|
}
|
|
|
#end
|
|
|
|
|
|
- // @:functionCode('
|
|
|
- // if (field == "toString")
|
|
|
- // {
|
|
|
- // if (args == null)
|
|
|
- // return obj.ToString();
|
|
|
- // field = "ToString";
|
|
|
- // }
|
|
|
- // if (args == null) args = new Array<object>();
|
|
|
-
|
|
|
- // System.Reflection.BindingFlags bf;
|
|
|
- // System.Type t = obj as System.Type;
|
|
|
- // if (t == null)
|
|
|
- // {
|
|
|
- // string s = obj as string;
|
|
|
- // if (s != null)
|
|
|
- // return haxe.lang.StringRefl.handleCallField(s, field, args);
|
|
|
- // t = obj.GetType();
|
|
|
- // bf = System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.FlattenHierarchy;
|
|
|
- // } else {
|
|
|
- // if (t == typeof(string) && field.Equals("fromCharCode"))
|
|
|
- // return haxe.lang.StringExt.fromCharCode(toInt(args[0]));
|
|
|
- // obj = null;
|
|
|
- // bf = System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public;
|
|
|
- // }
|
|
|
-
|
|
|
- // System.Reflection.MethodInfo[] mis = t.GetMethods(bf);
|
|
|
- // int last = 0;
|
|
|
- // for (int i = 0; i < mis.Length; i++)
|
|
|
- // {
|
|
|
- // string name = mis[i].Name;
|
|
|
- // if (name.Equals(field))
|
|
|
- // {
|
|
|
- // mis[last++] = mis[i];
|
|
|
- // }
|
|
|
- // }
|
|
|
-
|
|
|
- // if (last == 0 && (field == "__get" || field == "__set"))
|
|
|
- // {
|
|
|
- // field = field == "__get" ? "get_Item" : "set_Item";
|
|
|
- // for (int i = 0; i < mis.Length; i++)
|
|
|
- // {
|
|
|
- // string name = mis[i].Name;
|
|
|
- // if (name.Equals(field))
|
|
|
- // {
|
|
|
- // mis[last++] = mis[i];
|
|
|
- // }
|
|
|
- // }
|
|
|
- // }
|
|
|
-
|
|
|
- // if (last == 0 && t.IsCOMObject)
|
|
|
- // {
|
|
|
- // object[] oargs = new object[arrLen(args)];
|
|
|
- // for (int i = 0; i < oargs.Length; i++)
|
|
|
- // {
|
|
|
- // oargs[i] = args[i];
|
|
|
- // }
|
|
|
- // return t.InvokeMember(field, System.Reflection.BindingFlags.InvokeMethod, null, obj, oargs);
|
|
|
- // }
|
|
|
-
|
|
|
- // if (last == 0)
|
|
|
- // {
|
|
|
- // throw haxe.lang.HaxeException.wrap("Method \'" + field + "\' not found on type " + t);
|
|
|
- // }
|
|
|
-
|
|
|
- // return haxe.lang.Runtime.callMethod(obj, mis, last, args);
|
|
|
- // ')
|
|
|
public static function slowCallField(obj:Dynamic, field:String, args:Array<Dynamic>):Dynamic
|
|
|
{
|
|
|
if (field == "toString" && (args == null || args.length == 0))
|