public static object sort(object thisObj, object function) { // TODO: Shouldn't this be generic? SemanticAnalyser.assert_type(thisObj, typeof(ArrayObject)); ArrayObject array_obj = (ArrayObject)thisObj; ScriptFunction fun = function as ScriptFunction; uint n = (uint)array_obj.length; if (n > 1) { SortHelper.qsort(array_obj.elems, 0, n - 1, SortHelper.CompareDelegateFor(fun)); } return(array_obj); }