Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mcs / tests / test-cls-05.cs
1 // Compiler options: -warnaserror -warn:3
2
3 using System;
4
5 [assembly:CLSCompliant(true)]
6
7 class X1 {
8         public bool AA;
9         internal bool aa;
10 }
11
12 class X2: X1 {
13         public bool aA;
14 }
15
16 public class X3 {
17         internal void bb(bool arg) {}
18         internal bool bB;
19         public void BB() {}
20 }
21
22 class X4 {
23         public void method(int arg) {}
24         public void method(bool arg) {}
25         public bool method() { return false; }
26 }
27
28
29 public class BaseClass {
30         //protected internal bool mEthod() { return false; }
31 }
32
33 public class CLSClass: BaseClass {
34         public CLSClass() {}
35         public CLSClass(int arg) {}
36             
37         //public int this[int index] { set {} }
38         //protected int this[bool index] { set {} }
39        
40         public bool setItem;
41         static public implicit operator CLSClass(bool value) {
42                return new CLSClass(2);
43         }
44
45         static public implicit operator CLSClass(int value) {
46                return new CLSClass(2);
47         }
48         
49         [CLSCompliant(false)]
50         public void Method() {}
51             
52         internal int Method(bool arg) { return 1; }
53         internal void methoD() {}
54             
55         public static void Main() {}
56 }
57
58 public class oBject: Object {
59 }
60
61 namespace A {
62     public class C1 {
63     }
64 }
65
66 namespace B {
67     public class c1 {
68     }
69 }
70
71 public class c1 {
72 }
73 // Test
74 [System.CLSCompliant (false)]
75 public interface I1 {
76 }
77
78 public interface i1 {
79 }
80
81 // Test
82 enum AB {
83 }
84
85 [CLSCompliant (false)]
86 public enum aB {
87 }
88
89 public interface ab {
90 }
91
92 // Test
93 public class CLSClass_2 {
94         [CLSCompliant (false)]
95         public void Method () {}
96         public void method () {}
97 }
98
99 // Test
100 namespace System {
101     public class sByte {
102     }
103 }
104
105
106 public enum CLSEnum {
107         label,
108         [CLSCompliant (false)]
109         Label
110 }
111
112 namespace System.Web
113 {
114         public partial class HttpBrowserCapabilities {
115
116         }
117
118         public partial class HttpBrowserCapabilities {
119         }
120 }