Skip to content

Commit e12e085

Browse files
committed
Fix removal of [RequiresUnreferencedCode] on older runtimes
1 parent cc3205a commit e12e085

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

CommunityToolkit.Mvvm.SourceGenerators/ComponentModel/ObservableRecipientGenerator.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ static ObservableRecipientInfo GetInfo(INamedTypeSymbol typeSymbol, AttributeDat
5252
// Check whether [RequiresUnreferencedCode] is available
5353
IncrementalValueProvider<bool> isRequiresUnreferencedCodeAttributeAvailable =
5454
context.CompilationProvider
55-
.Select(static (item, _) => item.GetTypeByMetadataName("System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute") is not null);
55+
.Select(static (item, _) => item.GetTypeByMetadataName("System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute") is { DeclaredAccessibility: Accessibility.Public });
5656

5757
return
5858
source
@@ -128,7 +128,7 @@ MemberDeclarationSyntax RemoveRequiresUnreferencedCodeAttributeIfNeeded(MemberDe
128128
member
129129
.DescendantNodes()
130130
.OfType<AttributeListSyntax>()
131-
.First(node => ((IdentifierNameSyntax)((QualifiedNameSyntax)node.Attributes[0].Name).Right).Identifier.ValueText == "RequiresUnreferencedCode");
131+
.First(node => node.Attributes[0].Name is QualifiedNameSyntax { Right: IdentifierNameSyntax { Identifier.ValueText: "RequiresUnreferencedCode" } });
132132

133133
return member.RemoveNode(attributeNode, SyntaxRemoveOptions.KeepExteriorTrivia)!;
134134
}

0 commit comments

Comments
 (0)