[monodoc] Add utility property Generic*IsNumeric to distinguish between types using...
authorJérémie Laval <jeremie.laval@gmail.com>
Sat, 23 Mar 2013 15:01:03 +0000 (15:01 +0000)
committerJérémie Laval <jeremie.laval@gmail.com>
Sat, 23 Mar 2013 15:01:03 +0000 (15:01 +0000)
mcs/class/monodoc/Monodoc.Ecma/EcmaDesc.cs
mcs/class/monodoc/Test/Monodoc.Ecma/EcmaUrlTests.cs

index 0974b07adf18b93b65692a82bdfef90961c809b0..5f4349609ac8367e2993727a222963696c548ca0 100644 (file)
@@ -86,11 +86,26 @@ namespace Monodoc.Ecma
                        set;
                }
 
+               /* This property tells if the above collections only correct value
+                * is the number of item in it to represent generic arguments
+                */
+               public bool GenericTypeArgumentsIsNumeric {
+                       get {
+                               return GenericTypeArguments != null && GenericTypeArguments.FirstOrDefault () == null;
+                       }
+               }
+
                public IList<EcmaDesc> GenericMemberArguments {
                        get;
                        set;
                }
 
+               public bool GenericMemberArgumentsIsNumeric {
+                       get {
+                               return GenericMemberArguments != null && GenericMemberArguments.FirstOrDefault () == null;
+                       }
+               }
+
                public IList<EcmaDesc> MemberArguments {
                        get;
                        set;
index a16d7c5958705bf14c9fec63ce14eb4655ebae8b..e6872f2ca5d902b74b5532e6e869126bf0069c2a 100644 (file)
@@ -182,6 +182,16 @@ namespace MonoTests.Monodoc.Ecma
                        AssertValidUrl ("M:MonoTouch.UIKit.UICollectionViewLayoutAttributes.CreateForCell{T}");
                }
 
+               [Test]
+               public void GenericTypeArgsIsNumericTest ()
+               {
+                       var desc = parser.Parse ("T:System.Collections.Generic.Dictionary`2");
+                       Assert.IsTrue (desc.GenericTypeArgumentsIsNumeric);
+                       Assert.AreEqual (2, desc.GenericTypeArguments.Count);
+                       desc = parser.Parse ("T:System.Collections.Generic.Dictionary<TKey,TValue>");
+                       Assert.IsFalse (desc.GenericTypeArgumentsIsNumeric);
+               }
+
                [Test]
                public void MetaEtcNodeTest ()
                {