* 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
64 lines
1.5 KiB
Text
64 lines
1.5 KiB
Text
=== tests/cases/compiler/inheritance.ts ===
|
|
class B1 {
|
|
>B1 : Symbol(B1, Decl(inheritance.ts, 0, 0))
|
|
|
|
public x;
|
|
>x : Symbol(B1.x, Decl(inheritance.ts, 0, 10))
|
|
}
|
|
|
|
class B2 {
|
|
>B2 : Symbol(B2, Decl(inheritance.ts, 2, 1))
|
|
|
|
public x;
|
|
>x : Symbol(B2.x, Decl(inheritance.ts, 4, 10))
|
|
}
|
|
|
|
|
|
class D1 extends B1 {
|
|
>D1 : Symbol(D1, Decl(inheritance.ts, 6, 1))
|
|
>B1 : Symbol(B1, Decl(inheritance.ts, 0, 0))
|
|
}
|
|
|
|
class D2 extends B2 {
|
|
>D2 : Symbol(D2, Decl(inheritance.ts, 10, 1))
|
|
>B2 : Symbol(B2, Decl(inheritance.ts, 2, 1))
|
|
}
|
|
|
|
|
|
class N {
|
|
>N : Symbol(N, Decl(inheritance.ts, 13, 1))
|
|
|
|
public y:number;
|
|
>y : Symbol(N.y, Decl(inheritance.ts, 16, 9))
|
|
}
|
|
|
|
class ND extends N { // any is assignable to number
|
|
>ND : Symbol(ND, Decl(inheritance.ts, 18, 1))
|
|
>N : Symbol(N, Decl(inheritance.ts, 13, 1))
|
|
|
|
public y;
|
|
>y : Symbol(ND.y, Decl(inheritance.ts, 20, 20))
|
|
}
|
|
|
|
class Good {
|
|
>Good : Symbol(Good, Decl(inheritance.ts, 22, 1))
|
|
|
|
public f: () => number = function () { return 0; }
|
|
>f : Symbol(Good.f, Decl(inheritance.ts, 24, 12))
|
|
|
|
public g() { return 0; }
|
|
>g : Symbol(Good.g, Decl(inheritance.ts, 25, 54))
|
|
}
|
|
|
|
class Baad extends Good {
|
|
>Baad : Symbol(Baad, Decl(inheritance.ts, 27, 1))
|
|
>Good : Symbol(Good, Decl(inheritance.ts, 22, 1))
|
|
|
|
public f(): number { return 0; }
|
|
>f : Symbol(Baad.f, Decl(inheritance.ts, 29, 25))
|
|
|
|
public g(n: number) { return 0; }
|
|
>g : Symbol(Baad.g, Decl(inheritance.ts, 30, 36))
|
|
>n : Symbol(n, Decl(inheritance.ts, 31, 13))
|
|
}
|
|
|