Skip to content

Preserve C# explicit-interface symbol identities - #4981

Merged
Widthdom merged 29 commits into
mainfrom
fix-issue4866
Jul 29, 2026
Merged

Preserve C# explicit-interface symbol identities#4981
Widthdom merged 29 commits into
mainfrom
fix-issue4866

Conversation

@Widthdom

Copy link
Copy Markdown
Owner

Summary

  • Preserve C# explicit-interface qualifiers and method generic arity in the persisted symbol identity while keeping short display aliases discoverable.
  • Apply the identity consistently across extraction, SQLite schema/migrations, fold backfill/readiness, exact search/count/definition/inspect, diff, outline, LSP, and impact traversal.
  • Keep qualified impact traversal scoped to every matched interface declaration/explicit implementation ID, excluding same-named public members.
  • Preserve the explicit qualifier when a supported post-extraction hook performs a name-only rename.

Validation

  • dotnet build CodeIndex.sln -c Debug --no-restore
  • dotnet build CodeIndex.sln -c Release --no-restore
  • Issue Preserve explicit-interface qualifiers in C# symbol identity #4866 tests: 14/14 passed in Debug and Release on both .NET 8 and .NET 9
  • dotnet format CodeIndex.sln --verify-no-changes --no-restore
  • dotnet run --project tools/CodeIndex.Changelog -- check (54 fragments validated)
  • git diff --check origin/main...HEAD
  • Full cdidx index . --rebuild completed for 1,280 files with zero warnings/errors; cdidx status --check reports the index, HEAD, workspace, reference graph, folds, and C# symbol-name contract as current
  • Two Codex adversarial review rounds completed; all actionable findings were addressed

Documentation and changelog

  • Updated the English and Japanese sections in README.md, DEVELOPER_GUIDE.md, and TESTING_GUIDE.md.
  • Added changelog.d/unreleased/4866.fixed.md.

Follow-up candidates

  • None.

Fixes #4866

Widthdom added 29 commits July 29, 2026 03:54
@Widthdom
Widthdom marked this pull request as ready for review July 29, 2026 14:27
@Widthdom
Widthdom merged commit d7dd935 into main Jul 29, 2026
12 checks passed
@Widthdom
Widthdom deleted the fix-issue4866 branch July 29, 2026 14:27
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.

Preserve explicit-interface qualifiers in C# symbol identity

1 participant