feat: move AWT106 to a DiagnosticAnalyzer so it is suppressible in-source#17
Merged
Conversation
…urce AWT106 (disposable transient) was emitted by the source generator, where #pragma warning disable / [SuppressMessage] cannot suppress it. Move the diagnostic to a new DisposableTransientAnalyzer in the same assembly so it honours in-source suppression at the registration; the generator no longer reports it. - Extract RawRegistration + registration collection into a shared ContainerRegistrations used by both generator and analyzer. - RawRegistration carries the live Roslyn Location (not the equatable LocationInfo) so the per-syntax-tree pragma map applies; the generator converts to LocationInfo at its use sites. - Suppress AWT106 in the deliberate disposable-transient test fixtures. - Add an analyzer test harness and an in-source-suppression test. Also set Stryker coverage-analysis to off: C# 14 extension member blocks lower into [CompilerGenerated] methods that per-test coverage cannot attribute, which wrongly reported AwaitenResolverExtensions as 0% mutation score.
76f9c15 to
9249764
Compare
|
|
This is addressed in release v0.1.0. |
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.



AWT106 (disposable transient) was emitted by the source generator, where
#pragma warning disable/[SuppressMessage]cannot suppress it. Move the diagnostic to a newAwaitenAnalyzerin the same assembly so it honours in-source suppression at the registration; the generator no longer reports it.RawRegistration+ registration collection into a sharedContainerRegistrationsused by both generator and analyzer.RawRegistrationcarries the live Roslyn Location (not the equatableLocationInfo) so the per-syntax-tree pragma map applies; the generator converts to LocationInfo at its use sites.Also set Stryker coverage-analysis to off: C# 14 extension member blocks lower into
[CompilerGenerated]methods that per-test coverage cannot attribute, which wrongly reportedAwaitenResolverExtensionsas 0% mutation score.