Merge pull request #4840 from kumpera/unaligned-access
[mono.git] / mono / tests / internalsvisibleto-library.cs
1 using System;
2 using System.Runtime.CompilerServices;
3
4 #if CORRECT_CASE
5 [assembly: InternalsVisibleTo("internalsvisibleto-runtimetest")]
6 [assembly: InternalsVisibleTo("internalsvisibleto-compilertest")]
7 #else
8 [assembly: InternalsVisibleTo("iNtErnAlsVisibLETo-RUntimeTesT")]
9 [assembly: InternalsVisibleTo("iNtErnAlsVisibLETo-COmpilerTesT")]
10 #endif
11
12 #if CORRECT_CASE
13 namespace CorrectCaseFriendAssembly {
14 #else
15 namespace WrongCaseFriendAssembly {
16 #endif
17
18 #if PERMISSIVE
19     public
20 #else
21     internal 
22 #endif
23      class InternalClass
24     {
25         public InternalClass (char @public) {
26             Console.WriteLine("InternalClass(public)");
27         }
28
29 #if PERMISSIVE
30         public
31 #else
32         internal 
33 #endif
34          InternalClass (int @internal) {
35             Console.WriteLine("InternalClass(internal)");
36         }
37
38 #if PERMISSIVE
39         public
40 #else
41         private
42 #endif
43          InternalClass (bool @private) {
44             Console.WriteLine("InternalClass(private)");
45         }
46
47         public static void PrivateStaticMethod () {
48             Console.WriteLine("InternalClass.PrivateStaticMethod");
49         }
50
51 #if PERMISSIVE
52         public
53 #else
54         internal 
55 #endif
56          static void InternalStaticMethod () {
57             Console.WriteLine("InternalClass.InternalStaticMethod");
58         }
59
60 #if PERMISSIVE
61         public
62 #else
63         internal 
64 #endif
65          void InternalMethod () {
66             Console.WriteLine("InternalClass.InternalMethod");
67         }
68
69         public static void PublicStaticMethod () {
70             Console.WriteLine("PublicStaticMethod");
71         }
72
73         public void PublicMethod () {
74             Console.WriteLine("PublicMethod");
75         }
76     }
77
78     public class PublicClass {
79
80 #if PERMISSIVE
81         public
82 #else
83         internal 
84 #endif
85          PublicClass () {
86         }
87
88 #if PERMISSIVE
89         public
90 #else
91         internal 
92 #endif
93          static void InternalStaticMethod () {
94             Console.WriteLine("PublicClass.InternalStaticMethod");
95         }
96
97 #if PERMISSIVE
98         public
99 #else
100         internal 
101 #endif
102          void InternalMethod () {
103             Console.WriteLine("PublicClass.InternalMethod");
104         }
105     }
106 }