| 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(); |