Tim Pohlmann
Tim Pohlmann
Improvements to the Symbolic Execution engine, significantly reducing the number of FPs. [Release Notes](https://github.com/SonarSource/sonar-dotnet/releases/tag/9.20.0.85982)
The autocompletion for Creep is missing .pos and .room. It seems like IntelliSense is not recognizing that Creep extends RoomObject.
This release contains one new ASP.NET Rule ([S6961](https://sonarsource.github.io/rspec/#/rspec/S6961/csharp)) and several general improvements and fixes. [Release Notes](https://github.com/SonarSource/sonar-dotnet/releases/tag/9.24.0.89429)

Change the structure of `analyzers/packaging/binaries` to have one folder per project. This simplifies the clean-up process. [Background Task](https://trello.com/c/0QOHiwL1/1360-future-proof-cleanbinaries-target)
Follow-up to #9414
Implement support for `Override` Property by following the same approach as in [SyntaxLightGenerator](https://github.com/SonarSource/sonar-dotnet/blob/69a33d3d99319522e98813aade3e4d920aaccbbd/analyzers/src/SonarAnalyzer.ShimLayer.CodeGeneration/SyntaxLightupGenerator.cs#L349).
If the `operation` passed to [ProgramState.SetOperationValueCore](https://github.com/SonarSource/sonar-dotnet/blob/f15169a39dc18b9d21439d48cdea9dd9296b006c/analyzers/src/SonarAnalyzer.Common/SymbolicExecution/Roslyn/ProgramState.cs#L206) has a tracked symbol (`operation.TrackedSymbol(state) is { } symbol`) the method should also set the symbolic value for the symbol. When implemented naively, multiple...
In `sonar-csharp-plugin` and `sonar-dotnet-shared-library`, we use `org.sonar.api.utils.log.Logger` and `org.sonar.api.utils.log.Loggers`, which are deprecated. We should find an appropriate replacement. See issues about it here: https://sonarcloud.io/project/issues?resolved=false&sinceLeakPeriod=true&types=CODE_SMELL&id=org.sonarsource.dotnet%3Asonar-dotnet&open=AYd0BDcQ8Q_NY1Er7OPf https://sonarcloud.io/project/issues?resolved=false&sinceLeakPeriod=true&types=CODE_SMELL&id=org.sonarsource.dotnet%3Asonar-dotnet&open=AYd0BDNX8Q_NY1Er7OOr
[GetLeftSideOfDot](https://github.com/dotnet/roslyn/blob/b1b8636a866cb01c419b25caec47db9788a7f4db/src/Workspaces/SharedUtilitiesAndExtensions/Compiler/CSharp/Extensions/SimpleNameSyntaxExtensions.cs#L14-L33) would be very useful in a lot of places and should be brought over to our code base. Example use case: https://github.com/SonarSource/sonar-dotnet/blob/95278ed63294c01e3f90ca9d4b8d82255477aebf/analyzers/src/SonarAnalyzer.CSharp/Rules/RedundantCast.cs#L146-L154