Skip to content

Fix C# type reference target resolution#4920

Merged
Widthdom merged 5 commits into
mainfrom
fix-issue4825
Jul 27, 2026
Merged

Fix C# type reference target resolution#4920
Widthdom merged 5 commits into
mainfrom
fix-issue4825

Conversation

@Widthdom

Copy link
Copy Markdown
Owner

Summary

  • Restrict C# type_reference resolution to exact-case, type-like symbols with compatible qualifiers and generic arity.
  • Leave incompatible framework and external types unresolved, preventing false reference and dependency edges while preserving exact property receiver dependencies, including inherited properties.
  • Invalidate prior reference-identity candidates and retain scoped reference-graph refresh behavior.
  • Keep Java reference resolution unchanged.

Validation

  • dotnet build CodeIndex.sln -c Release --no-restore
  • Focused regression tests on net8.0 and net9.0: 9 passed on each target
  • Full net8.0 suite: 10,475 passed, 7 skipped, 0 failed
  • Full net9.0 suite: 10,002 passed, 419 skipped, 0 failed
  • dotnet format CodeIndex.sln --verify-no-changes --no-restore
  • make lint
  • dotnet run --project tools/CodeIndex.Changelog -- check
  • Codex 5.6 sol xhigh adversarial review: 2 rounds, all findings addressed

Documentation and changelog

  • Updated the English and Japanese sections of DEVELOPER_GUIDE.md and TESTING_GUIDE.md.
  • Added changelog.d/unreleased/4825.fixed.md.

Fixes #4825

@Widthdom
Widthdom marked this pull request as ready for review July 27, 2026 01:51
@Widthdom
Widthdom merged commit 494c2d6 into main Jul 27, 2026
12 checks passed
@Widthdom
Widthdom deleted the fix-issue4825 branch July 27, 2026 01:51
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.

Resolve C# type references only to type-like symbols

1 participant