internal static BuiltinFunction BuiltinFunctionFor(Object obj, MethodInfo meth){ if (Globals.BuiltinFunctionTable == null) Globals.BuiltinFunctionTable = new SimpleHashtable(64); BuiltinFunction result = (BuiltinFunction)Globals.BuiltinFunctionTable[meth]; if (result != null) return result; result = new BuiltinFunction(obj, meth); lock (Globals.BuiltinFunctionTable){ Globals.BuiltinFunctionTable[meth] = result; } return result; }
internal static BuiltinFunction BuiltinFunctionFor(object obj, MethodInfo meth) { if (BuiltinFunctionTable == null) { BuiltinFunctionTable = new SimpleHashtable(0x40); } BuiltinFunction function = (BuiltinFunction) BuiltinFunctionTable[meth]; if (function == null) { function = new BuiltinFunction(obj, meth); lock (BuiltinFunctionTable) { BuiltinFunctionTable[meth] = function; } } return function; }
internal static BuiltinFunction BuiltinFunctionFor(Object obj, MethodInfo meth) { if (Globals.BuiltinFunctionTable == null) { Globals.BuiltinFunctionTable = new SimpleHashtable(64); } BuiltinFunction result = (BuiltinFunction)Globals.BuiltinFunctionTable[meth]; if (result != null) { return(result); } result = new BuiltinFunction(obj, meth); lock (Globals.BuiltinFunctionTable){ Globals.BuiltinFunctionTable[meth] = result; } return(result); }
internal static BuiltinFunction BuiltinFunctionFor(object obj, MethodInfo meth) { if (BuiltinFunctionTable == null) { BuiltinFunctionTable = new SimpleHashtable(0x40); } BuiltinFunction function = (BuiltinFunction)BuiltinFunctionTable[meth]; if (function == null) { function = new BuiltinFunction(obj, meth); lock (BuiltinFunctionTable) { BuiltinFunctionTable[meth] = function; } } return(function); }
internal override Object Call(Object[] args, Object thisob) { return(BuiltinFunction.QuickCall(args, thisob, this.biFunc, this.method, this.engine)); }