Merge pull request #5675 from mono/glib-debug-symbols
[mono.git] / mcs / tests / dtest-001.cs
index 06f2fed3fdea5f221591e1894a5e9aefdd8c911f..78de1d8253d0238728d07127d8fd5d831fe27c7b 100644 (file)
@@ -12,7 +12,11 @@ interface I<T>
 {
 }
 
-class C
+class B<T>
+{
+}
+
+class C : B<dynamic>
 {
        public C (dynamic d)
        {
@@ -36,6 +40,7 @@ class C
        public dynamic[,] t2;
        public Func<dynamic, int, dynamic[]> v;
        public I<dynamic>[] iface;
+       public Action<int[], object, dynamic> d2;
 }
 
 delegate dynamic Del (dynamic d);
@@ -107,6 +112,9 @@ class Test
                if (t.GetConstructors ()[0].GetCustomAttributes (ca, false).Length != 0)
                        return 21;
 
+               if (t.GetCustomAttributes (ca, false).Length != 1)
+                       return 22;
+
                // Transformations
                DynamicAttribute da;
                da = t.GetMember ("t")[0].GetCustomAttributes (ca, false)[0] as DynamicAttribute;
@@ -135,6 +143,12 @@ class Test
                if (!da.TransformFlags.SequenceEqual (new bool[] { false, false, true }))
                        return 47;
 
+               da = t.GetMember ("d2")[0].GetCustomAttributes (ca, false)[0] as DynamicAttribute;
+               if (da == null)
+                       return 48;
+               if (!da.TransformFlags.SequenceEqual (new bool[] { false, false, false, false, true }))
+                       return 49;
+
                t = typeof (Del);
 
                if (t.GetMember ("Invoke")[0].GetCustomAttributes (ca, false).Length != 0)