Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the README file #9611

Merged
merged 2 commits into from
Aug 7, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions analyzers/src/SonarAnalyzer.ShimLayer/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,19 @@

## Purpose

All those classes allow to use new Roslyn API while maintaining compatibility with old versions.
Enables the new Roslyn API usage while maintaining compatibility with old versions.

## Notes
## Structure

The code was copied from
https://github.com/DotNetAnalyzers/StyleCopAnalyzers/tree/master/StyleCop.Analyzers/StyleCop.Analyzers/Lightup
The project is divided into the following parts:
- At the root level is the `Lightup` layer introduced by the stylecop analyzers. The code was copied from
https://github.com/DotNetAnalyzers/StyleCopAnalyzers/tree/master/StyleCop.Analyzers/StyleCop.Analyzers/Lightup excepting `Syntax.xml` and `OperationInterfaces.xml`.
- [Syntax.xml](https://github.com/dotnet/roslyn/blob/main/src/Compilers/CSharp/Portable/Syntax/Syntax.xml) and [OperationInterfaces.xml](https://github.com/dotnet/roslyn/blob/main/src/Compilers/Core/Portable/Operations/OperationInterfaces.xml) are copied from the Roslyn repository (ideally, from the latest release version branch).
They are used to generate the `Lightup` layer. We copy them from Roslyn and not from StyleCopAnalyzers to ensure that we have the most recent version to be able to support the latest features.
- All the additions made by SonarSource are in the `Sonar` folder.

## Conventions

- Keep our changes and all logic in a dedicated directory `Sonar`, using partial classes, extension methods, and external handlers.
- Keep the namespace. Have different license headers.
- Inject ourselves to the StyleCop code with minimal changes that are annotated with `// Sonar` comment everywhere.
Loading