[System.Data.DataSetExtensions] Switch to reference sources
authorMarek Safar <marek.safar@gmail.com>
Fri, 15 May 2015 07:16:43 +0000 (09:16 +0200)
committerMarek Safar <marek.safar@gmail.com>
Fri, 15 May 2015 07:17:12 +0000 (09:17 +0200)
16 files changed:
mcs/class/System.Data.DataSetExtensions/Makefile
mcs/class/System.Data.DataSetExtensions/ReferenceSources/Strings.cs [new file with mode: 0644]
mcs/class/System.Data.DataSetExtensions/System.Data.DataSetExtensions.dll.sources
mcs/class/System.Data.DataSetExtensions/System.Data/ChangeLog [deleted file]
mcs/class/System.Data.DataSetExtensions/System.Data/DataRowComparer.cs [deleted file]
mcs/class/System.Data.DataSetExtensions/System.Data/DataRowComparer_1.cs [deleted file]
mcs/class/System.Data.DataSetExtensions/System.Data/DataRowExtensions.cs [deleted file]
mcs/class/System.Data.DataSetExtensions/System.Data/DataTableExtensions.cs [deleted file]
mcs/class/System.Data.DataSetExtensions/System.Data/EnumerableRowCollection.cs [deleted file]
mcs/class/System.Data.DataSetExtensions/System.Data/EnumerableRowCollectionExtensions.cs [deleted file]
mcs/class/System.Data.DataSetExtensions/System.Data/EnumerableRowCollection_1.cs [deleted file]
mcs/class/System.Data.DataSetExtensions/System.Data/OrderedEnumerableRowCollection.cs [deleted file]
mcs/class/System.Data.DataSetExtensions/System.Data/RowEnumerableDataReader.cs [deleted file]
mcs/class/System.Data.DataSetExtensions/System.Data/TypedTableBase.cs [deleted file]
mcs/class/System.Data.DataSetExtensions/System.Data/TypedTableBaseExtensions.cs [deleted file]
mcs/class/System.Data.DataSetExtensions/Test/System.Data/DataRowExtensionsTest.cs

index 48c293f86504c7eb2da1b048d4f7755afd832373..c19c4b9e9978ea3ddb88523b1df795305e5c86bb 100644 (file)
@@ -4,18 +4,9 @@ include ../../build/rules.make
 
 LIBRARY = System.Data.DataSetExtensions.dll
 
-LIB_REFS = System.Core System System.Data System.Xml System.Web
-LIB_MCS_FLAGS = \
-       -r:$(corlib)                    \
-       -r:System.Data.dll              \
-       -r:System.Xml.dll               \
-       -r:System.Web.dll               \
-       $(OTHER_LIB_MCS_FLAGS)
+RESOURCE_STRINGS = ../../../external/referencesource/System.Data.DataSetExtensions/System.Data.DataSetExtensions.txt
 
-ifeq (2.0, $(FRAMEWORK_VERSION))
-# This is a .NET 3.5 only assembly, but built during the 2.0 build
-LIB_MCS_FLAGS += -d:NET_3_5 -nowarn:1720
-endif
+LIB_REFS = System.Core System System.Data System.Xml
 
 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -doc:$(test_lib:.dll=.xml)  -nowarn:219 -nowarn:169 $(NUNIT_RESOURCE_FILES:%=/resource:%)
 
diff --git a/mcs/class/System.Data.DataSetExtensions/ReferenceSources/Strings.cs b/mcs/class/System.Data.DataSetExtensions/ReferenceSources/Strings.cs
new file mode 100644 (file)
index 0000000..6a779e7
--- /dev/null
@@ -0,0 +1,28 @@
+namespace System.Data.DataSetExtensions
+{
+       static class Strings
+       {
+               public const string DataSetLinq_CannotCompareDeletedRow = "DataSetLinq_CannotCompareDeletedRow";
+               public const string DataSetLinq_CannotLoadDeletedRow = "DataSetLinq_CannotLoadDeletedRow";
+               public const string DataSetLinq_CannotLoadDetachedRow = "DataSetLinq_CannotLoadDetachedRow";
+               public const string DataSetLinq_EmptyDataRowSource = "DataSetLinq_EmptyDataRowSource";
+               public const string DataSetLinq_NullDataRow = "DataSetLinq_NullDataRow";
+               public const string LDVRowStateError = "LDVRowStateError";
+               public const string ToLDVUnsupported = "ToLDVUnsupported";
+
+               public static string DataSetLinq_InvalidEnumerationValue (params object[] args)
+               {
+                       return SR.GetString ("DataSetLinq_InvalidEnumerationValue", args);
+               }
+
+               public static string DataSetLinq_NonNullableCast (object arg)
+               {
+                       return SR.GetString ("DataSetLinq_NonNullableCast", arg);
+               }
+
+               public static string LDV_InvalidNumOfKeys (params object[] args)
+               {
+                       return SR.GetString ("LDV_InvalidNumOfKeys", args);
+               }
+       }
+}
\ No newline at end of file
index 45c800af6387e21b983b60ab2b95c7530309d12c..5f5c4c521d1b61152b2d01c62a23269a59e76386 100644 (file)
@@ -1,15 +1,14 @@
 ../../build/common/Consts.cs
