Rework resolver (#489)

* Rework IR and resolver to use nested lookup tables
* Integrate types into IR
* Make components prefer IR, slimmed down AST
* Implement `export *`
* Add `@lazy` annotation and remove `--noTreeShaking`
* Add `@start` annotation and remove magic `main`
* Related refactoring, cleanup and docs
This commit is contained in:
Daniel Wirtz
2019-02-21 00:11:22 +01:00
committed by GitHub
parent e623786b42
commit 0c64f21250
234 changed files with 16949 additions and 37871 deletions

View File

@ -21,6 +21,12 @@ const config = {
],
"type": "b"
},
"noDiff": {
"description": [
"Disables output of detailed fixture differences."
],
"type": "b"
},
"help": {
"description": "Prints this message and exits.",
"type": "b",
@ -128,13 +134,23 @@ tests.forEach(filename => {
console.log("- " + colorsUtil.yellow("Created fixture"));
} else {
let expected = fs.readFileSync(path.join(basedir, basename + ".untouched.wat"), { encoding: "utf8" }).replace(/\r\n/g, "\n");
let diffs = diff(basename + ".untouched.wat", expected, actual);
if (diffs !== null) {
console.log(diffs);
console.log("- " + colorsUtil.red("diff ERROR"));
failed = true;
} else
console.log("- " + colorsUtil.green("diff OK"));
if (args.noDiff) {
if (expected != actual) {
console.log("- " + colorsUtil.red("compare ERROR"));
failed = true;
} else {
console.log("- " + colorsUtil.green("compare OK"));
}
} else {
let diffs = diff(basename + ".untouched.wat", expected, actual);
if (diffs !== null) {
console.log(diffs);
console.log("- " + colorsUtil.red("diff ERROR"));
failed = true;
} else {
console.log("- " + colorsUtil.green("diff OK"));
}
}
}
console.log();