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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
// @flow
/* eslint no-unused-vars: off */
type Byte = Number;
type SectionName =
| "custom"
| "type"
| "import"
| "func"
| "table"
| "memory"
| "global"
| "export"
| "start"
| "element"
| "code"
| "data";
type U32Literal = NumberLiteral;
type Typeidx = U32Literal;
type Funcidx = U32Literal;
type Tableidx = U32Literal;
type Memidx = U32Literal;
type Globalidx = U32Literal;
type Localidx = U32Literal;
type Labelidx = U32Literal;
type Index =
| Typeidx
| Funcidx
| Tableidx
| Memidx
| Globalidx
| Localidx
| Labelidx
| Identifier; // WAST shorthand
type SignatureOrTypeRef = Index | Signature;
type Valtype = "i32" | "i64" | "f32" | "f64" | "u32" | "label";
type Mutability = "const" | "var";
type NodePath<T> = {
node: T,
parentPath: ?NodePath<Node>,
findParent: (NodePath<Node>) => ?boolean,
replaceWith: (Node) => void,
remove: () => void,
};
type TableElementType = "anyfunc";
type LongNumber = {
high: number,
low: number,
};
type Position = {
line: number,
column: number,
};
type SourceLocation = {
start: Position,
end?: Position,
};
type FuncParam = {
id: ?string,
valtype: Valtype,
};
type BaseNode = {
type: string,
loc?: ?SourceLocation,
// Internal property
_deleted?: ?boolean,
};
type FuncMetadata = {
bodySize: number,
};
type ExportDescrType = "Func" | "Table" | "Memory" | "Global";
|