Repository navigation
refactor(analyzers): share helper catalogs and drop test aliases - #149
Merged
Merged
Conversation
- Add shared catalogs: MutableCollectionCatalog, PathNameKind, PragmaWarningDirectives. - Move FIPS hash tables into FipsSymbolHelpers and derive DiskIoCatalog method kinds. - Align MetadataTypes.RegisterForType with Find and pass SuggestedType through the path analyzer. - Extend E128218 with forwarded accessors, mutable structs, cross-type writes, and the transition option. - Delete 179 one-line VerifyAsync aliases and add the runner overloads they replaced. - Bump SonarAnalyzer to 10.36.0.15337, enable S3900, and restore the central package pins. - Prune the roadmap to the open union item and refresh the lode contracts. Co-Authored-By: Claude Co-Authored-By: Claude
- Split reports on '<' with tr so awk reads one element per line. - Drop the require_tool check and the CI apt-get install of libxml2-utils. - Record the dependency in lode/dotnet/code-coverage.md. Co-Authored-By: Claude Co-Authored-By: Claude
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Executive Summary
The repository carried ten untangling items plus four E128218 follow-up phases. The shared logic was duplicated across analyzers, and the analyzer test suite wrapped
AnalyzerTestRunnerin 199 one-line aliases that only renamed the call. This change consolidates the duplicated catalogs, adds the remaining implicit state machine phases, and deletes 179 of those aliases.scripts/check.shpasses: shell lint, format, build, and 2665 tests.Code Changes
MutableCollectionCatalog,PathNameKind, andPragmaWarningDirectivesas the single owner of their tables, so the exposure, path, and suppression analyzers stop carrying private copies.FipsSymbolHelpers. DeriveDiskIoCatalogmethod kinds from one set per kind.MetadataTypes.RegisterForTypewithFind, and passSuggestedTypethroughFileSystemPathAnalyzerinstead of recomputing it.e128_state_min_transition_bodiesoption.E128CodeFixProviderBasekeeps the syntax root fetch. 119 of 120 providers locate the reported node from that root, so moving the fetch into each provider would copy the same null guard 120 times.PragmaBalanceCodeFixProviderwas the one provider that ignored the root and now overridesRegisterCodeFixesAsyncdirectly.VerifyAsyncaliases and add the three runner overloads they depended on. The 20 helpers that remain inject a stub preamble, a reference set, a language version, or an options value tied to a parameter.SonarAnalyzer.CSharpto 10.36.0.15337. All three new rules (S9414, S9415, S9422) are enabled by default, so the blanket error severity already covers them. S3900 is off by default and was missing from.globalconfig, so it is now named there.Microsoft.CodeAnalysis.CSharp.WorkspacesandSystem.Security.Cryptography.Pkcscentral pins a concurrent edit removed. Without them restore fell back to1.0.1and9.0.6, which producedNU1010,NU1701, and two vulnerability errors.AnalyzerReleases.Shipped.md.Tests and Tooling
scripts/check.shpasses: shell lint, format check, build, and the full test suite.IsEnabledByDefault=Truefor S9414, S9415, and S9422. The rule catalog is identical between 10.35 and 10.36.Review Guide
src/E128.Analyzers/Design/ImplicitStateMachineAnalyzer.cs: the four new phases and their gating.tests/E128.Analyzers.Tests/AnalyzerTestRunner.cs: the three overloads that replace the aliases.Directory.Packages.propsand.globalconfig: the restored pins and the S3900 entry.Rollback
Revert the commit. The analyzer version bump and the release-file promotion revert with it.
🤖 Generated with Claude Code