[svn] r6455: nemerle/trunk: lib/hashtable.n lib/internal-numbered.n lib/list.n lib/option.n lib/set.n ncc/...

VladD2 svnadmin at nemerle.org
Fri Jul 21 11:32:21 CEST 2006


Log:
Has hidden some system types (collections) from a debugger. Now the VS 2005 debugger will not step into methods of these types.

Author: VladD2
Date: Fri Jul 21 11:32:18 2006
New Revision: 6455

Modified:
   nemerle/trunk/lib/hashtable.n
   nemerle/trunk/lib/internal-numbered.n
   nemerle/trunk/lib/list.n
   nemerle/trunk/lib/option.n
   nemerle/trunk/lib/set.n
   nemerle/trunk/ncc/completion/CodeCompletionEngine.n

Modified: nemerle/trunk/lib/hashtable.n
==============================================================================
--- nemerle/trunk/lib/hashtable.n	(original)
+++ nemerle/trunk/lib/hashtable.n	Fri Jul 21 11:32:18 2006
@@ -40,6 +40,7 @@
   [System.Serializable]
   [System.Runtime.InteropServices.ComVisible(false)]
   [DebuggerDisplay("Count = {Count}: {ToString()}")]
+  [DebuggerNonUserCode]
   public class Hashtable ['a,'b] 
              : SC.Generic.Dictionary ['a, 'b]
     //           , IDictionary ['a,'b]

Modified: nemerle/trunk/lib/internal-numbered.n
==============================================================================
--- nemerle/trunk/lib/internal-numbered.n	(original)
+++ nemerle/trunk/lib/internal-numbered.n	Fri Jul 21 11:32:18 2006
@@ -34,35 +34,41 @@
 
 namespace Nemerle.Builtins {
 
+[DebuggerNonUserCode]
 public abstract class Function ['r] : Function [System.Object, 'r]
 {
   public abstract apply () : 'r;
   public override apply (_ : System.Object) : 'r { apply () }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid : Function [System.Object]
 {
   public abstract apply_void () : void;
   public override apply () : System.Object { apply_void (); null }
 }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'r]
 {
   public abstract apply (_ : 'p1) : 'r;
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1] : Function ['p1, System.Object]
 {
   public abstract apply_void (_ : 'p1) : void;
   public override apply (p1 : 'p1) : System.Object { apply_void (p1); null }
 }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'r] : Function [Tuple ['p1, 'p2], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2) : 'r;
   public override apply (o : Tuple ['p1, 'p2]) : 'r { apply (o.field0, o.field1) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2] : FunctionVoid [Tuple ['p1, 'p2]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2) : void;
@@ -76,18 +82,21 @@
   [TupleToString]
   [StructuralHashCode]
   [DebuggerDisplay("({field0}, {field1})")]
+  [DebuggerNonUserCode]
   public struct Tuple ['p0, 'p1]
   {
     public field0 : 'p0;
     public field1 : 'p1;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'r] : Function [Tuple ['p1, 'p2, 'p3], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3]) : 'r { apply (o.field0, o.field1, o.field2) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3] : FunctionVoid [Tuple ['p1, 'p2, 'p3]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3) : void;
@@ -101,6 +110,7 @@
   [TupleToString]
   [StructuralHashCode]
   [DebuggerDisplay("({field0}, {field1}, {field2})")]
+  [DebuggerNonUserCode]
   public struct Tuple ['p0, 'p1, 'p2]
   {
     public field0 : 'p0;
@@ -108,12 +118,14 @@
     public field2 : 'p2;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4]) : 'r { apply (o.field0, o.field1, o.field2, o.field3) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4) : void;
@@ -128,6 +140,7 @@
   [StructuralHashCode]
   [DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3})")]
+  [DebuggerNonUserCode]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3]
   {
     public field0 : 'p0;
@@ -136,12 +149,14 @@
     public field3 : 'p3;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5) : void;
@@ -156,6 +171,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4})")]
+  [DebuggerNonUserCode]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4]
   {
     public field0 : 'p0;
@@ -165,12 +181,14 @@
     public field4 : 'p4;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4, o.field5) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5, 'p6] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6) : void;
@@ -185,6 +203,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5})")]
+  [DebuggerNonUserCode]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5]
   {
     public field0 : 'p0;
@@ -195,12 +214,14 @@
     public field5 : 'p5;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4, o.field5, o.field6) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7) : void;
@@ -215,6 +236,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6})")]
+  [DebuggerNonUserCode]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6]
   {
     public field0 : 'p0;
@@ -226,12 +248,14 @@
     public field6 : 'p6;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4, o.field5, o.field6, o.field7) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8) : void;
@@ -246,6 +270,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7})")]
+  [DebuggerNonUserCode]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7]
   {
     public field0 : 'p0;
@@ -258,12 +283,14 @@
     public field7 : 'p7;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4, o.field5, o.field6, o.field7, o.field8) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9) : void;
@@ -278,6 +305,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8})")]
+  [DebuggerNonUserCode]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8]
   {
     public field0 : 'p0;
@@ -291,12 +319,14 @@
     public field8 : 'p8;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4, o.field5, o.field6, o.field7, o.field8, o.field9) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10) : void;
@@ -311,6 +341,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9})")]
+  [DebuggerNonUserCode]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9]
   {
     public field0 : 'p0;
@@ -325,12 +356,14 @@
     public field9 : 'p9;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4, o.field5, o.field6, o.field7, o.field8, o.field9, o.field10) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11) : void;
@@ -345,6 +378,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10})")]
+  [DebuggerNonUserCode]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10]
   {
     public field0 : 'p0;
@@ -360,12 +394,14 @@
     public field10 : 'p10;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4, o.field5, o.field6, o.field7, o.field8, o.field9, o.field10, o.field11) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12) : void;
@@ -380,6 +416,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11})")]
+  [DebuggerNonUserCode]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11]
   {
     public field0 : 'p0;
@@ -396,12 +433,14 @@
     public field11 : 'p11;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4, o.field5, o.field6, o.field7, o.field8, o.field9, o.field10, o.field11, o.field12) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13) : void;
@@ -416,6 +455,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12})")]
+  [DebuggerNonUserCode]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12]
   {
     public field0 : 'p0;
@@ -433,12 +473,14 @@
     public field12 : 'p12;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13, _ : 'p14) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4, o.field5, o.field6, o.field7, o.field8, o.field9, o.field10, o.field11, o.field12, o.field13) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13, _ : 'p14) : void;
