Skip to content

Fix C# primary constructor property extraction - #5168

Merged
Widthdom merged 2 commits into
mainfrom
fix-issue5157
Aug 23, 2026
Merged

Widthdom merged 2 commits into
mainfrom
fix-issue5157

Conversation

@Widthdom

Copy link
Copy Markdown
Owner

Summary

  • Restrict synthesized C# primary-constructor property symbols to positional record, record class, and record struct declarations.
  • Bump the C# extractor contract so existing indexes discard stale false property rows during normal refresh.
  • Add unit and CLI regression coverage for ordinary class/struct, nested/private and attributed multiline parameters, record variants, visibility, symbols, definition, outline, and incremental parity.
  • Document the behavior and test ownership in the English/Japanese developer and testing guides, with a bilingual changelog fragment.

Validation

  • dotnet build CodeIndex.sln -c Release --no-restore -p:UseSharedCompilation=false — passed with 0 warnings and 0 errors.
  • dotnet format CodeIndex.sln --verify-no-changes --no-restore — passed.
  • Full net8.0 suite — 11,821 passed, 9 skipped, 0 failed.
  • Full net9.0 suite — 11,341 passed, 426 skipped, 0 failed.
  • Codex review targeted net8.0 suite — 1,168 passed, 0 failed.
  • dotnet run --project tools/CodeIndex.Changelog -- check — validated 2 fragments.
  • Repository root and workspace index health checks — healthy with no failed checks.
  • Repository smoke test — BoundedReadStream.inner returns property count 0 from both symbols and definition; property outline retains only the five real properties.

Adversarial review

  • Round 1 found one P2 documentation-sync issue for TESTING_GUIDE.md; fixed in f454534d2 together with the fragment affected-file list.
  • Round 2: No blocking/actionable issues found.

Follow-up candidates

  • None.

Fixes #5157

@Widthdom
Widthdom merged commit 5b33de2 into main Aug 23, 2026
11 checks passed
@Widthdom
Widthdom deleted the fix-issue5157 branch August 23, 2026 13:08
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.

Do not index plain C# primary-constructor parameters as public properties

1 participant