mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-06-12 22:41:27 +00:00
Add an option to alias global objects
This for example allows to switch the default 'Math' implementation a program will use. Uses 'NativeMath' by default.
This commit is contained in:
16
bin/asc.js
16
bin/asc.js
@ -363,6 +363,22 @@ exports.main = function main(argv, options, callback) {
|
||||
assemblyscript.setImportTable(compilerOptions, !!args.importTable);
|
||||
assemblyscript.setMemoryBase(compilerOptions, args.memoryBase >>> 0);
|
||||
assemblyscript.setSourceMap(compilerOptions, args.sourceMap != null);
|
||||
assemblyscript.setGlobalAlias(compilerOptions, "Math", "NativeMath");
|
||||
|
||||
// Add or override global aliases if specified
|
||||
var aliases = args.use;
|
||||
if (aliases != null) {
|
||||
if (typeof aliases === "string") aliases = aliases.split(",");
|
||||
for (let i = 0, k = aliases.length; i < k; ++i) {
|
||||
let part = aliases[i];
|
||||
let p = part.indexOf("=");
|
||||
if (p < 0) return callback(Error("Global alias '" + part + "' is invalid."));
|
||||
let name = part.substring(0, p).trim();
|
||||
let alias = part.substring(p + 1).trim();
|
||||
if (!name.length || !alias.length) return callback(Error("Global alias '" + part + "' is invalid."));
|
||||
assemblyscript.setGlobalAlias(compilerOptions, name, alias);
|
||||
}
|
||||
}
|
||||
|
||||
var module;
|
||||
stats.compileCount++;
|
||||
|
Reference in New Issue
Block a user