@@ -453,6 +495,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12}, {field13})")]
+  [DebuggerNonUserCode]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13]
   {
     public field0 : 'p0;
@@ -471,12 +514,14 @@
     public field13 : 'p13;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13, _ : 'p14, _ : 'p15) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4, o.field5, o.field6, o.field7, o.field8, o.field9, o.field10, o.field11, o.field12, o.field13, o.field14) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13, _ : 'p14, _ : 'p15) : void;
@@ -491,6 +536,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12}, {field13}, {field14})")]
+  [DebuggerNonUserCode]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14]
   {
     public field0 : 'p0;
@@ -510,12 +556,14 @@
     public field14 : 'p14;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13, _ : 'p14, _ : 'p15, _ : 'p16) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4, o.field5, o.field6, o.field7, o.field8, o.field9, o.field10, o.field11, o.field12, o.field13, o.field14, o.field15) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13, _ : 'p14, _ : 'p15, _ : 'p16) : void;
@@ -530,6 +578,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12}, {field13}, {field14}, {field15})")]
+  [DebuggerNonUserCode]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15]
   {
     public field0 : 'p0;
@@ -550,12 +599,14 @@
     public field15 : 'p15;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13, _ : 'p14, _ : 'p15, _ : 'p16, _ : 'p17) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4, o.field5, o.field6, o.field7, o.field8, o.field9, o.field10, o.field11, o.field12, o.field13, o.field14, o.field15, o.field16) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13, _ : 'p14, _ : 'p15, _ : 'p16, _ : 'p17) : void;
@@ -570,6 +621,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12}, {field13}, {field14}, {field15}, {field16})")]
+  [DebuggerNonUserCode]
   public sealed class Tuple ['p0, 'p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16]
   {
     public field0 : 'p0;
@@ -591,12 +643,14 @@
     public field16 : 'p16;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13, _ : 'p14, _ : 'p15, _ : 'p16, _ : 'p17, _ : 'p18) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4, o.field5, o.field6, o.field7, o.field8, o.field9, o.field10, o.field11, o.field12, o.field13, o.field14, o.field15, o.field16, o.field17) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13, _ : 'p14, _ : 'p15, _ : 'p16, _ : 'p17, _ : 'p18) : void;
