int low = index;
int high = index + length - 1;
+#if !BOOTSTRAP_BASIC
if (comparer == null) {
if (keys is int[]) {
qsort (keys as int[], items as object[], low, high);
return;
}
}
+#endif
low = MoveNullKeysToFront (keys, items, low, high, comparer == null);
if (low == high)
// Check for value types which can be sorted without Compare () method
//
if (comparer == null) {
+#if !BOOTSTRAP_BASIC
switch (Type.GetTypeCode (typeof (TKey))) {
case TypeCode.Int32:
qsort (keys as Int32[], items, low, high);
qsort (keys as UInt64[], items, low, high);
return;
}
-
+#endif
// Using Comparer<TKey> adds a small overload, but with value types it
// helps us to not box them.
if (typeof (IComparable<TKey>).IsAssignableFrom (typeof (TKey)) &&