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

@ -258,8 +258,8 @@ export class Type {
let classReference = this.classReference;
if (classReference) {
return this.is(TypeFlags.NULLABLE)
? classReference.toString() + " | null"
: classReference.toString();
? classReference.name + " | null"
: classReference.name;
}
let signatureReference = this.signatureReference;
if (signatureReference) {
@ -551,7 +551,7 @@ export class Signature {
asFunctionTarget(program: Program): FunctionTarget {
var target = this.cachedFunctionTarget;
if (!target) this.cachedFunctionTarget = target = new FunctionTarget(program, this);
if (!target) this.cachedFunctionTarget = target = new FunctionTarget(this, program);
else assert(target.program == program);
return target;
}