diff options
Diffstat (limited to 'test')
4 files changed, 41 insertions, 13 deletions
diff --git a/test/Mono.Linker.Tests.Cases/TypeForwarding/AttributeArgumentForwarded.cs b/test/Mono.Linker.Tests.Cases/TypeForwarding/AttributeArgumentForwarded.cs index 72c261520..171aad0b8 100644 --- a/test/Mono.Linker.Tests.Cases/TypeForwarding/AttributeArgumentForwarded.cs +++ b/test/Mono.Linker.Tests.Cases/TypeForwarding/AttributeArgumentForwarded.cs @@ -22,50 +22,52 @@ namespace Mono.Linker.Tests.Cases.TypeForwarding [RemovedAssembly ("Forwarder.dll")] [KeptMemberInAssembly ("Implementation.dll", typeof (ImplementationLibrary))] + [KeptMemberInAssembly ("Implementation.dll", typeof (ImplementationStruct))] class AttributeArgumentForwarded { static void Main () { - Test_1 (); - Test_1b (); - Test_1c (); - Test_2 (); - Test_3 (); - Test_3a (); + Test_Parameter_TypeRef (); + Test_Parameter_TypeRefMDArray (); + Test_Parameter_PointerTypeRef (); + Test_Property_ArrayOfTypeRefs (); + Test_Field_GenericOfTypeRefArray (); + Test_Field_OpenGeneric (); + Test_Field_ArrayOfPointerTypeRef (); } [Kept] [KeptAttributeAttribute (typeof (TestTypeAttribute))] [TestType (typeof (ImplementationLibrary))] - public static void Test_1 () + public static void Test_Parameter_TypeRef () { } [Kept] [KeptAttributeAttribute (typeof (TestTypeAttribute))] [TestType (typeof (ImplementationLibrary[,][]))] - public static void Test_1b () + public static void Test_Parameter_TypeRefMDArray () { } [Kept] [KeptAttributeAttribute (typeof (TestTypeAttribute))] - [TestType (typeof (ImplementationLibrary[,][]))] - public static void Test_1c () + [TestType (typeof (ImplementationStruct*))] + public static void Test_Parameter_PointerTypeRef () { } [Kept] [KeptAttributeAttribute (typeof (TestTypeAttribute))] [TestType (TestProperty = new object[] { typeof (ImplementationLibrary) })] - public static void Test_2 () + public static void Test_Property_ArrayOfTypeRefs () { } [Kept] [KeptAttributeAttribute (typeof (TestTypeAttribute))] [TestType (TestField = typeof (SomeGenericType<ImplementationLibrary[]>))] - public static void Test_3 () + public static void Test_Field_GenericOfTypeRefArray () { } @@ -73,9 +75,24 @@ namespace Mono.Linker.Tests.Cases.TypeForwarding [Kept] [KeptAttributeAttribute (typeof (TestTypeAttribute))] [TestType (TestField = typeof (SomeGenericType<>))] - public static void Test_3a () + public static void Test_Field_OpenGeneric () { } + + [Kept] + [KeptAttributeAttribute (typeof (TestTypeAttribute))] + [TestType (TestField = new object[] { typeof (ImplementationStruct*) })] + public static void Test_Field_ArrayOfPointerTypeRef () + { + } + + // This hits Roslyn bug https://github.com/dotnet/roslyn/issues/48765 + //[Kept] + //[KeptAttributeAttribute (typeof (TestTypeAttribute))] + //[TestType (TestField = new object[] { typeof (delegate*<int, void>) })] + //public static void Test_Field_ArrayOfFunctionPointer () + //{ + //} } [KeptBaseType (typeof (Attribute))] diff --git a/test/Mono.Linker.Tests.Cases/TypeForwarding/Dependencies/ForwarderLibrary.cs b/test/Mono.Linker.Tests.Cases/TypeForwarding/Dependencies/ForwarderLibrary.cs index bb1521525..441a971eb 100644 --- a/test/Mono.Linker.Tests.Cases/TypeForwarding/Dependencies/ForwarderLibrary.cs +++ b/test/Mono.Linker.Tests.Cases/TypeForwarding/Dependencies/ForwarderLibrary.cs @@ -1,3 +1,4 @@ using System; [assembly: System.Runtime.CompilerServices.TypeForwardedTo (typeof (Mono.Linker.Tests.Cases.TypeForwarding.Dependencies.ImplementationLibrary))] +[assembly: System.Runtime.CompilerServices.TypeForwardedTo (typeof (Mono.Linker.Tests.Cases.TypeForwarding.Dependencies.ImplementationStruct))] diff --git a/test/Mono.Linker.Tests.Cases/TypeForwarding/Dependencies/ImplementationLibrary.cs b/test/Mono.Linker.Tests.Cases/TypeForwarding/Dependencies/ImplementationLibrary.cs index 98fab0dba..86a37fdfc 100644 --- a/test/Mono.Linker.Tests.Cases/TypeForwarding/Dependencies/ImplementationLibrary.cs +++ b/test/Mono.Linker.Tests.Cases/TypeForwarding/Dependencies/ImplementationLibrary.cs @@ -13,4 +13,9 @@ namespace Mono.Linker.Tests.Cases.TypeForwarding.Dependencies return "Hello"; } } + + public struct ImplementationStruct + { + public int Field; + } } diff --git a/test/Mono.Linker.Tests.Cases/TypeForwarding/Dependencies/ReferenceImplementationLibrary.cs b/test/Mono.Linker.Tests.Cases/TypeForwarding/Dependencies/ReferenceImplementationLibrary.cs index ff4def7c9..8796effb1 100644 --- a/test/Mono.Linker.Tests.Cases/TypeForwarding/Dependencies/ReferenceImplementationLibrary.cs +++ b/test/Mono.Linker.Tests.Cases/TypeForwarding/Dependencies/ReferenceImplementationLibrary.cs @@ -15,5 +15,10 @@ namespace Mono.Linker.Tests.Cases.TypeForwarding.Dependencies return null; } } + + public struct ImplementationStruct + { + public int Field; + } #endif } |