Skip to content

Fix constructor parameter-property local bindings - #437

Merged
CaelmBleidd merged 1 commit into
neofrom
caelmbleidd/constructor-parameter-property-binding
Oct 14, 2026
Merged

CaelmBleidd merged 1 commit into
neofrom
caelmbleidd/constructor-parameter-property-binding

Conversation

@CaelmBleidd

Copy link
Copy Markdown
Member

Constructor parameter properties currently acquire two locals for the same declaration: the prologue initializes names, while a constructor loop reads an uninitialized names$1. Resolve the TypeScript Property and Variable symbols of that parameter to one lexical binding, preserving class-field metadata and distinct block-scoped shadows.

Validation: all three new frontend regressions fail on the current neo base and pass with the fix. They cover the constructor loop/property assignment, a real block-scoped shadow, and a later parameter default referring to an earlier parameter property. tsc --noEmit and git diff --check pass. Broader validation is left to CI.

The normal local license hook currently fails on jacodb-ets/src/test/kotlin/org/jacodb/ets/test/EtsTsStrictModeTest.kt, which is byte-identical to the neo base and unchanged by this two-file TypeScript fix.

@github-actions

Copy link
Copy Markdown
Contributor

Test Results

  240 files  ±0    240 suites  ±0   14m 53s ⏱️ - 1m 26s
  839 tests ±0    827 ✅ ±0  12 💤 ±0  0 ❌ ±0 
2 109 runs  ±0  2 059 ✅ ±0  50 💤 ±0  0 ❌ ±0 

Results for commit 3732756. ± Comparison against base commit 23199c1.

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.

1 participant