diff --git a/analyzers/src/SonarAnalyzer.CSharp/Facade/CSharpSyntaxFacade.cs b/analyzers/src/SonarAnalyzer.CSharp/Facade/CSharpSyntaxFacade.cs index 21f0560d744..5c1b8a8f12f 100644 --- a/analyzers/src/SonarAnalyzer.CSharp/Facade/CSharpSyntaxFacade.cs +++ b/analyzers/src/SonarAnalyzer.CSharp/Facade/CSharpSyntaxFacade.cs @@ -50,7 +50,7 @@ internal sealed class CSharpSyntaxFacade : SyntaxFacade public override bool IsNullLiteral(SyntaxNode node) => node.IsNullLiteral(); - public override bool IsKnownAttributeType(SyntaxNode attribute, KnownType knownType, SemanticModel model) => + public override bool IsKnownAttributeType(SemanticModel model, SyntaxNode attribute, KnownType knownType) => AttributeSyntaxExtensions.IsKnownType(Cast(attribute), knownType, model); public override IEnumerable ArgumentExpressions(SyntaxNode node) => diff --git a/analyzers/src/SonarAnalyzer.Common/Facade/SyntaxFacade.cs b/analyzers/src/SonarAnalyzer.Common/Facade/SyntaxFacade.cs index f08ceed8ff4..a195916ef39 100644 --- a/analyzers/src/SonarAnalyzer.Common/Facade/SyntaxFacade.cs +++ b/analyzers/src/SonarAnalyzer.Common/Facade/SyntaxFacade.cs @@ -32,7 +32,7 @@ public abstract class SyntaxFacade public abstract bool IsAnyKind(SyntaxNode node, ISet syntaxKinds); public abstract bool IsAnyKind(SyntaxNode node, params TSyntaxKind[] syntaxKinds); public abstract bool IsAnyKind(SyntaxTrivia trivia, params TSyntaxKind[] syntaxKinds); - public abstract bool IsKnownAttributeType(SyntaxNode attribute, KnownType knownType, SemanticModel model); + public abstract bool IsKnownAttributeType(SemanticModel model, SyntaxNode attribute, KnownType knownType); public abstract IEnumerable ArgumentExpressions(SyntaxNode node); public abstract ImmutableArray AssignmentTargets(SyntaxNode assignment); public abstract SyntaxNode AssignmentLeft(SyntaxNode assignment); diff --git a/analyzers/src/SonarAnalyzer.Common/Rules/DebuggerDisplayUsesExistingMembersBase.cs b/analyzers/src/SonarAnalyzer.Common/Rules/DebuggerDisplayUsesExistingMembersBase.cs index 1453d0d5150..1ae5dc4f1c6 100644 --- a/analyzers/src/SonarAnalyzer.Common/Rules/DebuggerDisplayUsesExistingMembersBase.cs +++ b/analyzers/src/SonarAnalyzer.Common/Rules/DebuggerDisplayUsesExistingMembersBase.cs @@ -43,7 +43,7 @@ public abstract class DebuggerDisplayUsesExistingMembersBase { var attribute = (TAttributeSyntax)c.Node; - if (Language.Syntax.IsKnownAttributeType(attribute, KnownType.System_Diagnostics_DebuggerDisplayAttribute, c.SemanticModel) + if (Language.Syntax.IsKnownAttributeType(c.SemanticModel, attribute, KnownType.System_Diagnostics_DebuggerDisplayAttribute) && AttributeFormatString(attribute) is { } formatString && Language.Syntax.StringValue(formatString, c.SemanticModel) is { } formatStringText && FirstInvalidMemberName(c, formatStringText, attribute) is { } firstInvalidMember) diff --git a/analyzers/src/SonarAnalyzer.VisualBasic/Facade/VisualBasicSyntaxFacade.cs b/analyzers/src/SonarAnalyzer.VisualBasic/Facade/VisualBasicSyntaxFacade.cs index 66a63dfaa0e..1145946ad4e 100644 --- a/analyzers/src/SonarAnalyzer.VisualBasic/Facade/VisualBasicSyntaxFacade.cs +++ b/analyzers/src/SonarAnalyzer.VisualBasic/Facade/VisualBasicSyntaxFacade.cs @@ -50,7 +50,7 @@ internal sealed class VisualBasicSyntaxFacade : SyntaxFacade public override bool IsAnyKind(SyntaxTrivia trivia, params SyntaxKind[] syntaxKinds) => trivia.IsAnyKind(syntaxKinds); - public override bool IsKnownAttributeType(SyntaxNode attribute, KnownType knownType, SemanticModel model) => + public override bool IsKnownAttributeType(SemanticModel model, SyntaxNode attribute, KnownType knownType) => AttributeSyntaxExtensions.IsKnownType(Cast(attribute), knownType, model); public override IEnumerable ArgumentExpressions(SyntaxNode node) =>