Skip to content

[TS] Preserve computed property Get and Put evaluation order - #423

Open
CaelmBleidd wants to merge 1 commit into
caelmbleidd/ts-support-frontend-regressionsfrom
caelmbleidd/ts-computed-access-order
Open

CaelmBleidd wants to merge 1 commit into
caelmbleidd/ts-support-frontend-regressionsfrom
caelmbleidd/ts-computed-access-order

Conversation

@CaelmBleidd

@CaelmBleidd CaelmBleidd commented Oct 4, 2026 •

Copy link
Copy Markdown
Member

Generic computed property reads, calls and tags now evaluate the key expression, reject a nullish receiver, and then perform key coercion in the correct order. Computed write references retain the raw key so Get and Put each convert it at their own evaluation point; ordinary assignment evaluates and saves its RHS before Put-time coercion. An obsolete PropertyRef fallback is removed from the replaced computed-write path. The scope is key/Get/Put ordering; numeric conversion of postfix results is outside this change.

Validation on the final combined stack: typecheck/build; computed-access-order.spec.ts: 22/22 and optional-callee-wrappers.spec.ts: 29/29 within the full TypeScript suite: 477/477 across 37 files; selected Kotlin frontend JSON/model tests: 62/62; license checks and diff-check. Tests compare native JavaScript and serialized IR event traces, exceptions, stored properties and selected results. No skips or failures; CI and downstream USVM execution were not run.

The original change is preserved on the corrected parent, keeping this PR independently reviewable in its original stack position.

Validation on cae216a4d2635ab40e3b85bd9039b0b67125bcd5: Tests 59 passed (59); frontend typecheck and git diff --check passed. The final #425 tree is identical to the tree that passed all 622 frontend tests across 40 files and the frontend build. These checks validate frontend/serialized IR behavior; downstream USVM execution and GitHub CI remain separate gates.

@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/ts-support-frontend-regressions branch from 46e3ef9 to e0c782a Compare October 7, 2026 21:41
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/ts-computed-access-order branch from cfbf2ea to cae216a Compare October 7, 2026 21:41
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