aboutsummaryrefslogtreecommitdiff
path: root/runtime/CSharp3/Sources/Antlr3.Runtime.JavaExtensions/SubList.cs
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/CSharp3/Sources/Antlr3.Runtime.JavaExtensions/SubList.cs')
-rw-r--r--runtime/CSharp3/Sources/Antlr3.Runtime.JavaExtensions/SubList.cs423
1 files changed, 0 insertions, 423 deletions
diff --git a/runtime/CSharp3/Sources/Antlr3.Runtime.JavaExtensions/SubList.cs b/runtime/CSharp3/Sources/Antlr3.Runtime.JavaExtensions/SubList.cs
deleted file mode 100644
index 97025bf..0000000
--- a/runtime/CSharp3/Sources/Antlr3.Runtime.JavaExtensions/SubList.cs
+++ /dev/null
@@ -1,423 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Collections;
-
-namespace Antlr.Runtime.JavaExtensions
-{
- public class SubList
- : IList
- {
- IList _source;
- int _startIndex;
- int _endIndex;
-
- public SubList( IList source, int startIndex, int endIndex )
- {
- if ( source == null )
- throw new ArgumentNullException( "source" );
- if ( startIndex < 0 || endIndex < 0 )
- throw new ArgumentOutOfRangeException();
- if ( startIndex > endIndex || endIndex >= source.Count )
- throw new ArgumentException();
-
- _source = source;
- _startIndex = startIndex;
- _endIndex = endIndex;
- }
-
- #region IList Members
-
- public int Add( object value )
- {
- throw new NotSupportedException();
- }
-
- public void Clear()
- {
- throw new NotSupportedException();
- }
-
- public bool Contains( object value )
- {
- return _source
- .Cast<object>()
- .Skip( _startIndex )
- .Take( _endIndex - _startIndex + 1 )
- .Contains( value );
- }
-
- public int IndexOf( object value )
- {
- for ( int i = 0; i < Count; i++ )
- {
- if ( object.Equals( this[i], value ) )
- return i;
- }
-
- return -1;
- }
-
- public void Insert( int index, object value )
- {
- throw new NotSupportedException();
- }
-
- public bool IsFixedSize
- {
- get
- {
- return true;
- }
- }
-
- public bool IsReadOnly
- {
- get
- {
- return true;
- }
- }
-
- public void Remove( object value )
- {
- throw new NotSupportedException();
- }
-
- public void RemoveAt( int index )
- {
- throw new NotSupportedException();
- }
-
- public object this[int index]
- {
- get
- {
- if ( index < 0 || index >= Count )
- throw new ArgumentOutOfRangeException();
-
- return _source[index + _startIndex];
- }
- set
- {
- if ( index < 0 || index >= Count )
- throw new ArgumentOutOfRangeException();
-
- _source[index + _startIndex] = value;
- }
- }
-
- #endregion
-
- #region ICollection Members
-
- public void CopyTo( Array array, int index )
- {
- if ( array == null )
- throw new ArgumentNullException( "array" );
-
- if ( index < 0 )
- throw new ArgumentOutOfRangeException();
-
- if ( index + Count > array.Length )
- throw new ArgumentException();
-
- for ( int i = 0; i < Count; i++ )
- {
- array.SetValue( this[i], index + i );
- }
- }
-
- public int Count
- {
- get
- {
- return _endIndex - _startIndex + 1;
- }
- }
-
- public bool IsSynchronized
- {
- get
- {
- return false;
- }
- }
-
- public object SyncRoot
- {
- get
- {
- return _source.SyncRoot;
- }
- }
-
- #endregion
-
- #region IEnumerable Members
-
- public System.Collections.IEnumerator GetEnumerator()
- {
- return _source.Cast<object>()
- .Skip( _startIndex )
- .Take( _endIndex - _startIndex + 1 )
- .GetEnumerator();
- }
-
- #endregion
- }
-
- public class SubList<T> : IList<T>, ICollection<T>, IEnumerable<T>, IList, ICollection, IEnumerable
- {
- IList<T> _source;
- int _startIndex;
- int _endIndex;
-
- public SubList( IList<T> source, int startIndex, int endIndex )
- {
- if ( source == null )
- throw new ArgumentNullException( "source" );
- if ( startIndex < 0 || endIndex < 0 )
- throw new ArgumentOutOfRangeException();
- if ( startIndex > endIndex || endIndex >= source.Count )
- throw new ArgumentException();
-
- _source = source;
- _startIndex = startIndex;
- _endIndex = endIndex;
- }
-
- #region IEnumerable Members
-
- IEnumerator IEnumerable.GetEnumerator()
- {
- return GetEnumerator();
- }
-
- #endregion
-
- #region ICollection Members
-
- void ICollection.CopyTo( Array array, int index )
- {
- if ( array == null )
- throw new ArgumentNullException( "array" );
-
- if ( index < 0 )
- throw new ArgumentOutOfRangeException();
-
- if ( index + Count > array.Length )
- throw new ArgumentException();
-
- for ( int i = 0; i < Count; i++ )
- {
- array.SetValue( this[i], index + i );
- }
- }
-
- public int Count
- {
- get
- {
- return _endIndex - _startIndex + 1;
- }
- }
-
- public bool IsSynchronized
- {
- get
- {
- ICollection sourceCollection = _source as ICollection;
- if ( sourceCollection != null )
- return sourceCollection.IsSynchronized;
-
- return false;
- }
- }
-
- public object SyncRoot
- {
- get
- {
- ICollection sourceCollection = _source as ICollection;
- if ( sourceCollection != null )
- return sourceCollection.SyncRoot;
-
- return _source;
- }
- }
-
- #endregion
-
- #region IList Members
-
- int IList.Add( object value )
- {
- throw new NotSupportedException();
- }
-
- void IList.Clear()
- {
- throw new NotSupportedException();
- }
-
- public bool Contains( object value )
- {
- return _source.Cast<object>().Skip( _startIndex ).Take( Count ).Contains( value );
- }
-
- public int IndexOf( object value )
- {
- for ( int i = _startIndex; i <= _endIndex; i++ )
- {
- if ( object.Equals( _source[i], value ) )
- return i - _startIndex;
- }
-
- return -1;
- }
-
- void IList.Insert( int index, object value )
- {
- throw new NotSupportedException();
- }
-
- public bool IsFixedSize
- {
- get
- {
- var sourceCollection = _source as IList;
- if ( sourceCollection != null )
- return sourceCollection.IsFixedSize;
-
- return false;
- }
- }
-
- public bool IsReadOnly
- {
- get
- {
- return true;
- }
- }
-
- void IList.Remove( object value )
- {
- throw new NotSupportedException();
- }
-
- void IList.RemoveAt( int index )
- {
- throw new NotSupportedException();
- }
-
- object IList.this[int index]
- {
- get
- {
- return this[index];
- }
- set
- {
- this[index] = (T)value;
- }
- }
-
- #endregion
-
- #region IEnumerable<T> Members
-
- public IEnumerator<T> GetEnumerator()
- {
- return _source.Skip( _startIndex ).Take( Count ).GetEnumerator();
- }
-
- #endregion
-
- #region ICollection<T> Members
-
- void ICollection<T>.Add( T item )
- {
- throw new NotSupportedException();
- }
-
- void ICollection<T>.Clear()
- {
- throw new NotSupportedException();
- }
-
- public bool Contains( T item )
- {
- return _source.Skip( _startIndex ).Take( Count ).Contains( item );
- }
-
- public void CopyTo( T[] array, int arrayIndex )
- {
- if ( array == null )
- throw new ArgumentNullException( "array" );
-
- if ( arrayIndex < 0 )
- throw new ArgumentOutOfRangeException();
-
- if ( arrayIndex + Count > array.Length )
- throw new ArgumentException();
-
- for ( int i = 0; i < Count; i++ )
- {
- array[arrayIndex + i] = this[i];
- }
- }
-
- bool ICollection<T>.Remove( T item )
- {
- throw new NotSupportedException();
- }
-
- #endregion
-
- #region IList<T> Members
-
- public int IndexOf( T item )
- {
- for ( int i = 0; i < Count; i++ )
- {
- if ( object.Equals( this[i], item ) )
- return i;
- }
-
- return -1;
- }
-
- void IList<T>.Insert( int index, T item )
- {
- throw new NotSupportedException();
- }
-
- void IList<T>.RemoveAt( int index )
- {
- throw new NotSupportedException();
- }
-
- public T this[int index]
- {
- get
- {
- if ( index < 0 || index >= Count )
- throw new ArgumentOutOfRangeException();
-
- return _source[index + _startIndex];
- }
- set
- {
- if ( index < 0 || index >= Count )
- throw new ArgumentOutOfRangeException();
-
- _source[index + _startIndex] = value;
- }
- }
-
- #endregion
- }
-}