* Always generate type & symbol baselines * Accept changed shadowed baselines * Accept brand new type and symbol baselines * Allow `getTypeAtLocation` to return undefined in the type writer * Accept baselines which had missing type information * Bind container for dynamically names enum members so they may be printed * Accept type/symbol baselines for enums with computed members * First pass at reducing typeWriter memory overhead * Use generators to allow for type and symbol baselines with no cache * Accept new baselines for tests whose output was fixed by better newline splitting * Hard cap on number of declarations printed, cache declaration print text * handle differing newlines better still to handle RWC newlines * Lower abridging count, accept abridged baselines * Limit max RWC error output size, limit RWC type and symbol baseline input size * Move skip logic into type and symbol baseliner to streamline error handling * Accept removal of empty baselines * Canonicalize path earlier to handle odd paths in input files * Do canonicalization earlier still, also ensure parallel perf profiles for different targets do not trample one another * No need to pathify again
96 lines
1.4 KiB
Text
96 lines
1.4 KiB
Text
=== tests/cases/compiler/baseCheck.ts ===
|
|
class C { constructor(x: number, y: number) { } }
|
|
>C : C
|
|
>x : number
|
|
>y : number
|
|
|
|
class ELoc extends C {
|
|
>ELoc : ELoc
|
|
>C : C
|
|
|
|
constructor(x: number) {
|
|
>x : number
|
|
|
|
super(0, x);
|
|
>super(0, x) : void
|
|
>super : typeof C
|
|
>0 : 0
|
|
>x : number
|
|
}
|
|
}
|
|
class ELocVar extends C {
|
|
>ELocVar : ELocVar
|
|
>C : C
|
|
|
|
constructor(x: number) {
|
|
>x : number
|
|
|
|
super(0, loc);
|
|
>super(0, loc) : void
|
|
>super : typeof C
|
|
>0 : 0
|
|
>loc : any
|
|
}
|
|
|
|
m() {
|
|
>m : () => void
|
|
|
|
var loc=10;
|
|
>loc : number
|
|
>10 : 10
|
|
}
|
|
}
|
|
|
|
class D extends C { constructor(public z: number) { super(this.z) } } // too few params
|
|
>D : D
|
|
>C : C
|
|
>z : number
|
|
>super(this.z) : void
|
|
>super : typeof C
|
|
>this.z : number
|
|
>this : this
|
|
>z : number
|
|
|
|
class E extends C { constructor(public z: number) { super(0, this.z) } }
|
|
>E : E
|
|
>C : C
|
|
>z : number
|
|
>super(0, this.z) : void
|
|
>super : typeof C
|
|
>0 : 0
|
|
>this.z : number
|
|
>this : this
|
|
>z : number
|
|
|
|
class F extends C { constructor(public z: number) { super("hello", this.z) } } // first param type
|
|
>F : F
|
|
>C : C
|
|
>z : number
|
|
>super("hello", this.z) : void
|
|
>super : typeof C
|
|
>"hello" : "hello"
|
|
>this.z : number
|
|
>this : this
|
|
>z : number
|
|
|
|
function f() {
|
|
>f : () => void
|
|
|
|
if (x<10) {
|
|
>x<10 : boolean
|
|
>x : any
|
|
>10 : 10
|
|
|
|
x=11;
|
|
>x=11 : 11
|
|
>x : any
|
|
>11 : 11
|
|
}
|
|
else {
|
|
x=12;
|
|
>x=12 : 12
|
|
>x : any
|
|
>12 : 12
|
|
}
|
|
}
|
|
|