reordered and cleaned up existing diagnostics#69
Merged
Conversation
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR reorganizes/renumbers ExpressiveSharp diagnostic IDs and updates the generator, analyzers/code fixes, tests, and documentation to match the new diagnostic mapping.
Changes:
- Renumbered multiple generator/analyzer diagnostics (e.g., virtual-member warning, MissingExpressive analyzer warning, ExpressiveProperty/ExpressiveFor errors).
- Updated all affected unit/integration tests and pragma suppressions to use the new IDs.
- Refreshed documentation to reflect the new diagnostic catalog and reorganized reference content.
Reviewed changes
Copilot reviewed 35 out of 35 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/ExpressiveSharp.IntegrationTests/Tests/ExpansionEdgeCasesTests.cs | Updates pragma suppression to new virtual-member diagnostic ID. |
| tests/ExpressiveSharp.IntegrationTests/Scenarios/Store/Models/LineItem.cs | Updates pragma suppression + comment for virtual-member diagnostic ID. |
| tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/MissingExpressiveDiagnosticTests.cs | Renames tests/assertions from old MissingExpressive diagnostic ID to new ID. |
| tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/InterfaceTests.cs | Updates expected diagnostic ID for default interface member virtual dispatch. |
| tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExpressivePropertyTests.cs | Updates ExpressiveProperty diagnostic IDs asserted by tests. |
| tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/ExpressiveForTests.cs | Updates ExpressiveFor diagnostic IDs asserted by tests. |
| tests/ExpressiveSharp.Generator.Tests/ExpressiveGenerator/DiagnosticTests.cs | Updates multiple expected diagnostic IDs (string interpolation, ExpressiveFor target type, virtual member). |
| tests/ExpressiveSharp.Generator.Tests/CodeFixers/WrapInAsExpressiveCodeFixProviderTests.cs | Updates expected analyzer diagnostic ID for .AsExpressive() wrap code fix. |
| tests/ExpressiveSharp.Generator.Tests/CodeFixers/WindowFunctionLiteralArgsAnalyzerTests.cs | Updates window-function analyzer diagnostic IDs asserted by tests. |
| tests/ExpressiveSharp.Generator.Tests/CodeFixers/PlainQueryableMissingAsExpressiveAnalyzerTests.cs | Updates expected analyzer diagnostic ID for plain IQueryable missing .AsExpressive(). |
| tests/ExpressiveSharp.Generator.Tests/CodeFixers/NotExpressiveOptOutTests.cs | Updates expected MissingExpressive diagnostic ID in opt-out tests. |
| tests/ExpressiveSharp.Generator.Tests/CodeFixers/MissingExpressiveImportAnalyzerTests.cs | Updates expected “missing using” / “no stub exists” diagnostic IDs. |
| tests/ExpressiveSharp.Generator.Tests/CodeFixers/ExpressiveQueryableDropoutAnalyzerTests.cs | Updates expected expressive-chain dropout diagnostic ID and related assertions. |
| tests/ExpressiveSharp.Generator.Tests/CodeFixers/AddExpressiveCodeFixProviderTests.cs | Updates expected diagnostic ID for “Add [Expressive]” code fix. |
| src/ExpressiveSharp.Generator/Interpretation/ExpressivePropertyInterpreter.cs | Updates comments to reflect new ExpressiveProperty conflict diagnostic ID. |
| src/ExpressiveSharp.Generator/Infrastructure/Diagnostics.cs | Renumbers/reassigns diagnostic descriptors; reorganizes diagnostics + adds cross-assembly reference notes. |
| src/ExpressiveSharp.Generator/ExpressiveGenerator.cs | Updates comments referencing renumbered diagnostics and duplicate-mapping ID. |
| src/ExpressiveSharp.EntityFrameworkCore.CodeFixers/WindowFunctionLiteralArgsAnalyzer.cs | Renumbers window-function analyzer diagnostic IDs. |
| src/ExpressiveSharp.CodeFixers/WrapInAsExpressiveCodeFixProvider.cs | Updates fixable IDs/equivalence keys and docstring to new diagnostic ID. |
| src/ExpressiveSharp.CodeFixers/PlainQueryableMissingAsExpressiveAnalyzer.cs | Renumbers diagnostic ID and updates docstring/comments. |
| src/ExpressiveSharp.CodeFixers/MissingExpressiveImportAnalyzer.cs | Renumbers diagnostic IDs and updates docstring. |
| src/ExpressiveSharp.CodeFixers/MissingExpressiveAnalyzer.cs | Renumbers diagnostic ID and updates docstring/comments. |
| src/ExpressiveSharp.CodeFixers/ExpressiveQueryableDropoutAnalyzer.cs | Renumbers diagnostic ID and updates docstring/comments. |
| src/ExpressiveSharp.CodeFixers/AddExpressiveUsingCodeFixProvider.cs | Updates fixable IDs/equivalence keys and docstring to new diagnostic ID. |
| src/ExpressiveSharp.CodeFixers/AddExpressiveCodeFixProvider.cs | Updates fixable IDs/equivalence keys and docstring to new diagnostic ID. |
| docs/reference/troubleshooting.md | Updates troubleshooting references from old to new MissingExpressive diagnostic ID. |
| docs/reference/expressive-property.md | Updates ExpressiveProperty diagnostic links/IDs to new numbering. |
| docs/reference/expressive-for.md | Updates ExpressiveFor diagnostic IDs/links and warning text. |
| docs/reference/expressive-attribute.md | Updates NotExpressive suppression list to new diagnostic IDs. |
| docs/reference/diagnostics.md | Major rework of diagnostic catalog: renumbered table + reorganized sections/content. |
| docs/recipes/external-member-mapping.md | Updates ExpressiveFor conflict diagnostic ID references. |
| docs/index.md | Updates marketing copy for the diagnostic range. |
| docs/guide/window-functions.md | Updates window-function analyzer diagnostic ID references. |
| docs/advanced/limitations.md | Updates virtual dispatch limitation references to new diagnostic ID. |
| CLAUDE.md | Updates contributor documentation to reflect the new diagnostic numbering scheme. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
5
to
9
| ::: tip Looking for help with a specific problem? | ||
| See [Troubleshooting](./troubleshooting) for symptom-oriented guidance -- find the error message or behavior you see and get step-by-step resolution. | ||
| ::: | ||
|
|
||
| ::: info Retired diagnostics | ||
| `EXP0016` ("`[ExpressiveFor]` stub must be static") has been retired. Instance stubs on the target type are now permitted; constructor-stub and unrelated-type mismatches surface as `EXP0015` (member not found) instead. | ||
| ::: | ||
|
|
||
| ## Overview |
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.
Some housekeeping to solidify existing diagnostics.