using System; using System.Diagnostics; using System.Runtime.InteropServices; namespace System.Collections { /// Implements the interface using an array whose size is dynamically increased as required. /// 1 // Token: 0x02000113 RID: 275 [DebuggerDisplay("Count={Count}")] [DebuggerTypeProxy(typeof(CollectionDebuggerView))] [ComVisible(true)] [Serializable] public class ArrayList : IEnumerable, ICloneable, ICollection, IList { /// Initializes a new instance of the class that is empty and has the default initial capacity. // Token: 0x06000DB9 RID: 3513 RVA: 0x0003BB44 File Offset: 0x00039D44 public ArrayList() { this._items = ArrayList.EmptyArray; } /// Initializes a new instance of the class that contains elements copied from the specified collection and that has the same initial capacity as the number of elements copied. /// The whose elements are copied to the new list. /// /// is null. // Token: 0x06000DBA RID: 3514 RVA: 0x0003BB58 File Offset: 0x00039D58 public ArrayList(ICollection c) { if (c == null) { throw new ArgumentNullException("c"); } Array array = c as Array; if (array != null && array.Rank != 1) { throw new RankException(); } this._items = new object[c.Count]; this.AddRange(c); } /// Initializes a new instance of the class that is empty and has the specified initial capacity. /// The number of elements that the new list can initially store. /// /// is less than zero. // Token: 0x06000DBB RID: 3515 RVA: 0x0003BBB4 File Offset: 0x00039DB4 public ArrayList(int capacity) { if (capacity < 0) { ArrayList.ThrowNewArgumentOutOfRangeException("capacity", capacity, "The initial capacity can't be smaller than zero."); } if (capacity == 0) { capacity = 4; } this._items = new object[capacity]; } // Token: 0x06000DBC RID: 3516 RVA: 0x0003BBF0 File Offset: 0x00039DF0 private ArrayList(int initialCapacity, bool forceZeroSize) { if (forceZeroSize) { this._items = null; return; } throw new InvalidOperationException("Use ArrayList(int)"); } // Token: 0x06000DBD RID: 3517 RVA: 0x0003BC18 File Offset: 0x00039E18 private ArrayList(object[] array, int index, int count) { if (count == 0) { this._items = new object[4]; } else { this._items = new object[count]; } Array.Copy(array, index, this._items, 0, count); this._size = count; } /// Gets or sets the element at the specified index. /// The element at the specified index. /// The zero-based index of the element to get or set. /// /// is less than zero.-or- is equal to or greater than . /// 1 // Token: 0x17000215 RID: 533 public virtual object this[int index] { get { if (index < 0 || index >= this._size) { ArrayList.ThrowNewArgumentOutOfRangeException("index", index, "Index is less than 0 or more than or equal to the list count."); } return this._items[index]; } set { if (index < 0 || index >= this._size) { ArrayList.ThrowNewArgumentOutOfRangeException("index", index, "Index is less than 0 or more than or equal to the list count."); } this._items[index] = value; this._version++; } } /// Gets the number of elements actually contained in the . /// The number of elements actually contained in the . /// 1 // Token: 0x17000216 RID: 534 // (get) Token: 0x06000DC1 RID: 3521 RVA: 0x0003BD00 File Offset: 0x00039F00 public virtual int Count { get { return this._size; } } /// Gets or sets the number of elements that the can contain. /// The number of elements that the can contain. /// /// is set to a value that is less than . /// There is not enough memory available on the system. /// 1 // Token: 0x17000217 RID: 535 // (get) Token: 0x06000DC2 RID: 3522 RVA: 0x0003BD08 File Offset: 0x00039F08 // (set) Token: 0x06000DC3 RID: 3523 RVA: 0x0003BD14 File Offset: 0x00039F14 public virtual int Capacity { get { return this._items.Length; } set { if (value < this._size) { ArrayList.ThrowNewArgumentOutOfRangeException("Capacity", value, "Must be more than count."); } object[] array = new object[value]; Array.Copy(this._items, 0, array, 0, this._size); this._items = array; } } /// Gets a value indicating whether the has a fixed size. /// true if the has a fixed size; otherwise, false. The default is false. /// 2 // Token: 0x17000218 RID: 536 // (get) Token: 0x06000DC4 RID: 3524 RVA: 0x0003BD64 File Offset: 0x00039F64 public virtual bool IsFixedSize { get { return false; } } /// Gets a value indicating whether the is read-only. /// true if the is read-only; otherwise, false. The default is false. /// 2 // Token: 0x17000219 RID: 537 // (get) Token: 0x06000DC5 RID: 3525 RVA: 0x0003BD68 File Offset: 0x00039F68 public virtual bool IsReadOnly { get { return false; } } /// Gets a value indicating whether access to the is synchronized (thread safe). /// true if access to the is synchronized (thread safe); otherwise, false. The default is false. /// 2 // Token: 0x1700021A RID: 538 // (get) Token: 0x06000DC6 RID: 3526 RVA: 0x0003BD6C File Offset: 0x00039F6C public virtual bool IsSynchronized { get { return false; } } /// Gets an object that can be used to synchronize access to the . /// An object that can be used to synchronize access to the . /// 2 // Token: 0x1700021B RID: 539 // (get) Token: 0x06000DC7 RID: 3527 RVA: 0x0003BD70 File Offset: 0x00039F70 public virtual object SyncRoot { get { return this; } } // Token: 0x06000DC8 RID: 3528 RVA: 0x0003BD74 File Offset: 0x00039F74 private void EnsureCapacity(int count) { if (count <= this._items.Length) { return; } int i = this._items.Length << 1; if (i == 0) { i = 4; } while (i < count) { i <<= 1; } object[] array = new object[i]; Array.Copy(this._items, 0, array, 0, this._items.Length); this._items = array; } // Token: 0x06000DC9 RID: 3529 RVA: 0x0003BDD8 File Offset: 0x00039FD8 private void Shift(int index, int count) { if (count > 0) { if (this._size + count > this._items.Length) { int i; for (i = ((this._items.Length <= 0) ? 1 : (this._items.Length << 1)); i < this._size + count; i <<= 1) { } object[] array = new object[i]; Array.Copy(this._items, 0, array, 0, index); Array.Copy(this._items, index, array, index + count, this._size - index); this._items = array; } else { Array.Copy(this._items, index, this._items, index + count, this._size - index); } } else if (count < 0) { int num = index - count; Array.Copy(this._items, num, this._items, index, this._size - num); Array.Clear(this._items, this._size + count, -count); } } /// Adds an object to the end of the . /// The index at which the has been added. /// The to be added to the end of the . The value can be null. /// The is read-only.-or- The has a fixed size. /// 1 // Token: 0x06000DCA RID: 3530 RVA: 0x0003BED0 File Offset: 0x0003A0D0 public virtual int Add(object value) { if (this._items.Length <= this._size) { this.EnsureCapacity(this._size + 1); } this._items[this._size] = value; this._version++; return this._size++; } /// Removes all elements from the . /// The is read-only.-or- The has a fixed size. /// 1 // Token: 0x06000DCB RID: 3531 RVA: 0x0003BF2C File Offset: 0x0003A12C public virtual void Clear() { Array.Clear(this._items, 0, this._size); this._size = 0; this._version++; } /// Determines whether an element is in the . /// true if is found in the ; otherwise, false. /// The to locate in the . The value can be null. /// 1 // Token: 0x06000DCC RID: 3532 RVA: 0x0003BF58 File Offset: 0x0003A158 public virtual bool Contains(object item) { return this.IndexOf(item, 0, this._size) > -1; } // Token: 0x06000DCD RID: 3533 RVA: 0x0003BF6C File Offset: 0x0003A16C internal virtual bool Contains(object value, int startIndex, int count) { return this.IndexOf(value, startIndex, count) > -1; } /// Searches for the specified and returns the zero-based index of the first occurrence within the entire . /// The zero-based index of the first occurrence of within the entire , if found; otherwise, -1. /// The to locate in the . The value can be null. /// 1 // Token: 0x06000DCE RID: 3534 RVA: 0x0003BF7C File Offset: 0x0003A17C public virtual int IndexOf(object value) { return this.IndexOf(value, 0); } /// Searches for the specified and returns the zero-based index of the first occurrence within the range of elements in the that extends from the specified index to the last element. /// The zero-based index of the first occurrence of within the range of elements in the that extends from to the last element, if found; otherwise, -1. /// The to locate in the . The value can be null. /// The zero-based starting index of the search. 0 (zero) is valid in an empty array. /// /// is outside the range of valid indexes for the . /// 1 // Token: 0x06000DCF RID: 3535 RVA: 0x0003BF88 File Offset: 0x0003A188 public virtual int IndexOf(object value, int startIndex) { return this.IndexOf(value, startIndex, this._size - startIndex); } /// Searches for the specified and returns the zero-based index of the first occurrence within the range of elements in the that starts at the specified index and contains the specified number of elements. /// The zero-based index of the first occurrence of within the range of elements in the that starts at and contains number of elements, if found; otherwise, -1. /// The to locate in the . The value can be null. /// The zero-based starting index of the search. 0 (zero) is valid in an empty array. /// The number of elements in the section to search. /// /// is outside the range of valid indexes for the .-or- is less than zero.-or- and do not specify a valid section in the . /// 1 // Token: 0x06000DD0 RID: 3536 RVA: 0x0003BF9C File Offset: 0x0003A19C public virtual int IndexOf(object value, int startIndex, int count) { if (startIndex < 0 || startIndex > this._size) { ArrayList.ThrowNewArgumentOutOfRangeException("startIndex", startIndex, "Does not specify valid index."); } if (count < 0) { ArrayList.ThrowNewArgumentOutOfRangeException("count", count, "Can't be less than 0."); } if (startIndex > this._size - count) { throw new ArgumentOutOfRangeException("count", "Start index and count do not specify a valid range."); } return Array.IndexOf(this._items, value, startIndex, count); } /// Searches for the specified and returns the zero-based index of the last occurrence within the entire . /// The zero-based index of the last occurrence of within the entire the , if found; otherwise, -1. /// The to locate in the . The value can be null. /// 2 // Token: 0x06000DD1 RID: 3537 RVA: 0x0003C01C File Offset: 0x0003A21C public virtual int LastIndexOf(object value) { return this.LastIndexOf(value, this._size - 1); } /// Searches for the specified and returns the zero-based index of the last occurrence within the range of elements in the that extends from the first element to the specified index. /// The zero-based index of the last occurrence of within the range of elements in the that extends from the first element to , if found; otherwise, -1. /// The to locate in the . The value can be null. /// The zero-based starting index of the backward search. /// /// is outside the range of valid indexes for the . /// 2 // Token: 0x06000DD2 RID: 3538 RVA: 0x0003C030 File Offset: 0x0003A230 public virtual int LastIndexOf(object value, int startIndex) { return this.LastIndexOf(value, startIndex, startIndex + 1); } /// Searches for the specified and returns the zero-based index of the last occurrence within the range of elements in the that contains the specified number of elements and ends at the specified index. /// The zero-based index of the last occurrence of within the range of elements in the that contains number of elements and ends at , if found; otherwise, -1. /// The to locate in the . The value can be null. /// The zero-based starting index of the backward search. /// The number of elements in the section to search. /// /// is outside the range of valid indexes for the .-or- is less than zero.-or- and do not specify a valid section in the . /// 2 // Token: 0x06000DD3 RID: 3539 RVA: 0x0003C040 File Offset: 0x0003A240 public virtual int LastIndexOf(object value, int startIndex, int count) { return Array.LastIndexOf(this._items, value, startIndex, count); } /// Inserts an element into the at the specified index. /// The zero-based index at which should be inserted. /// The to insert. The value can be null. /// /// is less than zero.-or- is greater than . /// The is read-only.-or- The has a fixed size. /// 1 // Token: 0x06000DD4 RID: 3540 RVA: 0x0003C050 File Offset: 0x0003A250 public virtual void Insert(int index, object value) { if (index < 0 || index > this._size) { ArrayList.ThrowNewArgumentOutOfRangeException("index", index, "Index must be >= 0 and <= Count."); } this.Shift(index, 1); this._items[index] = value; this._size++; this._version++; } /// Inserts the elements of a collection into the at the specified index. /// The zero-based index at which the new elements should be inserted. /// The whose elements should be inserted into the . The collection itself cannot be null, but it can contain elements that are null. /// /// is null. /// /// is less than zero.-or- is greater than . /// The is read-only.-or- The has a fixed size. /// 2 // Token: 0x06000DD5 RID: 3541 RVA: 0x0003C0B4 File Offset: 0x0003A2B4 public virtual void InsertRange(int index, ICollection c) { if (c == null) { throw new ArgumentNullException("c"); } if (index < 0 || index > this._size) { ArrayList.ThrowNewArgumentOutOfRangeException("index", index, "Index must be >= 0 and <= Count."); } int count = c.Count; if (this._items.Length < this._size + count) { this.EnsureCapacity(this._size + count); } if (index < this._size) { Array.Copy(this._items, index, this._items, index + count, this._size - index); } if (this == c.SyncRoot) { Array.Copy(this._items, 0, this._items, index, index); Array.Copy(this._items, index + count, this._items, index << 1, this._size - index); } else { c.CopyTo(this._items, index); } this._size += c.Count; this._version++; } /// Removes the first occurrence of a specific object from the . /// The to remove from the . The value can be null. /// The is read-only.-or- The has a fixed size. /// 1 // Token: 0x06000DD6 RID: 3542 RVA: 0x0003C1C0 File Offset: 0x0003A3C0 public virtual void Remove(object obj) { int num = this.IndexOf(obj); if (num > -1) { this.RemoveAt(num); } this._version++; } /// Removes the element at the specified index of the . /// The zero-based index of the element to remove. /// /// is less than zero.-or- is equal to or greater than . /// The is read-only.-or- The has a fixed size. /// 1 // Token: 0x06000DD7 RID: 3543 RVA: 0x0003C1F4 File Offset: 0x0003A3F4 public virtual void RemoveAt(int index) { if (index < 0 || index >= this._size) { ArrayList.ThrowNewArgumentOutOfRangeException("index", index, "Less than 0 or more than list count."); } this.Shift(index, -1); this._size--; this._version++; } /// Removes a range of elements from the . /// The zero-based starting index of the range of elements to remove. /// The number of elements to remove. /// /// is less than zero.-or- is less than zero. /// /// and do not denote a valid range of elements in the . /// The is read-only.-or- The has a fixed size. /// 2 // Token: 0x06000DD8 RID: 3544 RVA: 0x0003C250 File Offset: 0x0003A450 public virtual void RemoveRange(int index, int count) { ArrayList.CheckRange(index, count, this._size); this.Shift(index, -count); this._size -= count; this._version++; } /// Reverses the order of the elements in the entire . /// The is read-only. /// 2 // Token: 0x06000DD9 RID: 3545 RVA: 0x0003C290 File Offset: 0x0003A490 public virtual void Reverse() { Array.Reverse(this._items, 0, this._size); this._version++; } /// Reverses the order of the elements in the specified range. /// The zero-based starting index of the range to reverse. /// The number of elements in the range to reverse. /// /// is less than zero.-or- is less than zero. /// /// and do not denote a valid range of elements in the . /// The is read-only. /// 2 // Token: 0x06000DDA RID: 3546 RVA: 0x0003C2C0 File Offset: 0x0003A4C0 public virtual void Reverse(int index, int count) { ArrayList.CheckRange(index, count, this._size); Array.Reverse(this._items, index, count); this._version++; } /// Copies the entire to a compatible one-dimensional , starting at the beginning of the target array. /// The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. /// /// is null. /// /// is multidimensional.-or- The number of elements in the source is greater than the number of elements that the destination can contain. /// The type of the source cannot be cast automatically to the type of the destination . /// 2 // Token: 0x06000DDB RID: 3547 RVA: 0x0003C2F8 File Offset: 0x0003A4F8 public virtual void CopyTo(Array array) { Array.Copy(this._items, array, this._size); } /// Copies the entire to a compatible one-dimensional , starting at the specified index of the target array. /// The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. /// The zero-based index in at which copying begins. /// /// is null. /// /// is less than zero. /// /// is multidimensional.-or- The number of elements in the source is greater than the available space from to the end of the destination . /// The type of the source cannot be cast automatically to the type of the destination . /// 2 // Token: 0x06000DDC RID: 3548 RVA: 0x0003C30C File Offset: 0x0003A50C public virtual void CopyTo(Array array, int arrayIndex) { this.CopyTo(0, array, arrayIndex, this._size); } /// Copies a range of elements from the to a compatible one-dimensional , starting at the specified index of the target array. /// The zero-based index in the source at which copying begins. /// The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. /// The zero-based index in at which copying begins. /// The number of elements to copy. /// /// is null. /// /// is less than zero.-or- is less than zero.-or- is less than zero. /// /// is multidimensional.-or- is equal to or greater than the of the source .-or- The number of elements from to the end of the source is greater than the available space from to the end of the destination . /// The type of the source cannot be cast automatically to the type of the destination . /// 2 // Token: 0x06000DDD RID: 3549 RVA: 0x0003C320 File Offset: 0x0003A520 public virtual void CopyTo(int index, Array array, int arrayIndex, int count) { if (array == null) { throw new ArgumentNullException("array"); } if (array.Rank != 1) { throw new ArgumentException("Must have only 1 dimensions.", "array"); } Array.Copy(this._items, index, array, arrayIndex, count); } /// Returns an enumerator for the entire . /// An for the entire . /// 2 // Token: 0x06000DDE RID: 3550 RVA: 0x0003C360 File Offset: 0x0003A560 public virtual IEnumerator GetEnumerator() { return new ArrayList.SimpleEnumerator(this); } /// Returns an enumerator for a range of elements in the . /// An for the specified range of elements in the . /// The zero-based starting index of the section that the enumerator should refer to. /// The number of elements in the section that the enumerator should refer to. /// /// is less than zero.-or- is less than zero. /// /// and do not specify a valid range in the . /// 2 // Token: 0x06000DDF RID: 3551 RVA: 0x0003C368 File Offset: 0x0003A568 public virtual IEnumerator GetEnumerator(int index, int count) { ArrayList.CheckRange(index, count, this._size); return new ArrayList.ArrayListEnumerator(this, index, count); } /// Adds the elements of an to the end of the . /// The whose elements should be added to the end of the . The collection itself cannot be null, but it can contain elements that are null. /// /// is null. /// The is read-only.-or- The has a fixed size. /// 1 // Token: 0x06000DE0 RID: 3552 RVA: 0x0003C380 File Offset: 0x0003A580 public virtual void AddRange(ICollection c) { this.InsertRange(this._size, c); } /// Searches the entire sorted for an element using the default comparer and returns the zero-based index of the element. /// The zero-based index of in the sorted , if is found; otherwise, a negative number, which is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . /// The to locate. The value can be null. /// Neither nor the elements of implement the interface. /// /// is not of the same type as the elements of the . /// 1 // Token: 0x06000DE1 RID: 3553 RVA: 0x0003C390 File Offset: 0x0003A590 public virtual int BinarySearch(object value) { int num; try { num = Array.BinarySearch(this._items, 0, this._size, value); } catch (InvalidOperationException ex) { throw new ArgumentException(ex.Message); } return num; } /// Searches the entire sorted for an element using the specified comparer and returns the zero-based index of the element. /// The zero-based index of in the sorted , if is found; otherwise, a negative number, which is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . /// The to locate. The value can be null. /// The implementation to use when comparing elements.-or- null to use the default comparer that is the implementation of each element. /// /// is null and neither nor the elements of implement the interface. /// /// is null and is not of the same type as the elements of the . /// 1 // Token: 0x06000DE2 RID: 3554 RVA: 0x0003C3EC File Offset: 0x0003A5EC public virtual int BinarySearch(object value, IComparer comparer) { int num; try { num = Array.BinarySearch(this._items, 0, this._size, value, comparer); } catch (InvalidOperationException ex) { throw new ArgumentException(ex.Message); } return num; } /// Searches a range of elements in the sorted for an element using the specified comparer and returns the zero-based index of the element. /// The zero-based index of in the sorted , if is found; otherwise, a negative number, which is the bitwise complement of the index of the next element that is larger than or, if there is no larger element, the bitwise complement of . /// The zero-based starting index of the range to search. /// The length of the range to search. /// The to locate. The value can be null. /// The implementation to use when comparing elements.-or- null to use the default comparer that is the implementation of each element. /// /// and do not denote a valid range in the .-or- is null and neither nor the elements of implement the interface. /// /// is null and is not of the same type as the elements of the . /// /// is less than zero.-or- is less than zero. /// 1 // Token: 0x06000DE3 RID: 3555 RVA: 0x0003C448 File Offset: 0x0003A648 public virtual int BinarySearch(int index, int count, object value, IComparer comparer) { int num; try { num = Array.BinarySearch(this._items, index, count, value, comparer); } catch (InvalidOperationException ex) { throw new ArgumentException(ex.Message); } return num; } /// Returns an which represents a subset of the elements in the source . /// An which represents a subset of the elements in the source . /// The zero-based index at which the range starts. /// The number of elements in the range. /// /// is less than zero.-or- is less than zero. /// /// and do not denote a valid range of elements in the . /// 2 // Token: 0x06000DE4 RID: 3556 RVA: 0x0003C4A0 File Offset: 0x0003A6A0 public virtual ArrayList GetRange(int index, int count) { ArrayList.CheckRange(index, count, this._size); if (this.IsSynchronized) { return ArrayList.Synchronized(new ArrayList.RangedArrayList(this, index, count)); } return new ArrayList.RangedArrayList(this, index, count); } /// Copies the elements of a collection over a range of elements in the . /// The zero-based index at which to start copying the elements of . /// The whose elements to copy to the . The collection itself cannot be null, but it can contain elements that are null. /// /// is less than zero.-or- plus the number of elements in is greater than . /// /// is null. /// The is read-only. /// 2 // Token: 0x06000DE5 RID: 3557 RVA: 0x0003C4DC File Offset: 0x0003A6DC public virtual void SetRange(int index, ICollection c) { if (c == null) { throw new ArgumentNullException("c"); } if (index < 0 || index + c.Count > this._size) { throw new ArgumentOutOfRangeException("index"); } c.CopyTo(this._items, index); this._version++; } /// Sets the capacity to the actual number of elements in the . /// The is read-only.-or- The has a fixed size. /// 2 // Token: 0x06000DE6 RID: 3558 RVA: 0x0003C53C File Offset: 0x0003A73C public virtual void TrimToSize() { if (this._items.Length > this._size) { object[] array; if (this._size == 0) { array = new object[4]; } else { array = new object[this._size]; } Array.Copy(this._items, 0, array, 0, this._size); this._items = array; } } /// Sorts the elements in the entire . /// The is read-only. /// 1 // Token: 0x06000DE7 RID: 3559 RVA: 0x0003C59C File Offset: 0x0003A79C public virtual void Sort() { Array.Sort(this._items, 0, this._size); this._version++; } /// Sorts the elements in the entire using the specified comparer. /// The implementation to use when comparing elements.-or- null to use the implementation of each element. /// The is read-only. /// 1 // Token: 0x06000DE8 RID: 3560 RVA: 0x0003C5CC File Offset: 0x0003A7CC public virtual void Sort(IComparer comparer) { Array.Sort(this._items, 0, this._size, comparer); } /// Sorts the elements in a range of elements in using the specified comparer. /// The zero-based starting index of the range to sort. /// The length of the range to sort. /// The implementation to use when comparing elements.-or- null to use the implementation of each element. /// /// is less than zero.-or- is less than zero. /// /// and do not specify a valid range in the . /// The is read-only. /// 1 // Token: 0x06000DE9 RID: 3561 RVA: 0x0003C5E4 File Offset: 0x0003A7E4 public virtual void Sort(int index, int count, IComparer comparer) { ArrayList.CheckRange(index, count, this._size); Array.Sort(this._items, index, count, comparer); } /// Copies the elements of the to a new array. /// An array containing copies of the elements of the . /// 1 // Token: 0x06000DEA RID: 3562 RVA: 0x0003C604 File Offset: 0x0003A804 public virtual object[] ToArray() { object[] array = new object[this._size]; this.CopyTo(array); return array; } /// Copies the elements of the to a new array of the specified element type. /// An array of the specified element type containing copies of the elements of the . /// The element of the destination array to create and copy elements to. /// /// is null. /// The type of the source cannot be cast automatically to the specified type. /// 1 // Token: 0x06000DEB RID: 3563 RVA: 0x0003C628 File Offset: 0x0003A828 public virtual Array ToArray(Type type) { Array array = Array.CreateInstance(type, this._size); this.CopyTo(array); return array; } /// Creates a shallow copy of the . /// A shallow copy of the . /// 2 // Token: 0x06000DEC RID: 3564 RVA: 0x0003C64C File Offset: 0x0003A84C public virtual object Clone() { return new ArrayList(this._items, 0, this._size); } // Token: 0x06000DED RID: 3565 RVA: 0x0003C660 File Offset: 0x0003A860 internal static void CheckRange(int index, int count, int listCount) { if (index < 0) { ArrayList.ThrowNewArgumentOutOfRangeException("index", index, "Can't be less than 0."); } if (count < 0) { ArrayList.ThrowNewArgumentOutOfRangeException("count", count, "Can't be less than 0."); } if (index > listCount - count) { throw new ArgumentException("Index and count do not denote a valid range of elements.", "index"); } } // Token: 0x06000DEE RID: 3566 RVA: 0x0003C6C0 File Offset: 0x0003A8C0 internal static void ThrowNewArgumentOutOfRangeException(string name, object actual, string message) { throw new ArgumentOutOfRangeException(name, actual, message); } /// Creates an wrapper for a specific . /// The wrapper around the . /// The to wrap. /// /// is null. /// 2 // Token: 0x06000DEF RID: 3567 RVA: 0x0003C6CC File Offset: 0x0003A8CC public static ArrayList Adapter(IList list) { if (list == null) { throw new ArgumentNullException("list"); } ArrayList arrayList = list as ArrayList; if (arrayList != null) { return arrayList; } arrayList = new ArrayList.ArrayListAdapter(list); if (list.IsSynchronized) { return ArrayList.Synchronized(arrayList); } return arrayList; } /// Returns an wrapper that is synchronized (thread safe). /// An wrapper that is synchronized (thread safe). /// The to synchronize. /// /// is null. /// 2 // Token: 0x06000DF0 RID: 3568 RVA: 0x0003C714 File Offset: 0x0003A914 public static ArrayList Synchronized(ArrayList list) { if (list == null) { throw new ArgumentNullException("list"); } if (list.IsSynchronized) { return list; } return new ArrayList.SynchronizedArrayListWrapper(list); } /// Returns an wrapper that is synchronized (thread safe). /// An wrapper that is synchronized (thread safe). /// The to synchronize. /// /// is null. /// 2 // Token: 0x06000DF1 RID: 3569 RVA: 0x0003C748 File Offset: 0x0003A948 public static IList Synchronized(IList list) { if (list == null) { throw new ArgumentNullException("list"); } if (list.IsSynchronized) { return list; } return new ArrayList.SynchronizedListWrapper(list); } /// Returns a read-only wrapper. /// A read-only wrapper around . /// The to wrap. /// /// is null. /// 2 // Token: 0x06000DF2 RID: 3570 RVA: 0x0003C77C File Offset: 0x0003A97C public static ArrayList ReadOnly(ArrayList list) { if (list == null) { throw new ArgumentNullException("list"); } if (list.IsReadOnly) { return list; } return new ArrayList.ReadOnlyArrayListWrapper(list); } /// Returns a read-only wrapper. /// A read-only wrapper around . /// The to wrap. /// /// is null. /// 2 // Token: 0x06000DF3 RID: 3571 RVA: 0x0003C7B0 File Offset: 0x0003A9B0 public static IList ReadOnly(IList list) { if (list == null) { throw new ArgumentNullException("list"); } if (list.IsReadOnly) { return list; } return new ArrayList.ReadOnlyListWrapper(list); } /// Returns an wrapper with a fixed size. /// An wrapper with a fixed size. /// The to wrap. /// /// is null. /// 2 // Token: 0x06000DF4 RID: 3572 RVA: 0x0003C7E4 File Offset: 0x0003A9E4 public static ArrayList FixedSize(ArrayList list) { if (list == null) { throw new ArgumentNullException("list"); } if (list.IsFixedSize) { return list; } return new ArrayList.FixedSizeArrayListWrapper(list); } /// Returns an wrapper with a fixed size. /// An wrapper with a fixed size. /// The to wrap. /// /// is null. /// 2 // Token: 0x06000DF5 RID: 3573 RVA: 0x0003C818 File Offset: 0x0003AA18 public static IList FixedSize(IList list) { if (list == null) { throw new ArgumentNullException("list"); } if (list.IsFixedSize) { return list; } return new ArrayList.FixedSizeListWrapper(list); } /// Returns an whose elements are copies of the specified value. /// An with number of elements, all of which are copies of . /// The to copy multiple times in the new . The value can be null. /// The number of times should be copied. /// /// is less than zero. /// 2 // Token: 0x06000DF6 RID: 3574 RVA: 0x0003C84C File Offset: 0x0003AA4C public static ArrayList Repeat(object value, int count) { ArrayList arrayList = new ArrayList(count); for (int i = 0; i < count; i++) { arrayList.Add(value); } return arrayList; } // Token: 0x0400038D RID: 909 private const int DefaultInitialCapacity = 4; // Token: 0x0400038E RID: 910 private int _size; // Token: 0x0400038F RID: 911 private object[] _items; // Token: 0x04000390 RID: 912 private int _version; // Token: 0x04000391 RID: 913 private static readonly object[] EmptyArray = new object[0]; // Token: 0x02000114 RID: 276 private sealed class ArrayListEnumerator : IEnumerator, ICloneable { // Token: 0x06000DF7 RID: 3575 RVA: 0x0003C87C File Offset: 0x0003AA7C public ArrayListEnumerator(ArrayList list) : this(list, 0, list.Count) { } // Token: 0x06000DF8 RID: 3576 RVA: 0x0003C88C File Offset: 0x0003AA8C public ArrayListEnumerator(ArrayList list, int index, int count) { this.m_List = list; this.m_Index = index; this.m_Count = count; this.m_Pos = this.m_Index - 1; this.m_Current = null; this.m_ExpectedStateChanges = list._version; } // Token: 0x06000DF9 RID: 3577 RVA: 0x0003C8D8 File Offset: 0x0003AAD8 public object Clone() { return base.MemberwiseClone(); } // Token: 0x1700021C RID: 540 // (get) Token: 0x06000DFA RID: 3578 RVA: 0x0003C8E0 File Offset: 0x0003AAE0 public object Current { get { if (this.m_Pos == this.m_Index - 1) { throw new InvalidOperationException("Enumerator unusable (Reset pending, or past end of array."); } return this.m_Current; } } // Token: 0x06000DFB RID: 3579 RVA: 0x0003C914 File Offset: 0x0003AB14 public bool MoveNext() { if (this.m_List._version != this.m_ExpectedStateChanges) { throw new InvalidOperationException("List has changed."); } this.m_Pos++; if (this.m_Pos - this.m_Index < this.m_Count) { this.m_Current = this.m_List[this.m_Pos]; return true; } return false; } // Token: 0x06000DFC RID: 3580 RVA: 0x0003C984 File Offset: 0x0003AB84 public void Reset() { this.m_Current = null; this.m_Pos = this.m_Index - 1; } // Token: 0x04000392 RID: 914 private int m_Pos; // Token: 0x04000393 RID: 915 private int m_Index; // Token: 0x04000394 RID: 916 private int m_Count; // Token: 0x04000395 RID: 917 private object m_Current; // Token: 0x04000396 RID: 918 private ArrayList m_List; // Token: 0x04000397 RID: 919 private int m_ExpectedStateChanges; } // Token: 0x02000115 RID: 277 private sealed class SimpleEnumerator : IEnumerator, ICloneable { // Token: 0x06000DFD RID: 3581 RVA: 0x0003C99C File Offset: 0x0003AB9C public SimpleEnumerator(ArrayList list) { this.list = list; this.index = -1; this.version = list._version; this.currentElement = ArrayList.SimpleEnumerator.endFlag; } // Token: 0x06000DFF RID: 3583 RVA: 0x0003C9D8 File Offset: 0x0003ABD8 public object Clone() { return base.MemberwiseClone(); } // Token: 0x06000E00 RID: 3584 RVA: 0x0003C9E0 File Offset: 0x0003ABE0 public bool MoveNext() { if (this.version != this.list._version) { throw new InvalidOperationException("List has changed."); } if (++this.index < this.list.Count) { this.currentElement = this.list[this.index]; return true; } this.currentElement = ArrayList.SimpleEnumerator.endFlag; return false; } // Token: 0x1700021D RID: 541 // (get) Token: 0x06000E01 RID: 3585 RVA: 0x0003CA54 File Offset: 0x0003AC54 public object Current { get { if (this.currentElement != ArrayList.SimpleEnumerator.endFlag) { return this.currentElement; } if (this.index == -1) { throw new InvalidOperationException("Enumerator not started"); } throw new InvalidOperationException("Enumerator ended"); } } // Token: 0x06000E02 RID: 3586 RVA: 0x0003CA9C File Offset: 0x0003AC9C public void Reset() { if (this.version != this.list._version) { throw new InvalidOperationException("List has changed."); } this.currentElement = ArrayList.SimpleEnumerator.endFlag; this.index = -1; } // Token: 0x04000398 RID: 920 private ArrayList list; // Token: 0x04000399 RID: 921 private int index; // Token: 0x0400039A RID: 922 private int version; // Token: 0x0400039B RID: 923 private object currentElement; // Token: 0x0400039C RID: 924 private static object endFlag = new object(); } // Token: 0x02000116 RID: 278 [Serializable] private sealed class ArrayListAdapter : ArrayList { // Token: 0x06000E03 RID: 3587 RVA: 0x0003CAD4 File Offset: 0x0003ACD4 public ArrayListAdapter(IList adaptee) : base(0, true) { this.m_Adaptee = adaptee; } // Token: 0x1700021E RID: 542 public override object this[int index] { get { return this.m_Adaptee[index]; } set { this.m_Adaptee[index] = value; } } // Token: 0x1700021F RID: 543 // (get) Token: 0x06000E06 RID: 3590 RVA: 0x0003CB08 File Offset: 0x0003AD08 public override int Count { get { return this.m_Adaptee.Count; } } // Token: 0x17000220 RID: 544 // (get) Token: 0x06000E07 RID: 3591 RVA: 0x0003CB18 File Offset: 0x0003AD18 // (set) Token: 0x06000E08 RID: 3592 RVA: 0x0003CB28 File Offset: 0x0003AD28 public override int Capacity { get { return this.m_Adaptee.Count; } set { if (value < this.m_Adaptee.Count) { throw new ArgumentException("capacity"); } } } // Token: 0x17000221 RID: 545 // (get) Token: 0x06000E09 RID: 3593 RVA: 0x0003CB48 File Offset: 0x0003AD48 public override bool IsFixedSize { get { return this.m_Adaptee.IsFixedSize; } } // Token: 0x17000222 RID: 546 // (get) Token: 0x06000E0A RID: 3594 RVA: 0x0003CB58 File Offset: 0x0003AD58 public override bool IsReadOnly { get { return this.m_Adaptee.IsReadOnly; } } // Token: 0x17000223 RID: 547 // (get) Token: 0x06000E0B RID: 3595 RVA: 0x0003CB68 File Offset: 0x0003AD68 public override object SyncRoot { get { return this.m_Adaptee.SyncRoot; } } // Token: 0x06000E0C RID: 3596 RVA: 0x0003CB78 File Offset: 0x0003AD78 public override int Add(object value) { return this.m_Adaptee.Add(value); } // Token: 0x06000E0D RID: 3597 RVA: 0x0003CB88 File Offset: 0x0003AD88 public override void Clear() { this.m_Adaptee.Clear(); } // Token: 0x06000E0E RID: 3598 RVA: 0x0003CB98 File Offset: 0x0003AD98 public override bool Contains(object value) { return this.m_Adaptee.Contains(value); } // Token: 0x06000E0F RID: 3599 RVA: 0x0003CBA8 File Offset: 0x0003ADA8 public override int IndexOf(object value) { return this.m_Adaptee.IndexOf(value); } // Token: 0x06000E10 RID: 3600 RVA: 0x0003CBB8 File Offset: 0x0003ADB8 public override int IndexOf(object value, int startIndex) { return this.IndexOf(value, startIndex, this.m_Adaptee.Count - startIndex); } // Token: 0x06000E11 RID: 3601 RVA: 0x0003CBD0 File Offset: 0x0003ADD0 public override int IndexOf(object value, int startIndex, int count) { if (startIndex < 0 || startIndex > this.m_Adaptee.Count) { ArrayList.ThrowNewArgumentOutOfRangeException("startIndex", startIndex, "Does not specify valid index."); } if (count < 0) { ArrayList.ThrowNewArgumentOutOfRangeException("count", count, "Can't be less than 0."); } if (startIndex > this.m_Adaptee.Count - count) { throw new ArgumentOutOfRangeException("count", "Start index and count do not specify a valid range."); } if (value == null) { for (int i = startIndex; i < startIndex + count; i++) { if (this.m_Adaptee[i] == null) { return i; } } } else { for (int j = startIndex; j < startIndex + count; j++) { if (value.Equals(this.m_Adaptee[j])) { return j; } } } return -1; } // Token: 0x06000E12 RID: 3602 RVA: 0x0003CCAC File Offset: 0x0003AEAC public override int LastIndexOf(object value) { return this.LastIndexOf(value, this.m_Adaptee.Count - 1); } // Token: 0x06000E13 RID: 3603 RVA: 0x0003CCC4 File Offset: 0x0003AEC4 public override int LastIndexOf(object value, int startIndex) { return this.LastIndexOf(value, startIndex, startIndex + 1); } // Token: 0x06000E14 RID: 3604 RVA: 0x0003CCD4 File Offset: 0x0003AED4 public override int LastIndexOf(object value, int startIndex, int count) { if (startIndex < 0) { ArrayList.ThrowNewArgumentOutOfRangeException("startIndex", startIndex, "< 0"); } if (count < 0) { ArrayList.ThrowNewArgumentOutOfRangeException("count", count, "count is negative."); } if (startIndex - count + 1 < 0) { ArrayList.ThrowNewArgumentOutOfRangeException("count", count, "count is too large."); } if (value == null) { for (int i = startIndex; i > startIndex - count; i--) { if (this.m_Adaptee[i] == null) { return i; } } } else { for (int j = startIndex; j > startIndex - count; j--) { if (value.Equals(this.m_Adaptee[j])) { return j; } } } return -1; } // Token: 0x06000E15 RID: 3605 RVA: 0x0003CD9C File Offset: 0x0003AF9C public override void Insert(int index, object value) { this.m_Adaptee.Insert(index, value); } // Token: 0x06000E16 RID: 3606 RVA: 0x0003CDAC File Offset: 0x0003AFAC public override void InsertRange(int index, ICollection c) { if (c == null) { throw new ArgumentNullException("c"); } if (index > this.m_Adaptee.Count) { ArrayList.ThrowNewArgumentOutOfRangeException("index", index, "Index must be >= 0 and <= Count."); } foreach (object obj in c) { this.m_Adaptee.Insert(index++, obj); } } // Token: 0x06000E17 RID: 3607 RVA: 0x0003CE54 File Offset: 0x0003B054 public override void Remove(object value) { this.m_Adaptee.Remove(value); } // Token: 0x06000E18 RID: 3608 RVA: 0x0003CE64 File Offset: 0x0003B064 public override void RemoveAt(int index) { this.m_Adaptee.RemoveAt(index); } // Token: 0x06000E19 RID: 3609 RVA: 0x0003CE74 File Offset: 0x0003B074 public override void RemoveRange(int index, int count) { ArrayList.CheckRange(index, count, this.m_Adaptee.Count); for (int i = 0; i < count; i++) { this.m_Adaptee.RemoveAt(index); } } // Token: 0x06000E1A RID: 3610 RVA: 0x0003CEB4 File Offset: 0x0003B0B4 public override void Reverse() { this.Reverse(0, this.m_Adaptee.Count); } // Token: 0x06000E1B RID: 3611 RVA: 0x0003CEC8 File Offset: 0x0003B0C8 public override void Reverse(int index, int count) { ArrayList.CheckRange(index, count, this.m_Adaptee.Count); for (int i = 0; i < count / 2; i++) { object obj = this.m_Adaptee[i + index]; this.m_Adaptee[i + index] = this.m_Adaptee[index + count - i + index - 1]; this.m_Adaptee[index + count - i + index - 1] = obj; } } // Token: 0x06000E1C RID: 3612 RVA: 0x0003CF44 File Offset: 0x0003B144 public override void SetRange(int index, ICollection c) { if (c == null) { throw new ArgumentNullException("c"); } if (index < 0 || index + c.Count > this.m_Adaptee.Count) { throw new ArgumentOutOfRangeException("index"); } int num = index; foreach (object obj in c) { this.m_Adaptee[num++] = obj; } } // Token: 0x06000E1D RID: 3613 RVA: 0x0003CFF0 File Offset: 0x0003B1F0 public override void CopyTo(Array array) { this.m_Adaptee.CopyTo(array, 0); } // Token: 0x06000E1E RID: 3614 RVA: 0x0003D000 File Offset: 0x0003B200 public override void CopyTo(Array array, int index) { this.m_Adaptee.CopyTo(array, index); } // Token: 0x06000E1F RID: 3615 RVA: 0x0003D010 File Offset: 0x0003B210 public override void CopyTo(int index, Array array, int arrayIndex, int count) { if (index < 0) { ArrayList.ThrowNewArgumentOutOfRangeException("index", index, "Can't be less than zero."); } if (arrayIndex < 0) { ArrayList.ThrowNewArgumentOutOfRangeException("arrayIndex", arrayIndex, "Can't be less than zero."); } if (count < 0) { ArrayList.ThrowNewArgumentOutOfRangeException("index", index, "Can't be less than zero."); } if (index >= this.m_Adaptee.Count) { throw new ArgumentException("Can't be more or equal to list count.", "index"); } if (array.Rank > 1) { throw new ArgumentException("Can't copy into multi-dimensional array."); } if (arrayIndex >= array.Length) { throw new ArgumentException("arrayIndex can't be greater than array.Length - 1."); } if (array.Length - arrayIndex + 1 < count) { throw new ArgumentException("Destination array is too small."); } if (index > this.m_Adaptee.Count - count) { throw new ArgumentException("Index and count do not denote a valid range of elements.", "index"); } for (int i = 0; i < count; i++) { array.SetValue(this.m_Adaptee[index + i], arrayIndex + i); } } // Token: 0x17000224 RID: 548 // (get) Token: 0x06000E20 RID: 3616 RVA: 0x0003D12C File Offset: 0x0003B32C public override bool IsSynchronized { get { return this.m_Adaptee.IsSynchronized; } } // Token: 0x06000E21 RID: 3617 RVA: 0x0003D13C File Offset: 0x0003B33C public override IEnumerator GetEnumerator() { return this.m_Adaptee.GetEnumerator(); } // Token: 0x06000E22 RID: 3618 RVA: 0x0003D14C File Offset: 0x0003B34C public override IEnumerator GetEnumerator(int index, int count) { ArrayList.CheckRange(index, count, this.m_Adaptee.Count); return new ArrayList.ArrayListAdapter.EnumeratorWithRange(this.m_Adaptee.GetEnumerator(), index, count); } // Token: 0x06000E23 RID: 3619 RVA: 0x0003D180 File Offset: 0x0003B380 public override void AddRange(ICollection c) { foreach (object obj in c) { this.m_Adaptee.Add(obj); } } // Token: 0x06000E24 RID: 3620 RVA: 0x0003D1EC File Offset: 0x0003B3EC public override int BinarySearch(object value) { return this.BinarySearch(value, null); } // Token: 0x06000E25 RID: 3621 RVA: 0x0003D1F8 File Offset: 0x0003B3F8 public override int BinarySearch(object value, IComparer comparer) { return this.BinarySearch(0, this.m_Adaptee.Count, value, comparer); } // Token: 0x06000E26 RID: 3622 RVA: 0x0003D210 File Offset: 0x0003B410 public override int BinarySearch(int index, int count, object value, IComparer comparer) { ArrayList.CheckRange(index, count, this.m_Adaptee.Count); if (comparer == null) { comparer = Comparer.Default; } int i = index; int num = index + count - 1; while (i <= num) { int num2 = i + (num - i) / 2; int num3 = comparer.Compare(value, this.m_Adaptee[num2]); if (num3 < 0) { num = num2 - 1; } else { if (num3 <= 0) { return num2; } i = num2 + 1; } } return ~i; } // Token: 0x06000E27 RID: 3623 RVA: 0x0003D294 File Offset: 0x0003B494 public override object Clone() { return new ArrayList.ArrayListAdapter(this.m_Adaptee); } // Token: 0x06000E28 RID: 3624 RVA: 0x0003D2A4 File Offset: 0x0003B4A4 public override ArrayList GetRange(int index, int count) { ArrayList.CheckRange(index, count, this.m_Adaptee.Count); return new ArrayList.RangedArrayList(this, index, count); } // Token: 0x06000E29 RID: 3625 RVA: 0x0003D2C0 File Offset: 0x0003B4C0 public override void TrimToSize() { } // Token: 0x06000E2A RID: 3626 RVA: 0x0003D2C4 File Offset: 0x0003B4C4 public override void Sort() { this.Sort(Comparer.Default); } // Token: 0x06000E2B RID: 3627 RVA: 0x0003D2D4 File Offset: 0x0003B4D4 public override void Sort(IComparer comparer) { this.Sort(0, this.m_Adaptee.Count, comparer); } // Token: 0x06000E2C RID: 3628 RVA: 0x0003D2EC File Offset: 0x0003B4EC public override void Sort(int index, int count, IComparer comparer) { ArrayList.CheckRange(index, count, this.m_Adaptee.Count); if (comparer == null) { comparer = Comparer.Default; } ArrayList.ArrayListAdapter.QuickSort(this.m_Adaptee, index, index + count - 1, comparer); } // Token: 0x06000E2D RID: 3629 RVA: 0x0003D32C File Offset: 0x0003B52C private static void Swap(IList list, int x, int y) { object obj = list[x]; list[x] = list[y]; list[y] = obj; } // Token: 0x06000E2E RID: 3630 RVA: 0x0003D358 File Offset: 0x0003B558 internal static void QuickSort(IList list, int left, int right, IComparer comparer) { if (left >= right) { return; } int num = left + (right - left) / 2; if (comparer.Compare(list[num], list[left]) < 0) { ArrayList.ArrayListAdapter.Swap(list, num, left); } if (comparer.Compare(list[right], list[left]) < 0) { ArrayList.ArrayListAdapter.Swap(list, right, left); } if (comparer.Compare(list[right], list[num]) < 0) { ArrayList.ArrayListAdapter.Swap(list, right, num); } if (right - left + 1 <= 3) { return; } ArrayList.ArrayListAdapter.Swap(list, right - 1, num); object obj = list[right - 1]; int num2 = left; int num3 = right - 1; for (;;) { while (comparer.Compare(list[++num2], obj) < 0) { } while (comparer.Compare(list[--num3], obj) > 0) { } if (num2 >= num3) { break; } ArrayList.ArrayListAdapter.Swap(list, num2, num3); } ArrayList.ArrayListAdapter.Swap(list, right - 1, num2); ArrayList.ArrayListAdapter.QuickSort(list, left, num2 - 1, comparer); ArrayList.ArrayListAdapter.QuickSort(list, num2 + 1, right, comparer); } // Token: 0x06000E2F RID: 3631 RVA: 0x0003D480 File Offset: 0x0003B680 public override object[] ToArray() { object[] array = new object[this.m_Adaptee.Count]; this.m_Adaptee.CopyTo(array, 0); return array; } // Token: 0x06000E30 RID: 3632 RVA: 0x0003D4AC File Offset: 0x0003B6AC public override Array ToArray(Type elementType) { Array array = Array.CreateInstance(elementType, this.m_Adaptee.Count); this.m_Adaptee.CopyTo(array, 0); return array; } // Token: 0x0400039D RID: 925 private IList m_Adaptee; // Token: 0x02000117 RID: 279 private sealed class EnumeratorWithRange : IEnumerator, ICloneable { // Token: 0x06000E31 RID: 3633 RVA: 0x0003D4DC File Offset: 0x0003B6DC public EnumeratorWithRange(IEnumerator enumerator, int index, int count) { this.m_Count = 0; this.m_StartIndex = index; this.m_MaxCount = count; this.m_Enumerator = enumerator; this.Reset(); } // Token: 0x06000E32 RID: 3634 RVA: 0x0003D514 File Offset: 0x0003B714 public object Clone() { return base.MemberwiseClone(); } // Token: 0x17000225 RID: 549 // (get) Token: 0x06000E33 RID: 3635 RVA: 0x0003D51C File Offset: 0x0003B71C public object Current { get { return this.m_Enumerator.Current; } } // Token: 0x06000E34 RID: 3636 RVA: 0x0003D52C File Offset: 0x0003B72C public bool MoveNext() { if (this.m_Count >= this.m_MaxCount) { return false; } this.m_Count++; return this.m_Enumerator.MoveNext(); } // Token: 0x06000E35 RID: 3637 RVA: 0x0003D568 File Offset: 0x0003B768 public void Reset() { this.m_Count = 0; this.m_Enumerator.Reset(); for (int i = 0; i < this.m_StartIndex; i++) { this.m_Enumerator.MoveNext(); } } // Token: 0x0400039E RID: 926 private int m_StartIndex; // Token: 0x0400039F RID: 927 private int m_Count; // Token: 0x040003A0 RID: 928 private int m_MaxCount; // Token: 0x040003A1 RID: 929 private IEnumerator m_Enumerator; } } // Token: 0x02000118 RID: 280 [Serializable] private class ArrayListWrapper : ArrayList { // Token: 0x06000E36 RID: 3638 RVA: 0x0003D5AC File Offset: 0x0003B7AC public ArrayListWrapper(ArrayList innerArrayList) { this.m_InnerArrayList = innerArrayList; } // Token: 0x17000226 RID: 550 public override object this[int index] { get { return this.m_InnerArrayList[index]; } set { this.m_InnerArrayList[index] = value; } } // Token: 0x17000227 RID: 551 // (get) Token: 0x06000E39 RID: 3641 RVA: 0x0003D5DC File Offset: 0x0003B7DC public override int Count { get { return this.m_InnerArrayList.Count; } } // Token: 0x17000228 RID: 552 // (get) Token: 0x06000E3A RID: 3642 RVA: 0x0003D5EC File Offset: 0x0003B7EC // (set) Token: 0x06000E3B RID: 3643 RVA: 0x0003D5FC File Offset: 0x0003B7FC public override int Capacity { get { return this.m_InnerArrayList.Capacity; } set { this.m_InnerArrayList.Capacity = value; } } // Token: 0x17000229 RID: 553 // (get) Token: 0x06000E3C RID: 3644 RVA: 0x0003D60C File Offset: 0x0003B80C public override bool IsFixedSize { get { return this.m_InnerArrayList.IsFixedSize; } } // Token: 0x1700022A RID: 554 // (get) Token: 0x06000E3D RID: 3645 RVA: 0x0003D61C File Offset: 0x0003B81C public override bool IsReadOnly { get { return this.m_InnerArrayList.IsReadOnly; } } // Token: 0x1700022B RID: 555 // (get) Token: 0x06000E3E RID: 3646 RVA: 0x0003D62C File Offset: 0x0003B82C public override bool IsSynchronized { get { return this.m_InnerArrayList.IsSynchronized; } } // Token: 0x1700022C RID: 556 // (get) Token: 0x06000E3F RID: 3647 RVA: 0x0003D63C File Offset: 0x0003B83C public override object SyncRoot { get { return this.m_InnerArrayList.SyncRoot; } } // Token: 0x06000E40 RID: 3648 RVA: 0x0003D64C File Offset: 0x0003B84C public override int Add(object value) { return this.m_InnerArrayList.Add(value); } // Token: 0x06000E41 RID: 3649 RVA: 0x0003D65C File Offset: 0x0003B85C public override void Clear() { this.m_InnerArrayList.Clear(); } // Token: 0x06000E42 RID: 3650 RVA: 0x0003D66C File Offset: 0x0003B86C public override bool Contains(object value) { return this.m_InnerArrayList.Contains(value); } // Token: 0x06000E43 RID: 3651 RVA: 0x0003D67C File Offset: 0x0003B87C public override int IndexOf(object value) { return this.m_InnerArrayList.IndexOf(value); } // Token: 0x06000E44 RID: 3652 RVA: 0x0003D68C File Offset: 0x0003B88C public override int IndexOf(object value, int startIndex) { return this.m_InnerArrayList.IndexOf(value, startIndex); } // Token: 0x06000E45 RID: 3653 RVA: 0x0003D69C File Offset: 0x0003B89C public override int IndexOf(object value, int startIndex, int count) { return this.m_InnerArrayList.IndexOf(value, startIndex, count); } // Token: 0x06000E46 RID: 3654 RVA: 0x0003D6AC File Offset: 0x0003B8AC public override int LastIndexOf(object value) { return this.m_InnerArrayList.LastIndexOf(value); } // Token: 0x06000E47 RID: 3655 RVA: 0x0003D6BC File Offset: 0x0003B8BC public override int LastIndexOf(object value, int startIndex) { return this.m_InnerArrayList.LastIndexOf(value, startIndex); } // Token: 0x06000E48 RID: 3656 RVA: 0x0003D6CC File Offset: 0x0003B8CC public override int LastIndexOf(object value, int startIndex, int count) { return this.m_InnerArrayList.LastIndexOf(value, startIndex, count); } // Token: 0x06000E49 RID: 3657 RVA: 0x0003D6DC File Offset: 0x0003B8DC public override void Insert(int index, object value) { this.m_InnerArrayList.Insert(index, value); } // Token: 0x06000E4A RID: 3658 RVA: 0x0003D6EC File Offset: 0x0003B8EC public override void InsertRange(int index, ICollection c) { this.m_InnerArrayList.InsertRange(index, c); } // Token: 0x06000E4B RID: 3659 RVA: 0x0003D6FC File Offset: 0x0003B8FC public override void Remove(object value) { this.m_InnerArrayList.Remove(value); } // Token: 0x06000E4C RID: 3660 RVA: 0x0003D70C File Offset: 0x0003B90C public override void RemoveAt(int index) { this.m_InnerArrayList.RemoveAt(index); } // Token: 0x06000E4D RID: 3661 RVA: 0x0003D71C File Offset: 0x0003B91C public override void RemoveRange(int index, int count) { this.m_InnerArrayList.RemoveRange(index, count); } // Token: 0x06000E4E RID: 3662 RVA: 0x0003D72C File Offset: 0x0003B92C public override void Reverse() { this.m_InnerArrayList.Reverse(); } // Token: 0x06000E4F RID: 3663 RVA: 0x0003D73C File Offset: 0x0003B93C public override void Reverse(int index, int count) { this.m_InnerArrayList.Reverse(index, count); } // Token: 0x06000E50 RID: 3664 RVA: 0x0003D74C File Offset: 0x0003B94C public override void SetRange(int index, ICollection c) { this.m_InnerArrayList.SetRange(index, c); } // Token: 0x06000E51 RID: 3665 RVA: 0x0003D75C File Offset: 0x0003B95C public override void CopyTo(Array array) { this.m_InnerArrayList.CopyTo(array); } // Token: 0x06000E52 RID: 3666 RVA: 0x0003D76C File Offset: 0x0003B96C public override void CopyTo(Array array, int index) { this.m_InnerArrayList.CopyTo(array, index); } // Token: 0x06000E53 RID: 3667 RVA: 0x0003D77C File Offset: 0x0003B97C public override void CopyTo(int index, Array array, int arrayIndex, int count) { this.m_InnerArrayList.CopyTo(index, array, arrayIndex, count); } // Token: 0x06000E54 RID: 3668 RVA: 0x0003D790 File Offset: 0x0003B990 public override IEnumerator GetEnumerator() { return this.m_InnerArrayList.GetEnumerator(); } // Token: 0x06000E55 RID: 3669 RVA: 0x0003D7A0 File Offset: 0x0003B9A0 public override IEnumerator GetEnumerator(int index, int count) { return this.m_InnerArrayList.GetEnumerator(index, count); } // Token: 0x06000E56 RID: 3670 RVA: 0x0003D7B0 File Offset: 0x0003B9B0 public override void AddRange(ICollection c) { this.m_InnerArrayList.AddRange(c); } // Token: 0x06000E57 RID: 3671 RVA: 0x0003D7C0 File Offset: 0x0003B9C0 public override int BinarySearch(object value) { return this.m_InnerArrayList.BinarySearch(value); } // Token: 0x06000E58 RID: 3672 RVA: 0x0003D7D0 File Offset: 0x0003B9D0 public override int BinarySearch(object value, IComparer comparer) { return this.m_InnerArrayList.BinarySearch(value, comparer); } // Token: 0x06000E59 RID: 3673 RVA: 0x0003D7E0 File Offset: 0x0003B9E0 public override int BinarySearch(int index, int count, object value, IComparer comparer) { return this.m_InnerArrayList.BinarySearch(index, count, value, comparer); } // Token: 0x06000E5A RID: 3674 RVA: 0x0003D7F4 File Offset: 0x0003B9F4 public override object Clone() { return this.m_InnerArrayList.Clone(); } // Token: 0x06000E5B RID: 3675 RVA: 0x0003D804 File Offset: 0x0003BA04 public override ArrayList GetRange(int index, int count) { return this.m_InnerArrayList.GetRange(index, count); } // Token: 0x06000E5C RID: 3676 RVA: 0x0003D814 File Offset: 0x0003BA14 public override void TrimToSize() { this.m_InnerArrayList.TrimToSize(); } // Token: 0x06000E5D RID: 3677 RVA: 0x0003D824 File Offset: 0x0003BA24 public override void Sort() { this.m_InnerArrayList.Sort(); } // Token: 0x06000E5E RID: 3678 RVA: 0x0003D834 File Offset: 0x0003BA34 public override void Sort(IComparer comparer) { this.m_InnerArrayList.Sort(comparer); } // Token: 0x06000E5F RID: 3679 RVA: 0x0003D844 File Offset: 0x0003BA44 public override void Sort(int index, int count, IComparer comparer) { this.m_InnerArrayList.Sort(index, count, comparer); } // Token: 0x06000E60 RID: 3680 RVA: 0x0003D854 File Offset: 0x0003BA54 public override object[] ToArray() { return this.m_InnerArrayList.ToArray(); } // Token: 0x06000E61 RID: 3681 RVA: 0x0003D864 File Offset: 0x0003BA64 public override Array ToArray(Type elementType) { return this.m_InnerArrayList.ToArray(elementType); } // Token: 0x040003A2 RID: 930 protected ArrayList m_InnerArrayList; } // Token: 0x02000119 RID: 281 [Serializable] private sealed class SynchronizedArrayListWrapper : ArrayList.ArrayListWrapper { // Token: 0x06000E62 RID: 3682 RVA: 0x0003D874 File Offset: 0x0003BA74 internal SynchronizedArrayListWrapper(ArrayList innerArrayList) : base(innerArrayList) { this.m_SyncRoot = innerArrayList.SyncRoot; } // Token: 0x1700022D RID: 557 public override object this[int index] { get { object syncRoot = this.m_SyncRoot; object obj; lock (syncRoot) { obj = this.m_InnerArrayList[index]; } return obj; } set { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList[index] = value; } } } // Token: 0x1700022E RID: 558 // (get) Token: 0x06000E65 RID: 3685 RVA: 0x0003D934 File Offset: 0x0003BB34 public override int Count { get { object syncRoot = this.m_SyncRoot; int count; lock (syncRoot) { count = this.m_InnerArrayList.Count; } return count; } } // Token: 0x1700022F RID: 559 // (get) Token: 0x06000E66 RID: 3686 RVA: 0x0003D988 File Offset: 0x0003BB88 // (set) Token: 0x06000E67 RID: 3687 RVA: 0x0003D9DC File Offset: 0x0003BBDC public override int Capacity { get { object syncRoot = this.m_SyncRoot; int capacity; lock (syncRoot) { capacity = this.m_InnerArrayList.Capacity; } return capacity; } set { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.Capacity = value; } } } // Token: 0x17000230 RID: 560 // (get) Token: 0x06000E68 RID: 3688 RVA: 0x0003DA2C File Offset: 0x0003BC2C public override bool IsFixedSize { get { object syncRoot = this.m_SyncRoot; bool isFixedSize; lock (syncRoot) { isFixedSize = this.m_InnerArrayList.IsFixedSize; } return isFixedSize; } } // Token: 0x17000231 RID: 561 // (get) Token: 0x06000E69 RID: 3689 RVA: 0x0003DA80 File Offset: 0x0003BC80 public override bool IsReadOnly { get { object syncRoot = this.m_SyncRoot; bool isReadOnly; lock (syncRoot) { isReadOnly = this.m_InnerArrayList.IsReadOnly; } return isReadOnly; } } // Token: 0x17000232 RID: 562 // (get) Token: 0x06000E6A RID: 3690 RVA: 0x0003DAD4 File Offset: 0x0003BCD4 public override bool IsSynchronized { get { return true; } } // Token: 0x17000233 RID: 563 // (get) Token: 0x06000E6B RID: 3691 RVA: 0x0003DAD8 File Offset: 0x0003BCD8 public override object SyncRoot { get { return this.m_SyncRoot; } } // Token: 0x06000E6C RID: 3692 RVA: 0x0003DAE0 File Offset: 0x0003BCE0 public override int Add(object value) { object syncRoot = this.m_SyncRoot; int num; lock (syncRoot) { num = this.m_InnerArrayList.Add(value); } return num; } // Token: 0x06000E6D RID: 3693 RVA: 0x0003DB38 File Offset: 0x0003BD38 public override void Clear() { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.Clear(); } } // Token: 0x06000E6E RID: 3694 RVA: 0x0003DB88 File Offset: 0x0003BD88 public override bool Contains(object value) { object syncRoot = this.m_SyncRoot; bool flag; lock (syncRoot) { flag = this.m_InnerArrayList.Contains(value); } return flag; } // Token: 0x06000E6F RID: 3695 RVA: 0x0003DBE0 File Offset: 0x0003BDE0 public override int IndexOf(object value) { object syncRoot = this.m_SyncRoot; int num; lock (syncRoot) { num = this.m_InnerArrayList.IndexOf(value); } return num; } // Token: 0x06000E70 RID: 3696 RVA: 0x0003DC38 File Offset: 0x0003BE38 public override int IndexOf(object value, int startIndex) { object syncRoot = this.m_SyncRoot; int num; lock (syncRoot) { num = this.m_InnerArrayList.IndexOf(value, startIndex); } return num; } // Token: 0x06000E71 RID: 3697 RVA: 0x0003DC90 File Offset: 0x0003BE90 public override int IndexOf(object value, int startIndex, int count) { object syncRoot = this.m_SyncRoot; int num; lock (syncRoot) { num = this.m_InnerArrayList.IndexOf(value, startIndex, count); } return num; } // Token: 0x06000E72 RID: 3698 RVA: 0x0003DCE8 File Offset: 0x0003BEE8 public override int LastIndexOf(object value) { object syncRoot = this.m_SyncRoot; int num; lock (syncRoot) { num = this.m_InnerArrayList.LastIndexOf(value); } return num; } // Token: 0x06000E73 RID: 3699 RVA: 0x0003DD40 File Offset: 0x0003BF40 public override int LastIndexOf(object value, int startIndex) { object syncRoot = this.m_SyncRoot; int num; lock (syncRoot) { num = this.m_InnerArrayList.LastIndexOf(value, startIndex); } return num; } // Token: 0x06000E74 RID: 3700 RVA: 0x0003DD98 File Offset: 0x0003BF98 public override int LastIndexOf(object value, int startIndex, int count) { object syncRoot = this.m_SyncRoot; int num; lock (syncRoot) { num = this.m_InnerArrayList.LastIndexOf(value, startIndex, count); } return num; } // Token: 0x06000E75 RID: 3701 RVA: 0x0003DDF0 File Offset: 0x0003BFF0 public override void Insert(int index, object value) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.Insert(index, value); } } // Token: 0x06000E76 RID: 3702 RVA: 0x0003DE40 File Offset: 0x0003C040 public override void InsertRange(int index, ICollection c) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.InsertRange(index, c); } } // Token: 0x06000E77 RID: 3703 RVA: 0x0003DE90 File Offset: 0x0003C090 public override void Remove(object value) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.Remove(value); } } // Token: 0x06000E78 RID: 3704 RVA: 0x0003DEE0 File Offset: 0x0003C0E0 public override void RemoveAt(int index) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.RemoveAt(index); } } // Token: 0x06000E79 RID: 3705 RVA: 0x0003DF30 File Offset: 0x0003C130 public override void RemoveRange(int index, int count) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.RemoveRange(index, count); } } // Token: 0x06000E7A RID: 3706 RVA: 0x0003DF80 File Offset: 0x0003C180 public override void Reverse() { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.Reverse(); } } // Token: 0x06000E7B RID: 3707 RVA: 0x0003DFD0 File Offset: 0x0003C1D0 public override void Reverse(int index, int count) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.Reverse(index, count); } } // Token: 0x06000E7C RID: 3708 RVA: 0x0003E020 File Offset: 0x0003C220 public override void CopyTo(Array array) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.CopyTo(array); } } // Token: 0x06000E7D RID: 3709 RVA: 0x0003E070 File Offset: 0x0003C270 public override void CopyTo(Array array, int index) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.CopyTo(array, index); } } // Token: 0x06000E7E RID: 3710 RVA: 0x0003E0C0 File Offset: 0x0003C2C0 public override void CopyTo(int index, Array array, int arrayIndex, int count) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.CopyTo(index, array, arrayIndex, count); } } // Token: 0x06000E7F RID: 3711 RVA: 0x0003E114 File Offset: 0x0003C314 public override IEnumerator GetEnumerator() { object syncRoot = this.m_SyncRoot; IEnumerator enumerator; lock (syncRoot) { enumerator = this.m_InnerArrayList.GetEnumerator(); } return enumerator; } // Token: 0x06000E80 RID: 3712 RVA: 0x0003E168 File Offset: 0x0003C368 public override IEnumerator GetEnumerator(int index, int count) { object syncRoot = this.m_SyncRoot; IEnumerator enumerator; lock (syncRoot) { enumerator = this.m_InnerArrayList.GetEnumerator(index, count); } return enumerator; } // Token: 0x06000E81 RID: 3713 RVA: 0x0003E1C0 File Offset: 0x0003C3C0 public override void AddRange(ICollection c) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.AddRange(c); } } // Token: 0x06000E82 RID: 3714 RVA: 0x0003E210 File Offset: 0x0003C410 public override int BinarySearch(object value) { object syncRoot = this.m_SyncRoot; int num; lock (syncRoot) { num = this.m_InnerArrayList.BinarySearch(value); } return num; } // Token: 0x06000E83 RID: 3715 RVA: 0x0003E268 File Offset: 0x0003C468 public override int BinarySearch(object value, IComparer comparer) { object syncRoot = this.m_SyncRoot; int num; lock (syncRoot) { num = this.m_InnerArrayList.BinarySearch(value, comparer); } return num; } // Token: 0x06000E84 RID: 3716 RVA: 0x0003E2C0 File Offset: 0x0003C4C0 public override int BinarySearch(int index, int count, object value, IComparer comparer) { object syncRoot = this.m_SyncRoot; int num; lock (syncRoot) { num = this.m_InnerArrayList.BinarySearch(index, count, value, comparer); } return num; } // Token: 0x06000E85 RID: 3717 RVA: 0x0003E31C File Offset: 0x0003C51C public override object Clone() { object syncRoot = this.m_SyncRoot; object obj; lock (syncRoot) { obj = this.m_InnerArrayList.Clone(); } return obj; } // Token: 0x06000E86 RID: 3718 RVA: 0x0003E370 File Offset: 0x0003C570 public override ArrayList GetRange(int index, int count) { object syncRoot = this.m_SyncRoot; ArrayList range; lock (syncRoot) { range = this.m_InnerArrayList.GetRange(index, count); } return range; } // Token: 0x06000E87 RID: 3719 RVA: 0x0003E3C8 File Offset: 0x0003C5C8 public override void TrimToSize() { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.TrimToSize(); } } // Token: 0x06000E88 RID: 3720 RVA: 0x0003E418 File Offset: 0x0003C618 public override void Sort() { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.Sort(); } } // Token: 0x06000E89 RID: 3721 RVA: 0x0003E468 File Offset: 0x0003C668 public override void Sort(IComparer comparer) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.Sort(comparer); } } // Token: 0x06000E8A RID: 3722 RVA: 0x0003E4B8 File Offset: 0x0003C6B8 public override void Sort(int index, int count, IComparer comparer) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerArrayList.Sort(index, count, comparer); } } // Token: 0x06000E8B RID: 3723 RVA: 0x0003E508 File Offset: 0x0003C708 public override object[] ToArray() { object syncRoot = this.m_SyncRoot; object[] array; lock (syncRoot) { array = this.m_InnerArrayList.ToArray(); } return array; } // Token: 0x06000E8C RID: 3724 RVA: 0x0003E55C File Offset: 0x0003C75C public override Array ToArray(Type elementType) { object syncRoot = this.m_SyncRoot; Array array; lock (syncRoot) { array = this.m_InnerArrayList.ToArray(elementType); } return array; } // Token: 0x040003A3 RID: 931 private object m_SyncRoot; } // Token: 0x0200011A RID: 282 [Serializable] private class FixedSizeArrayListWrapper : ArrayList.ArrayListWrapper { // Token: 0x06000E8D RID: 3725 RVA: 0x0003E5B4 File Offset: 0x0003C7B4 public FixedSizeArrayListWrapper(ArrayList innerList) : base(innerList) { } // Token: 0x17000234 RID: 564 // (get) Token: 0x06000E8E RID: 3726 RVA: 0x0003E5C0 File Offset: 0x0003C7C0 protected virtual string ErrorMessage { get { return "Can't add or remove from a fixed-size list."; } } // Token: 0x17000235 RID: 565 // (get) Token: 0x06000E8F RID: 3727 RVA: 0x0003E5C8 File Offset: 0x0003C7C8 // (set) Token: 0x06000E90 RID: 3728 RVA: 0x0003E5D0 File Offset: 0x0003C7D0 public override int Capacity { get { return base.Capacity; } set { throw new NotSupportedException(this.ErrorMessage); } } // Token: 0x17000236 RID: 566 // (get) Token: 0x06000E91 RID: 3729 RVA: 0x0003E5E0 File Offset: 0x0003C7E0 public override bool IsFixedSize { get { return true; } } // Token: 0x06000E92 RID: 3730 RVA: 0x0003E5E4 File Offset: 0x0003C7E4 public override int Add(object value) { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000E93 RID: 3731 RVA: 0x0003E5F4 File Offset: 0x0003C7F4 public override void AddRange(ICollection c) { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000E94 RID: 3732 RVA: 0x0003E604 File Offset: 0x0003C804 public override void Clear() { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000E95 RID: 3733 RVA: 0x0003E614 File Offset: 0x0003C814 public override void Insert(int index, object value) { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000E96 RID: 3734 RVA: 0x0003E624 File Offset: 0x0003C824 public override void InsertRange(int index, ICollection c) { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000E97 RID: 3735 RVA: 0x0003E634 File Offset: 0x0003C834 public override void Remove(object value) { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000E98 RID: 3736 RVA: 0x0003E644 File Offset: 0x0003C844 public override void RemoveAt(int index) { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000E99 RID: 3737 RVA: 0x0003E654 File Offset: 0x0003C854 public override void RemoveRange(int index, int count) { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000E9A RID: 3738 RVA: 0x0003E664 File Offset: 0x0003C864 public override void TrimToSize() { throw new NotSupportedException(this.ErrorMessage); } } // Token: 0x0200011B RID: 283 [Serializable] private sealed class ReadOnlyArrayListWrapper : ArrayList.FixedSizeArrayListWrapper { // Token: 0x06000E9B RID: 3739 RVA: 0x0003E674 File Offset: 0x0003C874 public ReadOnlyArrayListWrapper(ArrayList innerArrayList) : base(innerArrayList) { } // Token: 0x17000237 RID: 567 // (get) Token: 0x06000E9C RID: 3740 RVA: 0x0003E680 File Offset: 0x0003C880 protected override string ErrorMessage { get { return "Can't modify a readonly list."; } } // Token: 0x17000238 RID: 568 // (get) Token: 0x06000E9D RID: 3741 RVA: 0x0003E688 File Offset: 0x0003C888 public override bool IsReadOnly { get { return true; } } // Token: 0x17000239 RID: 569 public override object this[int index] { get { return this.m_InnerArrayList[index]; } set { throw new NotSupportedException(this.ErrorMessage); } } // Token: 0x06000EA0 RID: 3744 RVA: 0x0003E6AC File Offset: 0x0003C8AC public override void Reverse() { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000EA1 RID: 3745 RVA: 0x0003E6BC File Offset: 0x0003C8BC public override void Reverse(int index, int count) { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000EA2 RID: 3746 RVA: 0x0003E6CC File Offset: 0x0003C8CC public override void SetRange(int index, ICollection c) { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000EA3 RID: 3747 RVA: 0x0003E6DC File Offset: 0x0003C8DC public override void Sort() { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000EA4 RID: 3748 RVA: 0x0003E6EC File Offset: 0x0003C8EC public override void Sort(IComparer comparer) { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000EA5 RID: 3749 RVA: 0x0003E6FC File Offset: 0x0003C8FC public override void Sort(int index, int count, IComparer comparer) { throw new NotSupportedException(this.ErrorMessage); } } // Token: 0x0200011C RID: 284 [Serializable] private sealed class RangedArrayList : ArrayList.ArrayListWrapper { // Token: 0x06000EA6 RID: 3750 RVA: 0x0003E70C File Offset: 0x0003C90C public RangedArrayList(ArrayList innerList, int index, int count) : base(innerList) { this.m_InnerIndex = index; this.m_InnerCount = count; this.m_InnerStateChanges = innerList._version; } // Token: 0x1700023A RID: 570 // (get) Token: 0x06000EA7 RID: 3751 RVA: 0x0003E730 File Offset: 0x0003C930 public override bool IsSynchronized { get { return false; } } // Token: 0x1700023B RID: 571 public override object this[int index] { get { if (index < 0 || index > this.m_InnerCount) { throw new ArgumentOutOfRangeException("index"); } return this.m_InnerArrayList[this.m_InnerIndex + index]; } set { if (index < 0 || index > this.m_InnerCount) { throw new ArgumentOutOfRangeException("index"); } this.m_InnerArrayList[this.m_InnerIndex + index] = value; } } // Token: 0x1700023C RID: 572 // (get) Token: 0x06000EAA RID: 3754 RVA: 0x0003E7A8 File Offset: 0x0003C9A8 public override int Count { get { this.VerifyStateChanges(); return this.m_InnerCount; } } // Token: 0x1700023D RID: 573 // (get) Token: 0x06000EAB RID: 3755 RVA: 0x0003E7B8 File Offset: 0x0003C9B8 // (set) Token: 0x06000EAC RID: 3756 RVA: 0x0003E7C8 File Offset: 0x0003C9C8 public override int Capacity { get { return this.m_InnerArrayList.Capacity; } set { if (value < this.m_InnerCount) { throw new ArgumentOutOfRangeException(); } } } // Token: 0x06000EAD RID: 3757 RVA: 0x0003E7DC File Offset: 0x0003C9DC private void VerifyStateChanges() { if (this.m_InnerStateChanges != this.m_InnerArrayList._version) { throw new InvalidOperationException("ArrayList view is invalid because the underlying ArrayList was modified."); } } // Token: 0x06000EAE RID: 3758 RVA: 0x0003E800 File Offset: 0x0003CA00 public override int Add(object value) { this.VerifyStateChanges(); this.m_InnerArrayList.Insert(this.m_InnerIndex + this.m_InnerCount, value); this.m_InnerStateChanges = this.m_InnerArrayList._version; return ++this.m_InnerCount; } // Token: 0x06000EAF RID: 3759 RVA: 0x0003E850 File Offset: 0x0003CA50 public override void Clear() { this.VerifyStateChanges(); this.m_InnerArrayList.RemoveRange(this.m_InnerIndex, this.m_InnerCount); this.m_InnerCount = 0; this.m_InnerStateChanges = this.m_InnerArrayList._version; } // Token: 0x06000EB0 RID: 3760 RVA: 0x0003E894 File Offset: 0x0003CA94 public override bool Contains(object value) { return this.m_InnerArrayList.Contains(value, this.m_InnerIndex, this.m_InnerCount); } // Token: 0x06000EB1 RID: 3761 RVA: 0x0003E8B0 File Offset: 0x0003CAB0 public override int IndexOf(object value) { return this.IndexOf(value, 0); } // Token: 0x06000EB2 RID: 3762 RVA: 0x0003E8BC File Offset: 0x0003CABC public override int IndexOf(object value, int startIndex) { return this.IndexOf(value, startIndex, this.m_InnerCount - startIndex); } // Token: 0x06000EB3 RID: 3763 RVA: 0x0003E8D0 File Offset: 0x0003CAD0 public override int IndexOf(object value, int startIndex, int count) { if (startIndex < 0 || startIndex > this.m_InnerCount) { ArrayList.ThrowNewArgumentOutOfRangeException("startIndex", startIndex, "Does not specify valid index."); } if (count < 0) { ArrayList.ThrowNewArgumentOutOfRangeException("count", count, "Can't be less than 0."); } if (startIndex > this.m_InnerCount - count) { throw new ArgumentOutOfRangeException("count", "Start index and count do not specify a valid range."); } int num = this.m_InnerArrayList.IndexOf(value, this.m_InnerIndex + startIndex, count); if (num == -1) { return -1; } return num - this.m_InnerIndex; } // Token: 0x06000EB4 RID: 3764 RVA: 0x0003E968 File Offset: 0x0003CB68 public override int LastIndexOf(object value) { return this.LastIndexOf(value, this.m_InnerCount - 1); } // Token: 0x06000EB5 RID: 3765 RVA: 0x0003E97C File Offset: 0x0003CB7C public override int LastIndexOf(object value, int startIndex) { return this.LastIndexOf(value, startIndex, startIndex + 1); } // Token: 0x06000EB6 RID: 3766 RVA: 0x0003E98C File Offset: 0x0003CB8C public override int LastIndexOf(object value, int startIndex, int count) { if (startIndex < 0) { ArrayList.ThrowNewArgumentOutOfRangeException("startIndex", startIndex, "< 0"); } if (count < 0) { ArrayList.ThrowNewArgumentOutOfRangeException("count", count, "count is negative."); } int num = this.m_InnerArrayList.LastIndexOf(value, this.m_InnerIndex + startIndex, count); if (num == -1) { return -1; } return num - this.m_InnerIndex; } // Token: 0x06000EB7 RID: 3767 RVA: 0x0003E9F8 File Offset: 0x0003CBF8 public override void Insert(int index, object value) { this.VerifyStateChanges(); if (index < 0 || index > this.m_InnerCount) { ArrayList.ThrowNewArgumentOutOfRangeException("index", index, "Index must be >= 0 and <= Count."); } this.m_InnerArrayList.Insert(this.m_InnerIndex + index, value); this.m_InnerCount++; this.m_InnerStateChanges = this.m_InnerArrayList._version; } // Token: 0x06000EB8 RID: 3768 RVA: 0x0003EA68 File Offset: 0x0003CC68 public override void InsertRange(int index, ICollection c) { this.VerifyStateChanges(); if (index < 0 || index > this.m_InnerCount) { ArrayList.ThrowNewArgumentOutOfRangeException("index", index, "Index must be >= 0 and <= Count."); } this.m_InnerArrayList.InsertRange(this.m_InnerIndex + index, c); this.m_InnerCount += c.Count; this.m_InnerStateChanges = this.m_InnerArrayList._version; } // Token: 0x06000EB9 RID: 3769 RVA: 0x0003EADC File Offset: 0x0003CCDC public override void Remove(object value) { this.VerifyStateChanges(); int num = this.IndexOf(value); if (num > -1) { this.RemoveAt(num); } this.m_InnerStateChanges = this.m_InnerArrayList._version; } // Token: 0x06000EBA RID: 3770 RVA: 0x0003EB18 File Offset: 0x0003CD18 public override void RemoveAt(int index) { this.VerifyStateChanges(); if (index < 0 || index > this.m_InnerCount) { ArrayList.ThrowNewArgumentOutOfRangeException("index", index, "Index must be >= 0 and <= Count."); } this.m_InnerArrayList.RemoveAt(this.m_InnerIndex + index); this.m_InnerCount--; this.m_InnerStateChanges = this.m_InnerArrayList._version; } // Token: 0x06000EBB RID: 3771 RVA: 0x0003EB88 File Offset: 0x0003CD88 public override void RemoveRange(int index, int count) { this.VerifyStateChanges(); ArrayList.CheckRange(index, count, this.m_InnerCount); this.m_InnerArrayList.RemoveRange(this.m_InnerIndex + index, count); this.m_InnerCount -= count; this.m_InnerStateChanges = this.m_InnerArrayList._version; } // Token: 0x06000EBC RID: 3772 RVA: 0x0003EBDC File Offset: 0x0003CDDC public override void Reverse() { this.Reverse(0, this.m_InnerCount); } // Token: 0x06000EBD RID: 3773 RVA: 0x0003EBEC File Offset: 0x0003CDEC public override void Reverse(int index, int count) { this.VerifyStateChanges(); ArrayList.CheckRange(index, count, this.m_InnerCount); this.m_InnerArrayList.Reverse(this.m_InnerIndex + index, count); this.m_InnerStateChanges = this.m_InnerArrayList._version; } // Token: 0x06000EBE RID: 3774 RVA: 0x0003EC34 File Offset: 0x0003CE34 public override void SetRange(int index, ICollection c) { this.VerifyStateChanges(); if (index < 0 || index > this.m_InnerCount) { ArrayList.ThrowNewArgumentOutOfRangeException("index", index, "Index must be >= 0 and <= Count."); } this.m_InnerArrayList.SetRange(this.m_InnerIndex + index, c); this.m_InnerStateChanges = this.m_InnerArrayList._version; } // Token: 0x06000EBF RID: 3775 RVA: 0x0003EC94 File Offset: 0x0003CE94 public override void CopyTo(Array array) { this.CopyTo(array, 0); } // Token: 0x06000EC0 RID: 3776 RVA: 0x0003ECA0 File Offset: 0x0003CEA0 public override void CopyTo(Array array, int index) { this.CopyTo(0, array, index, this.m_InnerCount); } // Token: 0x06000EC1 RID: 3777 RVA: 0x0003ECB4 File Offset: 0x0003CEB4 public override void CopyTo(int index, Array array, int arrayIndex, int count) { ArrayList.CheckRange(index, count, this.m_InnerCount); this.m_InnerArrayList.CopyTo(this.m_InnerIndex + index, array, arrayIndex, count); } // Token: 0x06000EC2 RID: 3778 RVA: 0x0003ECDC File Offset: 0x0003CEDC public override IEnumerator GetEnumerator() { return this.GetEnumerator(0, this.m_InnerCount); } // Token: 0x06000EC3 RID: 3779 RVA: 0x0003ECEC File Offset: 0x0003CEEC public override IEnumerator GetEnumerator(int index, int count) { ArrayList.CheckRange(index, count, this.m_InnerCount); return this.m_InnerArrayList.GetEnumerator(this.m_InnerIndex + index, count); } // Token: 0x06000EC4 RID: 3780 RVA: 0x0003ED10 File Offset: 0x0003CF10 public override void AddRange(ICollection c) { this.VerifyStateChanges(); this.m_InnerArrayList.InsertRange(this.m_InnerCount, c); this.m_InnerCount += c.Count; this.m_InnerStateChanges = this.m_InnerArrayList._version; } // Token: 0x06000EC5 RID: 3781 RVA: 0x0003ED5C File Offset: 0x0003CF5C public override int BinarySearch(object value) { return this.BinarySearch(0, this.m_InnerCount, value, Comparer.Default); } // Token: 0x06000EC6 RID: 3782 RVA: 0x0003ED74 File Offset: 0x0003CF74 public override int BinarySearch(object value, IComparer comparer) { return this.BinarySearch(0, this.m_InnerCount, value, comparer); } // Token: 0x06000EC7 RID: 3783 RVA: 0x0003ED88 File Offset: 0x0003CF88 public override int BinarySearch(int index, int count, object value, IComparer comparer) { ArrayList.CheckRange(index, count, this.m_InnerCount); return this.m_InnerArrayList.BinarySearch(this.m_InnerIndex + index, count, value, comparer); } // Token: 0x06000EC8 RID: 3784 RVA: 0x0003EDBC File Offset: 0x0003CFBC public override object Clone() { return new ArrayList.RangedArrayList((ArrayList)this.m_InnerArrayList.Clone(), this.m_InnerIndex, this.m_InnerCount); } // Token: 0x06000EC9 RID: 3785 RVA: 0x0003EDE0 File Offset: 0x0003CFE0 public override ArrayList GetRange(int index, int count) { ArrayList.CheckRange(index, count, this.m_InnerCount); return new ArrayList.RangedArrayList(this, index, count); } // Token: 0x06000ECA RID: 3786 RVA: 0x0003EDF8 File Offset: 0x0003CFF8 public override void TrimToSize() { throw new NotSupportedException(); } // Token: 0x06000ECB RID: 3787 RVA: 0x0003EE00 File Offset: 0x0003D000 public override void Sort() { this.Sort(Comparer.Default); } // Token: 0x06000ECC RID: 3788 RVA: 0x0003EE10 File Offset: 0x0003D010 public override void Sort(IComparer comparer) { this.Sort(0, this.m_InnerCount, comparer); } // Token: 0x06000ECD RID: 3789 RVA: 0x0003EE20 File Offset: 0x0003D020 public override void Sort(int index, int count, IComparer comparer) { this.VerifyStateChanges(); ArrayList.CheckRange(index, count, this.m_InnerCount); this.m_InnerArrayList.Sort(this.m_InnerIndex + index, count, comparer); this.m_InnerStateChanges = this.m_InnerArrayList._version; } // Token: 0x06000ECE RID: 3790 RVA: 0x0003EE68 File Offset: 0x0003D068 public override object[] ToArray() { object[] array = new object[this.m_InnerCount]; this.m_InnerArrayList.CopyTo(this.m_InnerIndex, array, 0, this.m_InnerCount); return array; } // Token: 0x06000ECF RID: 3791 RVA: 0x0003EE9C File Offset: 0x0003D09C public override Array ToArray(Type elementType) { Array array = Array.CreateInstance(elementType, this.m_InnerCount); this.m_InnerArrayList.CopyTo(this.m_InnerIndex, array, 0, this.m_InnerCount); return array; } // Token: 0x040003A4 RID: 932 private int m_InnerIndex; // Token: 0x040003A5 RID: 933 private int m_InnerCount; // Token: 0x040003A6 RID: 934 private int m_InnerStateChanges; } // Token: 0x0200011D RID: 285 [Serializable] private sealed class SynchronizedListWrapper : ArrayList.ListWrapper { // Token: 0x06000ED0 RID: 3792 RVA: 0x0003EED0 File Offset: 0x0003D0D0 public SynchronizedListWrapper(IList innerList) : base(innerList) { this.m_SyncRoot = innerList.SyncRoot; } // Token: 0x1700023E RID: 574 // (get) Token: 0x06000ED1 RID: 3793 RVA: 0x0003EEE8 File Offset: 0x0003D0E8 public override int Count { get { object syncRoot = this.m_SyncRoot; int count; lock (syncRoot) { count = this.m_InnerList.Count; } return count; } } // Token: 0x1700023F RID: 575 // (get) Token: 0x06000ED2 RID: 3794 RVA: 0x0003EF3C File Offset: 0x0003D13C public override bool IsSynchronized { get { return true; } } // Token: 0x17000240 RID: 576 // (get) Token: 0x06000ED3 RID: 3795 RVA: 0x0003EF40 File Offset: 0x0003D140 public override object SyncRoot { get { object syncRoot = this.m_SyncRoot; object syncRoot2; lock (syncRoot) { syncRoot2 = this.m_InnerList.SyncRoot; } return syncRoot2; } } // Token: 0x17000241 RID: 577 // (get) Token: 0x06000ED4 RID: 3796 RVA: 0x0003EF94 File Offset: 0x0003D194 public override bool IsFixedSize { get { object syncRoot = this.m_SyncRoot; bool isFixedSize; lock (syncRoot) { isFixedSize = this.m_InnerList.IsFixedSize; } return isFixedSize; } } // Token: 0x17000242 RID: 578 // (get) Token: 0x06000ED5 RID: 3797 RVA: 0x0003EFE8 File Offset: 0x0003D1E8 public override bool IsReadOnly { get { object syncRoot = this.m_SyncRoot; bool isReadOnly; lock (syncRoot) { isReadOnly = this.m_InnerList.IsReadOnly; } return isReadOnly; } } // Token: 0x17000243 RID: 579 public override object this[int index] { get { object syncRoot = this.m_SyncRoot; object obj; lock (syncRoot) { obj = this.m_InnerList[index]; } return obj; } set { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerList[index] = value; } } } // Token: 0x06000ED8 RID: 3800 RVA: 0x0003F0E4 File Offset: 0x0003D2E4 public override int Add(object value) { object syncRoot = this.m_SyncRoot; int num; lock (syncRoot) { num = this.m_InnerList.Add(value); } return num; } // Token: 0x06000ED9 RID: 3801 RVA: 0x0003F13C File Offset: 0x0003D33C public override void Clear() { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerList.Clear(); } } // Token: 0x06000EDA RID: 3802 RVA: 0x0003F18C File Offset: 0x0003D38C public override bool Contains(object value) { object syncRoot = this.m_SyncRoot; bool flag; lock (syncRoot) { flag = this.m_InnerList.Contains(value); } return flag; } // Token: 0x06000EDB RID: 3803 RVA: 0x0003F1E4 File Offset: 0x0003D3E4 public override int IndexOf(object value) { object syncRoot = this.m_SyncRoot; int num; lock (syncRoot) { num = this.m_InnerList.IndexOf(value); } return num; } // Token: 0x06000EDC RID: 3804 RVA: 0x0003F23C File Offset: 0x0003D43C public override void Insert(int index, object value) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerList.Insert(index, value); } } // Token: 0x06000EDD RID: 3805 RVA: 0x0003F28C File Offset: 0x0003D48C public override void Remove(object value) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerList.Remove(value); } } // Token: 0x06000EDE RID: 3806 RVA: 0x0003F2DC File Offset: 0x0003D4DC public override void RemoveAt(int index) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerList.RemoveAt(index); } } // Token: 0x06000EDF RID: 3807 RVA: 0x0003F32C File Offset: 0x0003D52C public override void CopyTo(Array array, int index) { object syncRoot = this.m_SyncRoot; lock (syncRoot) { this.m_InnerList.CopyTo(array, index); } } // Token: 0x06000EE0 RID: 3808 RVA: 0x0003F37C File Offset: 0x0003D57C public override IEnumerator GetEnumerator() { object syncRoot = this.m_SyncRoot; IEnumerator enumerator; lock (syncRoot) { enumerator = this.m_InnerList.GetEnumerator(); } return enumerator; } // Token: 0x040003A7 RID: 935 private object m_SyncRoot; } // Token: 0x0200011E RID: 286 [Serializable] private class FixedSizeListWrapper : ArrayList.ListWrapper { // Token: 0x06000EE1 RID: 3809 RVA: 0x0003F3D0 File Offset: 0x0003D5D0 public FixedSizeListWrapper(IList innerList) : base(innerList) { } // Token: 0x17000244 RID: 580 // (get) Token: 0x06000EE2 RID: 3810 RVA: 0x0003F3DC File Offset: 0x0003D5DC protected virtual string ErrorMessage { get { return "List is fixed-size."; } } // Token: 0x17000245 RID: 581 // (get) Token: 0x06000EE3 RID: 3811 RVA: 0x0003F3E4 File Offset: 0x0003D5E4 public override bool IsFixedSize { get { return true; } } // Token: 0x06000EE4 RID: 3812 RVA: 0x0003F3E8 File Offset: 0x0003D5E8 public override int Add(object value) { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000EE5 RID: 3813 RVA: 0x0003F3F8 File Offset: 0x0003D5F8 public override void Clear() { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000EE6 RID: 3814 RVA: 0x0003F408 File Offset: 0x0003D608 public override void Insert(int index, object value) { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000EE7 RID: 3815 RVA: 0x0003F418 File Offset: 0x0003D618 public override void Remove(object value) { throw new NotSupportedException(this.ErrorMessage); } // Token: 0x06000EE8 RID: 3816 RVA: 0x0003F428 File Offset: 0x0003D628 public override void RemoveAt(int index) { throw new NotSupportedException(this.ErrorMessage); } } // Token: 0x0200011F RID: 287 [Serializable] private sealed class ReadOnlyListWrapper : ArrayList.FixedSizeListWrapper { // Token: 0x06000EE9 RID: 3817 RVA: 0x0003F438 File Offset: 0x0003D638 public ReadOnlyListWrapper(IList innerList) : base(innerList) { } // Token: 0x17000246 RID: 582 // (get) Token: 0x06000EEA RID: 3818 RVA: 0x0003F444 File Offset: 0x0003D644 protected override string ErrorMessage { get { return "List is read-only."; } } // Token: 0x17000247 RID: 583 // (get) Token: 0x06000EEB RID: 3819 RVA: 0x0003F44C File Offset: 0x0003D64C public override bool IsReadOnly { get { return true; } } // Token: 0x17000248 RID: 584 public override object this[int index] { get { return this.m_InnerList[index]; } set { throw new NotSupportedException(this.ErrorMessage); } } } // Token: 0x02000120 RID: 288 [Serializable] private class ListWrapper : IEnumerable, ICollection, IList { // Token: 0x06000EEE RID: 3822 RVA: 0x0003F470 File Offset: 0x0003D670 public ListWrapper(IList innerList) { this.m_InnerList = innerList; } // Token: 0x17000249 RID: 585 public virtual object this[int index] { get { return this.m_InnerList[index]; } set { this.m_InnerList[index] = value; } } // Token: 0x1700024A RID: 586 // (get) Token: 0x06000EF1 RID: 3825 RVA: 0x0003F4A0 File Offset: 0x0003D6A0 public virtual int Count { get { return this.m_InnerList.Count; } } // Token: 0x1700024B RID: 587 // (get) Token: 0x06000EF2 RID: 3826 RVA: 0x0003F4B0 File Offset: 0x0003D6B0 public virtual bool IsSynchronized { get { return this.m_InnerList.IsSynchronized; } } // Token: 0x1700024C RID: 588 // (get) Token: 0x06000EF3 RID: 3827 RVA: 0x0003F4C0 File Offset: 0x0003D6C0 public virtual object SyncRoot { get { return this.m_InnerList.SyncRoot; } } // Token: 0x1700024D RID: 589 // (get) Token: 0x06000EF4 RID: 3828 RVA: 0x0003F4D0 File Offset: 0x0003D6D0 public virtual bool IsFixedSize { get { return this.m_InnerList.IsFixedSize; } } // Token: 0x1700024E RID: 590 // (get) Token: 0x06000EF5 RID: 3829 RVA: 0x0003F4E0 File Offset: 0x0003D6E0 public virtual bool IsReadOnly { get { return this.m_InnerList.IsReadOnly; } } // Token: 0x06000EF6 RID: 3830 RVA: 0x0003F4F0 File Offset: 0x0003D6F0 public virtual int Add(object value) { return this.m_InnerList.Add(value); } // Token: 0x06000EF7 RID: 3831 RVA: 0x0003F500 File Offset: 0x0003D700 public virtual void Clear() { this.m_InnerList.Clear(); } // Token: 0x06000EF8 RID: 3832 RVA: 0x0003F510 File Offset: 0x0003D710 public virtual bool Contains(object value) { return this.m_InnerList.Contains(value); } // Token: 0x06000EF9 RID: 3833 RVA: 0x0003F520 File Offset: 0x0003D720 public virtual int IndexOf(object value) { return this.m_InnerList.IndexOf(value); } // Token: 0x06000EFA RID: 3834 RVA: 0x0003F530 File Offset: 0x0003D730 public virtual void Insert(int index, object value) { this.m_InnerList.Insert(index, value); } // Token: 0x06000EFB RID: 3835 RVA: 0x0003F540 File Offset: 0x0003D740 public virtual void Remove(object value) { this.m_InnerList.Remove(value); } // Token: 0x06000EFC RID: 3836 RVA: 0x0003F550 File Offset: 0x0003D750 public virtual void RemoveAt(int index) { this.m_InnerList.RemoveAt(index); } // Token: 0x06000EFD RID: 3837 RVA: 0x0003F560 File Offset: 0x0003D760 public virtual void CopyTo(Array array, int index) { this.m_InnerList.CopyTo(array, index); } // Token: 0x06000EFE RID: 3838 RVA: 0x0003F570 File Offset: 0x0003D770 public virtual IEnumerator GetEnumerator() { return this.m_InnerList.GetEnumerator(); } // Token: 0x040003A8 RID: 936 protected IList m_InnerList; } } }