-../../build/common/Locale.cs
-../../build/common/MonoTODOAttribute.cs
 Assembly/AssemblyInfo.cs
-System.Data/DataRowComparer.cs
-System.Data/DataRowComparer_1.cs
-System.Data/DataRowExtensions.cs
-System.Data/DataTableExtensions.cs
-System.Data/EnumerableRowCollection.cs
-System.Data/EnumerableRowCollectionExtensions.cs
-System.Data/EnumerableRowCollection_1.cs
-System.Data/OrderedEnumerableRowCollection.cs
-System.Data/RowEnumerableDataReader.cs
-System.Data/TypedTableBase.cs
-System.Data/TypedTableBaseExtensions.cs
+../../../external/referencesource/System.Data.DataSetExtensions/System/Data/DataRowComparer.cs
+../../../external/referencesource/System.Data.DataSetExtensions/System/Data/DataRowExtensions.cs
+../../../external/referencesource/System.Data.DataSetExtensions/System/Data/DataSetUtil.cs
+../../../external/referencesource/System.Data.DataSetExtensions/System/Data/DataTableExtensions.cs
+../../../external/referencesource/System.Data.DataSetExtensions/System/Data/EnumerableRowCollection.cs
+../../../external/referencesource/System.Data.DataSetExtensions/System/Data/EnumerableRowCollectionExtensions.cs
+../../../external/referencesource/System.Data.DataSetExtensions/System/Data/LinqDataView.cs
+../../../external/referencesource/System.Data.DataSetExtensions/System/Data/OrderedEnumerableRowCollection.cs
+../../../external/referencesource/System.Data.DataSetExtensions/System/Data/SortExpressionBuilder.cs
+../../../external/referencesource/System.Data.DataSetExtensions/System/Data/TypedTableBase.cs
+../../../external/referencesource/System.Data.DataSetExtensions/System/Data/TypedTableBaseExtensions.cs
+ReferenceSources/Strings.cs
\ No newline at end of file
diff --git a/mcs/class/System.Data.DataSetExtensions/System.Data/ChangeLog b/mcs/class/System.Data.DataSetExtensions/System.Data/ChangeLog
deleted file mode 100644 (file)
index b6c487f..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-2010-03-26  Miguel de Icaza  <miguel@novell.com>
-
-       * RowEnumerableDataReader.cs: Applied patch from Tony Fish fixing
-       bug #591397
-
-2008-12-02  Marek Habersack  <mhabersack@novell.com>
-
-       * DataRowExtensions.cs: when Field <T> is specialized on a
-       nullable type (either a reference or an instance of Nullable <T>)
-       do not throw exception for column value being DBNull but return
-       null instead.
-
-2008-08-15  Gert Driesen  <drieseng@users.sourceforge.net>
-
-       * DataRowComparer_1.cs: Modified Equals to return true if all column
-       values are equal. Modified ColumnsEqual to use Object.Equals for
-       reference types. Fixes bug #417398.
-
-2008-05-14  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * DataTableExtensions.cs :
-         implemented AsDataView() and CopyToDataTable().
-       * EnumerableRowCollection.cs : added Table property for internal use.
-
-2008-05-14  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * TypedTableBase.cs : serialization .ctor() does nothing here (it
-         might do something in derived types. no need to throw NIE here).
-
-2008-05-14  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * EnumerableRowCollectionExtensions.cs,
-         OrderedEnumerableRowCollection.cs : implemented ThenBy().
-         It required some generic refactoring.
-
-2008-05-13  Jb Evain  <jbevain@novell.com>
-
-       * EnumerableRowCollection.cs: delete methods
-       Select/Where/Cast that duplicate Linq to Objects
-       methods.
-       * EnumerableRowCollectionExtensions.cs
-       TypedTableBase.cs, TypedTableBaseExtensions.cs: directly
-       fallback to Linq to Objects.
-
-2008-05-13  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * DataTableExtensions.cs, EnumerableRowCollection.cs,
-         EnumerableRowCollectionExtensions.cs, EnumerableRowCollection_1.cs,
-         OrderedEnumerableRowCollection.cs, TypedTableBase.cs,
-         TypedTableBaseExtensions.cs : lots of significant refactoring to
-         make collection/enumerable things unified.
-         Implemented OrderBy() and OrderByDescending().
-
-2008-05-13  Marek Habersack  <mhabersack@novell.com>
-
-       * DataRowComparer_1.cs: implemented GetHashCode and Equals.
-
-2008-05-13  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * DataTableExtensions.cs : implemented AsEnumerable().
-       * DataRowExtensions.cs : implemented.
-       * EnumerableRowCollection_1.cs : implemented.
-       * EnumerableRowCollectionExtensions.cs :
-         implemented Select() and Where().
-       * OrderedEnumerableRowCollection.cs : base is not parameterless now.
-       * TypedTableBaseExtensions.cs:
-         some overloads can just delegate to others.
-       * DataRowComparer_1.cs : (added some non-working code.)
-
-2008-05-13  Atsushi Enomoto  <atsushi@ximian.com>
-
-       * DataRowComparer.cs, DataRowComparer_1.cs, DataRowExtensions.cs,
-         DataTableExtensions.cs, EnumerableRowCollection.cs,
-         EnumerableRowCollectionExtensions.cs, EnumerableRowCollection_1.cs,
-         OrderedEnumerableRowCollection.cs, TypedTableBase.cs,
-         TypedTableBaseExtensions.cs : stubbed all.
-
diff --git a/mcs/class/System.Data.DataSetExtensions/System.Data/DataRowComparer.cs b/mcs/class/System.Data.DataSetExtensions/System.Data/DataRowComparer.cs
deleted file mode 100644 (file)
index 006e180..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// DataRowComparer.cs
-//
-// Author:
-//   Atsushi Enomoto  <atsushi@ximian.com>
-//
-// Copyright (C) 2008 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.
-//
-
-using System;
-
-namespace System.Data
-{
-       public static class DataRowComparer
-       {
-               static readonly DataRowComparer<DataRow> default_instance = DataRowComparer<DataRow>.Default;
-               public static DataRowComparer<DataRow> Default {
-                       get { return default_instance; }
-               }
-       }
-}
diff --git a/mcs/class/System.Data.DataSetExtensions/System.Data/DataRowComparer_1.cs b/mcs/class/System.Data.DataSetExtensions/System.Data/DataRowComparer_1.cs
deleted file mode 100644 (file)
index 2529e51..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-//
-// DataRowComparer_1.cs
-//
-// Author:
-//   Atsushi Enomoto  <atsushi@ximian.com>
-//
-// Copyright (C) 2008 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.
-//
-
-using System;
-using System.Collections.Generic;
-
-namespace System.Data
-{
-       public sealed class DataRowComparer<TRow> : IEqualityComparer<TRow> where TRow : DataRow
-       {
-               static readonly DataRowComparer<TRow> default_instance = new DataRowComparer<TRow> ();
-
-               public static DataRowComparer<TRow> Default {
-                       get { return default_instance; }
-               }
-
-               private DataRowComparer ()
-               {
-               }
-
-               // LAMESPEC: neither of the parameters throws ArgumentNullException if it's null
-               public bool Equals (TRow leftRow, TRow rightRow)
-               {
-                       if (object.ReferenceEquals (leftRow, rightRow))
-                               return true;
-
-                       if (leftRow == null || rightRow == null)
-                               return false;
-
-                       int columnCount = leftRow.Table.Columns.Count;
-                       if (columnCount != rightRow.Table.Columns.Count)
-                               return false;
-
-                       for (int i = 0; i < columnCount; i++)
-                               if (!ColumnsEqual (leftRow [i], rightRow [i]))
-                                       return false;
-                       return true;
-               }
-
-               bool ColumnsEqual (object leftCol, object rightCol)
-               {
-                       if (object.ReferenceEquals (leftCol, rightCol))
-                               return true;
-
-                       if (leftCol == null || rightCol == null)
-                               return false;
-
-                       var vt = leftCol as System.ValueType;
-                       if (vt != null && vt.Equals (rightCol))
-                               return true;
-
-                       return leftCol.Equals (rightCol);
-               }
-               
-               public int GetHashCode (TRow row)
-               {
-                       if (row == null)
-                               throw new ArgumentNullException ("row");
-
-                       DataTable table = row.Table;
-                       if (table == null)
-                               throw new ArgumentException ("The source DataRow objects does not belong to a DataTable.");
-
-                       DataColumnCollection columns = table.Columns;
-                       int columnCount = columns.Count;
-                       if (columnCount == 0)
-                               return 0;
-
-                       int ret = 0;
-                       object o;
-                       for (int i = 0; i < columnCount; i++) {
-                               o = row [i];
-                               if (o == null)
-                                       continue;
-
-                               ret ^= o.GetHashCode ();
-                       }
-                               
-                       return ret;
-               }
-       }
-}
diff --git a/mcs/class/System.Data.DataSetExtensions/System.Data/DataRowExtensions.cs b/mcs/class/System.Data.DataSetExtensions/System.Data/DataRowExtensions.cs
deleted file mode 100644 (file)
index 29ad935..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-//
-// DataRowExtensions.cs
-//
-// Author:
-//   Atsushi Enomoto  <atsushi@ximian.com>
-//
-// Copyright (C) 2008 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.
-//
-
-using System;
-using System.Runtime.CompilerServices;
-
-namespace System.Data
-{
-       public static class DataRowExtensions
-       {
-               public static T Field<T> (this DataRow row, int columnIndex)
-               {
-                       return Field<T> (row, columnIndex, DataRowVersion.Current);
-               }
-
-               public static T Field<T> (this DataRow row, int columnIndex, DataRowVersion version)
-               {
-                       object ret = row [columnIndex, version];
-                       if (ret == DBNull.Value) {
-                               Type type = typeof (T);
-                               Type genericTypeDef = type.IsGenericType ? type.GetGenericTypeDefinition () : null;
-                               if (!type.IsValueType || genericTypeDef != null && genericTypeDef == typeof (Nullable <>))
-                                       return default (T);
-                               
-                               throw new StrongTypingException ("Cannot get strong typed value since it is DB null. Please use a nullable type.", null);
-                       }
-                       
-                       return (T) ret;
-               }
-
-               public static T Field<T> (this DataRow row, string columnName)
-               {
-                       return Field<T> (row, columnName, DataRowVersion.Current);
-               }
-
-               public static T Field<T> (this DataRow row, string columnName, DataRowVersion version)
-               {
-                       return Field<T> (row, row.Table.Columns [columnName], version);
-               }
-
-               public static T Field<T> (this DataRow row, DataColumn column)
-               {
-                       return Field<T> (row, column, DataRowVersion.Current);
-               }
-
-               public static T Field<T> (this DataRow row, DataColumn column, DataRowVersion version)
-               {
-                       return Field<T> (row, row.Table.Columns.IndexOf (column), version);
-               }
-
-               public static void SetField<T> (this DataRow row, int columnIndex, T value)
-               {
-                       row [columnIndex] = value;
-               }
-
-               public static void SetField<T> (this DataRow row, string columnName, T value)
-               {
-                       row [columnName] = value;
-               }
-
-               public static void SetField<T> (this DataRow row, DataColumn column, T value)
-               {
-                       row [column] = value;
-               }
-       }
-}
diff --git a/mcs/class/System.Data.DataSetExtensions/System.Data/DataTableExtensions.cs b/mcs/class/System.Data.DataSetExtensions/System.Data/DataTableExtensions.cs
deleted file mode 100644 (file)
index 47682be..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-//
-// DataTableExtensions.cs
-//
-// Author:
-//   Atsushi Enomoto  <atsushi@ximian.com>
-//
-// Copyright (C) 2008 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.
-//
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-
-
-namespace System.Data
-{
-
-       public static class DataTableExtensions
-       {
-               public static DataView AsDataView (this DataTable table)
-               {
-                       return AsDataView<DataRow> (table.AsEnumerable ());
-               }
-
-               [MonoTODO ("We should implement an effective DataView derivation; looks like .NET does.")]
-               public static DataView AsDataView<T> (this EnumerableRowCollection<T> source)
-                       where T : DataRow
-               {
-                       return CopyToDataTable<T> (source).DefaultView;
-               }
-
-               public static EnumerableRowCollection<DataRow> AsEnumerable (this DataTable source)
-               {
-                       return new EnumerableRowCollection<DataRow> (new DataRowEnumerable<DataRow> (source));
-               }
-
-               public static DataTable CopyToDataTable<T> (this IEnumerable<T> source)
-                       where T : DataRow
-               {
-                       DataTable dt = new DataTable ();
-                       IEnumerator<T> e = source.GetEnumerator ();
-                       if (!e.MoveNext ())
-                               throw new InvalidOperationException ("The source contains no DataRows");
-                       foreach (DataColumn col in e.Current.Table.Columns)
-                               dt.Columns.Add (new DataColumn (col.ColumnName, col.DataType, col.Expression, col.ColumnMapping));
-                       CopyToDataTable<T> (source, dt, LoadOption.PreserveChanges);
-                       return dt;
-               }
-
-               public static void CopyToDataTable<T> (this IEnumerable<T> source, DataTable table, LoadOption options)
-                       where T : DataRow
-               {
-                       CopyToDataTable<T> (source, table, options, null);
-               }
-
-               public static void CopyToDataTable<T> (this IEnumerable<T> source, DataTable table, LoadOption options, FillErrorEventHandler errorHandler)
-                       where T : DataRow
-               {
-                       var reader = new RowEnumerableDataReader (source, 0);
-                       table.Load (reader, options, errorHandler);
-               }
-       }
-
-       class DataRowEnumerable<TRow> : IEnumerable<TRow>
-       {
-               DataTable source;
-
-               public DataRowEnumerable (DataTable source)
-               {
-                       this.source = source;
-               }
-
-               public IEnumerator<TRow> GetEnumerator ()
-               {
-                       foreach (TRow row in source.Rows)
-                               yield return row;
-               }
-
-               IEnumerator IEnumerable.GetEnumerator ()
-               {
-                       return GetEnumerator ();
-               }
-       }
-}
diff --git a/mcs/class/System.Data.DataSetExtensions/System.Data/EnumerableRowCollection.cs b/mcs/class/System.Data.DataSetExtensions/System.Data/EnumerableRowCollection.cs
deleted file mode 100644 (file)
index f95142c..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// EnumerableRowCollection.cs
-//
-// Author:
-//   Atsushi Enomoto  <atsushi@ximian.com>
-//
-// Copyright (C) 2008 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.
-//
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-
-namespace System.Data
-{
-       public abstract class EnumerableRowCollection : IEnumerable
-       {
-               DataTable table;
-
-               internal EnumerableRowCollection ()
-               {
-               }
-
-               internal DataTable Table {
-                       get {
-                               if (table == null)
-                                       foreach (DataRow r in this) {
-                                               table = r.Table;
-                                               break;
-                                       }
-                               return table;
-                       }
-               }
-
-               IEnumerator IEnumerable.GetEnumerator ()
-               {
-                       // it is the documented behavior.
-                       return null;
-               }
-       }
-}
diff --git a/mcs/class/System.Data.DataSetExtensions/System.Data/EnumerableRowCollectionExtensions.cs b/mcs/class/System.Data.DataSetExtensions/System.Data/EnumerableRowCollectionExtensions.cs
deleted file mode 100644 (file)
index e1b2fed..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-//
-// EnumerableRowCollectionExtensions.cs
-//
-// Author:
-//   Atsushi Enomoto  <atsushi@ximian.com>
-//
-// Copyright (C) 2008 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.
-//
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace System.Data
-{
-       public static class EnumerableRowCollectionExtensions
-       {
-               public static EnumerableRowCollection<TResult> Cast<TResult> (this EnumerableRowCollection source)
-               {
-                       return new EnumerableRowCollection<TResult> (Enumerable.Cast<TResult> (source));
-               }
-
-               public static OrderedEnumerableRowCollection<TRow> OrderBy<TRow, TKey> (this EnumerableRowCollection<TRow> source, Func<TRow, TKey> keySelector)
-               {
-                       return OrderBy<TRow, TKey> (source, keySelector, Comparer<TKey>.Default);
-               }
-
-               public static OrderedEnumerableRowCollection<TRow> OrderBy<TRow, TKey> (this EnumerableRowCollection<TRow> source, Func<TRow, TKey> keySelector, IComparer<TKey> comparer)
-               {
-                       return OrderedEnumerableRowCollection<TRow>.Create<TRow, TKey> (source, keySelector, comparer, false);
-               }
-
-               public static OrderedEnumerableRowCollection<TRow> OrderByDescending<TRow, TKey> (this EnumerableRowCollection<TRow> source, Func<TRow, TKey> keySelector)
-               {
-                       return OrderByDescending<TRow, TKey> (source, keySelector, Comparer<TKey>.Default);
-               }
-
-               public static OrderedEnumerableRowCollection<TRow> OrderByDescending<TRow, TKey> (this EnumerableRowCollection<TRow> source, Func<TRow, TKey> keySelector, IComparer<TKey> comparer)
-               {
-                       return OrderedEnumerableRowCollection<TRow>.Create<TRow, TKey> (source, keySelector, comparer, true);
-               }
-
-               public static EnumerableRowCollection<S> Select<TRow, S> (this EnumerableRowCollection<TRow> source, Func<TRow, S> selector)
-               {
-                       return new EnumerableRowCollection<S> (Enumerable.Select<TRow, S> (source, selector));
-               }
-
-               public static OrderedEnumerableRowCollection<TRow> ThenBy<TRow, TKey> (this OrderedEnumerableRowCollection<TRow> source, Func<TRow, TKey> keySelector)
-               {
-                       return ThenBy<TRow, TKey> (source, keySelector, Comparer<TKey>.Default);
-               }
-
-               public static OrderedEnumerableRowCollection<TRow> ThenBy<TRow, TKey> (this OrderedEnumerableRowCollection<TRow> source, Func<TRow, TKey> keySelector, IComparer<TKey> comparer)
-               {
-                       return OrderedEnumerableRowCollection<TRow>.AddSort<TRow, TKey> (source, keySelector, comparer, false);
-               }
-
-               public static OrderedEnumerableRowCollection<TRow> ThenByDescending<TRow, TKey> (this OrderedEnumerableRowCollection<TRow> source, Func<TRow, TKey> keySelector)
-               {
-                       return ThenByDescending<TRow, TKey> (source, keySelector, Comparer<TKey>.Default);
-               }
-
-               public static OrderedEnumerableRowCollection<TRow> ThenByDescending<TRow, TKey> (this OrderedEnumerableRowCollection<TRow> source, Func<TRow, TKey> keySelector, IComparer<TKey> comparer)
-               {
-                       return OrderedEnumerableRowCollection<TRow>.AddSort<TRow, TKey> (source, keySelector, comparer, true);
-               }
-
-               public static EnumerableRowCollection<TRow> Where<TRow> (this EnumerableRowCollection<TRow> source, Func<TRow, bool> predicate)
-               {
-                       return new EnumerableRowCollection<TRow> (Enumerable.Where<TRow> (source, predicate));
-               }
-       }
-}
diff --git a/mcs/class/System.Data.DataSetExtensions/System.Data/EnumerableRowCollection_1.cs b/mcs/class/System.Data.DataSetExtensions/System.Data/EnumerableRowCollection_1.cs
deleted file mode 100644 (file)
index bc2ddcc..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// EnumerableRowCollection_1.cs
-//
-// Author:
-//   Atsushi Enomoto  <atsushi@ximian.com>
-//
-// Copyright (C) 2008 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.
-//
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-
-namespace System.Data
-{
-       public class EnumerableRowCollection<TRow> : EnumerableRowCollection, IEnumerable<TRow>
-       {
-               IEnumerable<TRow> source;
-
-               internal EnumerableRowCollection (IEnumerable<TRow> source)
-               {
-                       this.source = source;
-               }
-
-               public IEnumerator<TRow> GetEnumerator ()
-               {
-                       foreach (TRow row in source)
-                               yield return row;
-               }
-
-               IEnumerator IEnumerable.GetEnumerator ()
-               {
-                       return GetEnumerator ();
-               }
-       }
-}
diff --git a/mcs/class/System.Data.DataSetExtensions/System.Data/OrderedEnumerableRowCollection.cs b/mcs/class/System.Data.DataSetExtensions/System.Data/OrderedEnumerableRowCollection.cs
deleted file mode 100644 (file)
index e10170f..0000000
+++ /dev/null
@@ -1,128 +0,0 @@
-//
-// OrderedEnumerableRowCollection.cs
-//
-// Author:
-//   Atsushi Enomoto  <atsushi@ximian.com>
-//
-// Copyright (C) 2008 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.
-//
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-
-namespace System.Data
-{
-       public sealed class OrderedEnumerableRowCollection<TRow>
-               : EnumerableRowCollection<TRow>
-       {
-               internal static OrderedEnumerableRowCollection<TRow> Create<TRow, TKey> (IEnumerable<TRow> source, Func<TRow, TKey> keySelector, IComparer<TKey> comparer, bool descending)
-               {
-                       var sorter = new SortComparer<TRow> ();
-                       sorter.AddSort<TKey> (keySelector, comparer, descending);
-                       return new OrderedEnumerableRowCollection<TRow> (new SortedEnumerable <TRow> (source, sorter));
-               }
-
-               internal static OrderedEnumerableRowCollection<TRow> AddSort<TRow, TKey> (OrderedEnumerableRowCollection<TRow> source, Func<TRow, TKey> keySelector, IComparer<TKey> comparer, bool descending)
-               {
-                       source.source.Sorter.AddSort<TKey> (keySelector, comparer, descending);
-                       return source;
-               }
-
-               OrderedEnumerableRowCollection (SortedEnumerable<TRow> source)
-                       : base (source)
-               {
-                       this.source = source;
-               }
-
-               SortedEnumerable<TRow> source;
-       }
-
-       class SortComparer<TRow> : IComparer<TRow>
-       {
-               public SortComparer ()
-               {
-               }
-
-               List<Comparison<TRow>> comparers = new List<Comparison<TRow>> ();
-
-               public void AddSort (Comparison<TRow> comparer)
-               {
-                       comparers.Add (comparer);
-               }
-
-               public void AddSort<TKey> (Func<TRow, TKey> keySelector, IComparer<TKey> comparer, bool descending)
-               {
-                       if (keySelector == null)
-                               throw new ArgumentNullException ("keySelector");
-                       if (comparer == null)
-                               comparer = Comparer<TKey>.Default;
-                       comparers.Add (delegate (TRow r1, TRow r2) {
-                               int ret = comparer.Compare (keySelector (r1), keySelector (r2));
-                               return descending ? -ret : ret;
-                               });
-               }
-
-               public int Compare (TRow r1, TRow r2)
-               {
-                       foreach (var c in comparers) {
-                               int ret = c (r1, r2);
-                               if (ret != 0)
-                                       return ret;
-                       }
-                       return 0;
-               }
-       }
-
-       class SortedEnumerable<TRow> : IEnumerable<TRow>
-       {
-               IEnumerable<TRow> source;
-               SortComparer<TRow> sorter;
-
-               public SortedEnumerable (IEnumerable<TRow> source, SortComparer<TRow> sorter)
-               {
-                       this.source = source;
-                       this.sorter = sorter;
-               }
-
-               public SortComparer<TRow> Sorter {
-                       get { return sorter; }
-               }
-
-               public IEnumerator<TRow> GetEnumerator ()
-               {
-                       var list = new List<TRow> ();
-                       foreach (TRow row in source)
-                               list.Add (row);
-                       list.Sort (sorter);
-                       for (int i = 0, c = list.Count; i < c; i++)
-                               yield return list [i];
-               }
-
-               IEnumerator IEnumerable.GetEnumerator ()
-               {
-                       return GetEnumerator ();
-               }
-       }
-}
diff --git a/mcs/class/System.Data.DataSetExtensions/System.Data/RowEnumerableDataReader.cs b/mcs/class/System.Data.DataSetExtensions/System.Data/RowEnumerableDataReader.cs
deleted file mode 100644 (file)
index f9a8564..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-//
-// RowEnumerableDataReader.cs
-//
-// Author:
-//   Atsushi Enomoto  <atsushi@ximian.com>
-//
-// Copyright (C) 2008 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.
-//
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace System.Data
-{
-       internal class RowEnumerableDataReader : IDataReader
-       {
-               EnumerableRowCollection source;
-               IEnumerator e;
-               int depth;
-               bool done;
-
-               public RowEnumerableDataReader (IEnumerable source, int depth)
-               {
-                       this.source = source as EnumerableRowCollection;
-                       if (this.source == null)
-                               this.source = new EnumerableRowCollection<DataRow> ((IEnumerable<DataRow>) source);
-                       this.depth = depth;
-               }
-
-               public DataRow Current {
-                       get { return e != null ? (DataRow) e.Current : null; }
-               }
-
-               public int Depth {
-                       get { return depth; }
-               }
-
-               public bool IsClosed {
-                       get { return done; }
-               }
-
-               public int RecordsAffected {
-                       get { return -1; }
-               }
-
-               public void Close ()
-               {
-                       done = true;
-               }
-
-               public DataTable GetSchemaTable ()
-               {
-                       return new DataTableReader (source.Table).GetSchemaTable ();
-               }
-
-               public bool NextResult ()
-               {
-                       return e.MoveNext ();
-               }
-
-               public bool Read ()
-               {
-                       if (e == null)
-                               e = ((IEnumerable) source).GetEnumerator ();
-                       return NextResult ();
-               }
-
-               // IDisposable
-               public void Dispose ()
-               {
-                       Close ();
-               }
-
-               // IDataRecord
-
-               DataTable GetTable ()
-               {
-                       DataRow r = Current;
-                       if (r == null)
-                               foreach (DataRow rr in source) {
-                                       r = rr;
-                                       break;
-                               }
-                       return r.Table;
-               }
-
-               public int FieldCount {
-                       get { return GetTable ().Columns.Count; }
-               }
-
-               public object this [int i] {
-                       get { return Current [i]; }
-               }
-
-               public object this [string name] {
-                       get { return Current [name]; }
-               }
-
-               public string GetDataTypeName (int i)
-               {
-                       return GetFieldType (i).Name;
-               }
-
-               public Type GetFieldType (int i)
-               {
-                       return GetTable ().Columns [i].DataType;
-               }
-
-               public string GetName (int i)
-               {
-                       return GetTable ().Columns [i].ColumnName;
-               }
-
-               public int GetOrdinal (string name)
-               {
-                       return GetTable ().Columns [name].Ordinal;
-               }
-
-               public long GetBytes (int i, long fieldOffset, byte [] buffer, int bufferoffset, int length)
-               {
-                       // FIXME: do we need it?
-                       throw new NotSupportedException ();
-               }
-
-               public long GetChars (int i, long fieldOffset, char [] buffer, int bufferoffset, int length)
-               {
-                       // FIXME: do we need it?
-                       throw new NotSupportedException ();
-               }
-
-               public IDataReader GetData (int i)
-               {
-                       // FIXME: do we need it?
-                       throw new NotSupportedException ();
-               }
-
-               public int GetValues (object [] values)
-               {
-                       int fieldCount = FieldCount;
-                       int i;
-
-                       //target object is byval so we can not just assign new object[] to values , calling side will not change
-                       //hence copy each item into values
-                       for (i = 0; i < values.Length && i < fieldCount; ++i)
-                               values[i] = Current[i];
-                       return i - 1;
-               }
-               
-               public bool IsDBNull (int i)
-               {
-                       return Current.IsNull (i);
-               }
-
-               public bool GetBoolean (int i)
-               {
-                       return (bool) Current [i];
-               }
-
-               public byte GetByte (int i)
-               {
-                       return (byte) Current [i];
-               }
-
-               public char GetChar (int i)
-               {
-                       return (char) Current [i];
-               }
-
-               public DateTime GetDateTime (int i)
-               {
-                       return (DateTime) Current [i];
-               }
-
-               public decimal GetDecimal (int i)
-               {
-                       return (decimal) Current [i];
-               }
-
-               public double GetDouble (int i)
-               {
-                       return (double) Current [i];
-               }
-
-               public float GetFloat (int i)
-               {
-                       return (float) Current [i];
-               }
-
-               public Guid GetGuid (int i)
-               {
-                       return (Guid) Current [i];
-               }
-
-               public short GetInt16 (int i)
-               {
-                       return (short) Current [i];
-               }
-
-               public int GetInt32 (int i)
-               {
-                       return (int) Current [i];
-               }
-
-               public long GetInt64 (int i)
-               {
-                       return (long) Current [i];
-               }
-
-               public string GetString (int i)
-               {
-                       return (string) Current [i];
-               }
-
-               public object GetValue (int i)
-               {
-                       return Current [i];
-               }
-       }
-}
diff --git a/mcs/class/System.Data.DataSetExtensions/System.Data/TypedTableBase.cs b/mcs/class/System.Data.DataSetExtensions/System.Data/TypedTableBase.cs
deleted file mode 100644 (file)
index 6058be9..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-//
-// TypedTableBase.cs
-//
-// Author:
-//   Atsushi Enomoto  <atsushi@ximian.com>
-//
-// Copyright (C) 2008 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.
-//
-
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Linq;
-using System.Runtime.Serialization;
-
-namespace System.Data
-{
-       [Serializable]
-       public abstract class TypedTableBase<T> : DataTable, IEnumerable<T>, IEnumerable
-               where T : DataRow
-       {
-               protected TypedTableBase ()
-               {
-               }
-
-               protected TypedTableBase (SerializationInfo info, StreamingContext context)
-                       : base (info, context)
-               {
-               }
-
-               public EnumerableRowCollection<TResult> Cast<TResult> ()
-               {
-                       return new EnumerableRowCollection<TResult> (Enumerable.Cast<TResult> (this));
-               }
-
-               public IEnumerator<T> GetEnumerator ()
-               {
-                       foreach (object o in Rows)
-                               yield return (T) o;
-               }
-
-               IEnumerator IEnumerable.GetEnumerator ()
-               {
-                       return GetEnumerator ();
-               }
-       }
-}
diff --git a/mcs/class/System.Data.DataSetExtensions/System.Data/TypedTableBaseExtensions.cs b/mcs/class/System.Data.DataSetExtensions/System.Data/TypedTableBaseExtensions.cs
deleted file mode 100644 (file)
index 3d476d3..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-//
-// TypedTableBaseExtensions.cs
-//
-// Author:
-//   Atsushi Enomoto  <atsushi@ximian.com>
-//
-// Copyright (C) 2008 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.
-//
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace System.Data
-{
-       public static class TypedTableBaseExtensions
-       {
-
-               public static EnumerableRowCollection<TRow> AsEnumerable<TRow> (this TypedTableBase<TRow> source) where TRow : DataRow
-               {
-                       return new EnumerableRowCollection<TRow> (source);
-               }
-
-               public static OrderedEnumerableRowCollection<TRow> OrderBy<TRow, TKey> (this TypedTableBase<TRow> source, Func<TRow, TKey> keySelector)
-                       where TRow : DataRow
-               {
-                       return OrderBy<TRow, TKey> (source, keySelector, Comparer<TKey>.Default);
-               }
-
-               public static OrderedEnumerableRowCollection<TRow> OrderBy<TRow, TKey> (this TypedTableBase<TRow> source, Func<TRow, TKey> keySelector, IComparer<TKey> comparer)
-                       where TRow : DataRow
-               {
-                       return OrderedEnumerableRowCollection<TRow>.Create<TRow, TKey> (source, keySelector, comparer, false);
-               }
-
-               public static OrderedEnumerableRowCollection<TRow> OrderByDescending<TRow, TKey> (this TypedTableBase<TRow> source, Func<TRow, TKey> keySelector)
-                       where TRow : DataRow
-               {
-                       return OrderByDescending<TRow, TKey> (source, keySelector, Comparer<TKey>.Default);
-               }
-
-               public static OrderedEnumerableRowCollection<TRow> OrderByDescending<TRow, TKey> (this TypedTableBase<TRow> source, Func<TRow, TKey> keySelector, IComparer<TKey> comparer)
-                       where TRow : DataRow
-               {
-                       return OrderedEnumerableRowCollection<TRow>.Create<TRow, TKey> (source, keySelector, comparer, true);
-               }
-
-               public static EnumerableRowCollection<S> Select<TRow, S> (this TypedTableBase<TRow> source, Func<TRow, S> selector)
-                       where TRow : DataRow
-               {
-                       return new EnumerableRowCollection<S> (Enumerable.Select<TRow, S> (source, selector));
-               }
-
-               public static EnumerableRowCollection<TRow> Where<TRow> (this TypedTableBase<TRow> source, Func<TRow, bool> predicate)
-                       where TRow : DataRow
-               {
-                       return new EnumerableRowCollection<TRow> (Enumerable.Where<TRow> (source, predicate));
-               }
-       }
-}
index 29fe61f4f35b21929e136e927f9f70053b7c5cd0..f7cc0e35a7332cdebe6e585bb80b98c9d7fff275 100644 (file)
@@ -69,7 +69,7 @@ namespace MonoTests.System.Data
                }
 
                [Test]
-               [ExpectedException (typeof (StrongTypingException))]
+               [ExpectedException (typeof (InvalidCastException))]
                public void Field_T_DBNullFieldValue_ValueType ()
                {
                        DataRow row = SetupRow ();