1 /* ****************************************************************************
3 * Copyright (c) Microsoft Corporation.
5 * This source code is subject to terms and conditions of the Microsoft Public License. A
6 * copy of the license can be found in the License.html file at the root of this distribution. If
7 * you cannot locate the Microsoft Public License, please send an email to
8 * dlr@microsoft.com. By using this source code in any fashion, you are agreeing to be bound
9 * by the terms of the Microsoft Public License.
11 * You must not remove this notice, or any other, from this software.
14 * ***************************************************************************/
15 using System; using Microsoft;
18 using System.Collections.Generic;
19 using System.Collections.ObjectModel;
20 using System.Diagnostics;
23 namespace System.Dynamic {
25 namespace Microsoft.Scripting {
27 internal static class CollectionExtensions {
29 internal static T[] RemoveFirst<T>(this T[] array) {
30 T[] result = new T[array.Length - 1];
31 Array.Copy(array, 1, result, 0, result.Length);
35 internal static T[] AddFirst<T>(this IList<T> list, T item) {
36 T[] res = new T[list.Count + 1];
42 internal static T[] ToArray<T>(this IList<T> list) {
43 T[] res = new T[list.Count];
48 internal static T[] AddLast<T>(this IList<T> list, T item) {
49 T[] res = new T[list.Count + 1];
51 res[list.Count] = item;