Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if (typeof global === "undefined") {
throw new CompileError("unknown global ".concat(index));
}
id = t.numberLiteralFromRaw(index, String(index));
signature = null;
} else {
console.warn("Unsupported export type: " + toHex(typeIndex));
return;
}
var endLoc = getPosition();
state.elementsInExportSection.push({
name: name.value,
type: constants.exportTypes[typeIndex],
signature: signature,
id: id,
index: index,
endLoc: endLoc,
startLoc: _startLoc3
});
}
} // Code section
// https://webassembly.github.io/spec/binary/modules.html#code-section
if (typeof table === "undefined") {
throw new CompileError("unknown table ".concat(index));
}
id = t.numberLiteralFromRaw(index, String(index));
signature = null;
} else if (constants.exportTypes[typeIndex] === "Mem") {
var memNode = state.memoriesInModule[index];
if (typeof memNode === "undefined") {
throw new CompileError("unknown memory ".concat(index));
}
id = t.numberLiteralFromRaw(index, String(index));
signature = null;
} else if (constants.exportTypes[typeIndex] === "Global") {
var global = state.globalsInModule[index];
if (typeof global === "undefined") {
throw new CompileError("unknown global ".concat(index));
}
id = t.numberLiteralFromRaw(index, String(index));
signature = null;
} else {
console.warn("Unsupported export type: " + toHex(typeIndex));
return;
}
var endLoc = getPosition();
state.elementsInExportSection.push({
name: name.value,
}
id = t.numberLiteralFromRaw(index, String(index));
signature = null;
} else if (constants.exportTypes[typeIndex] === "Mem") {
const memNode = state.memoriesInModule[index];
if (typeof memNode === "undefined") {
throw new CompileError(`unknown memory ${index}`);
}
id = t.numberLiteralFromRaw(index, String(index));
signature = null;
} else if (constants.exportTypes[typeIndex] === "Global") {
const global = state.globalsInModule[index];
if (typeof global === "undefined") {
throw new CompileError(`unknown global ${index}`);
}
id = t.numberLiteralFromRaw(index, String(index));
signature = null;
} else {
console.warn("Unsupported export type: " + toHex(typeIndex));
return;
}
const endLoc = getPosition();
var index = indexu32.value;
eatBytes(indexu32.nextIndex);
dump([index], "export index");
var id = void 0,
signature = void 0;
if (constants.exportTypes[typeIndex] === "Func") {
var func = state.functionsInModule[index];
if (typeof func === "undefined") {
throw new CompileError("entry not found at index ".concat(index, " in function section"));
}
id = t.numberLiteralFromRaw(index, String(index));
signature = func.signature;
} else if (constants.exportTypes[typeIndex] === "Table") {
var table = state.tablesInModule[index];
if (typeof table === "undefined") {
throw new CompileError("entry not found at index ".concat(index, " in table section"));
}
id = t.numberLiteralFromRaw(index, String(index));
signature = null;
} else if (constants.exportTypes[typeIndex] === "Mem") {
var memNode = state.memoriesInModule[index];
if (typeof memNode === "undefined") {
throw new CompileError("entry not found at index ".concat(index, " in memory section"));
}
id = t.numberLiteralFromRaw(index, String(index));
dump([], "export name (".concat(name.value, ")"));
/**
* exportdescr
*/
var typeIndex = readByte();
eatBytes(1);
dump([typeIndex], "export kind");
var indexu32 = readU32();
var index = indexu32.value;
eatBytes(indexu32.nextIndex);
dump([index], "export index");
var id = void 0,
signature = void 0;
if (constants.exportTypes[typeIndex] === "Func") {
var func = state.functionsInModule[index];
if (typeof func === "undefined") {
throw new CompileError("unknown function (".concat(index, ")"));
}
id = t.numberLiteralFromRaw(index, String(index));
signature = func.signature;
} else if (constants.exportTypes[typeIndex] === "Table") {
var table = state.tablesInModule[index];
if (typeof table === "undefined") {
throw new CompileError("unknown table ".concat(index));
}
id = t.numberLiteralFromRaw(index, String(index));
dump([], "export name (".concat(name.value, ")"));
/**
* exportdescr
*/
var typeIndex = readByte();
eatBytes(1);
dump([typeIndex], "export kind");
var indexu32 = readU32();
var index = indexu32.value;
eatBytes(indexu32.nextIndex);
dump([index], "export index");
var id = void 0,
signature = void 0;
if (constants.exportTypes[typeIndex] === "Func") {
var func = state.functionsInModule[index];
if (typeof func === "undefined") {
throw new CompileError("entry not found at index ".concat(index, " in function section"));
}
id = t.numberLiteralFromRaw(index, String(index));
signature = func.signature;
} else if (constants.exportTypes[typeIndex] === "Table") {
var table = state.tablesInModule[index];
if (typeof table === "undefined") {
throw new CompileError("entry not found at index ".concat(index, " in table section"));
}
id = t.numberLiteralFromRaw(index, String(index));
var _leb = require("@webassemblyjs/leb128");
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
var t = require("@webassemblyjs/ast");
var _require = require("@webassemblyjs/helper-wasm-bytecode"),
importTypes = _require.importTypes,
symbolsByByte = _require.symbolsByByte,
blockTypes = _require.blockTypes,
tableTypes = _require.tableTypes,
globalTypes = _require.globalTypes,
exportTypes = _require.exportTypes,
types = _require.types,
magicModuleHeader = _require.magicModuleHeader,
valtypes = _require.valtypes,
moduleVersion = _require.moduleVersion,
sections = _require.sections;
/**
* FIXME(sven): we can't do that because number > 2**53 will fail here
* because they cannot be represented in js.
*/
function badI32ToI64Conversion(value) {
return {
high: value < 0 ? -1 : 0,
low: value >>> 0
};
dump([], "export name (".concat(name.value, ")"));
/**
* exportdescr
*/
var typeIndex = readByte();
eatBytes(1);
dump([typeIndex], "export kind");
var indexu32 = readU32();
var index = indexu32.value;
eatBytes(indexu32.nextIndex);
dump([index], "export index");
var id = void 0,
signature = void 0;
if (constants.exportTypes[typeIndex] === "Func") {
var func = state.functionsInModule[index];
if (typeof func === "undefined") {
throw new CompileError("unknown function (".concat(index, ")"));
}
id = t.numberLiteralFromRaw(index, String(index));
signature = func.signature;
} else if (constants.exportTypes[typeIndex] === "Table") {
var table = state.tablesInModule[index];
if (typeof table === "undefined") {
throw new CompileError("unknown table ".concat(index));
}
id = t.numberLiteralFromRaw(index, String(index));
*/
const typeIndex = readByte();
eatBytes(1);
dump([typeIndex], "export kind");
const indexu32 = readU32();
const index = indexu32.value;
eatBytes(indexu32.nextIndex);
dump([index], "export index");
let id: Identifier, signature;
if (constants.exportTypes[typeIndex] === "Func") {
const func = state.functionsInModule[index];
if (typeof func === "undefined") {
throw new CompileError(`unknown function (${index})`);
}
id = t.numberLiteralFromRaw(index, String(index));
signature = func.signature;
} else if (constants.exportTypes[typeIndex] === "Table") {
const table = state.tablesInModule[index];
if (typeof table === "undefined") {
throw new CompileError(`unknown table ${index}`);
}