@@ -611,6 +665,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12}, {field13}, {field14}, {field15}, {field16}, {field17})")]
+  [DebuggerNonUserCode]
   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;
@@ -633,12 +688,14 @@
     public field17 : 'p17;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18, 'p19, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18, 'p19], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13, _ : 'p14, _ : 'p15, _ : 'p16, _ : 'p17, _ : 'p18, _ : 'p19) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18, 'p19]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4, o.field5, o.field6, o.field7, o.field8, o.field9, o.field10, o.field11, o.field12, o.field13, o.field14, o.field15, o.field16, o.field17, o.field18) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18, 'p19] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18, 'p19]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13, _ : 'p14, _ : 'p15, _ : 'p16, _ : 'p17, _ : 'p18, _ : 'p19) : void;
@@ -653,6 +710,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12}, {field13}, {field14}, {field15}, {field16}, {field17}, {field18})")]
+  [DebuggerNonUserCode]
   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,12 +734,14 @@
     public field18 : 'p18;
   }
 
+[DebuggerNonUserCode]
 public abstract class Function ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18, 'p19, 'p20, 'r] : Function [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18, 'p19, 'p20], 'r]
 {
   public abstract apply (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13, _ : 'p14, _ : 'p15, _ : 'p16, _ : 'p17, _ : 'p18, _ : 'p19, _ : 'p20) : 'r;
   public override apply (o : Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18, 'p19, 'p20]) : 'r { apply (o.field0, o.field1, o.field2, o.field3, o.field4, o.field5, o.field6, o.field7, o.field8, o.field9, o.field10, o.field11, o.field12, o.field13, o.field14, o.field15, o.field16, o.field17, o.field18, o.field19) }
 }
 
+[DebuggerNonUserCode]
 public abstract class FunctionVoid ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18, 'p19, 'p20] : FunctionVoid [Tuple ['p1, 'p2, 'p3, 'p4, 'p5, 'p6, 'p7, 'p8, 'p9, 'p10, 'p11, 'p12, 'p13, 'p14, 'p15, 'p16, 'p17, 'p18, 'p19, 'p20]]
 {
   public abstract apply_void (_ : 'p1, _ : 'p2, _ : 'p3, _ : 'p4, _ : 'p5, _ : 'p6, _ : 'p7, _ : 'p8, _ : 'p9, _ : 'p10, _ : 'p11, _ : 'p12, _ : 'p13, _ : 'p14, _ : 'p15, _ : 'p16, _ : 'p17, _ : 'p18, _ : 'p19, _ : 'p20) : void;
@@ -696,6 +756,7 @@
    StructuralHashCode,
    DisableImplicitConstructor]
   [DebuggerDisplay("({field0}, {field1}, {field2}, {field3}, {field4}, {field5}, {field6}, {field7}, {field8}, {field9}, {field10}, {field11}, {field12}, {field13}, {field14}, {field15}, {field16}, {field17}, {field18}, {field19})")]
+  [DebuggerNonUserCode]
   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;

Modified: nemerle/trunk/lib/list.n
==============================================================================
--- nemerle/trunk/lib/list.n	(original)
+++ nemerle/trunk/lib/list.n	Fri Jul 21 11:32:18 2006
@@ -44,15 +44,15 @@
    */
   [System.Serializable]
   [System.Runtime.InteropServices.ComVisible(false)]
