Skip to content

draft - analyzer to detect inline suppressions#58317

Draft
m-redding wants to merge 1 commit intoAzure:mainfrom
m-redding:suppressionanalyzer
Draft

draft - analyzer to detect inline suppressions#58317
m-redding wants to merge 1 commit intoAzure:mainfrom
m-redding:suppressionanalyzer

Conversation

@m-redding
Copy link
Copy Markdown
Member

Implement a Roslyn analyzer that flags #pragma warning disable and [SuppressMessage] usage unless the package is on an approved allow-list.

  • Add AZC0021 descriptor (Error, NotConfigurable)
  • Create SuppressionPolicyAnalyzer with support for:
    • #pragma warning disable (single, multi-ID, and blanket)
    • [SuppressMessage] attribute (semantic binding)
    • Allow-list via AdditionalFiles (eng/SuppressionAllowList.txt)
    • Glob pattern matching for package names
    • Generated code exclusion
  • Wire SuppressionAllowList.txt in Directory.Build.Common.targets
  • Add 18 test cases covering all detection scenarios

Resolves #58246

Contributing to the Azure SDK

Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.

For specific information about pull request etiquette and best practices, see this section.

Implement a Roslyn analyzer that flags #pragma warning disable and
[SuppressMessage] usage unless the package is on an approved allow-list.

- Add AZC0021 descriptor (Error, NotConfigurable)
- Create SuppressionPolicyAnalyzer with support for:
  - #pragma warning disable (single, multi-ID, and blanket)
  - [SuppressMessage] attribute (semantic binding)
  - Allow-list via AdditionalFiles (eng/SuppressionAllowList.txt)
  - Glob pattern matching for package names
  - Generated code exclusion
- Wire SuppressionAllowList.txt in Directory.Build.Common.targets
- Add 18 test cases covering all detection scenarios

Resolves Azure#58246

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

create a new analyzer that detects in line analyzer suppressions

1 participant