X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem%2FSystem.CodeDom%2FCodeParameterDeclarationExpressionCollection.cs;h=67e863441365bd76f0926921d1dbc40e3a62b5f1;hb=e8c67296c07b72efe7577458f732b025189012ae;hp=44ae219852c48adde7b9d33e738a4329a1462b38;hpb=848b7aa0f53ae250e0d33d8a7ff3ae1f8249a73c;p=mono.git diff --git a/mcs/class/System/System.CodeDom/CodeParameterDeclarationExpressionCollection.cs b/mcs/class/System/System.CodeDom/CodeParameterDeclarationExpressionCollection.cs old mode 100755 new mode 100644 index 44ae219852c..67e86344136 --- a/mcs/class/System/System.CodeDom/CodeParameterDeclarationExpressionCollection.cs +++ b/mcs/class/System/System.CodeDom/CodeParameterDeclarationExpressionCollection.cs @@ -1,159 +1,128 @@ // -// System.CodeDOM CodeParameterDeclarationExpressionCollection Class implementation +// System.CodeDom CodeParameterDeclarationExpressionCollection Class implementation // // Author: // Miguel de Icaza (miguel@ximian.com) +// Daniel Stodden (stodden@in.tum.de) // // (C) 2001 Ximian, Inc. +// Copyright (C) 2005 Novell, Inc (http://www.novell.com) +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // -namespace System.CodeDOM { - - using System.Collections; - - public class CodeParameterDeclarationExpressionCollection : IList, ICollection, IEnumerable { - - ArrayList parameterDeclExprs; - +using System.Runtime.InteropServices; +using System.Collections; + +namespace System.CodeDom +{ + [Serializable] + [ClassInterface(ClassInterfaceType.AutoDispatch)] + [ComVisible(true)] + public class CodeParameterDeclarationExpressionCollection + : CollectionBase + { // // Constructors // - public CodeParameterDeclarationExpressionCollection () + public CodeParameterDeclarationExpressionCollection() + { + } + + public CodeParameterDeclarationExpressionCollection( CodeParameterDeclarationExpression[] value ) { - parameterDeclExprs = new ArrayList (); + AddRange( value ); + } + + public CodeParameterDeclarationExpressionCollection( CodeParameterDeclarationExpressionCollection value ) + { + AddRange( value ); } // // Properties // - public int Count { + public CodeParameterDeclarationExpression this[int index] + { get { - return parameterDeclExprs.Count; + return (CodeParameterDeclarationExpression)List[index]; + } + set { + List[index] = value; } } // // Methods // - public void Add (CodeParameterDeclarationExpression value) - { - parameterDeclExprs.Add (value); - } - - public void AddRange (CodeParameterDeclarationExpression [] values) + public int Add (CodeParameterDeclarationExpression value) { - foreach (CodeParameterDeclarationExpression ca in values) - parameterDeclExprs.Add (ca); - + return List.Add( value ); } - public void Clear () + public void AddRange (CodeParameterDeclarationExpression [] value ) { - parameterDeclExprs.Clear (); - } - - private class Enumerator : IEnumerator { - private CodeParameterDeclarationExpressionCollection collection; - private int currentIndex = -1; - - internal Enumerator (CodeParameterDeclarationExpressionCollection collection) - { - this.collection = collection; - } - - public object Current { - get { - if (currentIndex == collection.Count) - throw new InvalidOperationException (); - return collection [currentIndex]; - } - } - - public bool MoveNext () - { - if (currentIndex > collection.Count) - throw new InvalidOperationException (); - return ++currentIndex < collection.Count; + if (value == null) { + throw new ArgumentNullException ("value"); } - public void Reset () - { - currentIndex = -1; + for (int i = 0; i < value.Length; i++) { + Add (value[i]); } } - public IEnumerator GetEnumerator () - { - return new CodeParameterDeclarationExpressionCollection.Enumerator (this); - } - - // - // IList method implementations - // - public int Add (object value) - { - return parameterDeclExprs.Add (value); - } - - public bool Contains (Object value) - { - return parameterDeclExprs.Contains (value); - } - - public int IndexOf (Object value) + public void AddRange (CodeParameterDeclarationExpressionCollection value) { - return parameterDeclExprs.IndexOf (value); - } - - public void Insert (int index, Object value) - { - parameterDeclExprs [index] = value; - } - - public object this[int index] { - get { - return parameterDeclExprs [index]; + if (value == null) { + throw new ArgumentNullException ("value"); } - set { - parameterDeclExprs [index] = value; + int count = value.Count; + for (int i = 0; i < count; i++) { + Add (value[i]); } } - public void Remove (object value) + public bool Contains( CodeParameterDeclarationExpression value ) { - parameterDeclExprs.Remove (value); + return List.Contains( value ); } - - public void RemoveAt (int index) + + public void CopyTo( CodeParameterDeclarationExpression[] array, int index ) { - parameterDeclExprs.RemoveAt (index); + List.CopyTo( array, index ); } - // - // ICollection method implementations - // - public void CopyTo (Array array, int index) + public int IndexOf( CodeParameterDeclarationExpression value ) { - parameterDeclExprs.CopyTo (array, index); - } - - public object SyncRoot { - get { - return parameterDeclExprs.SyncRoot; - } + return List.IndexOf( value ); } - public bool IsReadOnly { - get { - return false; - } + public void Insert( int index, CodeParameterDeclarationExpression value ) + { + List.Insert( index, value ); } - public bool IsSynchronized { - get { - return parameterDeclExprs.IsSynchronized; - } + public void Remove( CodeParameterDeclarationExpression value ) + { + List.Remove (value); } } }