Apply changes from https://github.com/dotnet/runtime/commit/eb1756e97d23df13bc6fe798e...
[mono-project.git] / mono / tests / internalsvisibleto-library.cs
blobf08d859305bca2fc879e8b6f47c2d06ce2084bad
1 using System;
2 using System.Runtime.CompilerServices;
4 #if SIGN2048
5 using System.Reflection;
6 [assembly: AssemblyDelaySign(true)]
7 [assembly: AssemblyKeyFile(@"internalsvisibleto-2048.snk")]
8 #endif
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
28 #if CORRECT_CASE
29 namespace CorrectCaseFriendAssembly {
30 #else
31 namespace WrongCaseFriendAssembly {
32 #endif
34 #if PERMISSIVE
35 public
36 #else
37 internal
38 #endif
39 class InternalClass
41 public InternalClass (char @public) {
42 Console.WriteLine("InternalClass(public)");
45 #if PERMISSIVE
46 public
47 #else
48 internal
49 #endif
50 InternalClass (int @internal) {
51 Console.WriteLine("InternalClass(internal)");
54 #if PERMISSIVE
55 public
56 #else
57 private
58 #endif
59 InternalClass (bool @private) {
60 Console.WriteLine("InternalClass(private)");
63 public static void PrivateStaticMethod () {
64 Console.WriteLine("InternalClass.PrivateStaticMethod");
67 #if PERMISSIVE
68 public
69 #else
70 internal
71 #endif
72 static void InternalStaticMethod () {
73 Console.WriteLine("InternalClass.InternalStaticMethod");
76 #if PERMISSIVE
77 public
78 #else
79 internal
80 #endif
81 void InternalMethod () {
82 Console.WriteLine("InternalClass.InternalMethod");
85 public static void PublicStaticMethod () {
86 Console.WriteLine("PublicStaticMethod");
89 public void PublicMethod () {
90 Console.WriteLine("PublicMethod");
94 public class PublicClass {
96 #if PERMISSIVE
97 public
98 #else
99 internal
100 #endif
101 PublicClass () {
104 #if PERMISSIVE
105 public
106 #else
107 internal
108 #endif
109 static void InternalStaticMethod () {
110 Console.WriteLine("PublicClass.InternalStaticMethod");
113 #if PERMISSIVE
114 public
115 #else
116 internal
117 #endif
118 void InternalMethod () {
119 Console.WriteLine("PublicClass.InternalMethod");