| |
| interface Literal { |
| void Literal(double x); |
| double getf64(); |
| }; |
| |
| interface Name { |
| void Name(DOMString x); |
| |
| [Const] DOMString c_str(); |
| }; |
| |
| interface Module { |
| void 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); |
| }; |
| |
| |
| interface BufferWithRandomAccess { |
| void BufferWithRandomAccess(boolean debug); |
| unsigned long size(); |
| [Operator="[]"] octet at(unsigned long index); |
| }; |
| |
| interface WasmBinaryWriter { |
| void WasmBinaryWriter(Module m, [Ref] BufferWithRandomAccess outbuf, boolean debug); |
| void write(); |
| }; |
| |
| 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] Module wasm, [Ref] Element input); |
| }; |
| |
| // Wasm printing |
| |
| interface WasmPrinter { |
| static void printModule(Module m); |
| }; |
| |