diff options
author | Thomas Lively <tlively@google.com> | 2023-11-30 02:52:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-29 17:52:01 -0800 |
commit | 71b9cc0b50b119988b7ad3a5f5d2feec4d6c4a95 (patch) | |
tree | 70a560571537f51d78b75f7804259b8881d368bc /test/binaryen.js/global.js | |
parent | 24742589f5471a5e72755d8fe1da9e49923a35ff (diff) | |
download | binaryen-71b9cc0b50b119988b7ad3a5f5d2feec4d6c4a95.tar.gz binaryen-71b9cc0b50b119988b7ad3a5f5d2feec4d6c4a95.tar.bz2 binaryen-71b9cc0b50b119988b7ad3a5f5d2feec4d6c4a95.zip |
[Parser] Parse try/catch/catch_all/delegate (#6128)
Parse the legacy v3 syntax for try/catch/catch_all/delegate in both its folded
and unfolded forms.
The first sources of significant complexity is the optional IDs after `catch`
and `catch_all` in the unfolded form, which can be confused for tag indices and
require backtracking to parse correctly.
The second source of complexity is the handling of delegate labels, which are
relative to the try's parent scope despite being parsed after the try's scope
has already started. Handling this correctly requires punching a whole big
enough to drive a truck through through both the parser and IRBuilder
abstractions.
Diffstat (limited to 'test/binaryen.js/global.js')
0 files changed, 0 insertions, 0 deletions