Commit 9918874
fix(codegen-csharp): FR-021 TryResolve — apply PackageNamespaces to @provided enums
TryResolve carried a `!useProvidedEnumPrepend` guard that skipped the
package-level override (PackageNamespaces) for @provided enums, leaving the
helper inconsistent with ResolveImpl (whose step 2 is unguarded) and with
SharedEnumTypeReference's own documented order (TypeOverrides → PackageNamespaces
→ Convention → ProvidedEnumNamespace). A provided enum has its own declaring
package, distinct from any entity package, so an explicit PackageNamespaces entry
for it is a deliberate binding that must win (the FR-019 "namespace maps to the
declaring package" contract). Parallel-tree routing stays expressed via
Convention.ProvidedEnumPrepend, not by suppressing the explicit override.
Greens the 3 reds in the FR-021 WIP (its own TryResolve-returns-null test, which
asserts "package-level override always wins even for provided enums", plus the
two FR-019 package-binding tests). No test changes — the tests were correct.
Codegen 205/0, Conformance 592/0, solution builds clean.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 5ecf80f commit 9918874
1 file changed
Lines changed: 8 additions & 6 deletions
Lines changed: 8 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
128 | 130 | | |
129 | 131 | | |
130 | 132 | | |
| |||
0 commit comments