diff --git a/.github/workflows/opam.yml b/.github/workflows/opam.yml index 2b23f939..dfbeab30 100644 --- a/.github/workflows/opam.yml +++ b/.github/workflows/opam.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-18.04, macos-latest, windows-latest] + os: [ubuntu-latest, macos-latest, windows-latest] ocaml-compiler: [4.12.0] steps: diff --git a/README.md b/README.md index de5d607e..59a36834 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,12 @@ This project aims to provide full feature parity with the [Binaryen C API](https None of these are particularly challenging to create bindings for—they just haven't been written yet. If you need anything that's missing, feel free to open a PR. +## Python dependency + +When using this package with `esy`, you'll need to ensure that a `python` executable exists in one of these locations: `/usr/local/bin/python`, `/usr/bin/python`, `/bin/python`, `/usr/sbin/python`, or `/sbin/python`. Esy will only look for python in those locations, and it is not provided for you in the sandbox. + +**Note:** This implicit dependency will be removed in a future version. + ## MacOS C++ Compiler When including this library in your `dune` MacOS executables, you'll need to specify `-cc clang++` in your `(ocamlopt_flags)` stanza. This is required because Binaryen will throw errors for itself to catch and using `clang++` is the only way to handle them correctly. You can find more info on this [ocaml issue](https://github.com/ocaml/ocaml/issues/10423). diff --git a/binaryen.opam b/binaryen.opam index b3ef3a79..a3a655ca 100644 --- a/binaryen.opam +++ b/binaryen.opam @@ -18,5 +18,5 @@ depends: [ "js_of_ocaml" {>= "3.10.0"} "js_of_ocaml-ppx" {>= "3.10.0"} "js_of_ocaml-compiler" {>= "3.10.0"} + "libbinaryen" {>= "101.0.1" < "102.0.0"} ] -available: arch = "x86_64" & (os = "linux" | os = "macos" | os = "win32") diff --git a/esy.lock/index.json b/esy.lock/index.json index d3926a6b..906d0a55 100644 --- a/esy.lock/index.json +++ b/esy.lock/index.json @@ -1,5 +1,5 @@ { - "checksum": "1bd1a43d19b51200e53370392a9a7750", + "checksum": "93b404e308b2ed665019f17eeefd3370", "root": "@grain/binaryen.ml@link-dev:./package.json", "node": { "ocaml@4.12.0@d41d8cd9": { @@ -35,7 +35,7 @@ "overrides": [], "dependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/easy-format@opam:1.3.2@1ea9f987", - "@opam/dune@opam:2.9.1@1e504822", "@opam/cppo@opam:1.6.7@57a6d52c", + "@opam/dune@opam:2.9.1@1e504822", "@opam/cppo@opam:1.6.8@7e48217d", "@opam/biniou@opam:1.2.1@420bda02", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], @@ -63,7 +63,7 @@ "overrides": [], "dependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/uchar@opam:0.0.2@c8218eea", - "@opam/topkg@opam:1.0.3@e4e10f1c", + "@opam/topkg@opam:1.0.4@52d43104", "@opam/ocamlfind@opam:1.9.1@b748edf6", "@opam/ocamlbuild@opam:0.14.0@0dee4078", "@opam/cmdliner@opam:1.0.4@93208aac", @@ -73,55 +73,55 @@ "ocaml@4.12.0@d41d8cd9", "@opam/uchar@opam:0.0.2@c8218eea" ] }, - "@opam/uuseg@opam:13.0.0@f60712a7": { - "id": "@opam/uuseg@opam:13.0.0@f60712a7", + "@opam/uuseg@opam:14.0.0@7d21466b": { + "id": "@opam/uuseg@opam:14.0.0@7d21466b", "name": "@opam/uuseg", - "version": "opam:13.0.0", + "version": "opam:14.0.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/a0/a07a97fff61da604614ea8da0547ef6a#md5:a07a97fff61da604614ea8da0547ef6a", - "archive:https://erratique.ch/software/uuseg/releases/uuseg-13.0.0.tbz#md5:a07a97fff61da604614ea8da0547ef6a" + "archive:https://opam.ocaml.org/cache/sha512/3f/3f089baf95f010663a0c2f060b2911395d9b396f478efb10fd979815f527c9e61e0a70b3192f2e921f59287bfde0da6e25109d4a1825554e2e4a50c0535e97aa#sha512:3f089baf95f010663a0c2f060b2911395d9b396f478efb10fd979815f527c9e61e0a70b3192f2e921f59287bfde0da6e25109d4a1825554e2e4a50c0535e97aa", + "archive:https://erratique.ch/software/uuseg/releases/uuseg-14.0.0.tbz#sha512:3f089baf95f010663a0c2f060b2911395d9b396f478efb10fd979815f527c9e61e0a70b3192f2e921f59287bfde0da6e25109d4a1825554e2e4a50c0535e97aa" ], "opam": { "name": "uuseg", - "version": "13.0.0", - "path": "esy.lock/opam/uuseg.13.0.0" + "version": "14.0.0", + "path": "esy.lock/opam/uuseg.14.0.0" } }, "overrides": [], "dependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/uutf@opam:1.0.2@4440868f", - "@opam/uucp@opam:13.0.0@647d53e6", "@opam/topkg@opam:1.0.3@e4e10f1c", + "@opam/uucp@opam:14.0.0@8715110e", "@opam/topkg@opam:1.0.4@52d43104", "@opam/ocamlfind@opam:1.9.1@b748edf6", "@opam/ocamlbuild@opam:0.14.0@0dee4078", "@opam/cmdliner@opam:1.0.4@93208aac", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/uucp@opam:13.0.0@647d53e6" + "ocaml@4.12.0@d41d8cd9", "@opam/uucp@opam:14.0.0@8715110e" ] }, - "@opam/uucp@opam:13.0.0@647d53e6": { - "id": "@opam/uucp@opam:13.0.0@647d53e6", + "@opam/uucp@opam:14.0.0@8715110e": { + "id": "@opam/uucp@opam:14.0.0@8715110e", "name": "@opam/uucp", - "version": "opam:13.0.0", + "version": "opam:14.0.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/07/07e706249ddb2d02f0fa298804d3c739#md5:07e706249ddb2d02f0fa298804d3c739", - "archive:https://erratique.ch/software/uucp/releases/uucp-13.0.0.tbz#md5:07e706249ddb2d02f0fa298804d3c739" + "archive:https://opam.ocaml.org/cache/sha512/2d/2d0224aed5d5accbb121624898f08598e8c74a2415942f159a54221c0cdac62ed64fc70a039c833e50110cefce77754ada9ac2d58f79a6fc9331135326fe6899#sha512:2d0224aed5d5accbb121624898f08598e8c74a2415942f159a54221c0cdac62ed64fc70a039c833e50110cefce77754ada9ac2d58f79a6fc9331135326fe6899", + "archive:https://erratique.ch/software/uucp/releases/uucp-14.0.0.tbz#sha512:2d0224aed5d5accbb121624898f08598e8c74a2415942f159a54221c0cdac62ed64fc70a039c833e50110cefce77754ada9ac2d58f79a6fc9331135326fe6899" ], "opam": { "name": "uucp", - "version": "13.0.0", - "path": "esy.lock/opam/uucp.13.0.0" + "version": "14.0.0", + "path": "esy.lock/opam/uucp.14.0.0" } }, "overrides": [], "dependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/uutf@opam:1.0.2@4440868f", - "@opam/topkg@opam:1.0.3@e4e10f1c", + "@opam/topkg@opam:1.0.4@52d43104", "@opam/ocamlfind@opam:1.9.1@b748edf6", "@opam/ocamlbuild@opam:0.14.0@0dee4078", "@opam/cmdliner@opam:1.0.4@93208aac", @@ -171,29 +171,29 @@ "overrides": [], "dependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/uutf@opam:1.0.2@4440868f", - "@opam/seq@opam:base@d8d7de1d", "@opam/re@opam:1.9.0@15965b68", + "@opam/seq@opam:base@d8d7de1d", "@opam/re@opam:1.10.3@0585c65d", "@opam/dune@opam:2.9.1@1e504822", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/uutf@opam:1.0.2@4440868f", - "@opam/seq@opam:base@d8d7de1d", "@opam/re@opam:1.9.0@15965b68", + "@opam/seq@opam:base@d8d7de1d", "@opam/re@opam:1.10.3@0585c65d", "@opam/dune@opam:2.9.1@1e504822" ] }, - "@opam/topkg@opam:1.0.3@e4e10f1c": { - "id": "@opam/topkg@opam:1.0.3@e4e10f1c", + "@opam/topkg@opam:1.0.4@52d43104": { + "id": "@opam/topkg@opam:1.0.4@52d43104", "name": "@opam/topkg", - "version": "opam:1.0.3", + "version": "opam:1.0.4", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/e2/e285f7a296d77ee7d831ba9a6bfb396f#md5:e285f7a296d77ee7d831ba9a6bfb396f", - "archive:http://erratique.ch/software/topkg/releases/topkg-1.0.3.tbz#md5:e285f7a296d77ee7d831ba9a6bfb396f" + "archive:https://opam.ocaml.org/cache/sha512/5b/5baa1bf0105397589b741acd0195069823548b2051e453dffd641e5d00536b7a5f41b38d005b2b063f9e7cfb9a3b627bec3e6ad48e56769cc35a71f97a897f1b#sha512:5baa1bf0105397589b741acd0195069823548b2051e453dffd641e5d00536b7a5f41b38d005b2b063f9e7cfb9a3b627bec3e6ad48e56769cc35a71f97a897f1b", + "archive:https://erratique.ch/software/topkg/releases/topkg-1.0.4.tbz#sha512:5baa1bf0105397589b741acd0195069823548b2051e453dffd641e5d00536b7a5f41b38d005b2b063f9e7cfb9a3b627bec3e6ad48e56769cc35a71f97a897f1b" ], "opam": { "name": "topkg", - "version": "1.0.3", - "path": "esy.lock/opam/topkg.1.0.3" + "version": "1.0.4", + "path": "esy.lock/opam/topkg.1.0.4" } }, "overrides": [], @@ -250,12 +250,37 @@ "overrides": [], "dependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.1@1e504822", - "@opam/base@opam:v0.14.1@9b424fee", + "@opam/base@opam:v0.14.2@04880a76", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.1@1e504822", - "@opam/base@opam:v0.14.1@9b424fee" + "@opam/base@opam:v0.14.2@04880a76" + ] + }, + "@opam/spawn@opam:v0.15.0@4a27a4cb": { + "id": "@opam/spawn@opam:v0.15.0@4a27a4cb", + "name": "@opam/spawn", + "version": "opam:v0.15.0", + "source": { + "type": "install", + "source": [ + "archive:https://opam.ocaml.org/cache/sha256/31/310fb2a50ac7f64c738182cbabd9d27c1aeae1a08107fe14da8d35a87cbb57c7#sha256:310fb2a50ac7f64c738182cbabd9d27c1aeae1a08107fe14da8d35a87cbb57c7", + "archive:https://github.com/janestreet/spawn/archive/v0.15.0.tar.gz#sha256:310fb2a50ac7f64c738182cbabd9d27c1aeae1a08107fe14da8d35a87cbb57c7" + ], + "opam": { + "name": "spawn", + "version": "v0.15.0", + "path": "esy.lock/opam/spawn.v0.15.0" + } + }, + "overrides": [], + "dependencies": [ + "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.1@1e504822", + "@esy-ocaml/substs@0.0.1@d41d8cd9" + ], + "devDependencies": [ + "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.1@1e504822" ] }, "@opam/sexplib0@opam:v0.14.0@155c136c": { @@ -327,20 +352,20 @@ "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.1@1e504822" ] }, - "@opam/re@opam:1.9.0@15965b68": { - "id": "@opam/re@opam:1.9.0@15965b68", + "@opam/re@opam:1.10.3@0585c65d": { + "id": "@opam/re@opam:1.10.3@0585c65d", "name": "@opam/re", - "version": "opam:1.9.0", + "version": "opam:1.10.3", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/bd/bddaed4f386a22cace7850c9c7dac296#md5:bddaed4f386a22cace7850c9c7dac296", - "archive:https://github.com/ocaml/ocaml-re/releases/download/1.9.0/re-1.9.0.tbz#md5:bddaed4f386a22cace7850c9c7dac296" + "archive:https://opam.ocaml.org/cache/sha256/84/846546967f3fe31765935dd40a6460a9424337ecce7b12727fcba49480790ebb#sha256:846546967f3fe31765935dd40a6460a9424337ecce7b12727fcba49480790ebb", + "archive:https://github.com/ocaml/ocaml-re/releases/download/1.10.3/re-1.10.3.tbz#sha256:846546967f3fe31765935dd40a6460a9424337ecce7b12727fcba49480790ebb" ], "opam": { "name": "re", - "version": "1.9.0", - "path": "esy.lock/opam/re.1.9.0" + "version": "1.10.3", + "path": "esy.lock/opam/re.1.10.3" } }, "overrides": [], @@ -373,16 +398,16 @@ "dependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/stdlib-shims@opam:0.3.0@0d088929", "@opam/sexplib0@opam:v0.14.0@155c136c", - "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", - "@opam/ocaml-migrate-parsetree@opam:2.2.0@45331a3e", + "@opam/ppx_derivers@opam:1.2.1@e2cbad12", + "@opam/ocaml-migrate-parsetree@opam:2.3.0@c1e63238", "@opam/ocaml-compiler-libs@opam:v0.12.4@41979882", "@opam/dune@opam:2.9.1@1e504822", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/stdlib-shims@opam:0.3.0@0d088929", "@opam/sexplib0@opam:v0.14.0@155c136c", - "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", - "@opam/ocaml-migrate-parsetree@opam:2.2.0@45331a3e", + "@opam/ppx_derivers@opam:1.2.1@e2cbad12", + "@opam/ocaml-migrate-parsetree@opam:2.3.0@c1e63238", "@opam/ocaml-compiler-libs@opam:v0.12.4@41979882", "@opam/dune@opam:2.9.1@1e504822" ] @@ -413,8 +438,8 @@ "@opam/dune@opam:2.9.1@1e504822" ] }, - "@opam/ppx_derivers@opam:1.2.1@ecf0aa45": { - "id": "@opam/ppx_derivers@opam:1.2.1@ecf0aa45", + "@opam/ppx_derivers@opam:1.2.1@e2cbad12": { + "id": "@opam/ppx_derivers@opam:1.2.1@e2cbad12", "name": "@opam/ppx_derivers", "version": "opam:1.2.1", "source": { @@ -463,8 +488,8 @@ "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.1@1e504822" ] }, - "@opam/odoc@opam:1.5.3@29f53af8": { - "id": "@opam/odoc@opam:1.5.3@29f53af8", + "@opam/odoc@opam:1.5.3@122d8c31": { + "id": "@opam/odoc@opam:1.5.3@122d8c31", "name": "@opam/odoc", "version": "opam:1.5.3", "source": { @@ -483,7 +508,7 @@ "dependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/tyxml@opam:4.5.0@0a609297", "@opam/result@opam:1.5@1c6a6533", "@opam/fpath@opam:0.7.3@674d8125", - "@opam/dune@opam:2.9.1@1e504822", "@opam/cppo@opam:1.6.7@57a6d52c", + "@opam/dune@opam:2.9.1@1e504822", "@opam/cppo@opam:1.6.8@7e48217d", "@opam/cmdliner@opam:1.0.4@93208aac", "@opam/astring@opam:0.8.5@1300cee8", "@esy-ocaml/substs@0.0.1@d41d8cd9" @@ -496,20 +521,20 @@ "@opam/astring@opam:0.8.5@1300cee8" ] }, - "@opam/ocamlformat-rpc-lib@opam:0.18.0@4bef249f": { - "id": "@opam/ocamlformat-rpc-lib@opam:0.18.0@4bef249f", + "@opam/ocamlformat-rpc-lib@opam:0.19.0@125cf11d": { + "id": "@opam/ocamlformat-rpc-lib@opam:0.19.0@125cf11d", "name": "@opam/ocamlformat-rpc-lib", - "version": "opam:0.18.0", + "version": "opam:0.19.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/98/981a44296485da6ca29ab2cd8c711270398e5e1d1624408ec403c0b0ea9fe114#sha256:981a44296485da6ca29ab2cd8c711270398e5e1d1624408ec403c0b0ea9fe114", - "archive:https://github.com/ocaml-ppx/ocamlformat/releases/download/0.18.0/ocamlformat-0.18.0.tbz#sha256:981a44296485da6ca29ab2cd8c711270398e5e1d1624408ec403c0b0ea9fe114" + "archive:https://opam.ocaml.org/cache/sha256/62/62fc46aae8f0a4a33ce7f8d7726d7109bff615ea6fcb50d1482f21d20ee50f46#sha256:62fc46aae8f0a4a33ce7f8d7726d7109bff615ea6fcb50d1482f21d20ee50f46", + "archive:https://github.com/ocaml-ppx/ocamlformat/releases/download/0.19.0/ocamlformat-0.19.0.tbz#sha256:62fc46aae8f0a4a33ce7f8d7726d7109bff615ea6fcb50d1482f21d20ee50f46" ], "opam": { "name": "ocamlformat-rpc-lib", - "version": "0.18.0", - "path": "esy.lock/opam/ocamlformat-rpc-lib.0.18.0" + "version": "0.19.0", + "path": "esy.lock/opam/ocamlformat-rpc-lib.0.19.0" } }, "overrides": [], @@ -523,8 +548,8 @@ "@opam/dune@opam:2.9.1@1e504822", "@opam/csexp@opam:1.5.1@8a8fb3a7" ] }, - "@opam/ocamlformat@opam:0.18.0@09973949": { - "id": "@opam/ocamlformat@opam:0.18.0@09973949", + "@opam/ocamlformat@opam:0.18.0@a5c80606": { + "id": "@opam/ocamlformat@opam:0.18.0@a5c80606", "name": "@opam/ocamlformat", "version": "opam:0.18.0", "source": { @@ -542,40 +567,40 @@ "overrides": [], "dependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/uutf@opam:1.0.2@4440868f", - "@opam/uuseg@opam:13.0.0@f60712a7", - "@opam/stdio@opam:v0.14.0@a5affb43", "@opam/re@opam:1.9.0@15965b68", + "@opam/uuseg@opam:14.0.0@7d21466b", + "@opam/stdio@opam:v0.14.0@a5affb43", "@opam/re@opam:1.10.3@0585c65d", "@opam/ppxlib@opam:0.22.2@61009929", - "@opam/odoc@opam:1.5.3@29f53af8", - "@opam/ocaml-version@opam:3.2.0@640066ca", - "@opam/menhirSdk@opam:20210419@1798a533", - "@opam/menhirLib@opam:20210419@db96ceab", - "@opam/menhir@opam:20210419@462bec41", + "@opam/odoc@opam:1.5.3@122d8c31", + "@opam/ocaml-version@opam:3.4.0@b6cd49e1", + "@opam/menhirSdk@opam:20211128@e9fd3a0e", + "@opam/menhirLib@opam:20211128@e86421ad", + "@opam/menhir@opam:20211128@d5aaf21f", "@opam/fpath@opam:0.7.3@674d8125", - "@opam/fix@opam:20201120@0b212fb9", + "@opam/fix@opam:20211231@dc797c73", "@opam/dune-build-info@opam:2.9.1@c636b56a", "@opam/dune@opam:2.9.1@1e504822", "@opam/cmdliner@opam:1.0.4@93208aac", "@opam/base-unix@opam:base@87d0b2eb", - "@opam/base@opam:v0.14.1@9b424fee", + "@opam/base@opam:v0.14.2@04880a76", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/uutf@opam:1.0.2@4440868f", - "@opam/uuseg@opam:13.0.0@f60712a7", - "@opam/stdio@opam:v0.14.0@a5affb43", "@opam/re@opam:1.9.0@15965b68", + "@opam/uuseg@opam:14.0.0@7d21466b", + "@opam/stdio@opam:v0.14.0@a5affb43", "@opam/re@opam:1.10.3@0585c65d", "@opam/ppxlib@opam:0.22.2@61009929", - "@opam/odoc@opam:1.5.3@29f53af8", - "@opam/ocaml-version@opam:3.2.0@640066ca", - "@opam/menhirSdk@opam:20210419@1798a533", - "@opam/menhirLib@opam:20210419@db96ceab", - "@opam/menhir@opam:20210419@462bec41", + "@opam/odoc@opam:1.5.3@122d8c31", + "@opam/ocaml-version@opam:3.4.0@b6cd49e1", + "@opam/menhirSdk@opam:20211128@e9fd3a0e", + "@opam/menhirLib@opam:20211128@e86421ad", + "@opam/menhir@opam:20211128@d5aaf21f", "@opam/fpath@opam:0.7.3@674d8125", - "@opam/fix@opam:20201120@0b212fb9", + "@opam/fix@opam:20211231@dc797c73", "@opam/dune-build-info@opam:2.9.1@c636b56a", "@opam/dune@opam:2.9.1@1e504822", "@opam/cmdliner@opam:1.0.4@93208aac", "@opam/base-unix@opam:base@87d0b2eb", - "@opam/base@opam:v0.14.1@9b424fee" + "@opam/base@opam:v0.14.2@04880a76" ] }, "@opam/ocamlfind@opam:1.9.1@b748edf6": { @@ -632,20 +657,20 @@ ], "devDependencies": [ "ocaml@4.12.0@d41d8cd9" ] }, - "@opam/ocaml-version@opam:3.2.0@640066ca": { - "id": "@opam/ocaml-version@opam:3.2.0@640066ca", + "@opam/ocaml-version@opam:3.4.0@b6cd49e1": { + "id": "@opam/ocaml-version@opam:3.4.0@b6cd49e1", "name": "@opam/ocaml-version", - "version": "opam:3.2.0", + "version": "opam:3.4.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/a6/a643dd6ef10676855916a1d45c69070587088673da00a2867a52251390bb7461#sha256:a643dd6ef10676855916a1d45c69070587088673da00a2867a52251390bb7461", - "archive:https://github.com/ocurrent/ocaml-version/releases/download/v3.2.0/ocaml-version-v3.2.0.tbz#sha256:a643dd6ef10676855916a1d45c69070587088673da00a2867a52251390bb7461" + "archive:https://opam.ocaml.org/cache/sha256/d8/d8c1beb5e8d8ebb7710b5f434ce66a3ec8b752b1e4d6ba87c4fe27452bdb8a25#sha256:d8c1beb5e8d8ebb7710b5f434ce66a3ec8b752b1e4d6ba87c4fe27452bdb8a25", + "archive:https://github.com/ocurrent/ocaml-version/releases/download/v3.4.0/ocaml-version-v3.4.0.tbz#sha256:d8c1beb5e8d8ebb7710b5f434ce66a3ec8b752b1e4d6ba87c4fe27452bdb8a25" ], "opam": { "name": "ocaml-version", - "version": "3.2.0", - "path": "esy.lock/opam/ocaml-version.3.2.0" + "version": "3.4.0", + "path": "esy.lock/opam/ocaml-version.3.4.0" } }, "overrides": [], @@ -657,20 +682,20 @@ "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.1@1e504822" ] }, - "@opam/ocaml-migrate-parsetree@opam:2.2.0@45331a3e": { - "id": "@opam/ocaml-migrate-parsetree@opam:2.2.0@45331a3e", + "@opam/ocaml-migrate-parsetree@opam:2.3.0@c1e63238": { + "id": "@opam/ocaml-migrate-parsetree@opam:2.3.0@c1e63238", "name": "@opam/ocaml-migrate-parsetree", - "version": "opam:2.2.0", + "version": "opam:2.3.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/b2/b2a68f3d3899cec3a50a99b05738295cc8a18672680406d0f68fbc95c01f1ba1#sha256:b2a68f3d3899cec3a50a99b05738295cc8a18672680406d0f68fbc95c01f1ba1", - "archive:https://github.com/ocaml-ppx/ocaml-migrate-parsetree/releases/download/v2.2.0/ocaml-migrate-parsetree-v2.2.0.tbz#sha256:b2a68f3d3899cec3a50a99b05738295cc8a18672680406d0f68fbc95c01f1ba1" + "archive:https://opam.ocaml.org/cache/sha256/10/108126b247f190e04c8afd3d72ced0b63ffdf73c3f801f09be5db0cd7280bf0a#sha256:108126b247f190e04c8afd3d72ced0b63ffdf73c3f801f09be5db0cd7280bf0a", + "archive:https://github.com/ocaml-ppx/ocaml-migrate-parsetree/releases/download/v2.3.0/ocaml-migrate-parsetree-2.3.0.tbz#sha256:108126b247f190e04c8afd3d72ced0b63ffdf73c3f801f09be5db0cd7280bf0a" ], "opam": { "name": "ocaml-migrate-parsetree", - "version": "2.2.0", - "path": "esy.lock/opam/ocaml-migrate-parsetree.2.2.0" + "version": "2.3.0", + "path": "esy.lock/opam/ocaml-migrate-parsetree.2.3.0" } }, "overrides": [], @@ -682,44 +707,43 @@ "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.1@1e504822" ] }, - "@opam/ocaml-lsp-server@opam:1.8.2@f070db74": { - "id": "@opam/ocaml-lsp-server@opam:1.8.2@f070db74", + "@opam/ocaml-lsp-server@opam:1.9.0@671f2077": { + "id": "@opam/ocaml-lsp-server@opam:1.9.0@671f2077", "name": "@opam/ocaml-lsp-server", - "version": "opam:1.8.2", + "version": "opam:1.9.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/42/420dfd5897d2a1da92e5d6a6c562d0f733871f711666c1741c00f57ef77dbd82#sha256:420dfd5897d2a1da92e5d6a6c562d0f733871f711666c1741c00f57ef77dbd82", - "archive:https://github.com/ocaml/ocaml-lsp/releases/download/1.8.2/jsonrpc-1.8.2.tbz#sha256:420dfd5897d2a1da92e5d6a6c562d0f733871f711666c1741c00f57ef77dbd82" + "archive:https://opam.ocaml.org/cache/sha256/70/7046491eb9d0417d23d2a0ce39f9bc3bb9b75521453106f723c8e5f18c2584a9#sha256:7046491eb9d0417d23d2a0ce39f9bc3bb9b75521453106f723c8e5f18c2584a9", + "archive:https://github.com/ocaml/ocaml-lsp/releases/download/1.9.0/jsonrpc-1.9.0.tbz#sha256:7046491eb9d0417d23d2a0ce39f9bc3bb9b75521453106f723c8e5f18c2584a9" ], "opam": { "name": "ocaml-lsp-server", - "version": "1.8.2", - "path": "esy.lock/opam/ocaml-lsp-server.1.8.2" + "version": "1.9.0", + "path": "esy.lock/opam/ocaml-lsp-server.1.9.0" } }, "overrides": [], "dependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/yojson@opam:1.7.0@69d87312", - "@opam/result@opam:1.5@1c6a6533", "@opam/re@opam:1.9.0@15965b68", + "@opam/spawn@opam:v0.15.0@4a27a4cb", + "@opam/result@opam:1.5@1c6a6533", "@opam/re@opam:1.10.3@0585c65d", "@opam/ppx_yojson_conv_lib@opam:v0.14.0@605a6997", "@opam/pp@opam:1.1.2@89ad03b5", - "@opam/ocamlformat-rpc-lib@opam:0.18.0@4bef249f", + "@opam/ocamlformat-rpc-lib@opam:0.19.0@125cf11d", "@opam/dune-build-info@opam:2.9.1@c636b56a", - "@opam/dune@opam:2.9.1@1e504822", - "@opam/dot-merlin-reader@opam:4.1@84436e1c", - "@opam/csexp@opam:1.5.1@8a8fb3a7", "@esy-ocaml/substs@0.0.1@d41d8cd9" + "@opam/dune@opam:2.9.1@1e504822", "@opam/csexp@opam:1.5.1@8a8fb3a7", + "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/yojson@opam:1.7.0@69d87312", - "@opam/result@opam:1.5@1c6a6533", "@opam/re@opam:1.9.0@15965b68", + "@opam/spawn@opam:v0.15.0@4a27a4cb", + "@opam/result@opam:1.5@1c6a6533", "@opam/re@opam:1.10.3@0585c65d", "@opam/ppx_yojson_conv_lib@opam:v0.14.0@605a6997", "@opam/pp@opam:1.1.2@89ad03b5", - "@opam/ocamlformat-rpc-lib@opam:0.18.0@4bef249f", + "@opam/ocamlformat-rpc-lib@opam:0.19.0@125cf11d", "@opam/dune-build-info@opam:2.9.1@c636b56a", - "@opam/dune@opam:2.9.1@1e504822", - "@opam/dot-merlin-reader@opam:4.1@84436e1c", - "@opam/csexp@opam:1.5.1@8a8fb3a7" + "@opam/dune@opam:2.9.1@1e504822", "@opam/csexp@opam:1.5.1@8a8fb3a7" ] }, "@opam/ocaml-compiler-libs@opam:v0.12.4@41979882": { @@ -747,20 +771,20 @@ "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.1@1e504822" ] }, - "@opam/menhirSdk@opam:20210419@1798a533": { - "id": "@opam/menhirSdk@opam:20210419@1798a533", + "@opam/menhirSdk@opam:20211128@e9fd3a0e": { + "id": "@opam/menhirSdk@opam:20211128@e9fd3a0e", "name": "@opam/menhirSdk", - "version": "opam:20210419", + "version": "opam:20211128", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", - "archive:https://gitlab.inria.fr/fpottier/menhir/-/archive/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" + "archive:https://opam.ocaml.org/cache/md5/01/015354590ebce7911b073beae57e7731#md5:015354590ebce7911b073beae57e7731", + "archive:https://gitlab.inria.fr/fpottier/menhir/-/archive/20211128/archive.tar.gz#md5:015354590ebce7911b073beae57e7731" ], "opam": { "name": "menhirSdk", - "version": "20210419", - "path": "esy.lock/opam/menhirSdk.20210419" + "version": "20211128", + "path": "esy.lock/opam/menhirSdk.20211128" } }, "overrides": [], @@ -772,20 +796,20 @@ "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.1@1e504822" ] }, - "@opam/menhirLib@opam:20210419@db96ceab": { - "id": "@opam/menhirLib@opam:20210419@db96ceab", + "@opam/menhirLib@opam:20211128@e86421ad": { + "id": "@opam/menhirLib@opam:20211128@e86421ad", "name": "@opam/menhirLib", - "version": "opam:20210419", + "version": "opam:20211128", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", - "archive:https://gitlab.inria.fr/fpottier/menhir/-/archive/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" + "archive:https://opam.ocaml.org/cache/md5/01/015354590ebce7911b073beae57e7731#md5:015354590ebce7911b073beae57e7731", + "archive:https://gitlab.inria.fr/fpottier/menhir/-/archive/20211128/archive.tar.gz#md5:015354590ebce7911b073beae57e7731" ], "opam": { "name": "menhirLib", - "version": "20210419", - "path": "esy.lock/opam/menhirLib.20210419" + "version": "20211128", + "path": "esy.lock/opam/menhirLib.20211128" } }, "overrides": [], @@ -797,76 +821,76 @@ "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.1@1e504822" ] }, - "@opam/menhir@opam:20210419@462bec41": { - "id": "@opam/menhir@opam:20210419@462bec41", + "@opam/menhir@opam:20211128@d5aaf21f": { + "id": "@opam/menhir@opam:20211128@d5aaf21f", "name": "@opam/menhir", - "version": "opam:20210419", + "version": "opam:20211128", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/1a/1af2d137eb20811c74ca516500164fd4#md5:1af2d137eb20811c74ca516500164fd4", - "archive:https://gitlab.inria.fr/fpottier/menhir/-/archive/20210419/archive.tar.gz#md5:1af2d137eb20811c74ca516500164fd4" + "archive:https://opam.ocaml.org/cache/md5/01/015354590ebce7911b073beae57e7731#md5:015354590ebce7911b073beae57e7731", + "archive:https://gitlab.inria.fr/fpottier/menhir/-/archive/20211128/archive.tar.gz#md5:015354590ebce7911b073beae57e7731" ], "opam": { "name": "menhir", - "version": "20210419", - "path": "esy.lock/opam/menhir.20210419" + "version": "20211128", + "path": "esy.lock/opam/menhir.20211128" } }, "overrides": [], "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/menhirSdk@opam:20210419@1798a533", - "@opam/menhirLib@opam:20210419@db96ceab", + "ocaml@4.12.0@d41d8cd9", "@opam/menhirSdk@opam:20211128@e9fd3a0e", + "@opam/menhirLib@opam:20211128@e86421ad", "@opam/dune@opam:2.9.1@1e504822", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/menhirSdk@opam:20210419@1798a533", - "@opam/menhirLib@opam:20210419@db96ceab", + "ocaml@4.12.0@d41d8cd9", "@opam/menhirSdk@opam:20211128@e9fd3a0e", + "@opam/menhirLib@opam:20211128@e86421ad", "@opam/dune@opam:2.9.1@1e504822" ] }, - "@opam/js_of_ocaml-ppx@opam:3.10.0@83146b55": { - "id": "@opam/js_of_ocaml-ppx@opam:3.10.0@83146b55", + "@opam/js_of_ocaml-ppx@opam:3.11.0@4edaf441": { + "id": "@opam/js_of_ocaml-ppx@opam:3.11.0@4edaf441", "name": "@opam/js_of_ocaml-ppx", - "version": "opam:3.10.0", + "version": "opam:3.11.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/7b/7bfe95c283e30a53df9364555517aa4ea614876be566a86b33e6d0fefc4a6126#sha256:7bfe95c283e30a53df9364555517aa4ea614876be566a86b33e6d0fefc4a6126", - "archive:https://github.com/ocsigen/js_of_ocaml/releases/download/3.10.0/js_of_ocaml-3.10.0.tbz#sha256:7bfe95c283e30a53df9364555517aa4ea614876be566a86b33e6d0fefc4a6126" + "archive:https://opam.ocaml.org/cache/sha256/15/158dafe7271ac79157981d1c3f5f177ec78a0099c38f861ae14e7ac06bd29c3a#sha256:158dafe7271ac79157981d1c3f5f177ec78a0099c38f861ae14e7ac06bd29c3a", + "archive:https://github.com/ocsigen/js_of_ocaml/releases/download/3.11.0/js_of_ocaml-3.11.0.tbz#sha256:158dafe7271ac79157981d1c3f5f177ec78a0099c38f861ae14e7ac06bd29c3a" ], "opam": { "name": "js_of_ocaml-ppx", - "version": "3.10.0", - "path": "esy.lock/opam/js_of_ocaml-ppx.3.10.0" + "version": "3.11.0", + "path": "esy.lock/opam/js_of_ocaml-ppx.3.11.0" } }, "overrides": [], "dependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/ppxlib@opam:0.22.2@61009929", - "@opam/js_of_ocaml@opam:3.10.0@70da2390", + "@opam/js_of_ocaml@opam:3.11.0@93e18d4d", "@opam/dune@opam:2.9.1@1e504822", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/ppxlib@opam:0.22.2@61009929", - "@opam/js_of_ocaml@opam:3.10.0@70da2390", + "@opam/js_of_ocaml@opam:3.11.0@93e18d4d", "@opam/dune@opam:2.9.1@1e504822" ] }, - "@opam/js_of_ocaml-compiler@opam:3.10.0@74a957c3": { - "id": "@opam/js_of_ocaml-compiler@opam:3.10.0@74a957c3", + "@opam/js_of_ocaml-compiler@opam:3.11.0@6004d7b8": { + "id": "@opam/js_of_ocaml-compiler@opam:3.11.0@6004d7b8", "name": "@opam/js_of_ocaml-compiler", - "version": "opam:3.10.0", + "version": "opam:3.11.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/7b/7bfe95c283e30a53df9364555517aa4ea614876be566a86b33e6d0fefc4a6126#sha256:7bfe95c283e30a53df9364555517aa4ea614876be566a86b33e6d0fefc4a6126", - "archive:https://github.com/ocsigen/js_of_ocaml/releases/download/3.10.0/js_of_ocaml-3.10.0.tbz#sha256:7bfe95c283e30a53df9364555517aa4ea614876be566a86b33e6d0fefc4a6126" + "archive:https://opam.ocaml.org/cache/sha256/15/158dafe7271ac79157981d1c3f5f177ec78a0099c38f861ae14e7ac06bd29c3a#sha256:158dafe7271ac79157981d1c3f5f177ec78a0099c38f861ae14e7ac06bd29c3a", + "archive:https://github.com/ocsigen/js_of_ocaml/releases/download/3.11.0/js_of_ocaml-3.11.0.tbz#sha256:158dafe7271ac79157981d1c3f5f177ec78a0099c38f861ae14e7ac06bd29c3a" ], "opam": { "name": "js_of_ocaml-compiler", - "version": "3.10.0", - "path": "esy.lock/opam/js_of_ocaml-compiler.3.10.0" + "version": "3.11.0", + "path": "esy.lock/opam/js_of_ocaml-compiler.3.11.0" } }, "overrides": [], @@ -874,9 +898,9 @@ "ocaml@4.12.0@d41d8cd9", "@opam/yojson@opam:1.7.0@69d87312", "@opam/ppxlib@opam:0.22.2@61009929", "@opam/ocamlfind@opam:1.9.1@b748edf6", - "@opam/menhirSdk@opam:20210419@1798a533", - "@opam/menhirLib@opam:20210419@db96ceab", - "@opam/menhir@opam:20210419@462bec41", + "@opam/menhirSdk@opam:20211128@e9fd3a0e", + "@opam/menhirLib@opam:20211128@e86421ad", + "@opam/menhir@opam:20211128@d5aaf21f", "@opam/dune@opam:2.9.1@1e504822", "@opam/cmdliner@opam:1.0.4@93208aac", "@esy-ocaml/substs@0.0.1@d41d8cd9" @@ -884,40 +908,40 @@ "devDependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/yojson@opam:1.7.0@69d87312", "@opam/ppxlib@opam:0.22.2@61009929", - "@opam/menhirSdk@opam:20210419@1798a533", - "@opam/menhirLib@opam:20210419@db96ceab", - "@opam/menhir@opam:20210419@462bec41", + "@opam/menhirSdk@opam:20211128@e9fd3a0e", + "@opam/menhirLib@opam:20211128@e86421ad", + "@opam/menhir@opam:20211128@d5aaf21f", "@opam/dune@opam:2.9.1@1e504822", "@opam/cmdliner@opam:1.0.4@93208aac" ] }, - "@opam/js_of_ocaml@opam:3.10.0@70da2390": { - "id": "@opam/js_of_ocaml@opam:3.10.0@70da2390", + "@opam/js_of_ocaml@opam:3.11.0@93e18d4d": { + "id": "@opam/js_of_ocaml@opam:3.11.0@93e18d4d", "name": "@opam/js_of_ocaml", - "version": "opam:3.10.0", + "version": "opam:3.11.0", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/7b/7bfe95c283e30a53df9364555517aa4ea614876be566a86b33e6d0fefc4a6126#sha256:7bfe95c283e30a53df9364555517aa4ea614876be566a86b33e6d0fefc4a6126", - "archive:https://github.com/ocsigen/js_of_ocaml/releases/download/3.10.0/js_of_ocaml-3.10.0.tbz#sha256:7bfe95c283e30a53df9364555517aa4ea614876be566a86b33e6d0fefc4a6126" + "archive:https://opam.ocaml.org/cache/sha256/15/158dafe7271ac79157981d1c3f5f177ec78a0099c38f861ae14e7ac06bd29c3a#sha256:158dafe7271ac79157981d1c3f5f177ec78a0099c38f861ae14e7ac06bd29c3a", + "archive:https://github.com/ocsigen/js_of_ocaml/releases/download/3.11.0/js_of_ocaml-3.11.0.tbz#sha256:158dafe7271ac79157981d1c3f5f177ec78a0099c38f861ae14e7ac06bd29c3a" ], "opam": { "name": "js_of_ocaml", - "version": "3.10.0", - "path": "esy.lock/opam/js_of_ocaml.3.10.0" + "version": "3.11.0", + "path": "esy.lock/opam/js_of_ocaml.3.11.0" } }, "overrides": [], "dependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/uchar@opam:0.0.2@c8218eea", "@opam/ppxlib@opam:0.22.2@61009929", - "@opam/js_of_ocaml-compiler@opam:3.10.0@74a957c3", + "@opam/js_of_ocaml-compiler@opam:3.11.0@6004d7b8", "@opam/dune@opam:2.9.1@1e504822", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.12.0@d41d8cd9", "@opam/uchar@opam:0.0.2@c8218eea", "@opam/ppxlib@opam:0.22.2@61009929", - "@opam/js_of_ocaml-compiler@opam:3.10.0@74a957c3", + "@opam/js_of_ocaml-compiler@opam:3.11.0@6004d7b8", "@opam/dune@opam:2.9.1@1e504822" ] }, @@ -939,7 +963,7 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/topkg@opam:1.0.3@e4e10f1c", + "ocaml@4.12.0@d41d8cd9", "@opam/topkg@opam:1.0.4@52d43104", "@opam/ocamlfind@opam:1.9.1@b748edf6", "@opam/ocamlbuild@opam:0.14.0@0dee4078", "@opam/astring@opam:0.8.5@1300cee8", @@ -949,20 +973,20 @@ "ocaml@4.12.0@d41d8cd9", "@opam/astring@opam:0.8.5@1300cee8" ] }, - "@opam/fix@opam:20201120@0b212fb9": { - "id": "@opam/fix@opam:20201120@0b212fb9", + "@opam/fix@opam:20211231@dc797c73": { + "id": "@opam/fix@opam:20211231@dc797c73", "name": "@opam/fix", - "version": "opam:20201120", + "version": "opam:20211231", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/7e/7eb570b759635fe66f3556d2b1cc88e3#md5:7eb570b759635fe66f3556d2b1cc88e3", - "archive:https://gitlab.inria.fr/fpottier/fix/-/archive/20201120/archive.tar.gz#md5:7eb570b759635fe66f3556d2b1cc88e3" + "archive:https://opam.ocaml.org/cache/md5/0f/0f633b0cdd5faba947d11da113c81fcc#md5:0f633b0cdd5faba947d11da113c81fcc", + "archive:https://gitlab.inria.fr/fpottier/fix/-/archive/20211231/archive.tar.gz#md5:0f633b0cdd5faba947d11da113c81fcc" ], "opam": { "name": "fix", - "version": "20201120", - "path": "esy.lock/opam/fix.20201120" + "version": "20211231", + "path": "esy.lock/opam/fix.20211231" } }, "overrides": [], @@ -1075,37 +1099,6 @@ "@opam/base-threads@opam:base@36803084" ] }, - "@opam/dot-merlin-reader@opam:4.1@84436e1c": { - "id": "@opam/dot-merlin-reader@opam:4.1@84436e1c", - "name": "@opam/dot-merlin-reader", - "version": "opam:4.1", - "source": { - "type": "install", - "source": [ - "archive:https://opam.ocaml.org/cache/sha256/14/14a36d6fb8646a5df4530420a7861722f1a4ee04753717947305e3676031e7cd#sha256:14a36d6fb8646a5df4530420a7861722f1a4ee04753717947305e3676031e7cd", - "archive:https://github.com/ocaml/merlin/releases/download/v4.1/dot-merlin-reader-v4.1.tbz#sha256:14a36d6fb8646a5df4530420a7861722f1a4ee04753717947305e3676031e7cd" - ], - "opam": { - "name": "dot-merlin-reader", - "version": "4.1", - "path": "esy.lock/opam/dot-merlin-reader.4.1" - } - }, - "overrides": [], - "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/yojson@opam:1.7.0@69d87312", - "@opam/result@opam:1.5@1c6a6533", - "@opam/ocamlfind@opam:1.9.1@b748edf6", - "@opam/dune@opam:2.9.1@1e504822", "@opam/csexp@opam:1.5.1@8a8fb3a7", - "@esy-ocaml/substs@0.0.1@d41d8cd9" - ], - "devDependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/yojson@opam:1.7.0@69d87312", - "@opam/result@opam:1.5@1c6a6533", - "@opam/ocamlfind@opam:1.9.1@b748edf6", - "@opam/dune@opam:2.9.1@1e504822", "@opam/csexp@opam:1.5.1@8a8fb3a7" - ] - }, "@opam/csexp@opam:1.5.1@8a8fb3a7": { "id": "@opam/csexp@opam:1.5.1@8a8fb3a7", "name": "@opam/csexp", @@ -1131,20 +1124,20 @@ "ocaml@4.12.0@d41d8cd9", "@opam/dune@opam:2.9.1@1e504822" ] }, - "@opam/cppo@opam:1.6.7@57a6d52c": { - "id": "@opam/cppo@opam:1.6.7@57a6d52c", + "@opam/cppo@opam:1.6.8@7e48217d": { + "id": "@opam/cppo@opam:1.6.8@7e48217d", "name": "@opam/cppo", - "version": "opam:1.6.7", + "version": "opam:1.6.8", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/sha256/db/db553e3e6c206df09b1858c3aef5e21e56564d593642a3c78bcedb6af36f529d#sha256:db553e3e6c206df09b1858c3aef5e21e56564d593642a3c78bcedb6af36f529d", - "archive:https://github.com/ocaml-community/cppo/releases/download/v1.6.7/cppo-v1.6.7.tbz#sha256:db553e3e6c206df09b1858c3aef5e21e56564d593642a3c78bcedb6af36f529d" + "archive:https://opam.ocaml.org/cache/md5/fe/fed401197d86f9089e89f6cbdf1d660d#md5:fed401197d86f9089e89f6cbdf1d660d", + "archive:https://github.com/ocaml-community/cppo/archive/v1.6.8.tar.gz#md5:fed401197d86f9089e89f6cbdf1d660d" ], "opam": { "name": "cppo", - "version": "1.6.7", - "path": "esy.lock/opam/cppo.1.6.7" + "version": "1.6.8", + "path": "esy.lock/opam/cppo.1.6.8" } }, "overrides": [], @@ -1158,6 +1151,22 @@ "@opam/base-unix@opam:base@87d0b2eb" ] }, + "@opam/conf-cmake@github:grain-lang/cmake:esy.json#1cead3871bbb27a45adab2263ef2dff4a38a8869@d41d8cd9": { + "id": + "@opam/conf-cmake@github:grain-lang/cmake:esy.json#1cead3871bbb27a45adab2263ef2dff4a38a8869@d41d8cd9", + "name": "@opam/conf-cmake", + "version": + "github:grain-lang/cmake:esy.json#1cead3871bbb27a45adab2263ef2dff4a38a8869", + "source": { + "type": "install", + "source": [ + "github:grain-lang/cmake:esy.json#1cead3871bbb27a45adab2263ef2dff4a38a8869" + ] + }, + "overrides": [], + "dependencies": [], + "devDependencies": [] + }, "@opam/cmdliner@opam:1.0.4@93208aac": { "id": "@opam/cmdliner@opam:1.0.4@93208aac", "name": "@opam/cmdliner", @@ -1240,20 +1249,20 @@ "dependencies": [ "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [] }, - "@opam/base@opam:v0.14.1@9b424fee": { - "id": "@opam/base@opam:v0.14.1@9b424fee", + "@opam/base@opam:v0.14.2@04880a76": { + "id": "@opam/base@opam:v0.14.2@04880a76", "name": "@opam/base", - "version": "opam:v0.14.1", + "version": "opam:v0.14.2", "source": { "type": "install", "source": [ - "archive:https://opam.ocaml.org/cache/md5/e4/e4419eae60f57e553b154856f0cacf42#md5:e4419eae60f57e553b154856f0cacf42", - "archive:https://github.com/janestreet/base/archive/v0.14.1.tar.gz#md5:e4419eae60f57e553b154856f0cacf42" + "archive:https://opam.ocaml.org/cache/md5/0d/0d1a2d0322b8c446e5dda20290112e5c#md5:0d1a2d0322b8c446e5dda20290112e5c", + "archive:https://github.com/janestreet/base/archive/v0.14.2.tar.gz#md5:0d1a2d0322b8c446e5dda20290112e5c" ], "opam": { "name": "base", - "version": "v0.14.1", - "path": "esy.lock/opam/base.v0.14.1" + "version": "v0.14.2", + "path": "esy.lock/opam/base.v0.14.2" } }, "overrides": [], @@ -1286,13 +1295,33 @@ }, "overrides": [], "dependencies": [ - "ocaml@4.12.0@d41d8cd9", "@opam/topkg@opam:1.0.3@e4e10f1c", + "ocaml@4.12.0@d41d8cd9", "@opam/topkg@opam:1.0.4@52d43104", "@opam/ocamlfind@opam:1.9.1@b748edf6", "@opam/ocamlbuild@opam:0.14.0@0dee4078", "@esy-ocaml/substs@0.0.1@d41d8cd9" ], "devDependencies": [ "ocaml@4.12.0@d41d8cd9" ] }, + "@grain/libbinaryen@101.0.2@d41d8cd9": { + "id": "@grain/libbinaryen@101.0.2@d41d8cd9", + "name": "@grain/libbinaryen", + "version": "101.0.2", + "source": { + "type": "install", + "source": [ + "archive:https://registry.npmjs.org/@grain/libbinaryen/-/libbinaryen-101.0.2.tgz#sha1:ff90bf71972f737b207605a5520a5b17cb25a935" + ] + }, + "overrides": [], + "dependencies": [ + "ocaml@4.12.0@d41d8cd9", + "@opam/dune-configurator@opam:2.9.1@b7cf7a02", + "@opam/dune@opam:2.9.1@1e504822", + "@opam/conf-cmake@github:grain-lang/cmake:esy.json#1cead3871bbb27a45adab2263ef2dff4a38a8869@d41d8cd9" + ], + "devDependencies": [], + "installConfig": { "pnp": false } + }, "@grain/binaryen.ml@link-dev:./package.json": { "id": "@grain/binaryen.ml@link-dev:./package.json", "name": "@grain/binaryen.ml", @@ -1305,15 +1334,16 @@ "overrides": [], "dependencies": [ "ocaml@4.12.0@d41d8cd9", - "@opam/js_of_ocaml-ppx@opam:3.10.0@83146b55", - "@opam/js_of_ocaml@opam:3.10.0@70da2390", + "@opam/js_of_ocaml-ppx@opam:3.11.0@4edaf441", + "@opam/js_of_ocaml@opam:3.11.0@93e18d4d", "@opam/dune-configurator@opam:2.9.1@b7cf7a02", - "@opam/dune@opam:2.9.1@1e504822" + "@opam/dune@opam:2.9.1@1e504822", + "@grain/libbinaryen@101.0.2@d41d8cd9" ], "devDependencies": [ - "@opam/ocamlformat@opam:0.18.0@09973949", - "@opam/ocaml-lsp-server@opam:1.8.2@f070db74", - "@opam/js_of_ocaml-compiler@opam:3.10.0@74a957c3" + "@opam/ocamlformat@opam:0.18.0@a5c80606", + "@opam/ocaml-lsp-server@opam:1.9.0@671f2077", + "@opam/js_of_ocaml-compiler@opam:3.11.0@6004d7b8" ], "installConfig": { "pnp": false } }, diff --git a/esy.lock/opam/base.v0.14.1/opam b/esy.lock/opam/base.v0.14.2/opam similarity index 90% rename from esy.lock/opam/base.v0.14.1/opam rename to esy.lock/opam/base.v0.14.2/opam index eb9603ef..250f5beb 100644 --- a/esy.lock/opam/base.v0.14.1/opam +++ b/esy.lock/opam/base.v0.14.2/opam @@ -31,6 +31,6 @@ provided by companion libraries such as stdio: https://github.com/janestreet/stdio " url { - src: "https://github.com/janestreet/base/archive/v0.14.1.tar.gz" - checksum: "md5=e4419eae60f57e553b154856f0cacf42" + src: "https://github.com/janestreet/base/archive/v0.14.2.tar.gz" + checksum: "md5=0d1a2d0322b8c446e5dda20290112e5c" } diff --git a/esy.lock/opam/cppo.1.6.7/opam b/esy.lock/opam/cppo.1.6.8/opam similarity index 70% rename from esy.lock/opam/cppo.1.6.7/opam rename to esy.lock/opam/cppo.1.6.8/opam index 3269c37d..c9d7f68f 100644 --- a/esy.lock/opam/cppo.1.6.7/opam +++ b/esy.lock/opam/cppo.1.6.8/opam @@ -28,12 +28,10 @@ Cppo is: * reasonably fast * simple to install and to maintain """ -x-commit-hash: "7d217864a5fdc4551699e248137a2f8b719d2078" url { - src: - "https://github.com/ocaml-community/cppo/releases/download/v1.6.7/cppo-v1.6.7.tbz" + src: "https://github.com/ocaml-community/cppo/archive/v1.6.8.tar.gz" checksum: [ - "sha256=db553e3e6c206df09b1858c3aef5e21e56564d593642a3c78bcedb6af36f529d" - "sha512=9722b50fd23aaccf86816313333a3bf8fc7c6b4ef06b153e5e1e1aaf14670cf51a4aac52fb1b4a0e5531699c4047a1eff6c24c969f7e5063e78096c2195b5819" + "md5=fed401197d86f9089e89f6cbdf1d660d" + "sha512=069bbe0ef09c03b0dc4b5795f909c3ef872fe99c6f1e6704a0fa97594b1570b3579226ec67fe11d696ccc349a4585055bbaf07c65eff423aa45af28abf38c858" ] } diff --git a/esy.lock/opam/dot-merlin-reader.4.1/opam b/esy.lock/opam/dot-merlin-reader.4.1/opam deleted file mode 100644 index f860cab4..00000000 --- a/esy.lock/opam/dot-merlin-reader.4.1/opam +++ /dev/null @@ -1,30 +0,0 @@ -opam-version: "2.0" -maintainer: "defree@gmail.com" -authors: "The Merlin team" -synopsis: "Reads config files for merlin" -homepage: "https://github.com/ocaml/merlin" -bug-reports: "https://github.com/ocaml/merlin/issues" -dev-repo: "git+https://github.com/ocaml/merlin.git" -build: [ - ["dune" "subst"] {dev} - ["dune" "build" "-p" name "-j" jobs] -] -depends: [ - "ocaml" {>= "4.06.1" } - "dune" {>= "2.7.0"} - "yojson" {>= "1.6.0"} - "ocamlfind" {>= "1.6.0"} - "csexp" {>= "1.2.3"} - "result" {>= "1.5"} -] -description: - "Helper process: reads .merlin files and gives the normalized content to merlin" -x-commit-hash: "ab02f60994c81166820791b5f465f467d752b8dc" -url { - src: - "https://github.com/ocaml/merlin/releases/download/v4.1/dot-merlin-reader-v4.1.tbz" - checksum: [ - "sha256=14a36d6fb8646a5df4530420a7861722f1a4ee04753717947305e3676031e7cd" - "sha512=65fd4ab08904c05651a7ef8971802ffaa428daa920765dbcf162e3c56e8047e4c9e4356daa45efccce7c73a586635c8f6cf8118fd3059789de9aff68579bd436" - ] -} diff --git a/esy.lock/opam/fix.20201120/opam b/esy.lock/opam/fix.20211231/opam similarity index 51% rename from esy.lock/opam/fix.20201120/opam rename to esy.lock/opam/fix.20211231/opam index 65de74dd..23b3f904 100644 --- a/esy.lock/opam/fix.20201120/opam +++ b/esy.lock/opam/fix.20211231/opam @@ -1,3 +1,4 @@ + opam-version: "2.0" maintainer: "francois.pottier@inria.fr" authors: [ @@ -6,19 +7,20 @@ authors: [ homepage: "https://gitlab.inria.fr/fpottier/fix" dev-repo: "git+https://gitlab.inria.fr/fpottier/fix.git" bug-reports: "francois.pottier@inria.fr" +license: "LGPL-2.0-only" build: [ ["dune" "build" "-p" name "-j" jobs] ] depends: [ "ocaml" { >= "4.03" } - "dune" {>= "1.3" } + "dune" { >= "1.3" } ] -synopsis: "Facilities for memoization and fixed points" +synopsis: "Algorithmic building blocks for memoization, recursion, and more" url { src: - "https://gitlab.inria.fr/fpottier/fix/-/archive/20201120/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/fix/-/archive/20211231/archive.tar.gz" checksum: [ - "md5=7eb570b759635fe66f3556d2b1cc88e3" - "sha512=344dcc619f9e8b8a6c998775b6d2dab2ea5253e6a67abe4797f76dc5dd30bc776568abce1e90477422e9db447821579889737e3531c42139708f813e983ea5d4" + "md5=0f633b0cdd5faba947d11da113c81fcc" + "sha512=6817ce5c79e0c957ef01def7b89059262414af8e8bc7ffafef96430cfb1d78e32350fe7a57e118e68727962338c4fc45023cddb1c4db8c344910d6c8c1873a18" ] } diff --git a/esy.lock/opam/js_of_ocaml-compiler.3.10.0/opam b/esy.lock/opam/js_of_ocaml-compiler.3.11.0/opam similarity index 72% rename from esy.lock/opam/js_of_ocaml-compiler.3.10.0/opam rename to esy.lock/opam/js_of_ocaml-compiler.3.11.0/opam index 74891c0c..1c39989b 100644 --- a/esy.lock/opam/js_of_ocaml-compiler.3.10.0/opam +++ b/esy.lock/opam/js_of_ocaml-compiler.3.11.0/opam @@ -4,10 +4,11 @@ description: "Js_of_ocaml is a compiler from OCaml bytecode to JavaScript. It makes it possible to run pure OCaml programs in JavaScript environment like browsers and Node.js" maintainer: ["Ocsigen team "] authors: ["Ocsigen team "] +license: + "GPL-2.0-or-later AND LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" homepage: "https://ocsigen.github.io/js_of_ocaml" doc: "https://ocsigen.github.io/js_of_ocaml" bug-reports: "https://github.com/ocsigen/js_of_ocaml/issues" -license: "GPL-2.0-or-later AND LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" depends: [ "dune" {>= "2.8"} "ocaml" {>= "4.04" & < "4.14"} @@ -16,7 +17,7 @@ depends: [ "ppxlib" {>= "0.15.0"} "re" {with-test} "cmdliner" - "menhir" + "menhir" {< "20211215"} "menhirLib" "menhirSdk" "yojson" @@ -26,6 +27,7 @@ depopts: ["ocamlfind"] conflicts: [ "ocamlfind" {< "1.5.1"} "js_of_ocaml" {< "3.0"} + "base-domains" ] dev-repo: "git+https://github.com/ocsigen/js_of_ocaml.git" build: [ @@ -43,10 +45,10 @@ build: [ ] url { src: - "https://github.com/ocsigen/js_of_ocaml/releases/download/3.10.0/js_of_ocaml-3.10.0.tbz" + "https://github.com/ocsigen/js_of_ocaml/releases/download/3.11.0/js_of_ocaml-3.11.0.tbz" checksum: [ - "sha256=7bfe95c283e30a53df9364555517aa4ea614876be566a86b33e6d0fefc4a6126" - "sha512=1815f0bfcea65a28082293756350a9365304584d3a19af0983e1498c6f8d7d25a751aec18560aa7b633b64b8adfb4417e9647cdf703bedcb7aaf316abf9a3243" + "sha256=158dafe7271ac79157981d1c3f5f177ec78a0099c38f861ae14e7ac06bd29c3a" + "sha512=d83f0988aa1089fa01a0a693d7e6a832018c5a8ce707f44685809769377ef7ef59ce48229b1612966bd9166b610d66ddff8f2606f6c3f09c49f601b74842fde1" ] } -x-commit-hash: "41ca9c4aa3004e11803c1e49d3ad77ec799bf853" +x-commit-hash: "4572278dea9cc8a7d44d65b440004a2ec3bce7a7" diff --git a/esy.lock/opam/js_of_ocaml-ppx.3.10.0/opam b/esy.lock/opam/js_of_ocaml-ppx.3.11.0/opam similarity index 71% rename from esy.lock/opam/js_of_ocaml-ppx.3.10.0/opam rename to esy.lock/opam/js_of_ocaml-ppx.3.11.0/opam index daa75e9f..25dbf918 100644 --- a/esy.lock/opam/js_of_ocaml-ppx.3.10.0/opam +++ b/esy.lock/opam/js_of_ocaml-ppx.3.11.0/opam @@ -4,10 +4,11 @@ description: "Js_of_ocaml is a compiler from OCaml bytecode to JavaScript. It makes it possible to run pure OCaml programs in JavaScript environment like browsers and Node.js" maintainer: ["Ocsigen team "] authors: ["Ocsigen team "] +license: + "GPL-2.0-or-later AND LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" homepage: "https://ocsigen.github.io/js_of_ocaml" doc: "https://ocsigen.github.io/js_of_ocaml" bug-reports: "https://github.com/ocsigen/js_of_ocaml/issues" -license: "GPL-2.0-or-later AND LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" depends: [ "dune" {>= "2.8"} "ocaml" {>= "4.04"} @@ -34,10 +35,10 @@ build: [ ] url { src: - "https://github.com/ocsigen/js_of_ocaml/releases/download/3.10.0/js_of_ocaml-3.10.0.tbz" + "https://github.com/ocsigen/js_of_ocaml/releases/download/3.11.0/js_of_ocaml-3.11.0.tbz" checksum: [ - "sha256=7bfe95c283e30a53df9364555517aa4ea614876be566a86b33e6d0fefc4a6126" - "sha512=1815f0bfcea65a28082293756350a9365304584d3a19af0983e1498c6f8d7d25a751aec18560aa7b633b64b8adfb4417e9647cdf703bedcb7aaf316abf9a3243" + "sha256=158dafe7271ac79157981d1c3f5f177ec78a0099c38f861ae14e7ac06bd29c3a" + "sha512=d83f0988aa1089fa01a0a693d7e6a832018c5a8ce707f44685809769377ef7ef59ce48229b1612966bd9166b610d66ddff8f2606f6c3f09c49f601b74842fde1" ] } -x-commit-hash: "41ca9c4aa3004e11803c1e49d3ad77ec799bf853" +x-commit-hash: "4572278dea9cc8a7d44d65b440004a2ec3bce7a7" diff --git a/esy.lock/opam/js_of_ocaml.3.10.0/opam b/esy.lock/opam/js_of_ocaml.3.11.0/opam similarity index 72% rename from esy.lock/opam/js_of_ocaml.3.10.0/opam rename to esy.lock/opam/js_of_ocaml.3.11.0/opam index 1bebe7a5..fb127a58 100644 --- a/esy.lock/opam/js_of_ocaml.3.10.0/opam +++ b/esy.lock/opam/js_of_ocaml.3.11.0/opam @@ -4,10 +4,11 @@ description: "Js_of_ocaml is a compiler from OCaml bytecode to JavaScript. It makes it possible to run pure OCaml programs in JavaScript environment like browsers and Node.js" maintainer: ["Ocsigen team "] authors: ["Ocsigen team "] +license: + "GPL-2.0-or-later AND LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" homepage: "https://ocsigen.github.io/js_of_ocaml" doc: "https://ocsigen.github.io/js_of_ocaml" bug-reports: "https://github.com/ocsigen/js_of_ocaml/issues" -license: "GPL-2.0-or-later AND LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception" depends: [ "dune" {>= "2.8"} "ocaml" {>= "4.04"} @@ -35,10 +36,10 @@ build: [ ] url { src: - "https://github.com/ocsigen/js_of_ocaml/releases/download/3.10.0/js_of_ocaml-3.10.0.tbz" + "https://github.com/ocsigen/js_of_ocaml/releases/download/3.11.0/js_of_ocaml-3.11.0.tbz" checksum: [ - "sha256=7bfe95c283e30a53df9364555517aa4ea614876be566a86b33e6d0fefc4a6126" - "sha512=1815f0bfcea65a28082293756350a9365304584d3a19af0983e1498c6f8d7d25a751aec18560aa7b633b64b8adfb4417e9647cdf703bedcb7aaf316abf9a3243" + "sha256=158dafe7271ac79157981d1c3f5f177ec78a0099c38f861ae14e7ac06bd29c3a" + "sha512=d83f0988aa1089fa01a0a693d7e6a832018c5a8ce707f44685809769377ef7ef59ce48229b1612966bd9166b610d66ddff8f2606f6c3f09c49f601b74842fde1" ] } -x-commit-hash: "41ca9c4aa3004e11803c1e49d3ad77ec799bf853" +x-commit-hash: "4572278dea9cc8a7d44d65b440004a2ec3bce7a7" diff --git a/esy.lock/opam/menhir.20210419/opam b/esy.lock/opam/menhir.20211128/opam similarity index 60% rename from esy.lock/opam/menhir.20210419/opam rename to esy.lock/opam/menhir.20211128/opam index 67348890..79f85f9c 100644 --- a/esy.lock/opam/menhir.20210419/opam +++ b/esy.lock/opam/menhir.20211128/opam @@ -1,3 +1,4 @@ + opam-version: "2.0" maintainer: "francois.pottier@inria.fr" authors: [ @@ -7,22 +8,22 @@ authors: [ homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" -license: "LGPL-2.0-only WITH OCaml-LGPL-linking-exception" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] depends: [ - "ocaml" {>= "4.02.3"} - "dune" {>= "2.2.0"} + "ocaml" {>= "4.03.0"} + "dune" {>= "2.8.0"} "menhirLib" {= version} "menhirSdk" {= version} ] synopsis: "An LR(1) parser generator" url { src: - "https://gitlab.inria.fr/fpottier/menhir/-/archive/20210419/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/menhir/-/archive/20211128/archive.tar.gz" checksum: [ - "md5=1af2d137eb20811c74ca516500164fd4" - "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" + "md5=015354590ebce7911b073beae57e7731" + "sha512=76f998c114a29b390f05e7b62e396d6957e748be3bb7fe918893ab3471a7a907764de4610e392916553113df0c6b09aa570425dcf86c6a3e9e17b0ae36f3fe2b" ] } diff --git a/esy.lock/opam/menhirLib.20210419/opam b/esy.lock/opam/menhirLib.20211128/opam similarity index 61% rename from esy.lock/opam/menhirLib.20210419/opam rename to esy.lock/opam/menhirLib.20211128/opam index b8bd713f..ac3460e1 100644 --- a/esy.lock/opam/menhirLib.20210419/opam +++ b/esy.lock/opam/menhirLib.20211128/opam @@ -1,3 +1,4 @@ + opam-version: "2.0" maintainer: "francois.pottier@inria.fr" authors: [ @@ -7,13 +8,13 @@ authors: [ homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" -license: "LGPL-2.0-only WITH OCaml-LGPL-linking-exception" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] depends: [ - "ocaml" { >= "4.02.3" } - "dune" { >= "2.0.0" } + "ocaml" { >= "4.03.0" } + "dune" { >= "2.8.0" } ] conflicts: [ "menhir" { != version } @@ -21,9 +22,9 @@ conflicts: [ synopsis: "Runtime support library for parsers generated by Menhir" url { src: - "https://gitlab.inria.fr/fpottier/menhir/-/archive/20210419/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/menhir/-/archive/20211128/archive.tar.gz" checksum: [ - "md5=1af2d137eb20811c74ca516500164fd4" - "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" + "md5=015354590ebce7911b073beae57e7731" + "sha512=76f998c114a29b390f05e7b62e396d6957e748be3bb7fe918893ab3471a7a907764de4610e392916553113df0c6b09aa570425dcf86c6a3e9e17b0ae36f3fe2b" ] } diff --git a/esy.lock/opam/menhirSdk.20210419/opam b/esy.lock/opam/menhirSdk.20211128/opam similarity index 61% rename from esy.lock/opam/menhirSdk.20210419/opam rename to esy.lock/opam/menhirSdk.20211128/opam index dce61116..c125acf0 100644 --- a/esy.lock/opam/menhirSdk.20210419/opam +++ b/esy.lock/opam/menhirSdk.20211128/opam @@ -1,3 +1,4 @@ + opam-version: "2.0" maintainer: "francois.pottier@inria.fr" authors: [ @@ -7,13 +8,13 @@ authors: [ homepage: "http://gitlab.inria.fr/fpottier/menhir" dev-repo: "git+https://gitlab.inria.fr/fpottier/menhir.git" bug-reports: "https://gitlab.inria.fr/fpottier/menhir/-/issues" -license: "LGPL-2.0-only WITH OCaml-LGPL-linking-exception" +license: "LGPL-2.0-only with OCaml-LGPL-linking-exception" build: [ ["dune" "build" "-p" name "-j" jobs] ] depends: [ - "ocaml" { >= "4.02.3" } - "dune" { >= "2.0.0" } + "ocaml" { >= "4.03.0" } + "dune" { >= "2.8.0" } ] conflicts: [ "menhir" { != version } @@ -21,9 +22,9 @@ conflicts: [ synopsis: "Compile-time library for auxiliary tools related to Menhir" url { src: - "https://gitlab.inria.fr/fpottier/menhir/-/archive/20210419/archive.tar.gz" + "https://gitlab.inria.fr/fpottier/menhir/-/archive/20211128/archive.tar.gz" checksum: [ - "md5=1af2d137eb20811c74ca516500164fd4" - "sha512=37a88b3ea0bde6089e5fbf0c1f10c1867c4edcd033ed3d5b75e7ed93e14ddd4f4c4db96baf638a054f65e294b83411497615c7fc14c6ff3a2a007e70f9d12c98" + "md5=015354590ebce7911b073beae57e7731" + "sha512=76f998c114a29b390f05e7b62e396d6957e748be3bb7fe918893ab3471a7a907764de4610e392916553113df0c6b09aa570425dcf86c6a3e9e17b0ae36f3fe2b" ] } diff --git a/esy.lock/opam/ocaml-lsp-server.1.8.2/opam b/esy.lock/opam/ocaml-lsp-server.1.9.0/opam similarity index 72% rename from esy.lock/opam/ocaml-lsp-server.1.8.2/opam rename to esy.lock/opam/ocaml-lsp-server.1.9.0/opam index fbab05c0..112a4994 100644 --- a/esy.lock/opam/ocaml-lsp-server.1.8.2/opam +++ b/esy.lock/opam/ocaml-lsp-server.1.9.0/opam @@ -23,11 +23,11 @@ depends: [ "re" {>= "1.5.0"} "ppx_yojson_conv_lib" {>= "v0.14"} "dune-build-info" - "dot-merlin-reader" + "spawn" "pp" {>= "1.1.2"} "csexp" {>= "1.5"} "result" {>= "1.5"} - "ocamlformat-rpc-lib" {>= "0.18.0" & < "0.19.0"} + "ocamlformat-rpc-lib" {>= "0.18.0" & < "0.20.0"} "odoc" {with-doc} "ocaml" {>= "4.12" & < "4.13"} ] @@ -45,10 +45,10 @@ build: [ ] url { src: - "https://github.com/ocaml/ocaml-lsp/releases/download/1.8.2/jsonrpc-1.8.2.tbz" + "https://github.com/ocaml/ocaml-lsp/releases/download/1.9.0/jsonrpc-1.9.0.tbz" checksum: [ - "sha256=420dfd5897d2a1da92e5d6a6c562d0f733871f711666c1741c00f57ef77dbd82" - "sha512=b9bdcffedf14c11daa2854b11fe28a14c9ed4bc9bdaf869be78fdb94f5954e038ef477ad91fab0a1e221916f232fa437b36cf6358e4adc62ac452b33ab6adc66" + "sha256=7046491eb9d0417d23d2a0ce39f9bc3bb9b75521453106f723c8e5f18c2584a9" + "sha512=591fcf1fd2308b56ca2b5f60383d9a24e59aea49bf0dfe4f3b3e1d3a44f0537be07c650523e7f229122c7914fca78bccaafd01c5f79793e38617959f1bcfc7e1" ] } -x-commit-hash: "42bc9036dd7a957f4ac597ec505fd08467fc66ab" +x-commit-hash: "16a83262b0964b4c82db43f6c7a81dd6526b703d" diff --git a/esy.lock/opam/ocaml-migrate-parsetree.2.2.0/opam b/esy.lock/opam/ocaml-migrate-parsetree.2.3.0/opam similarity index 75% rename from esy.lock/opam/ocaml-migrate-parsetree.2.2.0/opam rename to esy.lock/opam/ocaml-migrate-parsetree.2.3.0/opam index 6b142819..3d475400 100644 --- a/esy.lock/opam/ocaml-migrate-parsetree.2.2.0/opam +++ b/esy.lock/opam/ocaml-migrate-parsetree.2.3.0/opam @@ -14,7 +14,7 @@ build: ["dune" "build" "-p" name "-j" jobs] run-test: ["dune" "runtest" "-p" name "-j" jobs] depends: [ "dune" {>= "2.3"} - "ocaml" {>= "4.02.3" & < "4.14"} + "ocaml" {>= "4.02.3" & < "4.15"} "cinaps" {with-test & >= "v0.13.0"} ] conflicts: [ @@ -30,10 +30,10 @@ rewriters independent of a compiler version. """ url { src: - "https://github.com/ocaml-ppx/ocaml-migrate-parsetree/releases/download/v2.2.0/ocaml-migrate-parsetree-v2.2.0.tbz" + "https://github.com/ocaml-ppx/ocaml-migrate-parsetree/releases/download/v2.3.0/ocaml-migrate-parsetree-2.3.0.tbz" checksum: [ - "sha256=b2a68f3d3899cec3a50a99b05738295cc8a18672680406d0f68fbc95c01f1ba1" - "sha512=d1a6e2a639f77d297690f9ed79318b7a403444585b062d2add9f370320f735ba54bca191a34401f15c576c7ee55b5ed232f20d9599aa67821c747d7e684fc5a7" + "sha256=108126b247f190e04c8afd3d72ced0b63ffdf73c3f801f09be5db0cd7280bf0a" + "sha512=cccd766d33e2c70015735e050c2b7cdacf9f046e2874b563ef64b77706f56d004aa9b9df7d5cc201e5f3ba6e3267f95f654e1e3de58891b91f9c28a61988a9ee" ] } -x-commit-hash: "aeeb9317936937d360aa6cdb0cab953d11ff2c5d" +x-commit-hash: "7ef6ff49bfd7d6d816be61d3acea460af25d7d99" diff --git a/esy.lock/opam/ocaml-version.3.2.0/opam b/esy.lock/opam/ocaml-version.3.4.0/opam similarity index 82% rename from esy.lock/opam/ocaml-version.3.2.0/opam rename to esy.lock/opam/ocaml-version.3.4.0/opam index 59162e8a..248f3ace 100644 --- a/esy.lock/opam/ocaml-version.3.2.0/opam +++ b/esy.lock/opam/ocaml-version.3.4.0/opam @@ -8,7 +8,7 @@ doc: "https://ocurrent.github.io/ocaml-version/doc" bug-reports: "https://github.com/ocurrent/ocaml-version/issues" depends: [ "ocaml" {>= "4.07.0"} - "dune" + "dune" {>= "1.0"} "alcotest" {with-test} ] build: [ @@ -40,10 +40,10 @@ functionality: """ url { src: - "https://github.com/ocurrent/ocaml-version/releases/download/v3.2.0/ocaml-version-v3.2.0.tbz" + "https://github.com/ocurrent/ocaml-version/releases/download/v3.4.0/ocaml-version-v3.4.0.tbz" checksum: [ - "sha256=a643dd6ef10676855916a1d45c69070587088673da00a2867a52251390bb7461" - "sha512=85e104d347c52e3be00e4e4d675e99dc43bf57aebd08c9934e70608a2657bfa5be1d8c9aa897dac4ce6e2da9175d3ac0eb22baa2851f4edc88063fede6b9b650" + "sha256=d8c1beb5e8d8ebb7710b5f434ce66a3ec8b752b1e4d6ba87c4fe27452bdb8a25" + "sha512=215e5b0c4ea5fa5461cdc0fc81fbd84a2a319a246a19504d0a0abc8c891e252a9e41644356150a1dc25d56b3f7e084db7a0b15becab4e1339992e645fc3d8ef1" ] } -x-commit-hash: "41428c5e64b21a49f334822562bc73fd5033353c" +x-commit-hash: "c535ad2f463664b31001888fc99495dd01632747" diff --git a/esy.lock/opam/ocamlformat-rpc-lib.0.18.0/opam b/esy.lock/opam/ocamlformat-rpc-lib.0.19.0/opam similarity index 71% rename from esy.lock/opam/ocamlformat-rpc-lib.0.18.0/opam rename to esy.lock/opam/ocamlformat-rpc-lib.0.19.0/opam index 3ce7021d..07923729 100644 --- a/esy.lock/opam/ocamlformat-rpc-lib.0.18.0/opam +++ b/esy.lock/opam/ocamlformat-rpc-lib.0.19.0/opam @@ -9,7 +9,7 @@ homepage: "https://github.com/ocaml-ppx/ocamlformat" bug-reports: "https://github.com/ocaml-ppx/ocamlformat/issues" depends: [ "dune" {>= "2.8"} - "ocaml" {>= "4.08" & < "4.13"} + "ocaml" {>= "4.08" & < "4.14"} "csexp" "sexplib0" "odoc" {with-doc} @@ -29,12 +29,12 @@ build: [ ] ] dev-repo: "git+https://github.com/ocaml-ppx/ocamlformat.git" -x-commit-hash: "3697f0f92854a681fd1156fe4f6fb97d060da1d8" url { src: - "https://github.com/ocaml-ppx/ocamlformat/releases/download/0.18.0/ocamlformat-0.18.0.tbz" + "https://github.com/ocaml-ppx/ocamlformat/releases/download/0.19.0/ocamlformat-0.19.0.tbz" checksum: [ - "sha256=981a44296485da6ca29ab2cd8c711270398e5e1d1624408ec403c0b0ea9fe114" - "sha512=d1cbd63e4b82ff2e9ec0c96a9305704d3eea3e978c703ef9d1244853d8aaea912ad9f934379eeddfc1a0468b1cb1c2dc39ecf452189f2a35fa1ae53aec10b277" + "sha256=62fc46aae8f0a4a33ce7f8d7726d7109bff615ea6fcb50d1482f21d20ee50f46" + "sha512=408b3af533169f201d7492be869f8ae4acde5583e01693c586929f44b76d569d3d6d555bc056378743d7cb3bd8e11ebc9cbd178ca196bcb82db33127d14902f8" ] } +x-commit-hash: "ba67af28ddca8718ef8816b2b0dc1e5b2f5e9591" diff --git a/esy.lock/opam/ocamlformat.0.18.0/opam b/esy.lock/opam/ocamlformat.0.18.0/opam index d536748e..1d9f0c33 100644 --- a/esy.lock/opam/ocamlformat.0.18.0/opam +++ b/esy.lock/opam/ocamlformat.0.18.0/opam @@ -22,8 +22,8 @@ depends: [ "menhirLib" {>= "20200624"} "menhirSdk" {>= "20200624"} "ocp-indent" {with-test} - "bisect_ppx" {with-test & >= "2.5.0"} - "odoc" {>= "1.4.2"} + "bisect_ppx" {dev & >= "2.5.0"} + "odoc" {>= "1.4.2" & < "2.0.0"} "ppxlib" {>= "0.22.0" & < "0.23.0"} "re" {>= "1.7.2"} "stdio" {< "v0.15"} diff --git a/esy.lock/opam/odoc.1.5.3/opam b/esy.lock/opam/odoc.1.5.3/opam index bf1d503d..0e4c3746 100644 --- a/esy.lock/opam/odoc.1.5.3/opam +++ b/esy.lock/opam/odoc.1.5.3/opam @@ -27,7 +27,7 @@ depends: [ "cppo" {build & >= "1.1.0"} "dune" "fpath" - "ocaml" {>= "4.02.0"} + "ocaml" {>= "4.02.0" & < "4.14"} "result" "tyxml" {>= "4.3.0"} @@ -36,7 +36,7 @@ depends: [ "ocamlfind" {dev} "sexplib" {dev & >= "113.33.00" & with-test} - "bisect_ppx" {with-test & >= "1.3.0"} + "bisect_ppx" {dev & >= "1.3.0"} ] build: [ diff --git a/esy.lock/opam/ppx_derivers.1.2.1/opam b/esy.lock/opam/ppx_derivers.1.2.1/opam index 3d10814e..484b2654 100644 --- a/esy.lock/opam/ppx_derivers.1.2.1/opam +++ b/esy.lock/opam/ppx_derivers.1.2.1/opam @@ -4,7 +4,7 @@ authors: ["Jérémie Dimino"] license: "BSD-3-Clause" homepage: "https://github.com/ocaml-ppx/ppx_derivers" bug-reports: "https://github.com/ocaml-ppx/ppx_derivers/issues" -dev-repo: "git://github.com/ocaml-ppx/ppx_derivers.git" +dev-repo: "git+https://github.com/ocaml-ppx/ppx_derivers.git" build: [ ["dune" "build" "-p" name "-j" jobs] ] diff --git a/esy.lock/opam/re.1.9.0/opam b/esy.lock/opam/re.1.10.3/opam similarity index 65% rename from esy.lock/opam/re.1.9.0/opam rename to esy.lock/opam/re.1.10.3/opam index c89883d4..c65d450f 100644 --- a/esy.lock/opam/re.1.9.0/opam +++ b/esy.lock/opam/re.1.10.3/opam @@ -8,20 +8,20 @@ authors: [ "Rudi Grinberg" "Gabriel Radanne" ] -license: "LGPL-2.0-only WITH OCaml-LGPL-linking-exception" +license: "LGPL-2.0 with OCaml linking exception" homepage: "https://github.com/ocaml/ocaml-re" bug-reports: "https://github.com/ocaml/ocaml-re/issues" dev-repo: "git+https://github.com/ocaml/ocaml-re.git" build: [ - ["dune" "subst"] {dev} + ["dune" "subst"] {pinned} ["dune" "build" "-p" name "-j" jobs] ["dune" "runtest" "-p" name "-j" jobs] {with-test} ] depends: [ "ocaml" {>= "4.02"} - "dune" + "dune" {>= "2.0"} "ounit" {with-test} "seq" ] @@ -37,6 +37,10 @@ Pure OCaml regular expressions with: """ url { src: - "https://github.com/ocaml/ocaml-re/releases/download/1.9.0/re-1.9.0.tbz" - checksum: "md5=bddaed4f386a22cace7850c9c7dac296" + "https://github.com/ocaml/ocaml-re/releases/download/1.10.3/re-1.10.3.tbz" + checksum: [ + "sha256=846546967f3fe31765935dd40a6460a9424337ecce7b12727fcba49480790ebb" + "sha512=d02103b7b8b8d8bc797341dcc933554745427f3c1b51b54b4ac9ff81badfd68c94726c57548b08e00ca99f3e09741b54b6500e97c19fc0e8fcefd6dfbe71da7f" + ] } +x-commit-hash: "c5d5df80e128c3d7646b7d8b1322012c5fcc35f3" diff --git a/esy.lock/opam/spawn.v0.15.0/opam b/esy.lock/opam/spawn.v0.15.0/opam new file mode 100644 index 00000000..d8d15783 --- /dev/null +++ b/esy.lock/opam/spawn.v0.15.0/opam @@ -0,0 +1,56 @@ +opam-version: "2.0" +synopsis: "Spawning sub-processes" +description: """ +Spawn is a small library exposing only one functionality: spawning sub-process. + +It has three main goals: + +1. provide missing features of Unix.create_process such as providing a +working directory + +2. provide better errors when a system call fails in the +sub-process. For instance if a command is not found, you get a proper +[Unix.Unix_error] exception + +3. improve performance by using vfork when available. It is often +claimed that nowadays fork is as fast as vfork, however in practice +fork takes time proportional to the process memory while vfork is +constant time. In application using a lot of memory, vfork can be +thousands of times faster than fork. +""" +maintainer: ["Jane Street developers"] +authors: ["Jane Street Group, LLC"] +license: "MIT" +homepage: "https://github.com/janestreet/spawn" +doc: "https://janestreet.github.io/spawn/" +bug-reports: "https://github.com/janestreet/spawn/issues" +depends: [ + "dune" {>= "2.8"} + "ppx_expect" {with-test} + "ocaml" {>= "4.05"} + "odoc" {with-doc} +] +build: [ + ["dune" "subst"] {dev} + [ + "dune" + "build" + "-p" + name + "-j" + jobs + "@install" + "@runtest" {with-test} + "@doc" {with-doc} + ] +] +dev-repo: "git+https://github.com/janestreet/spawn.git" +x-commit-hash: "b5a25cab2f53a5ee9e10a7b8a96506cc61ce1198" +url { + src: + "https://github.com/janestreet/spawn/archive/v0.15.0.tar.gz" + checksum: [ + "sha256=310fb2a50ac7f64c738182cbabd9d27c1aeae1a08107fe14da8d35a87cbb57c7" + "sha512=3a775b57a73efee6adbc30b32fa779f27d11c7008a46f90fdb9da6288533e2d83fc49dbcd770c087f2e4560c5586ff72a9a2985d8929955773cc10d83f126013" + ] +} diff --git a/esy.lock/opam/topkg.1.0.3/opam b/esy.lock/opam/topkg.1.0.4/opam similarity index 61% rename from esy.lock/opam/topkg.1.0.3/opam rename to esy.lock/opam/topkg.1.0.4/opam index 6e073a11..2093676a 100644 --- a/esy.lock/opam/topkg.1.0.3/opam +++ b/esy.lock/opam/topkg.1.0.4/opam @@ -1,23 +1,22 @@ opam-version: "2.0" -maintainer: "Daniel Bünzli " -authors: ["Daniel Bünzli "] -homepage: "http://erratique.ch/software/topkg" -doc: "http://erratique.ch/software/topkg/doc" -license: "ISC" -dev-repo: "git+http://erratique.ch/repos/topkg.git" +synopsis: """The transitory OCaml software packager""" +maintainer: ["Daniel Bünzli "] +authors: ["The topkg programmers"] +homepage: "https://erratique.ch/software/topkg" +doc: "https://erratique.ch/software/topkg/doc" +dev-repo: "git+https://erratique.ch/repos/topkg.git" bug-reports: "https://github.com/dbuenzli/topkg/issues" +license: ["ISC"] tags: ["packaging" "ocamlbuild" "org:erratique"] -depends: [ - "ocaml" {>= "4.03.0"} - "ocamlfind" {build & >= "1.6.1"} - "ocamlbuild" ] -build: [[ - "ocaml" "pkg/pkg.ml" "build" - "--pkg-name" name - "--dev-pkg" "%{pinned}%" ]] -synopsis: """The transitory OCaml software packager""" -description: """\ - +depends: ["ocaml" {>= "4.03.0"} + "ocamlfind" {build & >= "1.6.1"} + "ocamlbuild"] +build: [["ocaml" "pkg/pkg.ml" "build" "--pkg-name" name + "--dev-pkg" "%{dev}%"]] +url { + src: "https://erratique.ch/software/topkg/releases/topkg-1.0.4.tbz" + checksum: "sha512=5baa1bf0105397589b741acd0195069823548b2051e453dffd641e5d00536b7a5f41b38d005b2b063f9e7cfb9a3b627bec3e6ad48e56769cc35a71f97a897f1b"} +description: """ Topkg is a packager for distributing OCaml software. It provides an API to describe the files a package installs in a given build configuration and to specify information about the package's @@ -41,8 +40,5 @@ Topkg-care is distributed under the ISC license it depends on [bos]: http://erratique.ch/software/bos [cmdliner]: http://erratique.ch/software/cmdliner [webbrowser]: http://erratique.ch/software/webbrowser -""" -url { -archive: "http://erratique.ch/software/topkg/releases/topkg-1.0.3.tbz" -checksum: "e285f7a296d77ee7d831ba9a6bfb396f" -} + +Home page: http://erratique.ch/software/topkg""" \ No newline at end of file diff --git a/esy.lock/opam/uucp.13.0.0/opam b/esy.lock/opam/uucp.13.0.0/opam deleted file mode 100644 index fc19e679..00000000 --- a/esy.lock/opam/uucp.13.0.0/opam +++ /dev/null @@ -1,44 +0,0 @@ -opam-version: "2.0" -maintainer: "Daniel Bünzli " -authors: [ "The uucp programmers" ] -homepage: "https://erratique.ch/software/uucp" -doc: "https://erratique.ch/software/uucp/doc/Uucp" -dev-repo: "git+https://erratique.ch/repos/uucp.git" -bug-reports: "https://github.com/dbuenzli/uucp/issues" -tags: [ "unicode" "text" "character" "org:erratique" ] -license: "ISC" -depends: [ - "ocaml" {>= "4.03.0"} - "ocamlfind" {build} - "ocamlbuild" {build} - "topkg" {build & >= "0.9.0"} - "uucd" {with-test} # dev really - "uunf" {with-test} - "uutf" {with-test} - ] -depopts: [ "uunf" "uutf" "cmdliner" ] -conflicts: [ "uutf" {< "1.0.1"} - "cmdliner" {< "1.0.0"} ] -build: [[ - "ocaml" "pkg/pkg.ml" "build" - "--dev-pkg" "%{pinned}%" - "--with-uutf" "%{uutf:installed}%" - "--with-uunf" "%{uunf:installed}%" - "--with-cmdliner" "%{cmdliner:installed}%" -]] - -synopsis: """Unicode character properties for OCaml""" -description: """\ - -Uucp is an OCaml library providing efficient access to a selection of -character properties of the [Unicode character database][1]. - -Uucp is independent from any Unicode text data structure and has no -dependencies. It is distributed under the ISC license. - -[1]: http://www.unicode.org/reports/tr44/ -""" -url { -archive: "https://erratique.ch/software/uucp/releases/uucp-13.0.0.tbz" -checksum: "07e706249ddb2d02f0fa298804d3c739" -} diff --git a/esy.lock/opam/uucp.14.0.0/opam b/esy.lock/opam/uucp.14.0.0/opam new file mode 100644 index 00000000..812dd47a --- /dev/null +++ b/esy.lock/opam/uucp.14.0.0/opam @@ -0,0 +1,41 @@ +opam-version: "2.0" +synopsis: """Unicode character properties for OCaml""" +maintainer: ["Daniel Bünzli "] +authors: ["The uucp programmers"] +homepage: "https://erratique.ch/software/uucp" +doc: "https://erratique.ch/software/uucp/doc/" +dev-repo: "git+https://erratique.ch/repos/uucp.git" +bug-reports: "https://github.com/dbuenzli/uucp/issues" +license: ["ISC"] +tags: ["unicode" "text" "character" "org:erratique"] +depends: ["ocaml" {>= "4.03.0"} + "ocamlfind" {build} + "ocamlbuild" {build} + "topkg" {build & >= "1.0.3"} + "uucd" {with-test} + "uunf" {with-test} + "uutf" {with-test}] +depopts: ["uutf" + "uunf" + "cmdliner"] +conflicts: ["uutf" {< "1.0.1"} + "cmdliner" {< "1.0.0"}] +build: [["ocaml" "pkg/pkg.ml" "build" "--dev-pkg" "%{dev}%" + "--with-uutf" "%{uutf:installed}%" + "--with-uunf" "%{uunf:installed}%" + "--with-cmdliner" "%{cmdliner:installed}%" ]] +description: """ +Uucp is an OCaml library providing efficient access to a selection of +character properties of the [Unicode character database][1]. + +Uucp is independent from any Unicode text data structure and has no +dependencies. It is distributed under the ISC license. + +[1]: http://www.unicode.org/reports/tr44/ + +Home page: http://erratique.ch/software/uucp""" +url { + src: "https://erratique.ch/software/uucp/releases/uucp-14.0.0.tbz" + checksum: "sha512=2d0224aed5d5accbb121624898f08598e8c74a2415942f159a54221c0cdac62ed64fc70a039c833e50110cefce77754ada9ac2d58f79a6fc9331135326fe6899"} +post-messages: ["If the build fails with \"ocamlopt.opt got signal and exited\", issue 'ulimit -s unlimited' and retry." + {failure & (arch = "ppc64" | arch = "arm64")}] \ No newline at end of file diff --git a/esy.lock/opam/uuseg.13.0.0/opam b/esy.lock/opam/uuseg.14.0.0/opam similarity index 52% rename from esy.lock/opam/uuseg.13.0.0/opam rename to esy.lock/opam/uuseg.14.0.0/opam index 3cef8bc5..79fb2080 100644 --- a/esy.lock/opam/uuseg.13.0.0/opam +++ b/esy.lock/opam/uuseg.14.0.0/opam @@ -1,31 +1,28 @@ opam-version: "2.0" -maintainer: "Daniel Bünzli " +synopsis: """Unicode text segmentation for OCaml""" +maintainer: ["Daniel Bünzli "] authors: ["The uuseg programmers"] homepage: "https://erratique.ch/software/uuseg" -doc: "https://erratique.ch/software/uuseg" +doc: "https://erratique.ch/software/uuseg/doc/" dev-repo: "git+https://erratique.ch/repos/uuseg.git" bug-reports: "https://github.com/dbuenzli/uuseg/issues" -tags: [ "segmentation" "text" "unicode" "org:erratique" ] -license: "ISC" -depends: [ "ocaml" {>= "4.03.0"} - "ocamlfind" {build} - "ocamlbuild" {build} - "topkg" {build} - "uucp" {>= "13.0.0" & < "14.0.0"} ] -depopts: [ "uutf" - "cmdliner" - "uutf" {with-test} - "cmdliner" {with-test} ] -conflicts: [ "uutf" {< "1.0.0"} ] -build: [[ - "ocaml" "pkg/pkg.ml" "build" - "--pinned" "%{pinned}%" - "--with-uutf" "%{uutf:installed}%" - "--with-cmdliner" "%{cmdliner:installed}%" ]] - -synopsis: """Unicode text segmentation for OCaml""" -description: """\ - +license: ["ISC"] +tags: ["unicode" "text" "segmentation" "org:erratique"] +depends: ["ocaml" {>= "4.03.0"} + "ocamlfind" {build} + "ocamlbuild" {build} + "topkg" {build & >= "1.0.3"} + "uucp" {>= "14.0.0" & < "15.0.0"}] +depopts: ["uutf" + "cmdliner"] +conflicts: ["uutf" {< "1.0.0"}] +build: [["ocaml" "pkg/pkg.ml" "build" "--dev-pkg" "%{dev}%" + "--with-uutf" "%{uutf:installed}%" + "--with-cmdliner" "%{cmdliner:installed}%" ]] +url { + src: "https://erratique.ch/software/uuseg/releases/uuseg-14.0.0.tbz" + checksum: "sha512=3f089baf95f010663a0c2f060b2911395d9b396f478efb10fd979815f527c9e61e0a70b3192f2e921f59287bfde0da6e25109d4a1825554e2e4a50c0535e97aa"} +description: """ Uuseg is an OCaml library for segmenting Unicode text. It implements the locale independent [Unicode text segmentation algorithms][1] to detect grapheme cluster, word and sentence boundaries and the @@ -42,8 +39,5 @@ OCaml UTF-X encoded strings. It is distributed under the ISC license. [1]: http://www.unicode.org/reports/tr29/ [2]: http://www.unicode.org/reports/tr14/ -""" -url { -archive: "https://erratique.ch/software/uuseg/releases/uuseg-13.0.0.tbz" -checksum: "a07a97fff61da604614ea8da0547ef6a" -} + +Homepage: http://erratique.ch/software/uuseg""" \ No newline at end of file diff --git a/vendor/js/index.es5.js b/js/binaryen.es5.js similarity index 100% rename from vendor/js/index.es5.js rename to js/binaryen.es5.js diff --git a/js/dune b/js/dune index 2b6e5985..f4f9d5fd 100644 --- a/js/dune +++ b/js/dune @@ -10,9 +10,4 @@ (names stubs)) (js_of_ocaml (flags --no-sourcemap) - (javascript_files binaryen.js postlude.js))) - -(rule - (target binaryen.js) - (action - (copy ../vendor/js/index.es5.js binaryen.js))) + (javascript_files binaryen.es5.js postlude.js))) diff --git a/package.json b/package.json index a7fc4cf3..b7342f29 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "license": "Apache-2.0", "dependencies": { "ocaml": ">= 4.12.0 < 4.13.0", + "@grain/libbinaryen": "^101.0.1", "@opam/dune": "^2.9.1", "@opam/dune-configurator": "^2.9.1", "@opam/js_of_ocaml": "^3.10.0", @@ -17,17 +18,7 @@ "@opam/ocaml-lsp-server": "^1.8.2" }, "esy": { - "build": "dune build -p binaryen", - "buildEnv": { - "DUNE_BUILD_DIR": "#{self.target_dir}", - "PATH": "#{os == 'windows' ? '/usr/x86_64-w64-mingw32/sys-root/mingw/bin' : '' : $PATH }" - }, - "exportedEnv": { - "PATH": { - "val": "#{os == 'windows' ? '/usr/x86_64-w64-mingw32/sys-root/mingw/bin' : '' : $PATH }", - "scope": "global" - } - } + "build": "dune build -p binaryen" }, "scripts": { "test": "esy b dune runtest", diff --git a/src/dune b/src/dune index 294a05ae..9a81e78a 100644 --- a/src/dune +++ b/src/dune @@ -2,6 +2,7 @@ (name binaryen_native) (public_name binaryen.native) (implements binaryen) + (libraries libbinaryen.c) (foreign_stubs (language c) (names binaryen_stubs_types binaryen_stubs_ops binaryen_stubs_literals @@ -9,42 +10,5 @@ binaryen_stubs_imports binaryen_stubs_exports binaryen_stubs_globals binaryen_stubs_tables binaryen_stubs_memory binaryen_stubs_features binaryen_stubs_modules binaryen_stubs_settings ocaml_helpers) - (flags -O2 -Wall -Wextra)) - (foreign_archives binaryen) - (c_library_flags -lstdc++ -lpthread)) - -(rule - (target binaryen-c.h) - (action - (copy ../vendor/binaryen-c.h binaryen-c.h))) - -(rule - (target wasm-delegations.h) - (action - (copy ../vendor/wasm-delegations.h wasm-delegations.h))) - -(rule - (target libbinaryen.a) - (action - (copy ../vendor/%{system}/libbinaryen.a libbinaryen.a))) - -(rule - (target dllbinaryen.so) - (enabled_if - (= %{system} macosx)) - (action - (copy ../vendor/%{system}/libbinaryen.dylib dllbinaryen.so))) - -(rule - (target dllbinaryen.so) - (enabled_if - (= %{system} linux)) - (action - (copy ../vendor/%{system}/libbinaryen.so dllbinaryen.so))) - -(rule - (target dllbinaryen.dll) - (enabled_if - (= %{system} mingw64)) - (action - (copy ../vendor/%{system}/libbinaryen.dll dllbinaryen.dll))) + (flags :standard -O2 -Wall -Wextra)) + (c_library_flags :standard -lstdc++ -lpthread)) diff --git a/vendor/binaryen-c.h b/vendor/binaryen-c.h deleted file mode 100644 index 47d25574..00000000 --- a/vendor/binaryen-c.h +++ /dev/null @@ -1,2720 +0,0 @@ -/* - * Copyright 2016 WebAssembly Community Group participants - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -//================ -// Binaryen C API -// -// The first part of the API lets you create modules and their parts. -// -// The second part of the API lets you perform operations on modules. -// -// The third part of the API lets you provide a general control-flow -// graph (CFG) as input. -// -// The final part of the API contains miscellaneous utilities like -// debugging for the API itself. -// -// --------------- -// -// Thread safety: You can create Expressions in parallel, as they do not -// refer to global state. BinaryenAddFunction is also -// thread-safe, which means that you can create functions and -// their contents in multiple threads. This is important since -// functions are where the majority of the work is done. -// Other methods - creating imports, exports, etc. - are -// not currently thread-safe (as there is typically no need -// to parallelize them). -// -//================ - -#ifndef wasm_binaryen_c_h -#define wasm_binaryen_c_h - -#include -#include -#include - -#ifdef __GNUC__ -#define WASM_DEPRECATED __attribute__((deprecated)) -#elif defined(_MSC_VER) -#define WASM_DEPRECATED __declspec(deprecated) -#else -#define WASM_DEPRECATED -#endif - -#if defined(__EMSCRIPTEN__) -#include -#define BINARYEN_API EMSCRIPTEN_KEEPALIVE -#elif defined(_MSC_VER) && !defined(BUILD_STATIC_LIBRARY) -#define BINARYEN_API __declspec(dllexport) -#else -#define BINARYEN_API -#endif - -#ifdef __cplusplus -#define BINARYEN_REF(NAME) \ - namespace wasm { \ - class NAME; \ - }; \ - typedef class wasm::NAME* Binaryen##NAME##Ref; -#else -#define BINARYEN_REF(NAME) typedef struct Binaryen##NAME* Binaryen##NAME##Ref; -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -// -// ========== Module Creation ========== -// - -// BinaryenIndex -// -// Used for internal indexes and list sizes. - -typedef uint32_t BinaryenIndex; - -// Core types (call to get the value of each; you can cache them, they -// never change) - -typedef uintptr_t BinaryenType; - -BINARYEN_API BinaryenType BinaryenTypeNone(void); -BINARYEN_API BinaryenType BinaryenTypeInt32(void); -BINARYEN_API BinaryenType BinaryenTypeInt64(void); -BINARYEN_API BinaryenType BinaryenTypeFloat32(void); -BINARYEN_API BinaryenType BinaryenTypeFloat64(void); -BINARYEN_API BinaryenType BinaryenTypeVec128(void); -BINARYEN_API BinaryenType BinaryenTypeFuncref(void); -BINARYEN_API BinaryenType BinaryenTypeExternref(void); -BINARYEN_API BinaryenType BinaryenTypeAnyref(void); -BINARYEN_API BinaryenType BinaryenTypeEqref(void); -BINARYEN_API BinaryenType BinaryenTypeI31ref(void); -BINARYEN_API BinaryenType BinaryenTypeDataref(void); -BINARYEN_API BinaryenType BinaryenTypeUnreachable(void); -// Not a real type. Used as the last parameter to BinaryenBlock to let -// the API figure out the type instead of providing one. -BINARYEN_API BinaryenType BinaryenTypeAuto(void); -BINARYEN_API BinaryenType BinaryenTypeCreate(BinaryenType* valueTypes, - uint32_t numTypes); -BINARYEN_API uint32_t BinaryenTypeArity(BinaryenType t); -BINARYEN_API void BinaryenTypeExpand(BinaryenType t, BinaryenType* buf); - -WASM_DEPRECATED BinaryenType BinaryenNone(void); -WASM_DEPRECATED BinaryenType BinaryenInt32(void); -WASM_DEPRECATED BinaryenType BinaryenInt64(void); -WASM_DEPRECATED BinaryenType BinaryenFloat32(void); -WASM_DEPRECATED BinaryenType BinaryenFloat64(void); -WASM_DEPRECATED BinaryenType BinaryenUndefined(void); - -// Expression ids (call to get the value of each; you can cache them) - -typedef uint32_t BinaryenExpressionId; - -BINARYEN_API BinaryenExpressionId BinaryenInvalidId(void); - -#define DELEGATE(CLASS_TO_VISIT) \ - BINARYEN_API BinaryenExpressionId Binaryen##CLASS_TO_VISIT##Id(void); - -#include "wasm-delegations.h" - -// External kinds (call to get the value of each; you can cache them) - -typedef uint32_t BinaryenExternalKind; - -BINARYEN_API BinaryenExternalKind BinaryenExternalFunction(void); -BINARYEN_API BinaryenExternalKind BinaryenExternalTable(void); -BINARYEN_API BinaryenExternalKind BinaryenExternalMemory(void); -BINARYEN_API BinaryenExternalKind BinaryenExternalGlobal(void); -BINARYEN_API BinaryenExternalKind BinaryenExternalEvent(void); - -// Features. Call to get the value of each; you can cache them. Use bitwise -// operators to combine and test particular features. - -typedef uint32_t BinaryenFeatures; - -BINARYEN_API BinaryenFeatures BinaryenFeatureMVP(void); -BINARYEN_API BinaryenFeatures BinaryenFeatureAtomics(void); -BINARYEN_API BinaryenFeatures BinaryenFeatureBulkMemory(void); -BINARYEN_API BinaryenFeatures BinaryenFeatureMutableGlobals(void); -BINARYEN_API BinaryenFeatures BinaryenFeatureNontrappingFPToInt(void); -BINARYEN_API BinaryenFeatures BinaryenFeatureSignExt(void); -BINARYEN_API BinaryenFeatures BinaryenFeatureSIMD128(void); -BINARYEN_API BinaryenFeatures BinaryenFeatureExceptionHandling(void); -BINARYEN_API BinaryenFeatures BinaryenFeatureTailCall(void); -BINARYEN_API BinaryenFeatures BinaryenFeatureReferenceTypes(void); -BINARYEN_API BinaryenFeatures BinaryenFeatureMultivalue(void); -BINARYEN_API BinaryenFeatures BinaryenFeatureGC(void); -BINARYEN_API BinaryenFeatures BinaryenFeatureMemory64(void); -BINARYEN_API BinaryenFeatures BinaryenFeatureTypedFunctionReferences(void); -BINARYEN_API BinaryenFeatures BinaryenFeatureAll(void); - -// Modules -// -// Modules contain lists of functions, imports, exports, function types. The -// Add* methods create them on a module. The module owns them and will free -// their memory when the module is disposed of. -// -// Expressions are also allocated inside modules, and freed with the module. -// They are not created by Add* methods, since they are not added directly on -// the module, instead, they are arguments to other expressions (and then they -// are the children of that AST node), or to a function (and then they are the -// body of that function). -// -// A module can also contain a function table for indirect calls, a memory, -// and a start method. - -BINARYEN_REF(Module); - -BINARYEN_API BinaryenModuleRef BinaryenModuleCreate(void); -BINARYEN_API void BinaryenModuleDispose(BinaryenModuleRef module); - -// Literals. These are passed by value. - -struct BinaryenLiteral { - uintptr_t type; - union { - int32_t i32; - int64_t i64; - float f32; - double f64; - uint8_t v128[16]; - const char* func; - }; -}; - -BINARYEN_API struct BinaryenLiteral BinaryenLiteralInt32(int32_t x); -BINARYEN_API struct BinaryenLiteral BinaryenLiteralInt64(int64_t x); -BINARYEN_API struct BinaryenLiteral BinaryenLiteralFloat32(float x); -BINARYEN_API struct BinaryenLiteral BinaryenLiteralFloat64(double x); -BINARYEN_API struct BinaryenLiteral BinaryenLiteralVec128(const uint8_t x[16]); -BINARYEN_API struct BinaryenLiteral BinaryenLiteralFloat32Bits(int32_t x); -BINARYEN_API struct BinaryenLiteral BinaryenLiteralFloat64Bits(int64_t x); - -// Expressions -// -// Some expressions have a BinaryenOp, which is the more -// specific operation/opcode. -// -// Some expressions have optional parameters, like Return may not -// return a value. You can supply a NULL pointer in those cases. -// -// For more information, see wasm.h - -typedef int32_t BinaryenOp; - -BINARYEN_API BinaryenOp BinaryenClzInt32(void); -BINARYEN_API BinaryenOp BinaryenCtzInt32(void); -BINARYEN_API BinaryenOp BinaryenPopcntInt32(void); -BINARYEN_API BinaryenOp BinaryenNegFloat32(void); -BINARYEN_API BinaryenOp BinaryenAbsFloat32(void); -BINARYEN_API BinaryenOp BinaryenCeilFloat32(void); -BINARYEN_API BinaryenOp BinaryenFloorFloat32(void); -BINARYEN_API BinaryenOp BinaryenTruncFloat32(void); -BINARYEN_API BinaryenOp BinaryenNearestFloat32(void); -BINARYEN_API BinaryenOp BinaryenSqrtFloat32(void); -BINARYEN_API BinaryenOp BinaryenEqZInt32(void); -BINARYEN_API BinaryenOp BinaryenClzInt64(void); -BINARYEN_API BinaryenOp BinaryenCtzInt64(void); -BINARYEN_API BinaryenOp BinaryenPopcntInt64(void); -BINARYEN_API BinaryenOp BinaryenNegFloat64(void); -BINARYEN_API BinaryenOp BinaryenAbsFloat64(void); -BINARYEN_API BinaryenOp BinaryenCeilFloat64(void); -BINARYEN_API BinaryenOp BinaryenFloorFloat64(void); -BINARYEN_API BinaryenOp BinaryenTruncFloat64(void); -BINARYEN_API BinaryenOp BinaryenNearestFloat64(void); -BINARYEN_API BinaryenOp BinaryenSqrtFloat64(void); -BINARYEN_API BinaryenOp BinaryenEqZInt64(void); -BINARYEN_API BinaryenOp BinaryenExtendSInt32(void); -BINARYEN_API BinaryenOp BinaryenExtendUInt32(void); -BINARYEN_API BinaryenOp BinaryenWrapInt64(void); -BINARYEN_API BinaryenOp BinaryenTruncSFloat32ToInt32(void); -BINARYEN_API BinaryenOp BinaryenTruncSFloat32ToInt64(void); -BINARYEN_API BinaryenOp BinaryenTruncUFloat32ToInt32(void); -BINARYEN_API BinaryenOp BinaryenTruncUFloat32ToInt64(void); -BINARYEN_API BinaryenOp BinaryenTruncSFloat64ToInt32(void); -BINARYEN_API BinaryenOp BinaryenTruncSFloat64ToInt64(void); -BINARYEN_API BinaryenOp BinaryenTruncUFloat64ToInt32(void); -BINARYEN_API BinaryenOp BinaryenTruncUFloat64ToInt64(void); -BINARYEN_API BinaryenOp BinaryenReinterpretFloat32(void); -BINARYEN_API BinaryenOp BinaryenReinterpretFloat64(void); -BINARYEN_API BinaryenOp BinaryenConvertSInt32ToFloat32(void); -BINARYEN_API BinaryenOp BinaryenConvertSInt32ToFloat64(void); -BINARYEN_API BinaryenOp BinaryenConvertUInt32ToFloat32(void); -BINARYEN_API BinaryenOp BinaryenConvertUInt32ToFloat64(void); -BINARYEN_API BinaryenOp BinaryenConvertSInt64ToFloat32(void); -BINARYEN_API BinaryenOp BinaryenConvertSInt64ToFloat64(void); -BINARYEN_API BinaryenOp BinaryenConvertUInt64ToFloat32(void); -BINARYEN_API BinaryenOp BinaryenConvertUInt64ToFloat64(void); -BINARYEN_API BinaryenOp BinaryenPromoteFloat32(void); -BINARYEN_API BinaryenOp BinaryenDemoteFloat64(void); -BINARYEN_API BinaryenOp BinaryenReinterpretInt32(void); -BINARYEN_API BinaryenOp BinaryenReinterpretInt64(void); -BINARYEN_API BinaryenOp BinaryenExtendS8Int32(void); -BINARYEN_API BinaryenOp BinaryenExtendS16Int32(void); -BINARYEN_API BinaryenOp BinaryenExtendS8Int64(void); -BINARYEN_API BinaryenOp BinaryenExtendS16Int64(void); -BINARYEN_API BinaryenOp BinaryenExtendS32Int64(void); -BINARYEN_API BinaryenOp BinaryenAddInt32(void); -BINARYEN_API BinaryenOp BinaryenSubInt32(void); -BINARYEN_API BinaryenOp BinaryenMulInt32(void); -BINARYEN_API BinaryenOp BinaryenDivSInt32(void); -BINARYEN_API BinaryenOp BinaryenDivUInt32(void); -BINARYEN_API BinaryenOp BinaryenRemSInt32(void); -BINARYEN_API BinaryenOp BinaryenRemUInt32(void); -BINARYEN_API BinaryenOp BinaryenAndInt32(void); -BINARYEN_API BinaryenOp BinaryenOrInt32(void); -BINARYEN_API BinaryenOp BinaryenXorInt32(void); -BINARYEN_API BinaryenOp BinaryenShlInt32(void); -BINARYEN_API BinaryenOp BinaryenShrUInt32(void); -BINARYEN_API BinaryenOp BinaryenShrSInt32(void); -BINARYEN_API BinaryenOp BinaryenRotLInt32(void); -BINARYEN_API BinaryenOp BinaryenRotRInt32(void); -BINARYEN_API BinaryenOp BinaryenEqInt32(void); -BINARYEN_API BinaryenOp BinaryenNeInt32(void); -BINARYEN_API BinaryenOp BinaryenLtSInt32(void); -BINARYEN_API BinaryenOp BinaryenLtUInt32(void); -BINARYEN_API BinaryenOp BinaryenLeSInt32(void); -BINARYEN_API BinaryenOp BinaryenLeUInt32(void); -BINARYEN_API BinaryenOp BinaryenGtSInt32(void); -BINARYEN_API BinaryenOp BinaryenGtUInt32(void); -BINARYEN_API BinaryenOp BinaryenGeSInt32(void); -BINARYEN_API BinaryenOp BinaryenGeUInt32(void); -BINARYEN_API BinaryenOp BinaryenAddInt64(void); -BINARYEN_API BinaryenOp BinaryenSubInt64(void); -BINARYEN_API BinaryenOp BinaryenMulInt64(void); -BINARYEN_API BinaryenOp BinaryenDivSInt64(void); -BINARYEN_API BinaryenOp BinaryenDivUInt64(void); -BINARYEN_API BinaryenOp BinaryenRemSInt64(void); -BINARYEN_API BinaryenOp BinaryenRemUInt64(void); -BINARYEN_API BinaryenOp BinaryenAndInt64(void); -BINARYEN_API BinaryenOp BinaryenOrInt64(void); -BINARYEN_API BinaryenOp BinaryenXorInt64(void); -BINARYEN_API BinaryenOp BinaryenShlInt64(void); -BINARYEN_API BinaryenOp BinaryenShrUInt64(void); -BINARYEN_API BinaryenOp BinaryenShrSInt64(void); -BINARYEN_API BinaryenOp BinaryenRotLInt64(void); -BINARYEN_API BinaryenOp BinaryenRotRInt64(void); -BINARYEN_API BinaryenOp BinaryenEqInt64(void); -BINARYEN_API BinaryenOp BinaryenNeInt64(void); -BINARYEN_API BinaryenOp BinaryenLtSInt64(void); -BINARYEN_API BinaryenOp BinaryenLtUInt64(void); -BINARYEN_API BinaryenOp BinaryenLeSInt64(void); -BINARYEN_API BinaryenOp BinaryenLeUInt64(void); -BINARYEN_API BinaryenOp BinaryenGtSInt64(void); -BINARYEN_API BinaryenOp BinaryenGtUInt64(void); -BINARYEN_API BinaryenOp BinaryenGeSInt64(void); -BINARYEN_API BinaryenOp BinaryenGeUInt64(void); -BINARYEN_API BinaryenOp BinaryenAddFloat32(void); -BINARYEN_API BinaryenOp BinaryenSubFloat32(void); -BINARYEN_API BinaryenOp BinaryenMulFloat32(void); -BINARYEN_API BinaryenOp BinaryenDivFloat32(void); -BINARYEN_API BinaryenOp BinaryenCopySignFloat32(void); -BINARYEN_API BinaryenOp BinaryenMinFloat32(void); -BINARYEN_API BinaryenOp BinaryenMaxFloat32(void); -BINARYEN_API BinaryenOp BinaryenEqFloat32(void); -BINARYEN_API BinaryenOp BinaryenNeFloat32(void); -BINARYEN_API BinaryenOp BinaryenLtFloat32(void); -BINARYEN_API BinaryenOp BinaryenLeFloat32(void); -BINARYEN_API BinaryenOp BinaryenGtFloat32(void); -BINARYEN_API BinaryenOp BinaryenGeFloat32(void); -BINARYEN_API BinaryenOp BinaryenAddFloat64(void); -BINARYEN_API BinaryenOp BinaryenSubFloat64(void); -BINARYEN_API BinaryenOp BinaryenMulFloat64(void); -BINARYEN_API BinaryenOp BinaryenDivFloat64(void); -BINARYEN_API BinaryenOp BinaryenCopySignFloat64(void); -BINARYEN_API BinaryenOp BinaryenMinFloat64(void); -BINARYEN_API BinaryenOp BinaryenMaxFloat64(void); -BINARYEN_API BinaryenOp BinaryenEqFloat64(void); -BINARYEN_API BinaryenOp BinaryenNeFloat64(void); -BINARYEN_API BinaryenOp BinaryenLtFloat64(void); -BINARYEN_API BinaryenOp BinaryenLeFloat64(void); -BINARYEN_API BinaryenOp BinaryenGtFloat64(void); -BINARYEN_API BinaryenOp BinaryenGeFloat64(void); -BINARYEN_API BinaryenOp BinaryenAtomicRMWAdd(void); -BINARYEN_API BinaryenOp BinaryenAtomicRMWSub(void); -BINARYEN_API BinaryenOp BinaryenAtomicRMWAnd(void); -BINARYEN_API BinaryenOp BinaryenAtomicRMWOr(void); -BINARYEN_API BinaryenOp BinaryenAtomicRMWXor(void); -BINARYEN_API BinaryenOp BinaryenAtomicRMWXchg(void); -BINARYEN_API BinaryenOp BinaryenTruncSatSFloat32ToInt32(void); -BINARYEN_API BinaryenOp BinaryenTruncSatSFloat32ToInt64(void); -BINARYEN_API BinaryenOp BinaryenTruncSatUFloat32ToInt32(void); -BINARYEN_API BinaryenOp BinaryenTruncSatUFloat32ToInt64(void); -BINARYEN_API BinaryenOp BinaryenTruncSatSFloat64ToInt32(void); -BINARYEN_API BinaryenOp BinaryenTruncSatSFloat64ToInt64(void); -BINARYEN_API BinaryenOp BinaryenTruncSatUFloat64ToInt32(void); -BINARYEN_API BinaryenOp BinaryenTruncSatUFloat64ToInt64(void); -BINARYEN_API BinaryenOp BinaryenSplatVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenExtractLaneSVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenExtractLaneUVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenReplaceLaneVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenSplatVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenExtractLaneSVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenExtractLaneUVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenReplaceLaneVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenSplatVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenExtractLaneVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenReplaceLaneVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenSplatVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenExtractLaneVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenReplaceLaneVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenSplatVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenExtractLaneVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenReplaceLaneVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenSplatVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenExtractLaneVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenReplaceLaneVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenEqVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenNeVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenLtSVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenLtUVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenGtSVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenGtUVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenLeSVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenLeUVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenGeSVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenGeUVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenEqVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenNeVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenLtSVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenLtUVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenGtSVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenGtUVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenLeSVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenLeUVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenGeSVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenGeUVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenEqVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenNeVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenLtSVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenLtUVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenGtSVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenGtUVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenLeSVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenLeUVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenGeSVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenGeUVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenEqVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenNeVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenLtSVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenGtSVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenLeSVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenGeSVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenEqVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenNeVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenLtVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenGtVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenLeVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenGeVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenEqVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenNeVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenLtVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenGtVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenLeVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenGeVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenNotVec128(void); -BINARYEN_API BinaryenOp BinaryenAndVec128(void); -BINARYEN_API BinaryenOp BinaryenOrVec128(void); -BINARYEN_API BinaryenOp BinaryenXorVec128(void); -BINARYEN_API BinaryenOp BinaryenAndNotVec128(void); -BINARYEN_API BinaryenOp BinaryenBitselectVec128(void); -BINARYEN_API BinaryenOp BinaryenAnyTrueVec128(void); -BINARYEN_API BinaryenOp BinaryenPopcntVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenAbsVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenNegVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenAllTrueVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenBitmaskVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenShlVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenShrSVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenShrUVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenAddVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenAddSatSVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenAddSatUVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenSubVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenSubSatSVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenSubSatUVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenMinSVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenMinUVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenMaxSVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenMaxUVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenAvgrUVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenAbsVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenNegVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenAllTrueVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenBitmaskVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenShlVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenShrSVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenShrUVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenAddVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenAddSatSVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenAddSatUVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenSubVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenSubSatSVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenSubSatUVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenMulVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenMinSVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenMinUVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenMaxSVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenMaxUVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenAvgrUVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenQ15MulrSatSVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenExtMulLowSVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenExtMulHighSVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenExtMulLowUVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenExtMulHighUVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenAbsVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenNegVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenAllTrueVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenBitmaskVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenShlVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenShrSVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenShrUVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenAddVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenSubVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenMulVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenMinSVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenMinUVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenMaxSVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenMaxUVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenDotSVecI16x8ToVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenExtMulLowSVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenExtMulHighSVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenExtMulLowUVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenExtMulHighUVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenAbsVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenNegVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenAllTrueVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenBitmaskVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenShlVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenShrSVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenShrUVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenAddVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenSubVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenMulVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenExtMulLowSVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenExtMulHighSVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenExtMulLowUVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenExtMulHighUVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenAbsVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenNegVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenSqrtVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenAddVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenSubVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenMulVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenDivVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenMinVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenMaxVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenPMinVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenPMaxVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenCeilVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenFloorVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenTruncVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenNearestVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenAbsVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenNegVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenSqrtVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenAddVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenSubVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenMulVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenDivVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenMinVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenMaxVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenPMinVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenPMaxVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenCeilVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenFloorVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenTruncVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenNearestVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenExtAddPairwiseSVecI8x16ToI16x8(void); -BINARYEN_API BinaryenOp BinaryenExtAddPairwiseUVecI8x16ToI16x8(void); -BINARYEN_API BinaryenOp BinaryenExtAddPairwiseSVecI16x8ToI32x4(void); -BINARYEN_API BinaryenOp BinaryenExtAddPairwiseUVecI16x8ToI32x4(void); -BINARYEN_API BinaryenOp BinaryenTruncSatSVecF32x4ToVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenTruncSatUVecF32x4ToVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenConvertSVecI32x4ToVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenConvertUVecI32x4ToVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenLoad8SplatVec128(void); -BINARYEN_API BinaryenOp BinaryenLoad16SplatVec128(void); -BINARYEN_API BinaryenOp BinaryenLoad32SplatVec128(void); -BINARYEN_API BinaryenOp BinaryenLoad64SplatVec128(void); -BINARYEN_API BinaryenOp BinaryenLoad8x8SVec128(void); -BINARYEN_API BinaryenOp BinaryenLoad8x8UVec128(void); -BINARYEN_API BinaryenOp BinaryenLoad16x4SVec128(void); -BINARYEN_API BinaryenOp BinaryenLoad16x4UVec128(void); -BINARYEN_API BinaryenOp BinaryenLoad32x2SVec128(void); -BINARYEN_API BinaryenOp BinaryenLoad32x2UVec128(void); -BINARYEN_API BinaryenOp BinaryenLoad32ZeroVec128(void); -BINARYEN_API BinaryenOp BinaryenLoad64ZeroVec128(void); -BINARYEN_API BinaryenOp BinaryenLoad8LaneVec128(void); -BINARYEN_API BinaryenOp BinaryenLoad16LaneVec128(void); -BINARYEN_API BinaryenOp BinaryenLoad32LaneVec128(void); -BINARYEN_API BinaryenOp BinaryenLoad64LaneVec128(void); -BINARYEN_API BinaryenOp BinaryenStore8LaneVec128(void); -BINARYEN_API BinaryenOp BinaryenStore16LaneVec128(void); -BINARYEN_API BinaryenOp BinaryenStore32LaneVec128(void); -BINARYEN_API BinaryenOp BinaryenStore64LaneVec128(void); -BINARYEN_API BinaryenOp BinaryenNarrowSVecI16x8ToVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenNarrowUVecI16x8ToVecI8x16(void); -BINARYEN_API BinaryenOp BinaryenNarrowSVecI32x4ToVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenNarrowUVecI32x4ToVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenExtendLowSVecI8x16ToVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenExtendHighSVecI8x16ToVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenExtendLowUVecI8x16ToVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenExtendHighUVecI8x16ToVecI16x8(void); -BINARYEN_API BinaryenOp BinaryenExtendLowSVecI16x8ToVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenExtendHighSVecI16x8ToVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenExtendLowUVecI16x8ToVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenExtendHighUVecI16x8ToVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenExtendLowSVecI32x4ToVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenExtendHighSVecI32x4ToVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenExtendLowUVecI32x4ToVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenExtendHighUVecI32x4ToVecI64x2(void); -BINARYEN_API BinaryenOp BinaryenConvertLowSVecI32x4ToVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenConvertLowUVecI32x4ToVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenTruncSatZeroSVecF64x2ToVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenTruncSatZeroUVecF64x2ToVecI32x4(void); -BINARYEN_API BinaryenOp BinaryenDemoteZeroVecF64x2ToVecF32x4(void); -BINARYEN_API BinaryenOp BinaryenPromoteLowVecF32x4ToVecF64x2(void); -BINARYEN_API BinaryenOp BinaryenSwizzleVec8x16(void); -BINARYEN_API BinaryenOp BinaryenRefIsNull(void); -BINARYEN_API BinaryenOp BinaryenRefIsFunc(void); -BINARYEN_API BinaryenOp BinaryenRefIsData(void); -BINARYEN_API BinaryenOp BinaryenRefIsI31(void); -BINARYEN_API BinaryenOp BinaryenRefAsNonNull(void); -BINARYEN_API BinaryenOp BinaryenRefAsFunc(void); -BINARYEN_API BinaryenOp BinaryenRefAsData(void); -BINARYEN_API BinaryenOp BinaryenRefAsI31(void); - -BINARYEN_REF(Expression); - -// Block: name can be NULL. Specifying BinaryenUndefined() as the 'type' -// parameter indicates that the block's type shall be figured out -// automatically instead of explicitly providing it. This conforms -// to the behavior before the 'type' parameter has been introduced. -BINARYEN_API BinaryenExpressionRef -BinaryenBlock(BinaryenModuleRef module, - const char* name, - BinaryenExpressionRef* children, - BinaryenIndex numChildren, - BinaryenType type); -// If: ifFalse can be NULL -BINARYEN_API BinaryenExpressionRef BinaryenIf(BinaryenModuleRef module, - BinaryenExpressionRef condition, - BinaryenExpressionRef ifTrue, - BinaryenExpressionRef ifFalse); -BINARYEN_API BinaryenExpressionRef BinaryenLoop(BinaryenModuleRef module, - const char* in, - BinaryenExpressionRef body); -// Break: value and condition can be NULL -BINARYEN_API BinaryenExpressionRef -BinaryenBreak(BinaryenModuleRef module, - const char* name, - BinaryenExpressionRef condition, - BinaryenExpressionRef value); -// Switch: value can be NULL -BINARYEN_API BinaryenExpressionRef -BinaryenSwitch(BinaryenModuleRef module, - const char** names, - BinaryenIndex numNames, - const char* defaultName, - BinaryenExpressionRef condition, - BinaryenExpressionRef value); -// Call: Note the 'returnType' parameter. You must declare the -// type returned by the function being called, as that -// function might not have been created yet, so we don't -// know what it is. -BINARYEN_API BinaryenExpressionRef BinaryenCall(BinaryenModuleRef module, - const char* target, - BinaryenExpressionRef* operands, - BinaryenIndex numOperands, - BinaryenType returnType); -BINARYEN_API BinaryenExpressionRef -BinaryenCallIndirect(BinaryenModuleRef module, - const char* table, - BinaryenExpressionRef target, - BinaryenExpressionRef* operands, - BinaryenIndex numOperands, - BinaryenType params, - BinaryenType results); -BINARYEN_API BinaryenExpressionRef -BinaryenReturnCall(BinaryenModuleRef module, - const char* target, - BinaryenExpressionRef* operands, - BinaryenIndex numOperands, - BinaryenType returnType); -BINARYEN_API BinaryenExpressionRef -BinaryenReturnCallIndirect(BinaryenModuleRef module, - const char* table, - BinaryenExpressionRef target, - BinaryenExpressionRef* operands, - BinaryenIndex numOperands, - BinaryenType params, - BinaryenType results); - -// LocalGet: Note the 'type' parameter. It might seem redundant, since the -// local at that index must have a type. However, this API lets you -// build code "top-down": create a node, then its parents, and so -// on, and finally create the function at the end. (Note that in fact -// you do not mention a function when creating ExpressionRefs, only -// a module.) And since LocalGet is a leaf node, we need to be told -// its type. (Other nodes detect their type either from their -// type or their opcode, or failing that, their children. But -// LocalGet has no children, it is where a "stream" of type info -// begins.) -// Note also that the index of a local can refer to a param or -// a var, that is, either a parameter to the function or a variable -// declared when you call BinaryenAddFunction. See BinaryenAddFunction -// for more details. -BINARYEN_API BinaryenExpressionRef BinaryenLocalGet(BinaryenModuleRef module, - BinaryenIndex index, - BinaryenType type); -BINARYEN_API BinaryenExpressionRef BinaryenLocalSet( - BinaryenModuleRef module, BinaryenIndex index, BinaryenExpressionRef value); -BINARYEN_API BinaryenExpressionRef BinaryenLocalTee(BinaryenModuleRef module, - BinaryenIndex index, - BinaryenExpressionRef value, - BinaryenType type); -BINARYEN_API BinaryenExpressionRef BinaryenGlobalGet(BinaryenModuleRef module, - const char* name, - BinaryenType type); -BINARYEN_API BinaryenExpressionRef BinaryenGlobalSet( - BinaryenModuleRef module, const char* name, BinaryenExpressionRef value); -// Load: align can be 0, in which case it will be the natural alignment (equal -// to bytes) -BINARYEN_API BinaryenExpressionRef BinaryenLoad(BinaryenModuleRef module, - uint32_t bytes, - bool signed_, - uint32_t offset, - uint32_t align, - BinaryenType type, - BinaryenExpressionRef ptr); -// Store: align can be 0, in which case it will be the natural alignment (equal -// to bytes) -BINARYEN_API BinaryenExpressionRef BinaryenStore(BinaryenModuleRef module, - uint32_t bytes, - uint32_t offset, - uint32_t align, - BinaryenExpressionRef ptr, - BinaryenExpressionRef value, - BinaryenType type); -BINARYEN_API BinaryenExpressionRef BinaryenConst(BinaryenModuleRef module, - struct BinaryenLiteral value); -BINARYEN_API BinaryenExpressionRef BinaryenUnary(BinaryenModuleRef module, - BinaryenOp op, - BinaryenExpressionRef value); -BINARYEN_API BinaryenExpressionRef BinaryenBinary(BinaryenModuleRef module, - BinaryenOp op, - BinaryenExpressionRef left, - BinaryenExpressionRef right); -BINARYEN_API BinaryenExpressionRef -BinaryenSelect(BinaryenModuleRef module, - BinaryenExpressionRef condition, - BinaryenExpressionRef ifTrue, - BinaryenExpressionRef ifFalse, - BinaryenType type); -BINARYEN_API BinaryenExpressionRef BinaryenDrop(BinaryenModuleRef module, - BinaryenExpressionRef value); -// Return: value can be NULL -BINARYEN_API BinaryenExpressionRef BinaryenReturn(BinaryenModuleRef module, - BinaryenExpressionRef value); -BINARYEN_API BinaryenExpressionRef BinaryenMemorySize(BinaryenModuleRef module); -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryGrow(BinaryenModuleRef module, BinaryenExpressionRef delta); -BINARYEN_API BinaryenExpressionRef BinaryenNop(BinaryenModuleRef module); -BINARYEN_API BinaryenExpressionRef -BinaryenUnreachable(BinaryenModuleRef module); -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicLoad(BinaryenModuleRef module, - uint32_t bytes, - uint32_t offset, - BinaryenType type, - BinaryenExpressionRef ptr); -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicStore(BinaryenModuleRef module, - uint32_t bytes, - uint32_t offset, - BinaryenExpressionRef ptr, - BinaryenExpressionRef value, - BinaryenType type); -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicRMW(BinaryenModuleRef module, - BinaryenOp op, - BinaryenIndex bytes, - BinaryenIndex offset, - BinaryenExpressionRef ptr, - BinaryenExpressionRef value, - BinaryenType type); -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicCmpxchg(BinaryenModuleRef module, - BinaryenIndex bytes, - BinaryenIndex offset, - BinaryenExpressionRef ptr, - BinaryenExpressionRef expected, - BinaryenExpressionRef replacement, - BinaryenType type); -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicWait(BinaryenModuleRef module, - BinaryenExpressionRef ptr, - BinaryenExpressionRef expected, - BinaryenExpressionRef timeout, - BinaryenType type); -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicNotify(BinaryenModuleRef module, - BinaryenExpressionRef ptr, - BinaryenExpressionRef notifyCount); -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicFence(BinaryenModuleRef module); -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDExtract(BinaryenModuleRef module, - BinaryenOp op, - BinaryenExpressionRef vec, - uint8_t index); -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDReplace(BinaryenModuleRef module, - BinaryenOp op, - BinaryenExpressionRef vec, - uint8_t index, - BinaryenExpressionRef value); -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDShuffle(BinaryenModuleRef module, - BinaryenExpressionRef left, - BinaryenExpressionRef right, - const uint8_t mask[16]); -BINARYEN_API BinaryenExpressionRef BinaryenSIMDTernary(BinaryenModuleRef module, - BinaryenOp op, - BinaryenExpressionRef a, - BinaryenExpressionRef b, - BinaryenExpressionRef c); -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDShift(BinaryenModuleRef module, - BinaryenOp op, - BinaryenExpressionRef vec, - BinaryenExpressionRef shift); -BINARYEN_API BinaryenExpressionRef BinaryenSIMDLoad(BinaryenModuleRef module, - BinaryenOp op, - uint32_t offset, - uint32_t align, - BinaryenExpressionRef ptr); -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDLoadStoreLane(BinaryenModuleRef module, - BinaryenOp op, - uint32_t offset, - uint32_t align, - uint8_t index, - BinaryenExpressionRef ptr, - BinaryenExpressionRef vec); -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryInit(BinaryenModuleRef module, - uint32_t segment, - BinaryenExpressionRef dest, - BinaryenExpressionRef offset, - BinaryenExpressionRef size); -BINARYEN_API BinaryenExpressionRef BinaryenDataDrop(BinaryenModuleRef module, - uint32_t segment); -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryCopy(BinaryenModuleRef module, - BinaryenExpressionRef dest, - BinaryenExpressionRef source, - BinaryenExpressionRef size); -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryFill(BinaryenModuleRef module, - BinaryenExpressionRef dest, - BinaryenExpressionRef value, - BinaryenExpressionRef size); -BINARYEN_API BinaryenExpressionRef BinaryenRefNull(BinaryenModuleRef module, - BinaryenType type); -BINARYEN_API BinaryenExpressionRef BinaryenRefIs(BinaryenModuleRef module, - BinaryenOp op, - BinaryenExpressionRef value); -BINARYEN_API BinaryenExpressionRef BinaryenRefAs(BinaryenModuleRef module, - BinaryenOp op, - BinaryenExpressionRef value); -BINARYEN_API BinaryenExpressionRef BinaryenRefFunc(BinaryenModuleRef module, - const char* func, - BinaryenType type); -BINARYEN_API BinaryenExpressionRef BinaryenRefEq(BinaryenModuleRef module, - BinaryenExpressionRef left, - BinaryenExpressionRef right); -// Try: name can be NULL. delegateTarget should be NULL in try-catch. -BINARYEN_API BinaryenExpressionRef -BinaryenTry(BinaryenModuleRef module, - const char* name, - BinaryenExpressionRef body, - const char** catchEvents, - BinaryenIndex numCatchEvents, - BinaryenExpressionRef* catchBodies, - BinaryenIndex numCatchBodies, - const char* delegateTarget); -BINARYEN_API BinaryenExpressionRef -BinaryenThrow(BinaryenModuleRef module, - const char* event, - BinaryenExpressionRef* operands, - BinaryenIndex numOperands); -BINARYEN_API BinaryenExpressionRef BinaryenRethrow(BinaryenModuleRef module, - const char* target); -BINARYEN_API BinaryenExpressionRef -BinaryenTupleMake(BinaryenModuleRef module, - BinaryenExpressionRef* operands, - BinaryenIndex numOperands); -BINARYEN_API BinaryenExpressionRef BinaryenTupleExtract( - BinaryenModuleRef module, BinaryenExpressionRef tuple, BinaryenIndex index); -BINARYEN_API BinaryenExpressionRef BinaryenPop(BinaryenModuleRef module, - BinaryenType type); -BINARYEN_API BinaryenExpressionRef BinaryenI31New(BinaryenModuleRef module, - BinaryenExpressionRef value); -BINARYEN_API BinaryenExpressionRef BinaryenI31Get(BinaryenModuleRef module, - BinaryenExpressionRef i31, - bool signed_); -// TODO (gc): ref.test -// TODO (gc): ref.cast -// TODO (gc): br_on_cast -// TODO (gc): rtt.canon -// TODO (gc): rtt.sub -// TODO (gc): struct.new -// TODO (gc): struct.get -// TODO (gc): struct.set -// TODO (gc): array.new -// TODO (gc): array.get -// TODO (gc): array.set -// TODO (gc): array.len - -// Expression - -// Gets the id (kind) of the given expression. -BINARYEN_API BinaryenExpressionId -BinaryenExpressionGetId(BinaryenExpressionRef expr); -// Gets the type of the given expression. -BINARYEN_API BinaryenType BinaryenExpressionGetType(BinaryenExpressionRef expr); -// Sets the type of the given expression. -BINARYEN_API void BinaryenExpressionSetType(BinaryenExpressionRef expr, - BinaryenType type); -// Prints text format of the given expression to stdout. -BINARYEN_API void BinaryenExpressionPrint(BinaryenExpressionRef expr); -// Re-finalizes an expression after it has been modified. -BINARYEN_API void BinaryenExpressionFinalize(BinaryenExpressionRef expr); -// Makes a deep copy of the given expression. -BINARYEN_API BinaryenExpressionRef -BinaryenExpressionCopy(BinaryenExpressionRef expr, BinaryenModuleRef module); - -// Block - -// Gets the name (label) of a `block` expression. -BINARYEN_API const char* BinaryenBlockGetName(BinaryenExpressionRef expr); -// Sets the name (label) of a `block` expression. -BINARYEN_API void BinaryenBlockSetName(BinaryenExpressionRef expr, - const char* name); -// Gets the number of child expressions of a `block` expression. -BINARYEN_API BinaryenIndex -BinaryenBlockGetNumChildren(BinaryenExpressionRef expr); -// Gets the child expression at the specified index of a `block` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenBlockGetChildAt(BinaryenExpressionRef expr, BinaryenIndex index); -// Sets (replaces) the child expression at the specified index of a `block` -// expression. -BINARYEN_API void BinaryenBlockSetChildAt(BinaryenExpressionRef expr, - BinaryenIndex index, - BinaryenExpressionRef childExpr); -// Appends a child expression to a `block` expression, returning its insertion -// index. -BINARYEN_API BinaryenIndex BinaryenBlockAppendChild( - BinaryenExpressionRef expr, BinaryenExpressionRef childExpr); -// Inserts a child expression at the specified index of a `block` expression, -// moving existing children including the one previously at that index one index -// up. -BINARYEN_API void BinaryenBlockInsertChildAt(BinaryenExpressionRef expr, - BinaryenIndex index, - BinaryenExpressionRef childExpr); -// Removes the child expression at the specified index of a `block` expression, -// moving all subsequent children one index down. Returns the child expression. -BINARYEN_API BinaryenExpressionRef -BinaryenBlockRemoveChildAt(BinaryenExpressionRef expr, BinaryenIndex index); - -// If - -// Gets the condition expression of an `if` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenIfGetCondition(BinaryenExpressionRef expr); -// Sets the condition expression of an `if` expression. -BINARYEN_API void BinaryenIfSetCondition(BinaryenExpressionRef expr, - BinaryenExpressionRef condExpr); -// Gets the ifTrue (then) expression of an `if` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenIfGetIfTrue(BinaryenExpressionRef expr); -// Sets the ifTrue (then) expression of an `if` expression. -BINARYEN_API void BinaryenIfSetIfTrue(BinaryenExpressionRef expr, - BinaryenExpressionRef ifTrueExpr); -// Gets the ifFalse (else) expression, if any, of an `if` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenIfGetIfFalse(BinaryenExpressionRef expr); -// Sets the ifFalse (else) expression, if any, of an `if` expression. -BINARYEN_API void BinaryenIfSetIfFalse(BinaryenExpressionRef expr, - BinaryenExpressionRef ifFalseExpr); - -// Loop - -// Gets the name (label) of a `loop` expression. -BINARYEN_API const char* BinaryenLoopGetName(BinaryenExpressionRef expr); -// Sets the name (label) of a `loop` expression. -BINARYEN_API void BinaryenLoopSetName(BinaryenExpressionRef expr, - const char* name); -// Gets the body expression of a `loop` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenLoopGetBody(BinaryenExpressionRef expr); -// Sets the body expression of a `loop` expression. -BINARYEN_API void BinaryenLoopSetBody(BinaryenExpressionRef expr, - BinaryenExpressionRef bodyExpr); - -// Break - -// Gets the name (target label) of a `br` or `br_if` expression. -BINARYEN_API const char* BinaryenBreakGetName(BinaryenExpressionRef expr); -// Sets the name (target label) of a `br` or `br_if` expression. -BINARYEN_API void BinaryenBreakSetName(BinaryenExpressionRef expr, - const char* name); -// Gets the condition expression, if any, of a `br_if` expression. No condition -// indicates a `br` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenBreakGetCondition(BinaryenExpressionRef expr); -// Sets the condition expression, if any, of a `br_if` expression. No condition -// makes it a `br` expression. -BINARYEN_API void BinaryenBreakSetCondition(BinaryenExpressionRef expr, - BinaryenExpressionRef condExpr); -// Gets the value expression, if any, of a `br` or `br_if` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenBreakGetValue(BinaryenExpressionRef expr); -// Sets the value expression, if any, of a `br` or `br_if` expression. -BINARYEN_API void BinaryenBreakSetValue(BinaryenExpressionRef expr, - BinaryenExpressionRef valueExpr); - -// Switch - -// Gets the number of names (target labels) of a `br_table` expression. -BINARYEN_API BinaryenIndex -BinaryenSwitchGetNumNames(BinaryenExpressionRef expr); -// Gets the name (target label) at the specified index of a `br_table` -// expression. -BINARYEN_API const char* BinaryenSwitchGetNameAt(BinaryenExpressionRef expr, - BinaryenIndex index); -// Sets the name (target label) at the specified index of a `br_table` -// expression. -BINARYEN_API void BinaryenSwitchSetNameAt(BinaryenExpressionRef expr, - BinaryenIndex index, - const char* name); -// Appends a name to a `br_table` expression, returning its insertion index. -BINARYEN_API BinaryenIndex BinaryenSwitchAppendName(BinaryenExpressionRef expr, - const char* name); -// Inserts a name at the specified index of a `br_table` expression, moving -// existing names including the one previously at that index one index up. -BINARYEN_API void BinaryenSwitchInsertNameAt(BinaryenExpressionRef expr, - BinaryenIndex index, - const char* name); -// Removes the name at the specified index of a `br_table` expression, moving -// all subsequent names one index down. Returns the name. -BINARYEN_API const char* BinaryenSwitchRemoveNameAt(BinaryenExpressionRef expr, - BinaryenIndex index); -// Gets the default name (target label), if any, of a `br_table` expression. -BINARYEN_API const char* -BinaryenSwitchGetDefaultName(BinaryenExpressionRef expr); -// Sets the default name (target label), if any, of a `br_table` expression. -BINARYEN_API void BinaryenSwitchSetDefaultName(BinaryenExpressionRef expr, - const char* name); -// Gets the condition expression of a `br_table` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenSwitchGetCondition(BinaryenExpressionRef expr); -// Sets the condition expression of a `br_table` expression. -BINARYEN_API void BinaryenSwitchSetCondition(BinaryenExpressionRef expr, - BinaryenExpressionRef condExpr); -// Gets the value expression, if any, of a `br_table` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenSwitchGetValue(BinaryenExpressionRef expr); -// Sets the value expression, if any, of a `br_table` expression. -BINARYEN_API void BinaryenSwitchSetValue(BinaryenExpressionRef expr, - BinaryenExpressionRef valueExpr); - -// Call - -// Gets the target function name of a `call` expression. -BINARYEN_API const char* BinaryenCallGetTarget(BinaryenExpressionRef expr); -// Sets the target function name of a `call` expression. -BINARYEN_API void BinaryenCallSetTarget(BinaryenExpressionRef expr, - const char* target); -// Gets the number of operands of a `call` expression. -BINARYEN_API BinaryenIndex -BinaryenCallGetNumOperands(BinaryenExpressionRef expr); -// Gets the operand expression at the specified index of a `call` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenCallGetOperandAt(BinaryenExpressionRef expr, BinaryenIndex index); -// Sets the operand expression at the specified index of a `call` expression. -BINARYEN_API void BinaryenCallSetOperandAt(BinaryenExpressionRef expr, - BinaryenIndex index, - BinaryenExpressionRef operandExpr); -// Appends an operand expression to a `call` expression, returning its insertion -// index. -BINARYEN_API BinaryenIndex BinaryenCallAppendOperand( - BinaryenExpressionRef expr, BinaryenExpressionRef operandExpr); -// Inserts an operand expression at the specified index of a `call` expression, -// moving existing operands including the one previously at that index one index -// up. -BINARYEN_API void -BinaryenCallInsertOperandAt(BinaryenExpressionRef expr, - BinaryenIndex index, - BinaryenExpressionRef operandExpr); -// Removes the operand expression at the specified index of a `call` expression, -// moving all subsequent operands one index down. Returns the operand -// expression. -BINARYEN_API BinaryenExpressionRef -BinaryenCallRemoveOperandAt(BinaryenExpressionRef expr, BinaryenIndex index); -// Gets whether the specified `call` expression is a tail call. -BINARYEN_API bool BinaryenCallIsReturn(BinaryenExpressionRef expr); -// Sets whether the specified `call` expression is a tail call. -BINARYEN_API void BinaryenCallSetReturn(BinaryenExpressionRef expr, - bool isReturn); - -// CallIndirect - -// Gets the target expression of a `call_indirect` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenCallIndirectGetTarget(BinaryenExpressionRef expr); -// Sets the target expression of a `call_indirect` expression. -BINARYEN_API void -BinaryenCallIndirectSetTarget(BinaryenExpressionRef expr, - BinaryenExpressionRef targetExpr); -// Gets the table name of a `call_indirect` expression. -BINARYEN_API const char* -BinaryenCallIndirectGetTable(BinaryenExpressionRef expr); -// Sets the table name of a `call_indirect` expression. -BINARYEN_API void BinaryenCallIndirectSetTable(BinaryenExpressionRef expr, - const char* table); -// Gets the number of operands of a `call_indirect` expression. -BINARYEN_API BinaryenIndex -BinaryenCallIndirectGetNumOperands(BinaryenExpressionRef expr); -// Gets the operand expression at the specified index of a `call_indirect` -// expression. -BINARYEN_API BinaryenExpressionRef BinaryenCallIndirectGetOperandAt( - BinaryenExpressionRef expr, BinaryenIndex index); -// Sets the operand expression at the specified index of a `call_indirect` -// expression. -BINARYEN_API void -BinaryenCallIndirectSetOperandAt(BinaryenExpressionRef expr, - BinaryenIndex index, - BinaryenExpressionRef operandExpr); -// Appends an operand expression to a `call_indirect` expression, returning its -// insertion index. -BINARYEN_API BinaryenIndex BinaryenCallIndirectAppendOperand( - BinaryenExpressionRef expr, BinaryenExpressionRef operandExpr); -// Inserts an operand expression at the specified index of a `call_indirect` -// expression, moving existing operands including the one previously at that -// index one index up. -BINARYEN_API void -BinaryenCallIndirectInsertOperandAt(BinaryenExpressionRef expr, - BinaryenIndex index, - BinaryenExpressionRef operandExpr); -// Removes the operand expression at the specified index of a `call_indirect` -// expression, moving all subsequent operands one index down. Returns the -// operand expression. -BINARYEN_API BinaryenExpressionRef BinaryenCallIndirectRemoveOperandAt( - BinaryenExpressionRef expr, BinaryenIndex index); -// Gets whether the specified `call_indirect` expression is a tail call. -BINARYEN_API bool BinaryenCallIndirectIsReturn(BinaryenExpressionRef expr); -// Sets whether the specified `call_indirect` expression is a tail call. -BINARYEN_API void BinaryenCallIndirectSetReturn(BinaryenExpressionRef expr, - bool isReturn); -// Gets the parameter types of the specified `call_indirect` expression. -BINARYEN_API BinaryenType -BinaryenCallIndirectGetParams(BinaryenExpressionRef expr); -// Sets the parameter types of the specified `call_indirect` expression. -BINARYEN_API void BinaryenCallIndirectSetParams(BinaryenExpressionRef expr, - BinaryenType params); -// Gets the result types of the specified `call_indirect` expression. -BINARYEN_API BinaryenType -BinaryenCallIndirectGetResults(BinaryenExpressionRef expr); -// Sets the result types of the specified `call_indirect` expression. -BINARYEN_API void BinaryenCallIndirectSetResults(BinaryenExpressionRef expr, - BinaryenType params); - -// LocalGet - -// Gets the local index of a `local.get` expression. -BINARYEN_API BinaryenIndex BinaryenLocalGetGetIndex(BinaryenExpressionRef expr); -// Sets the local index of a `local.get` expression. -BINARYEN_API void BinaryenLocalGetSetIndex(BinaryenExpressionRef expr, - BinaryenIndex index); - -// LocalSet - -// Gets whether a `local.set` tees its value (is a `local.tee`). True if the -// expression has a type other than `none`. -BINARYEN_API bool BinaryenLocalSetIsTee(BinaryenExpressionRef expr); -// Gets the local index of a `local.set` or `local.tee` expression. -BINARYEN_API BinaryenIndex BinaryenLocalSetGetIndex(BinaryenExpressionRef expr); -// Sets the local index of a `local.set` or `local.tee` expression. -BINARYEN_API void BinaryenLocalSetSetIndex(BinaryenExpressionRef expr, - BinaryenIndex index); -// Gets the value expression of a `local.set` or `local.tee` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenLocalSetGetValue(BinaryenExpressionRef expr); -// Sets the value expression of a `local.set` or `local.tee` expression. -BINARYEN_API void BinaryenLocalSetSetValue(BinaryenExpressionRef expr, - BinaryenExpressionRef valueExpr); - -// GlobalGet - -// Gets the name of the global being accessed by a `global.get` expression. -BINARYEN_API const char* BinaryenGlobalGetGetName(BinaryenExpressionRef expr); -// Sets the name of the global being accessed by a `global.get` expression. -BINARYEN_API void BinaryenGlobalGetSetName(BinaryenExpressionRef expr, - const char* name); - -// GlobalSet - -// Gets the name of the global being accessed by a `global.set` expression. -BINARYEN_API const char* BinaryenGlobalSetGetName(BinaryenExpressionRef expr); -// Sets the name of the global being accessed by a `global.set` expression. -BINARYEN_API void BinaryenGlobalSetSetName(BinaryenExpressionRef expr, - const char* name); -// Gets the value expression of a `global.set` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenGlobalSetGetValue(BinaryenExpressionRef expr); -// Sets the value expression of a `global.set` expression. -BINARYEN_API void BinaryenGlobalSetSetValue(BinaryenExpressionRef expr, - BinaryenExpressionRef valueExpr); - -// MemoryGrow - -// Gets the delta of a `memory.grow` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryGrowGetDelta(BinaryenExpressionRef expr); -// Sets the delta of a `memory.grow` expression. -BINARYEN_API void BinaryenMemoryGrowSetDelta(BinaryenExpressionRef expr, - BinaryenExpressionRef delta); - -// Load - -// Gets whether a `load` expression is atomic (is an `atomic.load`). -BINARYEN_API bool BinaryenLoadIsAtomic(BinaryenExpressionRef expr); -// Sets whether a `load` expression is atomic (is an `atomic.load`). -BINARYEN_API void BinaryenLoadSetAtomic(BinaryenExpressionRef expr, - bool isAtomic); -// Gets whether a `load` expression operates on a signed value (`_s`). -BINARYEN_API bool BinaryenLoadIsSigned(BinaryenExpressionRef expr); -// Sets whether a `load` expression operates on a signed value (`_s`). -BINARYEN_API void BinaryenLoadSetSigned(BinaryenExpressionRef expr, - bool isSigned); -// Gets the constant offset of a `load` expression. -BINARYEN_API uint32_t BinaryenLoadGetOffset(BinaryenExpressionRef expr); -// Sets the constant offset of a `load` expression. -BINARYEN_API void BinaryenLoadSetOffset(BinaryenExpressionRef expr, - uint32_t offset); -// Gets the number of bytes loaded by a `load` expression. -BINARYEN_API uint32_t BinaryenLoadGetBytes(BinaryenExpressionRef expr); -// Sets the number of bytes loaded by a `load` expression. -BINARYEN_API void BinaryenLoadSetBytes(BinaryenExpressionRef expr, - uint32_t bytes); -// Gets the byte alignment of a `load` expression. -BINARYEN_API uint32_t BinaryenLoadGetAlign(BinaryenExpressionRef expr); -// Sets the byte alignment of a `load` expression. -BINARYEN_API void BinaryenLoadSetAlign(BinaryenExpressionRef expr, - uint32_t align); -// Gets the pointer expression of a `load` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenLoadGetPtr(BinaryenExpressionRef expr); -// Sets the pointer expression of a `load` expression. -BINARYEN_API void BinaryenLoadSetPtr(BinaryenExpressionRef expr, - BinaryenExpressionRef ptrExpr); - -// Store - -// Gets whether a `store` expression is atomic (is an `atomic.store`). -BINARYEN_API bool BinaryenStoreIsAtomic(BinaryenExpressionRef expr); -// Sets whether a `store` expression is atomic (is an `atomic.store`). -BINARYEN_API void BinaryenStoreSetAtomic(BinaryenExpressionRef expr, - bool isAtomic); -// Gets the number of bytes stored by a `store` expression. -BINARYEN_API uint32_t BinaryenStoreGetBytes(BinaryenExpressionRef expr); -// Sets the number of bytes stored by a `store` expression. -BINARYEN_API void BinaryenStoreSetBytes(BinaryenExpressionRef expr, - uint32_t bytes); -// Gets the constant offset of a `store` expression. -BINARYEN_API uint32_t BinaryenStoreGetOffset(BinaryenExpressionRef expr); -// Sets the constant offset of a `store` expression. -BINARYEN_API void BinaryenStoreSetOffset(BinaryenExpressionRef expr, - uint32_t offset); -// Gets the byte alignment of a `store` expression. -BINARYEN_API uint32_t BinaryenStoreGetAlign(BinaryenExpressionRef expr); -// Sets the byte alignment of a `store` expression. -BINARYEN_API void BinaryenStoreSetAlign(BinaryenExpressionRef expr, - uint32_t align); -// Gets the pointer expression of a `store` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenStoreGetPtr(BinaryenExpressionRef expr); -// Sets the pointer expression of a `store` expression. -BINARYEN_API void BinaryenStoreSetPtr(BinaryenExpressionRef expr, - BinaryenExpressionRef ptrExpr); -// Gets the value expression of a `store` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenStoreGetValue(BinaryenExpressionRef expr); -// Sets the value expression of a `store` expression. -BINARYEN_API void BinaryenStoreSetValue(BinaryenExpressionRef expr, - BinaryenExpressionRef valueExpr); -// Gets the value type of a `store` expression. -BINARYEN_API BinaryenType BinaryenStoreGetValueType(BinaryenExpressionRef expr); -// Sets the value type of a `store` expression. -BINARYEN_API void BinaryenStoreSetValueType(BinaryenExpressionRef expr, - BinaryenType valueType); - -// Const - -// Gets the 32-bit integer value of an `i32.const` expression. -BINARYEN_API int32_t BinaryenConstGetValueI32(BinaryenExpressionRef expr); -// Sets the 32-bit integer value of an `i32.const` expression. -BINARYEN_API void BinaryenConstSetValueI32(BinaryenExpressionRef expr, - int32_t value); -// Gets the 64-bit integer value of an `i64.const` expression. -BINARYEN_API int64_t BinaryenConstGetValueI64(BinaryenExpressionRef expr); -// Sets the 64-bit integer value of an `i64.const` expression. -BINARYEN_API void BinaryenConstSetValueI64(BinaryenExpressionRef expr, - int64_t value); -// Gets the low 32-bits of the 64-bit integer value of an `i64.const` -// expression. -BINARYEN_API int32_t BinaryenConstGetValueI64Low(BinaryenExpressionRef expr); -// Sets the low 32-bits of the 64-bit integer value of an `i64.const` -// expression. -BINARYEN_API void BinaryenConstSetValueI64Low(BinaryenExpressionRef expr, - int32_t valueLow); -// Gets the high 32-bits of the 64-bit integer value of an `i64.const` -// expression. -BINARYEN_API int32_t BinaryenConstGetValueI64High(BinaryenExpressionRef expr); -// Sets the high 32-bits of the 64-bit integer value of an `i64.const` -// expression. -BINARYEN_API void BinaryenConstSetValueI64High(BinaryenExpressionRef expr, - int32_t valueHigh); -// Gets the 32-bit float value of a `f32.const` expression. -BINARYEN_API float BinaryenConstGetValueF32(BinaryenExpressionRef expr); -// Sets the 32-bit float value of a `f32.const` expression. -BINARYEN_API void BinaryenConstSetValueF32(BinaryenExpressionRef expr, - float value); -// Gets the 64-bit float (double) value of a `f64.const` expression. -BINARYEN_API double BinaryenConstGetValueF64(BinaryenExpressionRef expr); -// Sets the 64-bit float (double) value of a `f64.const` expression. -BINARYEN_API void BinaryenConstSetValueF64(BinaryenExpressionRef expr, - double value); -// Reads the 128-bit vector value of a `v128.const` expression. -BINARYEN_API void BinaryenConstGetValueV128(BinaryenExpressionRef expr, - uint8_t* out); -// Sets the 128-bit vector value of a `v128.const` expression. -BINARYEN_API void BinaryenConstSetValueV128(BinaryenExpressionRef expr, - const uint8_t value[16]); - -// Unary - -// Gets the operation being performed by a unary expression. -BINARYEN_API BinaryenOp BinaryenUnaryGetOp(BinaryenExpressionRef expr); -// Sets the operation being performed by a unary expression. -BINARYEN_API void BinaryenUnarySetOp(BinaryenExpressionRef expr, BinaryenOp op); -// Gets the value expression of a unary expression. -BINARYEN_API BinaryenExpressionRef -BinaryenUnaryGetValue(BinaryenExpressionRef expr); -// Sets the value expression of a unary expression. -BINARYEN_API void BinaryenUnarySetValue(BinaryenExpressionRef expr, - BinaryenExpressionRef valueExpr); - -// Binary - -// Gets the operation being performed by a binary expression. -BINARYEN_API BinaryenOp BinaryenBinaryGetOp(BinaryenExpressionRef expr); -// Sets the operation being performed by a binary expression. -BINARYEN_API void BinaryenBinarySetOp(BinaryenExpressionRef expr, - BinaryenOp op); -// Gets the left expression of a binary expression. -BINARYEN_API BinaryenExpressionRef -BinaryenBinaryGetLeft(BinaryenExpressionRef expr); -// Sets the left expression of a binary expression. -BINARYEN_API void BinaryenBinarySetLeft(BinaryenExpressionRef expr, - BinaryenExpressionRef leftExpr); -// Gets the right expression of a binary expression. -BINARYEN_API BinaryenExpressionRef -BinaryenBinaryGetRight(BinaryenExpressionRef expr); -// Sets the right expression of a binary expression. -BINARYEN_API void BinaryenBinarySetRight(BinaryenExpressionRef expr, - BinaryenExpressionRef rightExpr); - -// Select - -// Gets the expression becoming selected by a `select` expression if the -// condition turns out true. -BINARYEN_API BinaryenExpressionRef -BinaryenSelectGetIfTrue(BinaryenExpressionRef expr); -// Sets the expression becoming selected by a `select` expression if the -// condition turns out true. -BINARYEN_API void BinaryenSelectSetIfTrue(BinaryenExpressionRef expr, - BinaryenExpressionRef ifTrueExpr); -// Gets the expression becoming selected by a `select` expression if the -// condition turns out false. -BINARYEN_API BinaryenExpressionRef -BinaryenSelectGetIfFalse(BinaryenExpressionRef expr); -// Sets the expression becoming selected by a `select` expression if the -// condition turns out false. -BINARYEN_API void BinaryenSelectSetIfFalse(BinaryenExpressionRef expr, - BinaryenExpressionRef ifFalseExpr); -// Gets the condition expression of a `select` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenSelectGetCondition(BinaryenExpressionRef expr); -// Sets the condition expression of a `select` expression. -BINARYEN_API void BinaryenSelectSetCondition(BinaryenExpressionRef expr, - BinaryenExpressionRef condExpr); - -// Drop - -// Gets the value expression being dropped by a `drop` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenDropGetValue(BinaryenExpressionRef expr); -// Sets the value expression being dropped by a `drop` expression. -BINARYEN_API void BinaryenDropSetValue(BinaryenExpressionRef expr, - BinaryenExpressionRef valueExpr); - -// Return - -// Gets the value expression, if any, being returned by a `return` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenReturnGetValue(BinaryenExpressionRef expr); -// Sets the value expression, if any, being returned by a `return` expression. -BINARYEN_API void BinaryenReturnSetValue(BinaryenExpressionRef expr, - BinaryenExpressionRef valueExpr); - -// AtomicRMW - -// Gets the operation being performed by an atomic read-modify-write expression. -BINARYEN_API BinaryenOp BinaryenAtomicRMWGetOp(BinaryenExpressionRef expr); -// Sets the operation being performed by an atomic read-modify-write expression. -BINARYEN_API void BinaryenAtomicRMWSetOp(BinaryenExpressionRef expr, - BinaryenOp op); -// Gets the number of bytes affected by an atomic read-modify-write expression. -BINARYEN_API uint32_t BinaryenAtomicRMWGetBytes(BinaryenExpressionRef expr); -// Sets the number of bytes affected by an atomic read-modify-write expression. -BINARYEN_API void BinaryenAtomicRMWSetBytes(BinaryenExpressionRef expr, - uint32_t bytes); -// Gets the constant offset of an atomic read-modify-write expression. -BINARYEN_API uint32_t BinaryenAtomicRMWGetOffset(BinaryenExpressionRef expr); -// Sets the constant offset of an atomic read-modify-write expression. -BINARYEN_API void BinaryenAtomicRMWSetOffset(BinaryenExpressionRef expr, - uint32_t offset); -// Gets the pointer expression of an atomic read-modify-write expression. -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicRMWGetPtr(BinaryenExpressionRef expr); -// Sets the pointer expression of an atomic read-modify-write expression. -BINARYEN_API void BinaryenAtomicRMWSetPtr(BinaryenExpressionRef expr, - BinaryenExpressionRef ptrExpr); -// Gets the value expression of an atomic read-modify-write expression. -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicRMWGetValue(BinaryenExpressionRef expr); -// Sets the value expression of an atomic read-modify-write expression. -BINARYEN_API void BinaryenAtomicRMWSetValue(BinaryenExpressionRef expr, - BinaryenExpressionRef valueExpr); - -// AtomicCmpxchg - -// Gets the number of bytes affected by an atomic compare and exchange -// expression. -BINARYEN_API uint32_t BinaryenAtomicCmpxchgGetBytes(BinaryenExpressionRef expr); -// Sets the number of bytes affected by an atomic compare and exchange -// expression. -BINARYEN_API void BinaryenAtomicCmpxchgSetBytes(BinaryenExpressionRef expr, - uint32_t bytes); -// Gets the constant offset of an atomic compare and exchange expression. -BINARYEN_API uint32_t -BinaryenAtomicCmpxchgGetOffset(BinaryenExpressionRef expr); -// Sets the constant offset of an atomic compare and exchange expression. -BINARYEN_API void BinaryenAtomicCmpxchgSetOffset(BinaryenExpressionRef expr, - uint32_t offset); -// Gets the pointer expression of an atomic compare and exchange expression. -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicCmpxchgGetPtr(BinaryenExpressionRef expr); -// Sets the pointer expression of an atomic compare and exchange expression. -BINARYEN_API void BinaryenAtomicCmpxchgSetPtr(BinaryenExpressionRef expr, - BinaryenExpressionRef ptrExpr); -// Gets the expression representing the expected value of an atomic compare and -// exchange expression. -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicCmpxchgGetExpected(BinaryenExpressionRef expr); -// Sets the expression representing the expected value of an atomic compare and -// exchange expression. -BINARYEN_API void -BinaryenAtomicCmpxchgSetExpected(BinaryenExpressionRef expr, - BinaryenExpressionRef expectedExpr); -// Gets the replacement expression of an atomic compare and exchange expression. -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicCmpxchgGetReplacement(BinaryenExpressionRef expr); -// Sets the replacement expression of an atomic compare and exchange expression. -BINARYEN_API void -BinaryenAtomicCmpxchgSetReplacement(BinaryenExpressionRef expr, - BinaryenExpressionRef replacementExpr); - -// AtomicWait - -// Gets the pointer expression of an `memory.atomic.wait` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicWaitGetPtr(BinaryenExpressionRef expr); -// Sets the pointer expression of an `memory.atomic.wait` expression. -BINARYEN_API void BinaryenAtomicWaitSetPtr(BinaryenExpressionRef expr, - BinaryenExpressionRef ptrExpr); -// Gets the expression representing the expected value of an -// `memory.atomic.wait` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicWaitGetExpected(BinaryenExpressionRef expr); -// Sets the expression representing the expected value of an -// `memory.atomic.wait` expression. -BINARYEN_API void -BinaryenAtomicWaitSetExpected(BinaryenExpressionRef expr, - BinaryenExpressionRef expectedExpr); -// Gets the timeout expression of an `memory.atomic.wait` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicWaitGetTimeout(BinaryenExpressionRef expr); -// Sets the timeout expression of an `memory.atomic.wait` expression. -BINARYEN_API void -BinaryenAtomicWaitSetTimeout(BinaryenExpressionRef expr, - BinaryenExpressionRef timeoutExpr); -// Gets the expected type of an `memory.atomic.wait` expression. -BINARYEN_API BinaryenType -BinaryenAtomicWaitGetExpectedType(BinaryenExpressionRef expr); -// Sets the expected type of an `memory.atomic.wait` expression. -BINARYEN_API void BinaryenAtomicWaitSetExpectedType(BinaryenExpressionRef expr, - BinaryenType expectedType); - -// AtomicNotify - -// Gets the pointer expression of an `memory.atomic.notify` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicNotifyGetPtr(BinaryenExpressionRef expr); -// Sets the pointer expression of an `memory.atomic.notify` expression. -BINARYEN_API void BinaryenAtomicNotifySetPtr(BinaryenExpressionRef expr, - BinaryenExpressionRef ptrExpr); -// Gets the notify count expression of an `memory.atomic.notify` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenAtomicNotifyGetNotifyCount(BinaryenExpressionRef expr); -// Sets the notify count expression of an `memory.atomic.notify` expression. -BINARYEN_API void -BinaryenAtomicNotifySetNotifyCount(BinaryenExpressionRef expr, - BinaryenExpressionRef notifyCountExpr); - -// AtomicFence - -// Gets the order of an `atomic.fence` expression. -BINARYEN_API uint8_t BinaryenAtomicFenceGetOrder(BinaryenExpressionRef expr); -// Sets the order of an `atomic.fence` expression. -BINARYEN_API void BinaryenAtomicFenceSetOrder(BinaryenExpressionRef expr, - uint8_t order); - -// SIMDExtract - -// Gets the operation being performed by a SIMD extract expression. -BINARYEN_API BinaryenOp BinaryenSIMDExtractGetOp(BinaryenExpressionRef expr); -// Sets the operation being performed by a SIMD extract expression. -BINARYEN_API void BinaryenSIMDExtractSetOp(BinaryenExpressionRef expr, - BinaryenOp op); -// Gets the vector expression a SIMD extract expression extracts from. -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDExtractGetVec(BinaryenExpressionRef expr); -// Sets the vector expression a SIMD extract expression extracts from. -BINARYEN_API void BinaryenSIMDExtractSetVec(BinaryenExpressionRef expr, - BinaryenExpressionRef vecExpr); -// Gets the index of the extracted lane of a SIMD extract expression. -BINARYEN_API uint8_t BinaryenSIMDExtractGetIndex(BinaryenExpressionRef expr); -// Sets the index of the extracted lane of a SIMD extract expression. -BINARYEN_API void BinaryenSIMDExtractSetIndex(BinaryenExpressionRef expr, - uint8_t index); - -// SIMDReplace - -// Gets the operation being performed by a SIMD replace expression. -BINARYEN_API BinaryenOp BinaryenSIMDReplaceGetOp(BinaryenExpressionRef expr); -// Sets the operation being performed by a SIMD replace expression. -BINARYEN_API void BinaryenSIMDReplaceSetOp(BinaryenExpressionRef expr, - BinaryenOp op); -// Gets the vector expression a SIMD replace expression replaces in. -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDReplaceGetVec(BinaryenExpressionRef expr); -// Sets the vector expression a SIMD replace expression replaces in. -BINARYEN_API void BinaryenSIMDReplaceSetVec(BinaryenExpressionRef expr, - BinaryenExpressionRef vecExpr); -// Gets the index of the replaced lane of a SIMD replace expression. -BINARYEN_API uint8_t BinaryenSIMDReplaceGetIndex(BinaryenExpressionRef expr); -// Sets the index of the replaced lane of a SIMD replace expression. -BINARYEN_API void BinaryenSIMDReplaceSetIndex(BinaryenExpressionRef expr, - uint8_t index); -// Gets the value expression a SIMD replace expression replaces with. -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDReplaceGetValue(BinaryenExpressionRef expr); -// Sets the value expression a SIMD replace expression replaces with. -BINARYEN_API void BinaryenSIMDReplaceSetValue(BinaryenExpressionRef expr, - BinaryenExpressionRef valueExpr); - -// SIMDShuffle - -// Gets the left expression of a SIMD shuffle expression. -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDShuffleGetLeft(BinaryenExpressionRef expr); -// Sets the left expression of a SIMD shuffle expression. -BINARYEN_API void BinaryenSIMDShuffleSetLeft(BinaryenExpressionRef expr, - BinaryenExpressionRef leftExpr); -// Gets the right expression of a SIMD shuffle expression. -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDShuffleGetRight(BinaryenExpressionRef expr); -// Sets the right expression of a SIMD shuffle expression. -BINARYEN_API void BinaryenSIMDShuffleSetRight(BinaryenExpressionRef expr, - BinaryenExpressionRef rightExpr); -// Gets the 128-bit mask of a SIMD shuffle expression. -BINARYEN_API void BinaryenSIMDShuffleGetMask(BinaryenExpressionRef expr, - uint8_t* mask); -// Sets the 128-bit mask of a SIMD shuffle expression. -BINARYEN_API void BinaryenSIMDShuffleSetMask(BinaryenExpressionRef expr, - const uint8_t mask[16]); - -// SIMDTernary - -// Gets the operation being performed by a SIMD ternary expression. -BINARYEN_API BinaryenOp BinaryenSIMDTernaryGetOp(BinaryenExpressionRef expr); -// Sets the operation being performed by a SIMD ternary expression. -BINARYEN_API void BinaryenSIMDTernarySetOp(BinaryenExpressionRef expr, - BinaryenOp op); -// Gets the first operand expression of a SIMD ternary expression. -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDTernaryGetA(BinaryenExpressionRef expr); -// Sets the first operand expression of a SIMD ternary expression. -BINARYEN_API void BinaryenSIMDTernarySetA(BinaryenExpressionRef expr, - BinaryenExpressionRef aExpr); -// Gets the second operand expression of a SIMD ternary expression. -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDTernaryGetB(BinaryenExpressionRef expr); -// Sets the second operand expression of a SIMD ternary expression. -BINARYEN_API void BinaryenSIMDTernarySetB(BinaryenExpressionRef expr, - BinaryenExpressionRef bExpr); -// Gets the third operand expression of a SIMD ternary expression. -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDTernaryGetC(BinaryenExpressionRef expr); -// Sets the third operand expression of a SIMD ternary expression. -BINARYEN_API void BinaryenSIMDTernarySetC(BinaryenExpressionRef expr, - BinaryenExpressionRef cExpr); - -// SIMDShift - -// Gets the operation being performed by a SIMD shift expression. -BINARYEN_API BinaryenOp BinaryenSIMDShiftGetOp(BinaryenExpressionRef expr); -// Sets the operation being performed by a SIMD shift expression. -BINARYEN_API void BinaryenSIMDShiftSetOp(BinaryenExpressionRef expr, - BinaryenOp op); -// Gets the expression being shifted by a SIMD shift expression. -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDShiftGetVec(BinaryenExpressionRef expr); -// Sets the expression being shifted by a SIMD shift expression. -BINARYEN_API void BinaryenSIMDShiftSetVec(BinaryenExpressionRef expr, - BinaryenExpressionRef vecExpr); -// Gets the expression representing the shift of a SIMD shift expression. -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDShiftGetShift(BinaryenExpressionRef expr); -// Sets the expression representing the shift of a SIMD shift expression. -BINARYEN_API void BinaryenSIMDShiftSetShift(BinaryenExpressionRef expr, - BinaryenExpressionRef shiftExpr); - -// SIMDLoad - -// Gets the operation being performed by a SIMD load expression. -BINARYEN_API BinaryenOp BinaryenSIMDLoadGetOp(BinaryenExpressionRef expr); -// Sets the operation being performed by a SIMD load expression. -BINARYEN_API void BinaryenSIMDLoadSetOp(BinaryenExpressionRef expr, - BinaryenOp op); -// Gets the constant offset of a SIMD load expression. -BINARYEN_API uint32_t BinaryenSIMDLoadGetOffset(BinaryenExpressionRef expr); -// Sets the constant offset of a SIMD load expression. -BINARYEN_API void BinaryenSIMDLoadSetOffset(BinaryenExpressionRef expr, - uint32_t offset); -// Gets the byte alignment of a SIMD load expression. -BINARYEN_API uint32_t BinaryenSIMDLoadGetAlign(BinaryenExpressionRef expr); -// Sets the byte alignment of a SIMD load expression. -BINARYEN_API void BinaryenSIMDLoadSetAlign(BinaryenExpressionRef expr, - uint32_t align); -// Gets the pointer expression of a SIMD load expression. -BINARYEN_API BinaryenExpressionRef -BinaryenSIMDLoadGetPtr(BinaryenExpressionRef expr); -// Sets the pointer expression of a SIMD load expression. -BINARYEN_API void BinaryenSIMDLoadSetPtr(BinaryenExpressionRef expr, - BinaryenExpressionRef ptrExpr); - -// MemoryInit - -// Gets the index of the segment being initialized by a `memory.init` -// expression. -BINARYEN_API uint32_t BinaryenMemoryInitGetSegment(BinaryenExpressionRef expr); -// Sets the index of the segment being initialized by a `memory.init` -// expression. -BINARYEN_API void BinaryenMemoryInitSetSegment(BinaryenExpressionRef expr, - uint32_t segmentIndex); -// Gets the destination expression of a `memory.init` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryInitGetDest(BinaryenExpressionRef expr); -// Sets the destination expression of a `memory.init` expression. -BINARYEN_API void BinaryenMemoryInitSetDest(BinaryenExpressionRef expr, - BinaryenExpressionRef destExpr); -// Gets the offset expression of a `memory.init` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryInitGetOffset(BinaryenExpressionRef expr); -// Sets the offset expression of a `memory.init` expression. -BINARYEN_API void BinaryenMemoryInitSetOffset(BinaryenExpressionRef expr, - BinaryenExpressionRef offsetExpr); -// Gets the size expression of a `memory.init` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryInitGetSize(BinaryenExpressionRef expr); -// Sets the size expression of a `memory.init` expression. -BINARYEN_API void BinaryenMemoryInitSetSize(BinaryenExpressionRef expr, - BinaryenExpressionRef sizeExpr); - -// DataDrop - -// Gets the index of the segment being dropped by a `data.drop` expression. -BINARYEN_API uint32_t BinaryenDataDropGetSegment(BinaryenExpressionRef expr); -// Sets the index of the segment being dropped by a `data.drop` expression. -BINARYEN_API void BinaryenDataDropSetSegment(BinaryenExpressionRef expr, - uint32_t segmentIndex); - -// MemoryCopy - -// Gets the destination expression of a `memory.copy` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryCopyGetDest(BinaryenExpressionRef expr); -// Sets the destination expression of a `memory.copy` expression. -BINARYEN_API void BinaryenMemoryCopySetDest(BinaryenExpressionRef expr, - BinaryenExpressionRef destExpr); -// Gets the source expression of a `memory.copy` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryCopyGetSource(BinaryenExpressionRef expr); -// Sets the source expression of a `memory.copy` expression. -BINARYEN_API void BinaryenMemoryCopySetSource(BinaryenExpressionRef expr, - BinaryenExpressionRef sourceExpr); -// Gets the size expression (number of bytes copied) of a `memory.copy` -// expression. -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryCopyGetSize(BinaryenExpressionRef expr); -// Sets the size expression (number of bytes copied) of a `memory.copy` -// expression. -BINARYEN_API void BinaryenMemoryCopySetSize(BinaryenExpressionRef expr, - BinaryenExpressionRef sizeExpr); - -// MemoryFill - -// Gets the destination expression of a `memory.fill` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryFillGetDest(BinaryenExpressionRef expr); -// Sets the destination expression of a `memory.fill` expression. -BINARYEN_API void BinaryenMemoryFillSetDest(BinaryenExpressionRef expr, - BinaryenExpressionRef destExpr); -// Gets the value expression of a `memory.fill` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryFillGetValue(BinaryenExpressionRef expr); -// Sets the value expression of a `memory.fill` expression. -BINARYEN_API void BinaryenMemoryFillSetValue(BinaryenExpressionRef expr, - BinaryenExpressionRef valueExpr); -// Gets the size expression (number of bytes filled) of a `memory.fill` -// expression. -BINARYEN_API BinaryenExpressionRef -BinaryenMemoryFillGetSize(BinaryenExpressionRef expr); -// Sets the size expression (number of bytes filled) of a `memory.fill` -// expression. -BINARYEN_API void BinaryenMemoryFillSetSize(BinaryenExpressionRef expr, - BinaryenExpressionRef sizeExpr); - -// RefIs - -// Gets the operation performed by a `ref.is_*` expression. -BINARYEN_API BinaryenOp BinaryenRefIsGetOp(BinaryenExpressionRef expr); -// Sets the operation performed by a `ref.is_*` expression. -BINARYEN_API void BinaryenRefIsSetOp(BinaryenExpressionRef expr, BinaryenOp op); -// Gets the value expression tested by a `ref.is_*` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenRefIsGetValue(BinaryenExpressionRef expr); -// Sets the value expression tested by a `ref.is_*` expression. -BINARYEN_API void BinaryenRefIsSetValue(BinaryenExpressionRef expr, - BinaryenExpressionRef valueExpr); - -// RefAs - -// Gets the operation performed by a `ref.as_*` expression. -BINARYEN_API BinaryenOp BinaryenRefAsGetOp(BinaryenExpressionRef expr); -// Sets the operation performed by a `ref.as_*` expression. -BINARYEN_API void BinaryenRefAsSetOp(BinaryenExpressionRef expr, BinaryenOp op); -// Gets the value expression tested by a `ref.as_*` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenRefAsGetValue(BinaryenExpressionRef expr); -// Sets the value expression tested by a `ref.as_*` expression. -BINARYEN_API void BinaryenRefAsSetValue(BinaryenExpressionRef expr, - BinaryenExpressionRef valueExpr); - -// RefFunc - -// Gets the name of the function being wrapped by a `ref.func` expression. -BINARYEN_API const char* BinaryenRefFuncGetFunc(BinaryenExpressionRef expr); -// Sets the name of the function being wrapped by a `ref.func` expression. -BINARYEN_API void BinaryenRefFuncSetFunc(BinaryenExpressionRef expr, - const char* funcName); - -// RefEq - -// Gets the left expression of a `ref.eq` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenRefEqGetLeft(BinaryenExpressionRef expr); -// Sets the left expression of a `ref.eq` expression. -BINARYEN_API void BinaryenRefEqSetLeft(BinaryenExpressionRef expr, - BinaryenExpressionRef left); -// Gets the right expression of a `ref.eq` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenRefEqGetRight(BinaryenExpressionRef expr); -// Sets the right expression of a `ref.eq` expression. -BINARYEN_API void BinaryenRefEqSetRight(BinaryenExpressionRef expr, - BinaryenExpressionRef right); - -// Try - -// Gets the name (label) of a `try` expression. -BINARYEN_API const char* BinaryenTryGetName(BinaryenExpressionRef expr); -// Sets the name (label) of a `try` expression. -BINARYEN_API void BinaryenTrySetName(BinaryenExpressionRef expr, - const char* name); -// Gets the body expression of a `try` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenTryGetBody(BinaryenExpressionRef expr); -// Sets the body expression of a `try` expression. -BINARYEN_API void BinaryenTrySetBody(BinaryenExpressionRef expr, - BinaryenExpressionRef bodyExpr); -// Gets the number of catch blocks (= the number of catch events) of a `try` -// expression. -BINARYEN_API BinaryenIndex -BinaryenTryGetNumCatchEvents(BinaryenExpressionRef expr); -// Gets the number of catch/catch_all blocks of a `try` expression. -BINARYEN_API BinaryenIndex -BinaryenTryGetNumCatchBodies(BinaryenExpressionRef expr); -// Gets the catch event at the specified index of a `try` expression. -BINARYEN_API const char* BinaryenTryGetCatchEventAt(BinaryenExpressionRef expr, - BinaryenIndex index); -// Sets the catch event at the specified index of a `try` expression. -BINARYEN_API void BinaryenTrySetCatchEventAt(BinaryenExpressionRef expr, - BinaryenIndex index, - const char* catchEvent); -// Appends a catch event to a `try` expression, returning its insertion index. -BINARYEN_API BinaryenIndex -BinaryenTryAppendCatchEvent(BinaryenExpressionRef expr, const char* catchEvent); -// Inserts a catch event at the specified index of a `try` expression, moving -// existing catch events including the one previously at that index one index -// up. -BINARYEN_API void BinaryenTryInsertCatchEventAt(BinaryenExpressionRef expr, - BinaryenIndex index, - const char* catchEvent); -// Removes the catch event at the specified index of a `try` expression, moving -// all subsequent catch events one index down. Returns the event. -BINARYEN_API const char* -BinaryenTryRemoveCatchEventAt(BinaryenExpressionRef expr, BinaryenIndex index); -// Gets the catch body expression at the specified index of a `try` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenTryGetCatchBodyAt(BinaryenExpressionRef expr, BinaryenIndex index); -// Sets the catch body expression at the specified index of a `try` expression. -BINARYEN_API void BinaryenTrySetCatchBodyAt(BinaryenExpressionRef expr, - BinaryenIndex index, - BinaryenExpressionRef catchExpr); -// Appends a catch expression to a `try` expression, returning its insertion -// index. -BINARYEN_API BinaryenIndex BinaryenTryAppendCatchBody( - BinaryenExpressionRef expr, BinaryenExpressionRef catchExpr); -// Inserts a catch expression at the specified index of a `try` expression, -// moving existing catch bodies including the one previously at that index one -// index up. -BINARYEN_API void BinaryenTryInsertCatchBodyAt(BinaryenExpressionRef expr, - BinaryenIndex index, - BinaryenExpressionRef catchExpr); -// Removes the catch expression at the specified index of a `try` expression, -// moving all subsequent catch bodies one index down. Returns the catch -// expression. -BINARYEN_API BinaryenExpressionRef -BinaryenTryRemoveCatchBodyAt(BinaryenExpressionRef expr, BinaryenIndex index); -// Gets whether a `try` expression has a catch_all clause. -BINARYEN_API bool BinaryenTryHasCatchAll(BinaryenExpressionRef expr); -// Gets the target label of a `delegate`. -BINARYEN_API const char* -BinaryenTryGetDelegateTarget(BinaryenExpressionRef expr); -// Sets the target label of a `delegate`. -BINARYEN_API void BinaryenTrySetDelegateTarget(BinaryenExpressionRef expr, - const char* delegateTarget); -// Gets whether a `try` expression is a try-delegate. -BINARYEN_API bool BinaryenTryIsDelegate(BinaryenExpressionRef expr); - -// Throw - -// Gets the name of the event being thrown by a `throw` expression. -BINARYEN_API const char* BinaryenThrowGetEvent(BinaryenExpressionRef expr); -// Sets the name of the event being thrown by a `throw` expression. -BINARYEN_API void BinaryenThrowSetEvent(BinaryenExpressionRef expr, - const char* eventName); -// Gets the number of operands of a `throw` expression. -BINARYEN_API BinaryenIndex -BinaryenThrowGetNumOperands(BinaryenExpressionRef expr); -// Gets the operand at the specified index of a `throw` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenThrowGetOperandAt(BinaryenExpressionRef expr, BinaryenIndex index); -// Sets the operand at the specified index of a `throw` expression. -BINARYEN_API void BinaryenThrowSetOperandAt(BinaryenExpressionRef expr, - BinaryenIndex index, - BinaryenExpressionRef operandExpr); -// Appends an operand expression to a `throw` expression, returning its -// insertion index. -BINARYEN_API BinaryenIndex BinaryenThrowAppendOperand( - BinaryenExpressionRef expr, BinaryenExpressionRef operandExpr); -// Inserts an operand expression at the specified index of a `throw` expression, -// moving existing operands including the one previously at that index one index -// up. -BINARYEN_API void -BinaryenThrowInsertOperandAt(BinaryenExpressionRef expr, - BinaryenIndex index, - BinaryenExpressionRef operandExpr); -// Removes the operand expression at the specified index of a `throw` -// expression, moving all subsequent operands one index down. Returns the -// operand expression. -BINARYEN_API BinaryenExpressionRef -BinaryenThrowRemoveOperandAt(BinaryenExpressionRef expr, BinaryenIndex index); - -// Rethrow - -// Gets the target catch's corresponding try label of a `rethrow` expression. -BINARYEN_API const char* BinaryenRethrowGetTarget(BinaryenExpressionRef expr); -// Sets the target catch's corresponding try label of a `rethrow` expression. -BINARYEN_API void BinaryenRethrowSetTarget(BinaryenExpressionRef expr, - const char* target); - -// TupleMake - -// Gets the number of operands of a `tuple.make` expression. -BINARYEN_API BinaryenIndex -BinaryenTupleMakeGetNumOperands(BinaryenExpressionRef expr); -// Gets the operand at the specified index of a `tuple.make` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenTupleMakeGetOperandAt(BinaryenExpressionRef expr, BinaryenIndex index); -// Sets the operand at the specified index of a `tuple.make` expression. -BINARYEN_API void -BinaryenTupleMakeSetOperandAt(BinaryenExpressionRef expr, - BinaryenIndex index, - BinaryenExpressionRef operandExpr); -// Appends an operand expression to a `tuple.make` expression, returning its -// insertion index. -BINARYEN_API BinaryenIndex BinaryenTupleMakeAppendOperand( - BinaryenExpressionRef expr, BinaryenExpressionRef operandExpr); -// Inserts an operand expression at the specified index of a `tuple.make` -// expression, moving existing operands including the one previously at that -// index one index up. -BINARYEN_API void -BinaryenTupleMakeInsertOperandAt(BinaryenExpressionRef expr, - BinaryenIndex index, - BinaryenExpressionRef operandExpr); -// Removes the operand expression at the specified index of a `tuple.make` -// expression, moving all subsequent operands one index down. Returns the -// operand expression. -BINARYEN_API BinaryenExpressionRef BinaryenTupleMakeRemoveOperandAt( - BinaryenExpressionRef expr, BinaryenIndex index); - -// TupleExtract - -// Gets the tuple extracted from of a `tuple.extract` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenTupleExtractGetTuple(BinaryenExpressionRef expr); -// Sets the tuple extracted from of a `tuple.extract` expression. -BINARYEN_API void BinaryenTupleExtractSetTuple(BinaryenExpressionRef expr, - BinaryenExpressionRef tupleExpr); -// Gets the index extracted at of a `tuple.extract` expression. -BINARYEN_API BinaryenIndex -BinaryenTupleExtractGetIndex(BinaryenExpressionRef expr); -// Sets the index extracted at of a `tuple.extract` expression. -BINARYEN_API void BinaryenTupleExtractSetIndex(BinaryenExpressionRef expr, - BinaryenIndex index); - -// I31New - -// Gets the value expression of an `i31.new` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenI31NewGetValue(BinaryenExpressionRef expr); -// Sets the value expression of an `i31.new` expression. -BINARYEN_API void BinaryenI31NewSetValue(BinaryenExpressionRef expr, - BinaryenExpressionRef valueExpr); - -// I31Get - -// Gets the i31 expression of an `i31.get` expression. -BINARYEN_API BinaryenExpressionRef -BinaryenI31GetGetI31(BinaryenExpressionRef expr); -// Sets the i31 expression of an `i31.get` expression. -BINARYEN_API void BinaryenI31GetSetI31(BinaryenExpressionRef expr, - BinaryenExpressionRef i31Expr); -// Gets whether an `i31.get` expression returns a signed value (`_s`). -BINARYEN_API bool BinaryenI31GetIsSigned(BinaryenExpressionRef expr); -// Sets whether an `i31.get` expression returns a signed value (`_s`). -BINARYEN_API void BinaryenI31GetSetSigned(BinaryenExpressionRef expr, - bool signed_); - -// Functions - -BINARYEN_REF(Function); - -// Adds a function to the module. This is thread-safe. -// @varTypes: the types of variables. In WebAssembly, vars share -// an index space with params. In other words, params come from -// the function type, and vars are provided in this call, and -// together they are all the locals. The order is first params -// and then vars, so if you have one param it will be at index -// 0 (and written $0), and if you also have 2 vars they will be -// at indexes 1 and 2, etc., that is, they share an index space. -BINARYEN_API BinaryenFunctionRef -BinaryenAddFunction(BinaryenModuleRef module, - const char* name, - BinaryenType params, - BinaryenType results, - BinaryenType* varTypes, - BinaryenIndex numVarTypes, - BinaryenExpressionRef body); -// Gets a function reference by name. Returns NULL if the function does not -// exist. -BINARYEN_API BinaryenFunctionRef BinaryenGetFunction(BinaryenModuleRef module, - const char* name); -// Removes a function by name. -BINARYEN_API void BinaryenRemoveFunction(BinaryenModuleRef module, - const char* name); - -// Gets the number of functions in the module. -BINARYEN_API BinaryenIndex BinaryenGetNumFunctions(BinaryenModuleRef module); -// Gets the function at the specified index. -BINARYEN_API BinaryenFunctionRef -BinaryenGetFunctionByIndex(BinaryenModuleRef module, BinaryenIndex index); - -// Imports - -BINARYEN_API void BinaryenAddFunctionImport(BinaryenModuleRef module, - const char* internalName, - const char* externalModuleName, - const char* externalBaseName, - BinaryenType params, - BinaryenType results); -BINARYEN_API void BinaryenAddTableImport(BinaryenModuleRef module, - const char* internalName, - const char* externalModuleName, - const char* externalBaseName); -BINARYEN_API void BinaryenAddMemoryImport(BinaryenModuleRef module, - const char* internalName, - const char* externalModuleName, - const char* externalBaseName, - uint8_t shared); -BINARYEN_API void BinaryenAddGlobalImport(BinaryenModuleRef module, - const char* internalName, - const char* externalModuleName, - const char* externalBaseName, - BinaryenType globalType, - bool mutable_); -BINARYEN_API void BinaryenAddEventImport(BinaryenModuleRef module, - const char* internalName, - const char* externalModuleName, - const char* externalBaseName, - uint32_t attribute, - BinaryenType params, - BinaryenType results); - -// Exports - -BINARYEN_REF(Export); - -WASM_DEPRECATED BinaryenExportRef BinaryenAddExport(BinaryenModuleRef module, - const char* internalName, - const char* externalName); -// Adds a function export to the module. -BINARYEN_API BinaryenExportRef BinaryenAddFunctionExport( - BinaryenModuleRef module, const char* internalName, const char* externalName); -// Adds a table export to the module. -BINARYEN_API BinaryenExportRef BinaryenAddTableExport(BinaryenModuleRef module, - const char* internalName, - const char* externalName); -// Adds a memory export to the module. -BINARYEN_API BinaryenExportRef BinaryenAddMemoryExport( - BinaryenModuleRef module, const char* internalName, const char* externalName); -// Adds a global export to the module. -BINARYEN_API BinaryenExportRef BinaryenAddGlobalExport( - BinaryenModuleRef module, const char* internalName, const char* externalName); -// Adds an event export to the module. -BINARYEN_API BinaryenExportRef BinaryenAddEventExport(BinaryenModuleRef module, - const char* internalName, - const char* externalName); -// Gets an export reference by external name. Returns NULL if the export does -// not exist. -BINARYEN_API BinaryenExportRef BinaryenGetExport(BinaryenModuleRef module, - const char* externalName); -// Removes an export by external name. -BINARYEN_API void BinaryenRemoveExport(BinaryenModuleRef module, - const char* externalName); -// Gets the number of exports in the module. -BINARYEN_API BinaryenIndex BinaryenGetNumExports(BinaryenModuleRef module); -// Gets the export at the specified index. -BINARYEN_API BinaryenExportRef -BinaryenGetExportByIndex(BinaryenModuleRef module, BinaryenIndex index); - -// Globals - -BINARYEN_REF(Global); - -// Adds a global to the module. -BINARYEN_API BinaryenGlobalRef BinaryenAddGlobal(BinaryenModuleRef module, - const char* name, - BinaryenType type, - bool mutable_, - BinaryenExpressionRef init); -// Gets a global reference by name. Returns NULL if the global does not exist. -BINARYEN_API BinaryenGlobalRef BinaryenGetGlobal(BinaryenModuleRef module, - const char* name); -// Removes a global by name. -BINARYEN_API void BinaryenRemoveGlobal(BinaryenModuleRef module, - const char* name); -// Gets the number of globals in the module. -BINARYEN_API BinaryenIndex BinaryenGetNumGlobals(BinaryenModuleRef module); -// Gets the global at the specified index. -BINARYEN_API BinaryenGlobalRef -BinaryenGetGlobalByIndex(BinaryenModuleRef module, BinaryenIndex index); - -// Events - -BINARYEN_REF(Event); - -// Adds an event to the module. -BINARYEN_API BinaryenEventRef BinaryenAddEvent(BinaryenModuleRef module, - const char* name, - uint32_t attribute, - BinaryenType params, - BinaryenType results); -// Gets an event reference by name. Returns NULL if the event does not exist. -BINARYEN_API BinaryenEventRef BinaryenGetEvent(BinaryenModuleRef module, - const char* name); -// Removes an event by name. -BINARYEN_API void BinaryenRemoveEvent(BinaryenModuleRef module, - const char* name); - -// Tables - -BINARYEN_REF(Table); - -BINARYEN_API BinaryenTableRef BinaryenAddTable(BinaryenModuleRef module, - const char* table, - BinaryenIndex initial, - BinaryenIndex maximum); -BINARYEN_API void BinaryenRemoveTable(BinaryenModuleRef module, - const char* table); -BINARYEN_API BinaryenIndex BinaryenGetNumTables(BinaryenModuleRef module); -BINARYEN_API BinaryenTableRef BinaryenGetTable(BinaryenModuleRef module, - const char* name); -BINARYEN_API BinaryenTableRef BinaryenGetTableByIndex(BinaryenModuleRef module, - BinaryenIndex index); - -// Elem segments - -BINARYEN_REF(ElementSegment); - -BINARYEN_API BinaryenElementSegmentRef -BinaryenAddActiveElementSegment(BinaryenModuleRef module, - const char* table, - const char* name, - const char** funcNames, - BinaryenIndex numFuncNames, - BinaryenExpressionRef offset); -BINARYEN_API BinaryenElementSegmentRef -BinaryenAddPassiveElementSegment(BinaryenModuleRef module, - const char* name, - const char** funcNames, - BinaryenIndex numFuncNames); -BINARYEN_API void BinaryenRemoveElementSegment(BinaryenModuleRef module, - const char* name); -BINARYEN_API BinaryenIndex -BinaryenGetNumElementSegments(BinaryenModuleRef module); -BINARYEN_API BinaryenElementSegmentRef -BinaryenGetElementSegment(BinaryenModuleRef module, const char* name); -BINARYEN_API BinaryenElementSegmentRef -BinaryenGetElementSegmentByIndex(BinaryenModuleRef module, BinaryenIndex index); - -// Memory. One per module - -// Each memory has data in segments, a start offset in segmentOffsets, and a -// size in segmentSizes. exportName can be NULL -BINARYEN_API void BinaryenSetMemory(BinaryenModuleRef module, - BinaryenIndex initial, - BinaryenIndex maximum, - const char* exportName, - const char** segments, - bool* segmentPassive, - BinaryenExpressionRef* segmentOffsets, - BinaryenIndex* segmentSizes, - BinaryenIndex numSegments, - bool shared); - -// Memory segments. Query utilities. - -BINARYEN_API uint32_t BinaryenGetNumMemorySegments(BinaryenModuleRef module); -BINARYEN_API uint32_t -BinaryenGetMemorySegmentByteOffset(BinaryenModuleRef module, BinaryenIndex id); -BINARYEN_API size_t BinaryenGetMemorySegmentByteLength(BinaryenModuleRef module, - BinaryenIndex id); -BINARYEN_API bool BinaryenGetMemorySegmentPassive(BinaryenModuleRef module, - BinaryenIndex id); -BINARYEN_API void BinaryenCopyMemorySegmentData(BinaryenModuleRef module, - BinaryenIndex id, - char* buffer); - -// Start function. One per module - -BINARYEN_API void BinaryenSetStart(BinaryenModuleRef module, - BinaryenFunctionRef start); - -// Features - -// These control what features are allowed when validation and in passes. -BINARYEN_API BinaryenFeatures -BinaryenModuleGetFeatures(BinaryenModuleRef module); -BINARYEN_API void BinaryenModuleSetFeatures(BinaryenModuleRef module, - BinaryenFeatures features); - -// -// ========== Module Operations ========== -// - -// Parse a module in s-expression text format -BINARYEN_API BinaryenModuleRef BinaryenModuleParse(const char* text); - -// Print a module to stdout in s-expression text format. Useful for debugging. -BINARYEN_API void BinaryenModulePrint(BinaryenModuleRef module); - -// Print a module to stdout in asm.js syntax. -BINARYEN_API void BinaryenModulePrintAsmjs(BinaryenModuleRef module); - -// Validate a module, showing errors on problems. -// @return 0 if an error occurred, 1 if validated succesfully -BINARYEN_API bool BinaryenModuleValidate(BinaryenModuleRef module); - -// Runs the standard optimization passes on the module. Uses the currently set -// global optimize and shrink level. -BINARYEN_API void BinaryenModuleOptimize(BinaryenModuleRef module); - -// Gets the currently set optimize level. Applies to all modules, globally. -// 0, 1, 2 correspond to -O0, -O1, -O2 (default), etc. -BINARYEN_API int BinaryenGetOptimizeLevel(void); - -// Sets the optimization level to use. Applies to all modules, globally. -// 0, 1, 2 correspond to -O0, -O1, -O2 (default), etc. -BINARYEN_API void BinaryenSetOptimizeLevel(int level); - -// Gets the currently set shrink level. Applies to all modules, globally. -// 0, 1, 2 correspond to -O0, -Os (default), -Oz. -BINARYEN_API int BinaryenGetShrinkLevel(void); - -// Sets the shrink level to use. Applies to all modules, globally. -// 0, 1, 2 correspond to -O0, -Os (default), -Oz. -BINARYEN_API void BinaryenSetShrinkLevel(int level); - -// Gets whether generating debug information is currently enabled or not. -// Applies to all modules, globally. -BINARYEN_API bool BinaryenGetDebugInfo(void); - -// Enables or disables debug information in emitted binaries. -// Applies to all modules, globally. -BINARYEN_API void BinaryenSetDebugInfo(bool on); - -// Gets whether the low 1K of memory can be considered unused when optimizing. -// Applies to all modules, globally. -BINARYEN_API bool BinaryenGetLowMemoryUnused(void); - -// Enables or disables whether the low 1K of memory can be considered unused -// when optimizing. Applies to all modules, globally. -BINARYEN_API void BinaryenSetLowMemoryUnused(bool on); - -// Gets whether fast math optimizations are enabled, ignoring for example -// corner cases of floating-point math like NaN changes. -// Applies to all modules, globally. -BINARYEN_API bool BinaryenGetFastMath(void); - -// Enables or disables fast math optimizations, ignoring for example -// corner cases of floating-point math like NaN changes. -// Applies to all modules, globally. -BINARYEN_API void BinaryenSetFastMath(bool value); - -// Gets the value of the specified arbitrary pass argument. -// Applies to all modules, globally. -BINARYEN_API const char* BinaryenGetPassArgument(const char* name); - -// Sets the value of the specified arbitrary pass argument. Removes the -// respective argument if `value` is NULL. Applies to all modules, globally. -BINARYEN_API void BinaryenSetPassArgument(const char* name, const char* value); - -// Clears all arbitrary pass arguments. -// Applies to all modules, globally. -BINARYEN_API void BinaryenClearPassArguments(); - -// Gets the function size at which we always inline. -// Applies to all modules, globally. -BINARYEN_API BinaryenIndex BinaryenGetAlwaysInlineMaxSize(void); - -// Sets the function size at which we always inline. -// Applies to all modules, globally. -BINARYEN_API void BinaryenSetAlwaysInlineMaxSize(BinaryenIndex size); - -// Gets the function size which we inline when functions are lightweight. -// Applies to all modules, globally. -BINARYEN_API BinaryenIndex BinaryenGetFlexibleInlineMaxSize(void); - -// Sets the function size which we inline when functions are lightweight. -// Applies to all modules, globally. -BINARYEN_API void BinaryenSetFlexibleInlineMaxSize(BinaryenIndex size); - -// Gets the function size which we inline when there is only one caller. -// Applies to all modules, globally. -BINARYEN_API BinaryenIndex BinaryenGetOneCallerInlineMaxSize(void); - -// Sets the function size which we inline when there is only one caller. -// Applies to all modules, globally. -BINARYEN_API void BinaryenSetOneCallerInlineMaxSize(BinaryenIndex size); - -// Gets whether functions with loops are allowed to be inlined. -// Applies to all modules, globally. -BINARYEN_API bool BinaryenGetAllowInliningFunctionsWithLoops(void); - -// Sets whether functions with loops are allowed to be inlined. -// Applies to all modules, globally. -BINARYEN_API void BinaryenSetAllowInliningFunctionsWithLoops(bool enabled); - -// Runs the specified passes on the module. Uses the currently set global -// optimize and shrink level. -BINARYEN_API void BinaryenModuleRunPasses(BinaryenModuleRef module, - const char** passes, - BinaryenIndex numPasses); - -// Auto-generate drop() operations where needed. This lets you generate code -// without worrying about where they are needed. (It is more efficient to do it -// yourself, but simpler to use autodrop). -BINARYEN_API void BinaryenModuleAutoDrop(BinaryenModuleRef module); - -// Serialize a module into binary form. Uses the currently set global debugInfo -// option. -// @return how many bytes were written. This will be less than or equal to -// outputSize -size_t BINARYEN_API BinaryenModuleWrite(BinaryenModuleRef module, - char* output, - size_t outputSize); - -// Serialize a module in s-expression text format. -// @return how many bytes were written. This will be less than or equal to -// outputSize -BINARYEN_API size_t BinaryenModuleWriteText(BinaryenModuleRef module, - char* output, - size_t outputSize); - -typedef struct BinaryenBufferSizes { - size_t outputBytes; - size_t sourceMapBytes; -} BinaryenBufferSizes; - -// Serialize a module into binary form including its source map. Uses the -// currently set global debugInfo option. -// @returns how many bytes were written. This will be less than or equal to -// outputSize -BINARYEN_API BinaryenBufferSizes -BinaryenModuleWriteWithSourceMap(BinaryenModuleRef module, - const char* url, - char* output, - size_t outputSize, - char* sourceMap, - size_t sourceMapSize); - -// Result structure of BinaryenModuleAllocateAndWrite. Contained buffers have -// been allocated using malloc() and the user is expected to free() them -// manually once not needed anymore. -typedef struct BinaryenModuleAllocateAndWriteResult { - void* binary; - size_t binaryBytes; - char* sourceMap; -} BinaryenModuleAllocateAndWriteResult; - -// Serializes a module into binary form, optionally including its source map if -// sourceMapUrl has been specified. Uses the currently set global debugInfo -// option. Differs from BinaryenModuleWrite in that it implicitly allocates -// appropriate buffers using malloc(), and expects the user to free() them -// manually once not needed anymore. -BINARYEN_API BinaryenModuleAllocateAndWriteResult -BinaryenModuleAllocateAndWrite(BinaryenModuleRef module, - const char* sourceMapUrl); - -// Serialize a module in s-expression form. Implicity allocates the returned -// char* with malloc(), and expects the user to free() them manually -// once not needed anymore. -BINARYEN_API char* BinaryenModuleAllocateAndWriteText(BinaryenModuleRef module); - -// Deserialize a module from binary form. -BINARYEN_API BinaryenModuleRef BinaryenModuleRead(char* input, - size_t inputSize); - -// Execute a module in the Binaryen interpreter. This will create an instance of -// the module, run it in the interpreter - which means running the start method -// - and then destroying the instance. -BINARYEN_API void BinaryenModuleInterpret(BinaryenModuleRef module); - -// Adds a debug info file name to the module and returns its index. -BINARYEN_API BinaryenIndex BinaryenModuleAddDebugInfoFileName( - BinaryenModuleRef module, const char* filename); - -// Gets the name of the debug info file at the specified index. Returns `NULL` -// if it does not exist. -BINARYEN_API const char* -BinaryenModuleGetDebugInfoFileName(BinaryenModuleRef module, - BinaryenIndex index); - -// -// ========== Function Operations ========== -// - -// Gets the name of the specified `Function`. -BINARYEN_API const char* BinaryenFunctionGetName(BinaryenFunctionRef func); -// Gets the type of the parameter at the specified index of the specified -// `Function`. -BINARYEN_API BinaryenType BinaryenFunctionGetParams(BinaryenFunctionRef func); -// Gets the result type of the specified `Function`. -BINARYEN_API BinaryenType BinaryenFunctionGetResults(BinaryenFunctionRef func); -// Gets the number of additional locals within the specified `Function`. -BINARYEN_API BinaryenIndex BinaryenFunctionGetNumVars(BinaryenFunctionRef func); -// Gets the type of the additional local at the specified index within the -// specified `Function`. -BINARYEN_API BinaryenType BinaryenFunctionGetVar(BinaryenFunctionRef func, - BinaryenIndex index); -// Gets the number of locals within the specified function. Includes parameters. -BINARYEN_API BinaryenIndex -BinaryenFunctionGetNumLocals(BinaryenFunctionRef func); -// Tests if the local at the specified index has a name. -BINARYEN_API bool BinaryenFunctionHasLocalName(BinaryenFunctionRef func, - BinaryenIndex index); -// Gets the name of the local at the specified index. -BINARYEN_API const char* BinaryenFunctionGetLocalName(BinaryenFunctionRef func, - BinaryenIndex index); -// Sets the name of the local at the specified index. -BINARYEN_API void BinaryenFunctionSetLocalName(BinaryenFunctionRef func, - BinaryenIndex index, - const char* name); -// Gets the body of the specified `Function`. -BINARYEN_API BinaryenExpressionRef -BinaryenFunctionGetBody(BinaryenFunctionRef func); -// Sets the body of the specified `Function`. -BINARYEN_API void BinaryenFunctionSetBody(BinaryenFunctionRef func, - BinaryenExpressionRef body); - -// Runs the standard optimization passes on the function. Uses the currently set -// global optimize and shrink level. -BINARYEN_API void BinaryenFunctionOptimize(BinaryenFunctionRef func, - BinaryenModuleRef module); - -// Runs the specified passes on the function. Uses the currently set global -// optimize and shrink level. -BINARYEN_API void BinaryenFunctionRunPasses(BinaryenFunctionRef func, - BinaryenModuleRef module, - const char** passes, - BinaryenIndex numPasses); - -// Sets the debug location of the specified `Expression` within the specified -// `Function`. -BINARYEN_API void BinaryenFunctionSetDebugLocation(BinaryenFunctionRef func, - BinaryenExpressionRef expr, - BinaryenIndex fileIndex, - BinaryenIndex lineNumber, - BinaryenIndex columnNumber); - -// -// ========== Table Operations ========== -// - -// Gets the name of the specified `Table`. -BINARYEN_API const char* BinaryenTableGetName(BinaryenTableRef table); -// Sets the name of the specified `Table`. -BINARYEN_API void BinaryenTableSetName(BinaryenTableRef table, - const char* name); -// Gets the initial number of pages of the specified `Table`. -BINARYEN_API BinaryenIndex BinaryenTableGetInitial(BinaryenTableRef table); -// Sets the initial number of pages of the specified `Table`. -BINARYEN_API void BinaryenTableSetInitial(BinaryenTableRef table, - BinaryenIndex initial); -// Tests whether the specified `Table` has a maximum number of pages. -BINARYEN_API bool BinaryenTableHasMax(BinaryenTableRef table); -// Gets the maximum number of pages of the specified `Table`. -BINARYEN_API BinaryenIndex BinaryenTableGetMax(BinaryenTableRef table); -// Sets the maximum number of pages of the specified `Table`. -BINARYEN_API void BinaryenTableSetMax(BinaryenTableRef table, - BinaryenIndex max); - -// -// ========== Elem Segment Operations ========== -// - -// Gets the name of the specified `ElementSegment`. -BINARYEN_API const char* -BinaryenElementSegmentGetName(BinaryenElementSegmentRef elem); -// Sets the name of the specified `ElementSegment`. -BINARYEN_API void BinaryenElementSegmentSetName(BinaryenElementSegmentRef elem, - const char* name); -// Gets the table name of the specified `ElementSegment`. -BINARYEN_API const char* -BinaryenElementSegmentGetTable(BinaryenElementSegmentRef elem); -// Sets the table name of the specified `ElementSegment`. -BINARYEN_API void BinaryenElementSegmentSetTable(BinaryenElementSegmentRef elem, - const char* table); -// Gets the segment offset in case of active segments -BINARYEN_API BinaryenExpressionRef -BinaryenElementSegmentGetOffset(BinaryenElementSegmentRef elem); -// Gets the length of items in the segment -BINARYEN_API BinaryenIndex -BinaryenElementSegmentGetLength(BinaryenElementSegmentRef elem); -// Gets the item at the specified index -BINARYEN_API const char* -BinaryenElementSegmentGetData(BinaryenElementSegmentRef elem, - BinaryenIndex dataId); -// Returns true if the specified elem segment is passive -BINARYEN_API bool -BinayenElementSegmentIsPassive(BinaryenElementSegmentRef elem); - -// -// ========== Global Operations ========== -// - -// Gets the name of the specified `Global`. -BINARYEN_API const char* BinaryenGlobalGetName(BinaryenGlobalRef global); -// Gets the name of the `GlobalType` associated with the specified `Global`. May -// be `NULL` if the signature is implicit. -BINARYEN_API BinaryenType BinaryenGlobalGetType(BinaryenGlobalRef global); -// Returns true if the specified `Global` is mutable. -BINARYEN_API bool BinaryenGlobalIsMutable(BinaryenGlobalRef global); -// Gets the initialization expression of the specified `Global`. -BINARYEN_API BinaryenExpressionRef -BinaryenGlobalGetInitExpr(BinaryenGlobalRef global); - -// -// ========== Event Operations ========== -// - -// Gets the name of the specified `Event`. -BINARYEN_API const char* BinaryenEventGetName(BinaryenEventRef event); -// Gets the attribute of the specified `Event`. -BINARYEN_API uint32_t BinaryenEventGetAttribute(BinaryenEventRef event); -// Gets the parameters type of the specified `Event`. -BINARYEN_API BinaryenType BinaryenEventGetParams(BinaryenEventRef event); -// Gets the results type of the specified `Event`. -BINARYEN_API BinaryenType BinaryenEventGetResults(BinaryenEventRef event); - -// -// ========== Import Operations ========== -// - -// Gets the external module name of the specified import. -BINARYEN_API const char* -BinaryenFunctionImportGetModule(BinaryenFunctionRef import); -BINARYEN_API const char* BinaryenTableImportGetModule(BinaryenTableRef import); -BINARYEN_API const char* -BinaryenGlobalImportGetModule(BinaryenGlobalRef import); -BINARYEN_API const char* BinaryenEventImportGetModule(BinaryenEventRef import); -// Gets the external base name of the specified import. -BINARYEN_API const char* -BinaryenFunctionImportGetBase(BinaryenFunctionRef import); -BINARYEN_API const char* BinaryenTableImportGetBase(BinaryenTableRef import); -BINARYEN_API const char* BinaryenGlobalImportGetBase(BinaryenGlobalRef import); -BINARYEN_API const char* BinaryenEventImportGetBase(BinaryenEventRef import); - -// -// ========== Export Operations ========== -// - -// Gets the external kind of the specified export. -BINARYEN_API BinaryenExternalKind -BinaryenExportGetKind(BinaryenExportRef export_); -// Gets the external name of the specified export. -BINARYEN_API const char* BinaryenExportGetName(BinaryenExportRef export_); -// Gets the internal name of the specified export. -BINARYEN_API const char* BinaryenExportGetValue(BinaryenExportRef export_); - -// -// ========= Custom sections ========= -// - -BINARYEN_API void BinaryenAddCustomSection(BinaryenModuleRef module, - const char* name, - const char* contents, - BinaryenIndex contentsSize); - -// -// ========= Effect analyzer ========= -// - -typedef uint32_t BinaryenSideEffects; - -BINARYEN_API BinaryenSideEffects BinaryenSideEffectNone(void); -BINARYEN_API BinaryenSideEffects BinaryenSideEffectBranches(void); -BINARYEN_API BinaryenSideEffects BinaryenSideEffectCalls(void); -BINARYEN_API BinaryenSideEffects BinaryenSideEffectReadsLocal(void); -BINARYEN_API BinaryenSideEffects BinaryenSideEffectWritesLocal(void); -BINARYEN_API BinaryenSideEffects BinaryenSideEffectReadsGlobal(void); -BINARYEN_API BinaryenSideEffects BinaryenSideEffectWritesGlobal(void); -BINARYEN_API BinaryenSideEffects BinaryenSideEffectReadsMemory(void); -BINARYEN_API BinaryenSideEffects BinaryenSideEffectWritesMemory(void); -BINARYEN_API BinaryenSideEffects BinaryenSideEffectImplicitTrap(void); -BINARYEN_API BinaryenSideEffects BinaryenSideEffectIsAtomic(void); -BINARYEN_API BinaryenSideEffects BinaryenSideEffectThrows(void); -BINARYEN_API BinaryenSideEffects BinaryenSideEffectDanglingPop(void); -BINARYEN_API BinaryenSideEffects BinaryenSideEffectAny(void); - -BINARYEN_API BinaryenSideEffects BinaryenExpressionGetSideEffects( - BinaryenExpressionRef expr, BinaryenFeatures features); - -// -// ========== CFG / Relooper ========== -// -// General usage is (1) create a relooper, (2) create blocks, (3) add -// branches between them, (4) render the output. -// -// For more details, see src/cfg/Relooper.h and -// https://github.com/WebAssembly/binaryen/wiki/Compiling-to-WebAssembly-with-Binaryen#cfg-api - -#ifdef __cplusplus -namespace CFG { -struct Relooper; -struct Block; -} // namespace CFG -typedef struct CFG::Relooper* RelooperRef; -typedef struct CFG::Block* RelooperBlockRef; -#else -typedef struct Relooper* RelooperRef; -typedef struct RelooperBlock* RelooperBlockRef; -#endif - -// Create a relooper instance -BINARYEN_API RelooperRef RelooperCreate(BinaryenModuleRef module); - -// Create a basic block that ends with nothing, or with some simple branching -BINARYEN_API RelooperBlockRef RelooperAddBlock(RelooperRef relooper, - BinaryenExpressionRef code); - -// Create a branch to another basic block -// The branch can have code on it, that is executed as the branch happens. this -// is useful for phis. otherwise, code can be NULL -BINARYEN_API void RelooperAddBranch(RelooperBlockRef from, - RelooperBlockRef to, - BinaryenExpressionRef condition, - BinaryenExpressionRef code); - -// Create a basic block that ends a switch on a condition -BINARYEN_API RelooperBlockRef -RelooperAddBlockWithSwitch(RelooperRef relooper, - BinaryenExpressionRef code, - BinaryenExpressionRef condition); - -// Create a switch-style branch to another basic block. The block's switch table -// will have these indexes going to that target -BINARYEN_API void RelooperAddBranchForSwitch(RelooperBlockRef from, - RelooperBlockRef to, - BinaryenIndex* indexes, - BinaryenIndex numIndexes, - BinaryenExpressionRef code); - -// Generate structed wasm control flow from the CFG of blocks and branches that -// were created on this relooper instance. This returns the rendered output, and -// also disposes of the relooper and its blocks and branches, as they are no -// longer needed. -// @param labelHelper To render irreducible control flow, we may need a helper -// variable to guide us to the right target label. This value should be -// an index of an i32 local variable that is free for us to use. -BINARYEN_API BinaryenExpressionRef RelooperRenderAndDispose( - RelooperRef relooper, RelooperBlockRef entry, BinaryenIndex labelHelper); - -// -// ========= ExpressionRunner ========== -// - -#ifdef __cplusplus -namespace wasm { -class CExpressionRunner; -} // namespace wasm -typedef class wasm::CExpressionRunner* ExpressionRunnerRef; -#else -typedef struct CExpressionRunner* ExpressionRunnerRef; -#endif - -typedef uint32_t ExpressionRunnerFlags; - -// By default, just evaluate the expression, i.e. all we want to know is whether -// it computes down to a concrete value, where it is not necessary to preserve -// side effects like those of a `local.tee`. -BINARYEN_API ExpressionRunnerFlags ExpressionRunnerFlagsDefault(); - -// Be very careful to preserve any side effects. For example, if we are -// intending to replace the expression with a constant afterwards, even if we -// can technically evaluate down to a constant, we still cannot replace the -// expression if it also sets a local, which must be preserved in this scenario -// so subsequent code keeps functioning. -BINARYEN_API ExpressionRunnerFlags ExpressionRunnerFlagsPreserveSideeffects(); - -// Traverse through function calls, attempting to compute their concrete value. -// Must not be used in function-parallel scenarios, where the called function -// might be concurrently modified, leading to undefined behavior. Traversing -// another function reuses all of this runner's flags. -BINARYEN_API ExpressionRunnerFlags ExpressionRunnerFlagsTraverseCalls(); - -// Creates an ExpressionRunner instance -BINARYEN_API ExpressionRunnerRef -ExpressionRunnerCreate(BinaryenModuleRef module, - ExpressionRunnerFlags flags, - BinaryenIndex maxDepth, - BinaryenIndex maxLoopIterations); - -// Sets a known local value to use. Order matters if expressions have side -// effects. For example, if the expression also sets a local, this side effect -// will also happen (not affected by any flags). Returns `true` if the -// expression actually evaluates to a constant. -BINARYEN_API bool ExpressionRunnerSetLocalValue(ExpressionRunnerRef runner, - BinaryenIndex index, - BinaryenExpressionRef value); - -// Sets a known global value to use. Order matters if expressions have side -// effects. For example, if the expression also sets a local, this side effect -// will also happen (not affected by any flags). Returns `true` if the -// expression actually evaluates to a constant. -BINARYEN_API bool ExpressionRunnerSetGlobalValue(ExpressionRunnerRef runner, - const char* name, - BinaryenExpressionRef value); - -// Runs the expression and returns the constant value expression it evaluates -// to, if any. Otherwise returns `NULL`. Also disposes the runner. -BINARYEN_API BinaryenExpressionRef ExpressionRunnerRunAndDispose( - ExpressionRunnerRef runner, BinaryenExpressionRef expr); - -// -// ========= Utilities ========= -// - -// Enable or disable coloring for the Wasm printer -BINARYEN_API void BinaryenSetColorsEnabled(bool enabled); - -// Query whether color is enable for the Wasm printer -BINARYEN_API bool BinaryenAreColorsEnabled(); -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // wasm_binaryen_c_h diff --git a/vendor/linux/libbinaryen.a b/vendor/linux/libbinaryen.a deleted file mode 100644 index 50a3a4c2..00000000 Binary files a/vendor/linux/libbinaryen.a and /dev/null differ diff --git a/vendor/linux/libbinaryen.so b/vendor/linux/libbinaryen.so deleted file mode 100644 index 0df711d6..00000000 Binary files a/vendor/linux/libbinaryen.so and /dev/null differ diff --git a/vendor/macosx/libbinaryen.a b/vendor/macosx/libbinaryen.a deleted file mode 100644 index 37814ada..00000000 Binary files a/vendor/macosx/libbinaryen.a and /dev/null differ diff --git a/vendor/macosx/libbinaryen.dylib b/vendor/macosx/libbinaryen.dylib deleted file mode 100644 index bf04639b..00000000 Binary files a/vendor/macosx/libbinaryen.dylib and /dev/null differ diff --git a/vendor/mingw64/libbinaryen.a b/vendor/mingw64/libbinaryen.a deleted file mode 100644 index 53c9fd92..00000000 Binary files a/vendor/mingw64/libbinaryen.a and /dev/null differ diff --git a/vendor/mingw64/libbinaryen.dll b/vendor/mingw64/libbinaryen.dll deleted file mode 100644 index c27772a9..00000000 Binary files a/vendor/mingw64/libbinaryen.dll and /dev/null differ diff --git a/vendor/wasm-delegations.h b/vendor/wasm-delegations.h deleted file mode 100644 index b063c81b..00000000 --- a/vendor/wasm-delegations.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright 2020 WebAssembly Community Group participants - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -DELEGATE(Nop); -DELEGATE(Block); -DELEGATE(If); -DELEGATE(Loop); -DELEGATE(Break); -DELEGATE(Switch); -DELEGATE(Call); -DELEGATE(CallIndirect); -DELEGATE(LocalGet); -DELEGATE(LocalSet); -DELEGATE(GlobalGet); -DELEGATE(GlobalSet); -DELEGATE(Load); -DELEGATE(Store); -DELEGATE(AtomicRMW); -DELEGATE(AtomicCmpxchg); -DELEGATE(AtomicWait); -DELEGATE(AtomicNotify); -DELEGATE(AtomicFence); -DELEGATE(SIMDExtract); -DELEGATE(SIMDReplace); -DELEGATE(SIMDShuffle); -DELEGATE(SIMDTernary); -DELEGATE(SIMDShift); -DELEGATE(SIMDLoad); -DELEGATE(SIMDLoadStoreLane); -DELEGATE(MemoryInit); -DELEGATE(DataDrop); -DELEGATE(MemoryCopy); -DELEGATE(MemoryFill); -DELEGATE(Const); -DELEGATE(Unary); -DELEGATE(Binary); -DELEGATE(Select); -DELEGATE(Drop); -DELEGATE(Return); -DELEGATE(MemorySize); -DELEGATE(MemoryGrow); -DELEGATE(Unreachable); -DELEGATE(Pop); -DELEGATE(RefNull); -DELEGATE(RefIs); -DELEGATE(RefFunc); -DELEGATE(RefEq); -DELEGATE(Try); -DELEGATE(Throw); -DELEGATE(Rethrow); -DELEGATE(TupleMake); -DELEGATE(TupleExtract); -DELEGATE(I31New); -DELEGATE(I31Get); -DELEGATE(CallRef); -DELEGATE(RefTest); -DELEGATE(RefCast); -DELEGATE(BrOn); -DELEGATE(RttCanon); -DELEGATE(RttSub); -DELEGATE(StructNew); -DELEGATE(StructGet); -DELEGATE(StructSet); -DELEGATE(ArrayNew); -DELEGATE(ArrayGet); -DELEGATE(ArraySet); -DELEGATE(ArrayLen); -DELEGATE(RefAs); - -#undef DELEGATE