Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/linker.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/Mono.Linker.Tests.Cases/TypeForwarding/AttributeArgumentForwarded.cs43
-rw-r--r--test/Mono.Linker.Tests.Cases/TypeForwarding/Dependencies/ForwarderLibrary.cs1
-rw-r--r--test/Mono.Linker.Tests.Cases/TypeForwarding/Dependencies/ImplementationLibrary.cs5
-rw-r--r--test/Mono.Linker.Tests.Cases/TypeForwarding/Dependencies/ReferenceImplementationLibrary.cs5
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
}