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:
authorMateo Torres-Ruiz <mateoatr@users.noreply.github.com>2021-09-08 21:10:56 +0300
committerGitHub <noreply@github.com>2021-09-08 21:10:56 +0300
commit8b7695af6debcbdaad531d521f8a8e10c553541a (patch)
treeebe54f6f1f85e817a5ec731363ea62c99a0f9079 /test/ILLink.RoslynAnalyzer.Tests
parent4f28a6571fdf56b2c06dfb03fda41efb0ea4c9ed (diff)
Special case `MakeGenericMethod/Type` in RUC analyzer (#2209)
* Add MakeGenericMethod and MakeGenericType to the special incompatible members of the RUC analyzer. * Don't produce diagnostics for MakeGenericMethod/MakeGenericType * Add comment * Lint
Diffstat (limited to 'test/ILLink.RoslynAnalyzer.Tests')
-rw-r--r--test/ILLink.RoslynAnalyzer.Tests/RequiresUnreferencedCodeAnalyzerTests.cs48
1 files changed, 48 insertions, 0 deletions
diff --git a/test/ILLink.RoslynAnalyzer.Tests/RequiresUnreferencedCodeAnalyzerTests.cs b/test/ILLink.RoslynAnalyzer.Tests/RequiresUnreferencedCodeAnalyzerTests.cs
index 9b448970e..345b6d7c0 100644
--- a/test/ILLink.RoslynAnalyzer.Tests/RequiresUnreferencedCodeAnalyzerTests.cs
+++ b/test/ILLink.RoslynAnalyzer.Tests/RequiresUnreferencedCodeAnalyzerTests.cs
@@ -920,5 +920,53 @@ class C
return VerifyRequiresUnreferencedCodeAnalyzer (source);
}
+
+ [Fact]
+ public Task TestMakeGenericMethodUsage ()
+ {
+ var source = @"
+using System.Diagnostics.CodeAnalysis;
+using System.Reflection;
+
+class C
+{
+ static void M1 (MethodInfo methodInfo)
+ {
+ methodInfo.MakeGenericMethod (typeof (C));
+ }
+
+ [RequiresUnreferencedCode (""Message from RUC"")]
+ static void M2 (MethodInfo methodInfo)
+ {
+ methodInfo.MakeGenericMethod (typeof (C));
+ }
+}";
+
+ return VerifyRequiresUnreferencedCodeAnalyzer (source);
+ }
+
+ [Fact]
+ public Task TestMakeGenericTypeUsage ()
+ {
+ var source = @"
+using System;
+using System.Diagnostics.CodeAnalysis;
+
+class C
+{
+ static void M1 (Type t)
+ {
+ typeof (Nullable<>).MakeGenericType (typeof (C));
+ }
+
+ [RequiresUnreferencedCode (""Message from RUC"")]
+ static void M2 (Type t)
+ {
+ typeof (Nullable<>).MakeGenericType (typeof (C));
+ }
+}";
+
+ return VerifyRequiresUnreferencedCodeAnalyzer (source);
+ }
}
}