SonarSource/sonar-dotnet

Fix S6964 FP: Issues should not be raised in autogenerated code

Closed this issue · 1 comments

Description

S6964 is not respecting generated code.

Repro steps

This rule is being triggered on a model defined in a file named Models.gen.cs, that includes the auto-generated comment, in a class that is annotated with GeneratedCode attribute.

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

[System.CodeDom.Compiler.GeneratedCode("Lithium", "8")]
public abstract partial class ClaimDataBase
{
    [Cegid.Hydrogen.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = false)]
    [Cegid.Hydrogen.ComponentModel.DataAnnotations.TextMaxLength(250)]
    [System.ComponentModel.DataAnnotations.Display(Name = nameof(Localization.ModelsResources.RES_Display_ClaimData_Type), ResourceType = typeof(Localization.ModelsResources))]
    [System.Diagnostics.CodeAnalysis.MaybeNull]
    [System.Text.Json.Serialization.JsonPropertyName("type")]
    public virtual string Type
    {
        get;
        set;
    }

    // (...)
}

Expected behavior

Generated code should not trigger rules.

It would be nice if the rule allowed to configure which attribute is applying the Required semantic. Notice that we're using our own attribute.

Known workarounds

None.

Related information

  • SonarAnalyzer.CSharp version 9.25.0.90414
  • Visual Studio 17.9.6
  • .NET 8.0.204
  • Windows 10

Hello again @hugoqribeiro,

I confirm this should not happen - we already have an open issue to fix this behavior.