diff options
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); +}; + |