summaryrefslogtreecommitdiff
path: root/src/wasm/wasm-binary.cpp
diff options
context:
space:
mode:
authorThomas Lively <7121787+tlively@users.noreply.github.com>2022-01-21 15:58:27 -0800
committerGitHub <noreply@github.com>2022-01-21 23:58:27 +0000
commit26d0df73150e0207e6ce6262214bba1453a740d7 (patch)
tree7dec9c4219e0a3a0284446bae8651781adae0b9a /src/wasm/wasm-binary.cpp
parent830b18b34197ad791e7b0d5bd5f5bade2a704395 (diff)
downloadbinaryen-26d0df73150e0207e6ce6262214bba1453a740d7.tar.gz
binaryen-26d0df73150e0207e6ce6262214bba1453a740d7.tar.bz2
binaryen-26d0df73150e0207e6ce6262214bba1453a740d7.zip
Parse, create, and print isorecursive recursion groups (#4464)
In `--hybrid` isorecursive mode, associate each defined type with a recursion group, represented as a `(rec ...)` wrapping the type definitions in the text format. Parse that text format, create the rec groups using a new TypeBuilder method, and print the rec groups in the printer. The only semantic difference rec groups currently make is that if one type in a rec group will be included in the output, all the types in that rec group will be included. This is because changing a rec group in any way (for example by removing a type) changes the identity of the types in that group in the isorecursive type system. Notably, rec groups do not yet participate in validation, so `--hybrid` is largely equivalent to `--nominal` for now.
Diffstat (limited to 'src/wasm/wasm-binary.cpp')
0 files changed, 0 insertions, 0 deletions