Repository navigation
[TS] Route thrown exceptions into catch blocks - #463
Open
CaelmBleidd wants to merge 5 commits into
Open
CaelmBleidd wants to merge 5 commits into
CaelmBleidd wants to merge 5 commits into
Conversation
CaelmBleidd
force-pushed
the
caelmbleidd/ts-422-string-value-equality
branch
from
October 3, 2026 05:21
7927e93 to
127ecb5
Compare
CaelmBleidd
force-pushed
the
caelmbleidd/ts-427-catch-routing
branch
from
October 3, 2026 05:28
e0bc56a to
2d655b8
Compare
CaelmBleidd
marked this pull request as ready for review
October 3, 2026 06:44
CaelmBleidd
force-pushed
the
caelmbleidd/ts-422-string-value-equality
branch
from
October 4, 2026 19:51
e5527a3 to
7217c2a
Compare
Base automatically changed from
caelmbleidd/ts-422-string-value-equality
to
main
October 5, 2026 12:37
Keep catch witness assertions and use the shared Node process harness.
CaelmBleidd
force-pushed
the
caelmbleidd/ts-427-catch-routing
branch
from
October 10, 2026 17:07
f289903 to
085fbd0
Compare
Use the merged neo commit 147d3b2797b693755c1d09fc28047ba43577a609 and align default-export metadata assertions with its storage-name contract.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Thrown TypeScript values now enter the nearest catch handler and remain available to its binding. Without a handler, the interpreter unwinds to the caller and checks the call site. An unresolved throw expression no longer becomes an invented undefined exception.
Closes #427.
Implementation
EtsCaughtExceptionRef, retain the current stack frame until catch processing, and preserve the caught value when cloning a symbolic state.neocommit147d3b2797b693755c1d09fc28047ba43577a609([TS] Preserve exceptional CFG edges for try/catch jacodb#393), which provides exceptional CFG edges and caught-exception references.originalNameis the storage namedefault, whilenameBeforeAsretainsHelper.finallyis tracked separately.Validation
On head
f1d168e7a5034945ae0c28c4b30fe263ae7c63f7:usvm-tstests passed; 19 existing disabled tests were skipped. Coverage includes catch routing, exceptions, string equality, symbolic strings/concatenation, property deletion, allocated arrays, imports, and import/export resolution.usvm-ts-callstests passed.:usvm-ts:detektMain,:usvm-ts:detektTest, andgit diff --checkpassed.checkLicensetask; the dependency follow-up commit bypassed that hook after the checks above passed.The branch is based on
mainat4141213cf4623f9e3c7e3c37cbc35786d7ccc407; previously merged string changes are excluded from this PR's diff.