Skip to content

reordered and cleaned up existing diagnostics#69

Merged
koenbeuk merged 2 commits into
mainfrom
fix/diagnostics-refatoring
Jun 2, 2026
Merged

reordered and cleaned up existing diagnostics#69
koenbeuk merged 2 commits into
mainfrom
fix/diagnostics-refatoring

Conversation

@koenbeuk
Copy link
Copy Markdown
Collaborator

@koenbeuk koenbeuk commented Jun 2, 2026

Some housekeeping to solidify existing diagnostics.

Copilot AI review requested due to automatic review settings June 2, 2026 14:53
@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 2, 2026

Codecov Report

❌ Patch coverage is 87.09677% with 4 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...rp.CodeFixers/AddExpressiveUsingCodeFixProvider.cs 0.00% 2 Missing ⚠️
...veSharp.CodeFixers/AddExpressiveCodeFixProvider.cs 50.00% 1 Missing ⚠️
...rp.CodeFixers/WrapInAsExpressiveCodeFixProvider.cs 50.00% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 thread docs/reference/expressive-attribute.md
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
@koenbeuk koenbeuk merged commit 18c90d9 into main Jun 2, 2026
4 checks passed
@koenbeuk koenbeuk deleted the fix/diagnostics-refatoring branch June 2, 2026 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants