Skip to content

Comments

[C#] Cononical Names and Casing Settings in ModuleDef#4368

Merged
rekhoff merged 4 commits intomasterfrom
rekhoff/csharp-canonical-names
Feb 20, 2026
Merged

[C#] Cononical Names and Casing Settings in ModuleDef#4368
rekhoff merged 4 commits intomasterfrom
rekhoff/csharp-canonical-names

Conversation

@rekhoff
Copy link
Contributor

@rekhoff rekhoff commented Feb 20, 2026

This is the implementation of the "Nice to Have in 2.0" items from #4295

Description of Changes

  • Propagate the module’s case-conversion policy and each explicit canonical name (tables, reducers, procedures, views, indexes) into RawModuleDefV10, so runtime consumers receive the same metadata emitted by the Rust toolchain.
  • Implement support for [SpacetimeDB.Settings] + explicit Name = ... attribute overrides in the C# module bindings generator.
  • Adds an explicitnames fixture to the Codegen Test suite to cover the generated registration calls, ensuring accessor vs. canonical names stay in sync.

API and ABI breaking changes

None. Generator + runtime internals only; no public surface changes.

Expected complexity level and risk

2 – localized to the C# codegen/runtime plumbing, validated by focused tests.

Testing

  • Compiled CLI changes locally and ran C# regression tests.
  • Ran dotnet test crates/bindings-csharp/Codegen.Tests/Codegen.Tests.csproj -c Release to verify code tests pass

@rekhoff rekhoff self-assigned this Feb 20, 2026
@rekhoff rekhoff linked an issue Feb 20, 2026 that may be closed by this pull request
Copy link
Contributor

@JasonAtClockwork JasonAtClockwork left a comment

Choose a reason for hiding this comment

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

LGTM, I tested a little locally as well for my sanity.

@rekhoff rekhoff marked this pull request as ready for review February 20, 2026 06:30
@rekhoff rekhoff added this pull request to the merge queue Feb 20, 2026
Merged via the queue into master with commit d965569 Feb 20, 2026
33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Casing: Canonical name for Csharp.

2 participants