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/src
diff options
context:
space:
mode:
authorJackson Schuster <jschuster@microsoft.com>2021-12-03 02:03:25 +0300
committerJackson Schuster <jschuster@microsoft.com>2021-12-10 01:36:58 +0300
commit632727eaf22535ca1413b0b29c0b70329044bac1 (patch)
tree8a83a71ddaca557d953c3eb4e3c14e31ac69ceff /src
parent6766813ca94acd9e39f68bc4693ce5769b732ea0 (diff)
Reverting to using IsMemberInRequiresScope
Diffstat (limited to 'src')
-rw-r--r--src/ILLink.RoslynAnalyzer/RequiresAnalyzerBase.cs14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/ILLink.RoslynAnalyzer/RequiresAnalyzerBase.cs b/src/ILLink.RoslynAnalyzer/RequiresAnalyzerBase.cs
index fcffa7944..0085da093 100644
--- a/src/ILLink.RoslynAnalyzer/RequiresAnalyzerBase.cs
+++ b/src/ILLink.RoslynAnalyzer/RequiresAnalyzerBase.cs
@@ -335,12 +335,11 @@ namespace ILLink.RoslynAnalyzer
message));
}
+ // TODO: Should consider when a symbol is a method of a class that has the attribute
private bool HasMismatchingAttributes (ISymbol member1, ISymbol member2)
{
- bool member1HasAttribute = TargetHasRequiresAttribute (member1, true, out _);
-
- bool member2HasAttribute = TargetHasRequiresAttribute (member2, true, out _);
-
+ bool member1HasAttribute = IsMemberInRequiresScope (member1);
+ bool member2HasAttribute = IsMemberInRequiresScope (member2);
return member1HasAttribute ^ member2HasAttribute;
}
@@ -368,11 +367,6 @@ namespace ILLink.RoslynAnalyzer
/// </summary>
protected bool TargetHasRequiresAttribute (ISymbol member, [NotNullWhen (returnValue: true)] out AttributeData? requiresAttribute)
{
- return TargetHasRequiresAttribute(member, false, out requiresAttribute);
- }
-
- private bool TargetHasRequiresAttribute (ISymbol member, bool inheritRucForInstanceMethods, [NotNullWhen (returnValue: true)] out AttributeData? requiresAttribute)
- {
requiresAttribute = null;
if (member.IsStaticConstructor ()) {
return false;
@@ -383,7 +377,7 @@ namespace ILLink.RoslynAnalyzer
}
// Also check the containing type
- if (inheritRucForInstanceMethods || member.IsStatic || member.IsConstructor ()) {
+ if (member.IsStatic || member.IsConstructor ()) {
return TryGetRequiresAttribute (member.ContainingType, out requiresAttribute);
}
return false;