-  [DebuggerDisplay("Length = {Length}: {ToString()}")]
+  [DebuggerDisplay("Length = {Length}: {ToString()}"), DebuggerNonUserCode]
   public variant list ['a] : SCG.IEnumerable ['a]
   {
-    [System.Serializable]
+    [System.Serializable, DebuggerNonUserCode]
     | Cons { hd : 'a;
       [Nemerle.Extensions.CompilerMutable]
       tl : list ['a]; }
 
-    [System.Serializable]      
+    [System.Serializable, DebuggerNonUserCode]      
     | Nil { public override ToString () : string { "[]" } }
 
     public override ToString () : string
@@ -629,7 +629,36 @@
       loop (x.Length - 1, [])
     }
     
+    public ToListRev ['a] (this seq : SCG.IEnumerable ['a]) : list ['a]
+    {
+      mutable lst = [];
+      
+      foreach (elem in seq)
+        lst ::= elem;
+      
+      lst;
+    }
+
+    public ToListRev ['a] (this seq : SCG.IEnumerable ['a], filter : 'a -> bool) : list ['a]
+    {
+      mutable lst = [];
+      
+      foreach (elem in seq)
+        when (filter (elem))
+          lst ::= elem;
+      
+      lst;
+    }
+
+    public ToList ['a] (this seq : SCG.IEnumerable ['a]) : list ['a]
+    {
+      ToListRev(seq).Rev()
+    }
     
+    public ToList ['a] (this seq : SCG.IEnumerable ['a], filter : 'a -> bool) : list ['a]
+    {
+      ToListRev(seq, filter).Rev()
+    }
 
     /* -- BASIC LIST OPERATIONS -------------------------------------------- */
 

Modified: nemerle/trunk/lib/option.n
==============================================================================
--- nemerle/trunk/lib/option.n	(original)
+++ nemerle/trunk/lib/option.n	Fri Jul 21 11:32:18 2006
@@ -26,14 +26,19 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+using System.Diagnostics;
+
 namespace Nemerle.Core
 {
   /**
    * The optional value variant.
    */
+  [DebuggerNonUserCode]
   public variant option ['a]
   {
+    [DebuggerNonUserCode]
     | None
+    [DebuggerNonUserCode]
     | Some { val : 'a; }
 
     /**

Modified: nemerle/trunk/lib/set.n
==============================================================================
--- nemerle/trunk/lib/set.n	(original)
+++ nemerle/trunk/lib/set.n	Fri Jul 21 11:32:18 2006
@@ -26,10 +26,13 @@
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+using System.Diagnostics;
 using SCG = System.Collections.Generic; 
  
 namespace Nemerle.Collections
 {
+  [DebuggerDisplay("Count = {Count}: {ToString()}")]
+  [DebuggerNonUserCode]
   public class Set ['a] : SCG.ICollection ['a]
     where 'a : System.IComparable ['a]
   {
@@ -168,6 +171,12 @@
       Fold ([], fun (e, a) { e :: a })
     }
 
+    [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
+    public AsArray : array ['a]
+    {
+      get { ToList ().ToArray () }
+    }
+
     public static Sum (sets : list [Set ['a]]) : Set ['a]
     {
       List.FoldLeft (sets, Set (), fun (e, s : Set ['a]) { s.Sum (e) })

Modified: nemerle/trunk/ncc/completion/CodeCompletionEngine.n
==============================================================================
--- nemerle/trunk/ncc/completion/CodeCompletionEngine.n	(original)
+++ nemerle/trunk/ncc/completion/CodeCompletionEngine.n	Fri Jul 21 11:32:18 2006
@@ -335,7 +335,10 @@
         
         static get_real_location (location : Location, name : string) : Location
         {
-            Location (location.FileIndex, location.Line, (location.Column - name.Length + 1),
+          // What for chemistry?
+          def col = location.Column - name.Length + 1;
+          def col = if (col >= 0) col else location.Column;
+          Location (location.FileIndex, location.Line, col,
                 location.EndLine, location.EndColumn)
         }
         



More information about the svn mailing list