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
diff options
context:
space:
mode:
authordotnet bot <dotnet-bot@dotnetfoundation.org>2022-01-07 15:04:19 +0300
committerGitHub <noreply@github.com>2022-01-07 15:04:19 +0300
commit89ae0f07830215484f1fa7022ab41d66523c9962 (patch)
treea02a4734de52468360eb13fa76e44575dca257cb /test/Mono.Linker.Tests.Cases
parente98f3c9ca3a4a8e50be1981ac97b58a2dfcdb1aa (diff)
parent5b33e3ad8f422d002ffe84700a0e51b976391f2b (diff)
Merge pull request #2486 from dotnet/merges/release/6.0.2xx-to-main
Merge release/6.0.2xx to main
Diffstat (limited to 'test/Mono.Linker.Tests.Cases')
-rw-r--r--test/Mono.Linker.Tests.Cases/DataFlow/TypeBaseTypeDataFlow.cs8
-rw-r--r--test/Mono.Linker.Tests.Cases/Reflection/TypeUsedViaReflection.cs38
2 files changed, 46 insertions, 0 deletions
diff --git a/test/Mono.Linker.Tests.Cases/DataFlow/TypeBaseTypeDataFlow.cs b/test/Mono.Linker.Tests.Cases/DataFlow/TypeBaseTypeDataFlow.cs
index abe5aaada..68d232252 100644
--- a/test/Mono.Linker.Tests.Cases/DataFlow/TypeBaseTypeDataFlow.cs
+++ b/test/Mono.Linker.Tests.Cases/DataFlow/TypeBaseTypeDataFlow.cs
@@ -34,6 +34,8 @@ namespace Mono.Linker.Tests.Cases.DataFlow
TestNonPublicNestedTypesAreNotPropagated (typeof (TestType));
TestNonPublicPropertiesAreNotPropagated (typeof (TestType));
+ TestInterfacesPropagated (typeof (TestType));
+
TestCombinationOfPublicsIsPropagated (typeof (TestType));
TestCombinationOfNonPublicsIsNotPropagated (typeof (TestType));
TestCombinationOfPublicAndNonPublicsPropagatesPublicOnly (typeof (TestType));
@@ -165,6 +167,12 @@ namespace Mono.Linker.Tests.Cases.DataFlow
}
[RecognizedReflectionAccessPattern]
+ static void TestInterfacesPropagated ([DynamicallyAccessedMembers (DynamicallyAccessedMemberTypes.Interfaces)] Type derivedType)
+ {
+ derivedType.BaseType.RequiresInterfaces ();
+ }
+
+ [RecognizedReflectionAccessPattern]
static void TestCombinationOfPublicsIsPropagated (
[DynamicallyAccessedMembers (DynamicallyAccessedMemberTypes.PublicMethods | DynamicallyAccessedMemberTypes.PublicProperties)] Type derivedType)
{
diff --git a/test/Mono.Linker.Tests.Cases/Reflection/TypeUsedViaReflection.cs b/test/Mono.Linker.Tests.Cases/Reflection/TypeUsedViaReflection.cs
index 1907cd653..0f660e6ed 100644
--- a/test/Mono.Linker.Tests.Cases/Reflection/TypeUsedViaReflection.cs
+++ b/test/Mono.Linker.Tests.Cases/Reflection/TypeUsedViaReflection.cs
@@ -42,6 +42,8 @@ namespace Mono.Linker.Tests.Cases.Reflection
TestUnkownIgnoreCase3Params (1);
TestUnkownIgnoreCase5Params (1);
TestGenericTypeWithAnnotations ();
+
+ BaseTypeInterfaces.Test ();
}
[Kept]
@@ -409,5 +411,41 @@ namespace Mono.Linker.Tests.Cases.Reflection
" test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null";
Type.GetType (reflectionTypeKeptString);
}
+
+ [Kept]
+ class BaseTypeInterfaces
+ {
+ [Kept]
+ interface ITest
+ {
+ [Kept]
+ void Method ();
+ }
+
+ [Kept]
+ [KeptInterface (typeof (ITest))]
+ class BaseType : ITest
+ {
+ [Kept]
+ public void Method () { }
+ }
+
+ [Kept]
+ [KeptBaseType (typeof (BaseType))]
+ [KeptInterface (typeof (ITest))]
+ class DerivedType : BaseType, ITest
+ {
+ [Kept]
+ public void Method () { }
+ }
+
+ [Kept]
+ public static void Test ()
+ {
+ ITest t = null;
+ t.Method ();
+ typeof (DerivedType).GetInterfaces ();
+ }
+ }
}
}