UNPKG

@grain/libbinaryen

Version:

Libbinaryen packaged for OCaml.

53 lines (41 loc) 1.64 kB
const module = new binaryen.Module(); // Test table const tableName = "a-table"; const tableMin = 5; const tableMax = 15; const tablePtr = module.addTable(tableName, tableMin, tableMax); console.log("GetTable is equal: " + (tablePtr === module.getTable(tableName))); const tableInfo = binaryen.getTableInfo(tablePtr); console.log("getTableInfo=" + JSON.stringify(tableInfo)); // Test Wrapper // get/set name assert(binaryen.Table.getName(tablePtr) === tableName); binaryen.Table.setName(tablePtr, "new-table-name"); assert(binaryen.Table.getName(tablePtr) === "new-table-name"); binaryen.Table.setName(tablePtr, tableName); // get/set initial assert(binaryen.Table.getInitial(tablePtr) === tableMin); binaryen.Table.setInitial(tablePtr, 10); assert(binaryen.Table.getInitial(tablePtr) === 10); binaryen.Table.setInitial(tablePtr, tableMin); // hasMax assert(binaryen.Table.hasMax(tablePtr) === true); // get/set max assert(binaryen.Table.getMax(tablePtr) === tableMax); binaryen.Table.setMax(tablePtr, 20); assert(binaryen.Table.getMax(tablePtr) === 20); binaryen.Table.setMax(tablePtr, tableMax); // get/set type assert(binaryen.Table.getType(tablePtr) === binaryen.funcref); binaryen.Table.setType(tablePtr, binaryen.anyref); assert(binaryen.Table.getType(tablePtr) === binaryen.anyref); binaryen.Table.setType(tablePtr, binaryen.funcref); const tableRef = binaryen.Table(tablePtr); assert(tableRef.name === tableName); assert(tableRef.initial === tableMin); assert(tableRef.max === tableMax); assert(tableRef.type === binaryen.funcref); // Cleanup assert(module.validate()); console.log(module.emitText()); module.dispose();