[svn] r6412: nemerle/trunk/lib: hashtable.n internal-numbered.n

VladD2 svnadmin at nemerle.org
Sun Jul 2 05:27:43 CEST 2006


Log:
Add debugging display (in VS) to Tuple-s & Hashtable.

Author: VladD2
Date: Sun Jul  2 05:27:42 2006
New Revision: 6412

Modified:
   nemerle/trunk/lib/hashtable.n
   nemerle/trunk/lib/internal-numbered.n

Modified: nemerle/trunk/lib/hashtable.n
==============================================================================
--- nemerle/trunk/lib/hashtable.n	(original)
+++ nemerle/trunk/lib/hashtable.n	Sun Jul  2 05:27:42 2006
@@ -26,6 +26,7 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+using System.Diagnostics;
 using Nemerle.Assertions;
   
 using SC = System.Collections;
@@ -37,6 +38,8 @@
    *  functional-style methods to its base type.
    */
   [System.Serializable]
+  [System.Runtime.InteropServices.ComVisible(false)]
+  [DebuggerDisplay("Count = {Count}: {ToString()}")]
   public class Hashtable ['a,'b] 
              : SC.Generic.Dictionary ['a, 'b]
     //           , IDictionary ['a,'b]
@@ -263,13 +266,19 @@
     /**
      * Returns a collection of the key/value pairs from this hashtable
      */
-    public KeyValuePairs : ICollection ['a * 'b]
+    [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
+    public KeyValuePairs : array ['a * 'b]
     {
       get
       {
-        def result = LinkedList ();
+        def result = array(Count);
+        mutable i = 0;
+
         foreach (kv in this)
-          result.Add ((kv.Key, kv.Value));
+        {
+          result[i] = (kv.Key, kv.Value);
+          i++;
+        }
 
         result
       }
@@ -279,6 +288,7 @@
         match (x) {
           | str is string => "\"" + str + "\""
           | ch is char => "'" + ch.ToString () + "'"
+          | null          => "<null>"
           | _ => x.ToString ()
         }
     }

Modified: nemerle/trunk/lib/internal-numbered.n
==============================================================================
--- nemerle/trunk/lib/internal-numbered.n	(original)
+++ nemerle/trunk/lib/internal-numbered.n	Sun Jul  2 05:27:42 2006
@@ -26,6 +26,7 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+using System.Diagnostics;
 using Nemerle.Extensions;
  
 // note that the fact that Tuple`2 and `3 are structs
@@ -69,11 +70,12 @@
 }
 
 
-  [System.Serializable,
-   Record,
-   StructuralEquality,
-   TupleToString,
-   StructuralHashCode]
+  [System.Serializable]
+  [Record]
+  [StructuralEquality]
+  [TupleToString]
+  [StructuralHashCode]
+  [DebuggerDisplay("({field0}, {field1})")]
   public struct Tuple ['p0, 'p1]
   {
     public field0 : 'p0;
@@ -93,11 +95,12 @@
 }
 
 
-  [System.Serializable,
-   Record,
-   StructuralEquality,
-   TupleToString,
-   StructuralHashCode]
+  [System.Serializable]
+  [Record]
+  [StructuralEquality]
+  [TupleToString]
+  [StructuralHashCode]
+  [DebuggerDisplay("({field0}, {field1}, {field2})")]
   public struct Tuple ['p0, 'p1, 'p2]
   {
     public field0 : 'p0;
@@ -118,12 +121,13 @@
 }
 
 
-  [System.Serializable,
-   Record,
-   StructuralEquality,
-   TupleToString,
-   StructuralHashCode,
-   DisableImplicitConstructor]
+  [System.Serializable]
+  [Record]
+  [StructuralEquality]
+  [TupleToString]
+  [StructuralHashCode]
+  [DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3]
   {
     public field0 : 'p0;
@@ -151,6 +155,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4]
   {
     public field0 : 'p0;
@@ -179,6 +184,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5]
   {
     public field0 : 'p0;
@@ -208,6 +214,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6]
   {
     public field0 : 'p0;
@@ -238,6 +245,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7]
   {
     public field0 : 'p0;
@@ -269,6 +277,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8]
   {
     public field0 : 'p0;
@@ -301,6 +310,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9]
   {
     public field0 : 'p0;
@@ -334,6 +344,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10]
   {
     public field0 : 'p0;
@@ -368,6 +379,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11]
   {
     public field0 : 'p0;
@@ -403,6 +415,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12]
   {
     public field0 : 'p0;
@@ -439,6 +452,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12}, {field13})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13]
   {
     public field0 : 'p0;
@@ -476,6 +490,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12}, {field13}, {field14})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14]
   {
     public field0 : 'p0;
@@ -514,6 +529,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12}, {field13}, {field14}, {field15})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15]
   {
     public field0 : 'p0;
@@ -553,6 +569,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12}, {field13}, {field14}, {field15}, {field16})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16]
   {
     public field0 : 'p0;
@@ -593,6 +610,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12}, {field13}, {field14}, {field15}, {field16}, {field17})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17]
   {
     public field0 : 'p0;
@@ -634,6 +652,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12}, {field13}, {field14}, {field15}, {field16}, {field17}, {field18})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18]
   {
     public field0 : 'p0;
@@ -676,6 +695,7 @@
    TupleToString,
    StructuralHashCode,
    DisableImplicitConstructor]
+  [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12}, {field13}, {field14}, {field15}, {field16}, {field17}, {field18}, {field19})")]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18, 'p19]
   {
     public field0 : 'p0;



More information about the svn mailing list