diff options
Diffstat (limited to 'test/Mono.Linker.Tests.Cases/Inheritance.Interfaces/OnReferenceType/InterfaceMarkOrderingDoesNotMatter3.cs')
-rw-r--r-- | test/Mono.Linker.Tests.Cases/Inheritance.Interfaces/OnReferenceType/InterfaceMarkOrderingDoesNotMatter3.cs | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/test/Mono.Linker.Tests.Cases/Inheritance.Interfaces/OnReferenceType/InterfaceMarkOrderingDoesNotMatter3.cs b/test/Mono.Linker.Tests.Cases/Inheritance.Interfaces/OnReferenceType/InterfaceMarkOrderingDoesNotMatter3.cs new file mode 100644 index 000000000..5c658dedc --- /dev/null +++ b/test/Mono.Linker.Tests.Cases/Inheritance.Interfaces/OnReferenceType/InterfaceMarkOrderingDoesNotMatter3.cs @@ -0,0 +1,144 @@ +using Mono.Linker.Tests.Cases.Expectations.Assertions; + +namespace Mono.Linker.Tests.Cases.Inheritance.Interfaces.OnReferenceType { + public class InterfaceMarkOrderingDoesNotMatter3 { + public static void Main () + { + CauseAToBeMarked ().AMethod (); + CauseZToBeMarked ().ZMethod (); + CauseBToBeMarked ().BMethod (); + CauseYToBeMarked ().YMethod (); + CauseFToBeMarked ().FMethod (); + var c = CauseCToBeMarked(); + } + + [Kept] + static A CauseAToBeMarked () + { + return null; + } + + [Kept] + static Z CauseZToBeMarked () + { + return null; + } + + [Kept] + static B CauseBToBeMarked () + { + return null; + } + + [Kept] + static Y CauseYToBeMarked () + { + return null; + } + + [Kept] + static Nested.F CauseFToBeMarked () + { + return null; + } + + [Kept] + static C CauseCToBeMarked () + { + return null; + } + + [Kept] + interface A { + [Kept] + void AMethod (); + } + + [Kept] + interface Z { + [Kept] + void ZMethod (); + } + + [Kept] + interface C { + void CMethod (); + } + + [Kept] + [KeptMember (".ctor()")] + [KeptInterface (typeof (A))] + [KeptInterface (typeof (B))] + [KeptInterface (typeof (C))] + [KeptInterface (typeof (Nested.F))] + [KeptInterface (typeof (Y))] + [KeptInterface (typeof (Z))] + class MMarked : A, B, Y, Z, C, D, Nested.F, E { + [Kept] + public void AMethod() + { + } + + [Kept] + public void BMethod () + { + } + + [Kept] + public void YMethod () + { + } + + [Kept] + public void ZMethod () + { + } + + public void CMethod () + { + } + + public void DMethod () + { + } + + [Kept] + public void FMethod () + { + } + + public void EMethod () + { + } + } + + [Kept] + public static class Nested { + [Kept] + public interface F { + [Kept] + void FMethod (); + } + } + + [Kept] + interface B { + [Kept] + void BMethod (); + } + + [Kept] + interface Y { + [Kept] + void YMethod (); + } + + interface D { + void DMethod (); + } + + interface E { + void EMethod (); + } + } +}
\ No newline at end of file |