diff options
author | Alon Zakai <alonzakai@gmail.com> | 2016-04-05 09:49:37 -0700 |
---|---|---|
committer | Alon Zakai <alonzakai@gmail.com> | 2016-04-05 09:49:37 -0700 |
commit | 155223a2a0dd222817881dab85fa11166cc5bbb3 (patch) | |
tree | 7f10e15b941474c2b23c741e20ee2657c54026ca /src/js | |
parent | b243bf42bf89bee18ece60fb0607cf1fb70ce702 (diff) | |
parent | ea448f35ada45647c200019cc34b4315cb16cdd9 (diff) | |
download | binaryen-155223a2a0dd222817881dab85fa11166cc5bbb3.tar.gz binaryen-155223a2a0dd222817881dab85fa11166cc5bbb3.tar.bz2 binaryen-155223a2a0dd222817881dab85fa11166cc5bbb3.zip |
Merge pull request #312 from WebAssembly/webidl
WebIDL bindings
Diffstat (limited to 'src/js')
-rw-r--r-- | src/js/binaryen.idl | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/js/binaryen.idl b/src/js/binaryen.idl new file mode 100644 index 000000000..3b52b5912 --- /dev/null +++ b/src/js/binaryen.idl @@ -0,0 +1,74 @@ + +interface Literal { + void Literal(double x); + double getf64(); +}; + +interface Name { + void Name(DOMString x); + + [Const] DOMString c_str(); +}; + +interface Module { +}; + +interface AllocatingModule { + void AllocatingModule(); +}; + +AllocatingModule implements Module; + +[Prefix="ModuleInstance::", NoDelete] +interface ExternalInterface { +}; + +interface ShellExternalInterface { + void ShellExternalInterface(); +}; + +ShellExternalInterface implements ExternalInterface; + +interface ModuleInstance { + void ModuleInstance([Ref] Module m, ExternalInterface i); + + [Value] Literal callExport([Ref] Name name, [Ref] LiteralList arguments); +}; + +[Prefix="ModuleInstance::"] +interface LiteralList { + void LiteralList(); + + void push_back([Ref] Literal l); +}; + +// S-Expressions + +interface Element { + boolean isList(); + boolean isStr(); + void dump(); + + // list methods + [Operator="[]"] Element getChild(long i); + long size(); + + // string methods + [Const] DOMString c_str(); +}; + +interface SExpressionParser { + void SExpressionParser(DOMString input); + attribute Element root; +}; + +interface SExpressionWasmBuilder { + void SExpressionWasmBuilder([Ref] AllocatingModule wasm, [Ref] Element input, boolean debug); +}; + +// Wasm printing + +interface WasmPrinter { + static void printModule(Module m); +}; + |