summaryrefslogtreecommitdiff
path: root/src/js/binaryen.idl
blob: 3f4f82149663577ed4a21501711526efc61e1f7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

interface Literal {
  void Literal(double x);
};

interface Name {
  void Name(DOMString x);
};

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 {
};

interface SExpressionParser {
  void SExpressionParser(DOMString input);
  attribute Element root;
};

interface SExpressionWasmBuilder {
  void SExpressionWasmBuilder([Ref] AllocatingModule wasm, [Ref] Element input, boolean debug);
};