Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Safar <marek.safar@gmail.com>2007-09-06 14:26:02 +0400
committerMarek Safar <marek.safar@gmail.com>2007-09-06 14:26:02 +0400
commitb36f2127fecdd6d6b21c3c6b4d66f4331a6262c7 (patch)
tree1e60759d3055b4e231c28dbdcb4e6047b10e8405 /mcs/tests/gtest-339.cs
parentc1498b102764f284e5152654aa959f317e5e6a4d (diff)
A new test from #82708
svn path=/trunk/mcs/; revision=85399
Diffstat (limited to 'mcs/tests/gtest-339.cs')
-rw-r--r--mcs/tests/gtest-339.cs116
1 files changed, 116 insertions, 0 deletions
diff --git a/mcs/tests/gtest-339.cs b/mcs/tests/gtest-339.cs
new file mode 100644
index 00000000000..6165a10b7bd
--- /dev/null
+++ b/mcs/tests/gtest-339.cs
@@ -0,0 +1,116 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+class Program
+{
+ static void Main ()
+ {
+ SerializeDictionary (new SerializerLazyDictionary ());
+ }
+
+ static void SerializeDictionary (IDictionary values)
+ {
+ }
+
+ static void SerializeDictionary (IDictionary<string, object> values)
+ {
+ }
+}
+
+sealed class SerializerLazyDictionary : LazyDictionary
+{
+ protected override IEnumerator<KeyValuePair<string, object>> GetEnumerator ()
+ {
+ return null;
+ }
+}
+
+internal abstract class LazyDictionary : IDictionary<string, object>
+{
+ void IDictionary<string, object>.Add (string key, object value)
+ {
+ throw new NotSupportedException ();
+ }
+
+ bool IDictionary<string, object>.ContainsKey (string key)
+ {
+ throw new NotSupportedException ();
+ }
+
+ ICollection<string> IDictionary<string, object>.Keys
+ {
+ get { throw new NotSupportedException (); }
+ }
+
+ bool IDictionary<string, object>.Remove (string key)
+ {
+ throw new NotSupportedException ();
+ }
+
+ bool IDictionary<string, object>.TryGetValue (string key, out object value)
+ {
+ throw new NotSupportedException ();
+ }
+
+ ICollection<object> IDictionary<string, object>.Values
+ {
+ get { throw new NotSupportedException (); }
+ }
+
+ object IDictionary<string, object>.this [string key] {
+ get {
+ throw new NotSupportedException ();
+ }
+ set {
+ throw new NotSupportedException ();
+ }
+ }
+
+ void ICollection<KeyValuePair<string, object>>.Add (KeyValuePair<string, object> item)
+ {
+ throw new NotSupportedException ();
+ }
+
+ void ICollection<KeyValuePair<string, object>>.Clear ()
+ {
+ throw new NotSupportedException ();
+ }
+
+ bool ICollection<KeyValuePair<string, object>>.Contains (KeyValuePair<string, object> item)
+ {
+ throw new NotSupportedException ();
+ }
+
+ void ICollection<KeyValuePair<string, object>>.CopyTo (KeyValuePair<string, object> [] array, int arrayIndex)
+ {
+ throw new NotSupportedException ();
+ }
+
+ int ICollection<KeyValuePair<string, object>>.Count
+ {
+ get { throw new NotSupportedException (); }
+ }
+
+ bool ICollection<KeyValuePair<string, object>>.IsReadOnly
+ {
+ get { throw new NotSupportedException (); }
+ }
+
+ bool ICollection<KeyValuePair<string, object>>.Remove (KeyValuePair<string, object> item)
+ {
+ throw new NotSupportedException ();
+ }
+
+ IEnumerator<KeyValuePair<string, object>> IEnumerable<KeyValuePair<string, object>>.GetEnumerator ()
+ {
+ return GetEnumerator ();
+ }
+
+ protected abstract IEnumerator<KeyValuePair<string, object>> GetEnumerator ();
+
+ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator ()
+ {
+ return ((IEnumerable<KeyValuePair<string, object>>) this).GetEnumerator ();
+ }
+}