From e12e0858a4eee2ff4cecc40af0323bcbdaf20c76 Mon Sep 17 00:00:00 2001 From: Sergio Pedri Date: Fri, 31 Dec 2021 17:04:10 +0100 Subject: [PATCH] Fix removal of [RequiresUnreferencedCode] on older runtimes --- .../ComponentModel/ObservableRecipientGenerator.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CommunityToolkit.Mvvm.SourceGenerators/ComponentModel/ObservableRecipientGenerator.cs b/CommunityToolkit.Mvvm.SourceGenerators/ComponentModel/ObservableRecipientGenerator.cs index af972ca2..5dde87c8 100644 --- a/CommunityToolkit.Mvvm.SourceGenerators/ComponentModel/ObservableRecipientGenerator.cs +++ b/CommunityToolkit.Mvvm.SourceGenerators/ComponentModel/ObservableRecipientGenerator.cs @@ -52,7 +52,7 @@ public sealed class ObservableRecipientGenerator : TransitiveMembersGenerator isRequiresUnreferencedCodeAttributeAvailable = context.CompilationProvider - .Select(static (item, _) => item.GetTypeByMetadataName("System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute") is not null); + .Select(static (item, _) => item.GetTypeByMetadataName("System.Diagnostics.CodeAnalysis.RequiresUnreferencedCodeAttribute") is { DeclaredAccessibility: Accessibility.Public }); return source @@ -128,7 +128,7 @@ public sealed class ObservableRecipientGenerator : TransitiveMembersGenerator() - .First(node => ((IdentifierNameSyntax)((QualifiedNameSyntax)node.Attributes[0].Name).Right).Identifier.ValueText == "RequiresUnreferencedCode"); + .First(node => node.Attributes[0].Name is QualifiedNameSyntax { Right: IdentifierNameSyntax { Identifier.ValueText: "RequiresUnreferencedCode" } }); return member.RemoveNode(attributeNode, SyntaxRemoveOptions.KeepExteriorTrivia)!; }