Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mcs / tests / test-cls-06.cs
1 // Compiler options: -warnaserror
2
3 using System;
4
5 [assembly:CLSCompliant(true)]
6
7 [CLSCompliant(false)]
8 public delegate uint MyDelegate();
9
10 [CLSCompliant(false)]
11 public interface IFake {
12 #pragma warning disable 3018    
13         [CLSCompliant(true)]
14         long AA(long arg);
15 #pragma warning disable 3018        
16         
17         [CLSCompliant(false)]
18         ulong BB { get; }
19         //[CLSCompliant(false)]
20         //sbyte this[ulong I] { set; }
21         [CLSCompliant(false)]
22         event MyDelegate MyEvent;
23 }
24
25 #pragma warning disable 3019
26 [CLSCompliant(false)]
27 internal interface I {
28         [CLSCompliant(false)]
29         void Foo();
30
31         [CLSCompliant(true)]
32         ulong this[int indexA] { set; }
33 }
34 #pragma warning restore 3019
35
36 interface I2 {
37         int Test(int arg1, bool arg2);
38 }
39
40 public class CLSClass {
41         [CLSCompliant(false)]
42         public delegate uint MyDelegate();    
43     
44         public static void Main() {}
45 }
46 public class CLSClass_2 {
47     [CLSCompliant (false)]
48     public CLSClass_2(int[,,] b) {
49     }
50
51     public CLSClass_2(int[,] b) {
52     }
53
54     public void Test (int[,] b, int i) {}
55     public void Test (int[,,] b, bool b2) {}
56 }
57
58 public class X1 {
59     [CLSCompliant (false)]
60     public void M2 (int i) {}
61 }
62
63 public class X2: X1 {
64     public void M2 (ref int i) {}
65 }