[loader] Init MonoClass:sizes.element_size lazily (Fixes #43563) (#5559)
[mono.git] / mono / tests / internalsvisibleto-library.cs
1 using System;
2 using System.Runtime.CompilerServices;
3
4 #if SIGN2048
5 using System.Reflection;
6 [assembly: AssemblyDelaySign(true)]
7 [assembly: AssemblyKeyFile(@"internalsvisibleto-2048.snk")]
8 #endif
9
10 #if CORRECT_CASE
11 #if !SIGN2048
12 [assembly: InternalsVisibleTo("internalsvisibleto-runtimetest")]
13 [assembly: InternalsVisibleTo("internalsvisibleto-compilertest")]
14 #else
15 [assembly: InternalsVisibleTo("internalsvisibleto-runtimetest-sign2048, PublicKey=00240000048000001401000006020000002400005253413100080000010001002b524ed36058e444d0f2b12aeeeadab6f9a614dae43300d489746d143103a63c0178d0e316cc7a83156637d02b95b617c34bfa6877bc418118ce6d652e73211fdb80e5bc1878c6ef1b488dae12925390e7932dae9b22ada65ec76694a73b8e940db558d03ff5a3bee28017cb4448cd41dc946cc248e3313417f59092b9b62996de506c9446c7dceffed8e854cfa3d42eee30cdccbce934318b64ee20489178c00fa587f4ea666e4421eeae157fddf5ce7cfcf76e3b8b390005297f1b7e502c0f211c8c3f6886012cc4173aeedb4dc915d6d8f3821c19c0f1eedcccec8e839c1443ac96db7231ddebb391a5a92373aa87a6f2b2c8a9d57ad204e61813cc280da3")]
16 [assembly: InternalsVisibleTo("internalsvisibleto-compilertest-sign2048, PublicKey=00240000048000001401000006020000002400005253413100080000010001002b524ed36058e444d0f2b12aeeeadab6f9a614dae43300d489746d143103a63c0178d0e316cc7a83156637d02b95b617c34bfa6877bc418118ce6d652e73211fdb80e5bc1878c6ef1b488dae12925390e7932dae9b22ada65ec76694a73b8e940db558d03ff5a3bee28017cb4448cd41dc946cc248e3313417f59092b9b62996de506c9446c7dceffed8e854cfa3d42eee30cdccbce934318b64ee20489178c00fa587f4ea666e4421eeae157fddf5ce7cfcf76e3b8b390005297f1b7e502c0f211c8c3f6886012cc4173aeedb4dc915d6d8f3821c19c0f1eedcccec8e839c1443ac96db7231ddebb391a5a92373aa87a6f2b2c8a9d57ad204e61813cc280da3")]
17 #endif // SIGN2048
18 #else
19 #if !SIGN2048
20 [assembly: InternalsVisibleTo("iNtErnAlsVisibLETo-RUntimeTesT")]
21 [assembly: InternalsVisibleTo("iNtErnAlsVisibLETo-COmpilerTesT")]
22 #else
23 [assembly: InternalsVisibleTo("iNtErnAlsVisibLETo-RUntimeTesT-sign2048, PublicKey=00240000048000001401000006020000002400005253413100080000010001002b524ed36058e444d0f2b12aeeeadab6f9a614dae43300d489746d143103a63c0178d0e316cc7a83156637d02b95b617c34bfa6877bc418118ce6d652e73211fdb80e5bc1878c6ef1b488dae12925390e7932dae9b22ada65ec76694a73b8e940db558d03ff5a3bee28017cb4448cd41dc946cc248e3313417f59092b9b62996de506c9446c7dceffed8e854cfa3d42eee30cdccbce934318b64ee20489178c00fa587f4ea666e4421eeae157fddf5ce7cfcf76e3b8b390005297f1b7e502c0f211c8c3f6886012cc4173aeedb4dc915d6d8f3821c19c0f1eedcccec8e839c1443ac96db7231ddebb391a5a92373aa87a6f2b2c8a9d57ad204e61813cc280da3")]
24 [assembly: InternalsVisibleTo("iNtErnAlsVisibLETo-COmpilerTesT-sign2048, PublicKey=00240000048000001401000006020000002400005253413100080000010001002b524ed36058e444d0f2b12aeeeadab6f9a614dae43300d489746d143103a63c0178d0e316cc7a83156637d02b95b617c34bfa6877bc418118ce6d652e73211fdb80e5bc1878c6ef1b488dae12925390e7932dae9b22ada65ec76694a73b8e940db558d03ff5a3bee28017cb4448cd41dc946cc248e3313417f59092b9b62996de506c9446c7dceffed8e854cfa3d42eee30cdccbce934318b64ee20489178c00fa587f4ea666e4421eeae157fddf5ce7cfcf76e3b8b390005297f1b7e502c0f211c8c3f6886012cc4173aeedb4dc915d6d8f3821c19c0f1eedcccec8e839c1443ac96db7231ddebb391a5a92373aa87a6f2b2c8a9d57ad204e61813cc280da3")]
25 #endif // SIGN2048
26 #endif // !CORRECT_CASE
27
28 #if CORRECT_CASE
29 namespace CorrectCaseFriendAssembly {
30 #else
31 namespace WrongCaseFriendAssembly {
32 #endif
33
34 #if PERMISSIVE
35     public
36 #else
37     internal 
38 #endif
39      class InternalClass
40     {
41         public InternalClass (char @public) {
42             Console.WriteLine("InternalClass(public)");
43         }
44
45 #if PERMISSIVE
46         public
47 #else
48         internal 
49 #endif
50          InternalClass (int @internal) {
51             Console.WriteLine("InternalClass(internal)");
52         }
53
54 #if PERMISSIVE
55         public
56 #else
57         private
58 #endif
59          InternalClass (bool @private) {
60             Console.WriteLine("InternalClass(private)");
61         }
62
63         public static void PrivateStaticMethod () {
64             Console.WriteLine("InternalClass.PrivateStaticMethod");
65         }
66
67 #if PERMISSIVE
68         public
69 #else
70         internal 
71 #endif
72          static void InternalStaticMethod () {
73             Console.WriteLine("InternalClass.InternalStaticMethod");
74         }
75
76 #if PERMISSIVE
77         public
78 #else
79         internal 
80 #endif
81          void InternalMethod () {
82             Console.WriteLine("InternalClass.InternalMethod");
83         }
84
85         public static void PublicStaticMethod () {
86             Console.WriteLine("PublicStaticMethod");
87         }
88
89         public void PublicMethod () {
90             Console.WriteLine("PublicMethod");
91         }
92     }
93
94     public class PublicClass {
95
96 #if PERMISSIVE
97         public
98 #else
99         internal 
100 #endif
101          PublicClass () {
102         }
103
104 #if PERMISSIVE
105         public
106 #else
107         internal 
108 #endif
109          static void InternalStaticMethod () {
110             Console.WriteLine("PublicClass.InternalStaticMethod");
111         }
112
113 #if PERMISSIVE
114         public
115 #else
116         internal 
117 #endif
118          void InternalMethod () {
119             Console.WriteLine("PublicClass.InternalMethod");
120         }
121     }
122 }