* 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
133 lines
5.1 KiB
Plaintext
133 lines
5.1 KiB
Plaintext
=== tests/cases/conformance/types/tuple/castingTuple.ts ===
|
|
interface I { }
|
|
>I : Symbol(I, Decl(castingTuple.ts, 0, 0))
|
|
|
|
class A { a = 10; }
|
|
>A : Symbol(A, Decl(castingTuple.ts, 0, 15))
|
|
>a : Symbol(A.a, Decl(castingTuple.ts, 1, 9))
|
|
|
|
class C implements I { c };
|
|
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))
|
|
>I : Symbol(I, Decl(castingTuple.ts, 0, 0))
|
|
>c : Symbol(C.c, Decl(castingTuple.ts, 2, 22))
|
|
|
|
class D implements I { d };
|
|
>D : Symbol(D, Decl(castingTuple.ts, 2, 27))
|
|
>I : Symbol(I, Decl(castingTuple.ts, 0, 0))
|
|
>d : Symbol(D.d, Decl(castingTuple.ts, 3, 22))
|
|
|
|
class E extends A { e };
|
|
>E : Symbol(E, Decl(castingTuple.ts, 3, 27))
|
|
>A : Symbol(A, Decl(castingTuple.ts, 0, 15))
|
|
>e : Symbol(E.e, Decl(castingTuple.ts, 4, 19))
|
|
|
|
class F extends A { f };
|
|
>F : Symbol(F, Decl(castingTuple.ts, 4, 24))
|
|
>A : Symbol(A, Decl(castingTuple.ts, 0, 15))
|
|
>f : Symbol(F.f, Decl(castingTuple.ts, 5, 19))
|
|
|
|
enum E1 { one }
|
|
>E1 : Symbol(E1, Decl(castingTuple.ts, 5, 24))
|
|
>one : Symbol(E1.one, Decl(castingTuple.ts, 6, 9))
|
|
|
|
enum E2 { one }
|
|
>E2 : Symbol(E2, Decl(castingTuple.ts, 6, 15))
|
|
>one : Symbol(E2.one, Decl(castingTuple.ts, 7, 9))
|
|
|
|
// no error
|
|
var numStrTuple: [number, string] = [5, "foo"];
|
|
>numStrTuple : Symbol(numStrTuple, Decl(castingTuple.ts, 10, 3))
|
|
|
|
var emptyObjTuple = <[{}, {}]>numStrTuple;
|
|
>emptyObjTuple : Symbol(emptyObjTuple, Decl(castingTuple.ts, 11, 3))
|
|
>numStrTuple : Symbol(numStrTuple, Decl(castingTuple.ts, 10, 3))
|
|
|
|
var numStrBoolTuple = <[number, string, boolean]>numStrTuple;
|
|
>numStrBoolTuple : Symbol(numStrBoolTuple, Decl(castingTuple.ts, 12, 3))
|
|
>numStrTuple : Symbol(numStrTuple, Decl(castingTuple.ts, 10, 3))
|
|
|
|
var classCDTuple: [C, D] = [new C(), new D()];
|
|
>classCDTuple : Symbol(classCDTuple, Decl(castingTuple.ts, 13, 3))
|
|
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))
|
|
>D : Symbol(D, Decl(castingTuple.ts, 2, 27))
|
|
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))
|
|
>D : Symbol(D, Decl(castingTuple.ts, 2, 27))
|
|
|
|
var interfaceIITuple = <[I, I]>classCDTuple;
|
|
>interfaceIITuple : Symbol(interfaceIITuple, Decl(castingTuple.ts, 14, 3))
|
|
>I : Symbol(I, Decl(castingTuple.ts, 0, 0))
|
|
>I : Symbol(I, Decl(castingTuple.ts, 0, 0))
|
|
>classCDTuple : Symbol(classCDTuple, Decl(castingTuple.ts, 13, 3))
|
|
|
|
var classCDATuple = <[C, D, A]>classCDTuple;
|
|
>classCDATuple : Symbol(classCDATuple, Decl(castingTuple.ts, 15, 3))
|
|
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))
|
|
>D : Symbol(D, Decl(castingTuple.ts, 2, 27))
|
|
>A : Symbol(A, Decl(castingTuple.ts, 0, 15))
|
|
>classCDTuple : Symbol(classCDTuple, Decl(castingTuple.ts, 13, 3))
|
|
|
|
var eleFromCDA1 = classCDATuple[2]; // A
|
|
>eleFromCDA1 : Symbol(eleFromCDA1, Decl(castingTuple.ts, 16, 3))
|
|
>classCDATuple : Symbol(classCDATuple, Decl(castingTuple.ts, 15, 3))
|
|
>2 : Symbol(2)
|
|
|
|
var eleFromCDA2 = classCDATuple[5]; // C | D | A
|
|
>eleFromCDA2 : Symbol(eleFromCDA2, Decl(castingTuple.ts, 17, 3))
|
|
>classCDATuple : Symbol(classCDATuple, Decl(castingTuple.ts, 15, 3))
|
|
|
|
var t10: [E1, E2] = [E1.one, E2.one];
|
|
>t10 : Symbol(t10, Decl(castingTuple.ts, 18, 3))
|
|
>E1 : Symbol(E1, Decl(castingTuple.ts, 5, 24))
|
|
>E2 : Symbol(E2, Decl(castingTuple.ts, 6, 15))
|
|
>E1.one : Symbol(E1.one, Decl(castingTuple.ts, 6, 9))
|
|
>E1 : Symbol(E1, Decl(castingTuple.ts, 5, 24))
|
|
>one : Symbol(E1.one, Decl(castingTuple.ts, 6, 9))
|
|
>E2.one : Symbol(E2.one, Decl(castingTuple.ts, 7, 9))
|
|
>E2 : Symbol(E2, Decl(castingTuple.ts, 6, 15))
|
|
>one : Symbol(E2.one, Decl(castingTuple.ts, 7, 9))
|
|
|
|
var t11 = <[number, number]>t10;
|
|
>t11 : Symbol(t11, Decl(castingTuple.ts, 19, 3))
|
|
>t10 : Symbol(t10, Decl(castingTuple.ts, 18, 3))
|
|
|
|
var array1 = <{}[]>emptyObjTuple;
|
|
>array1 : Symbol(array1, Decl(castingTuple.ts, 20, 3), Decl(castingTuple.ts, 29, 3))
|
|
>emptyObjTuple : Symbol(emptyObjTuple, Decl(castingTuple.ts, 11, 3))
|
|
|
|
var unionTuple: [C, string | number] = [new C(), "foo"];
|
|
>unionTuple : Symbol(unionTuple, Decl(castingTuple.ts, 21, 3))
|
|
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))
|
|
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))
|
|
|
|
var unionTuple2: [C, string | number, D] = [new C(), "foo", new D()];
|
|
>unionTuple2 : Symbol(unionTuple2, Decl(castingTuple.ts, 22, 3))
|
|
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))
|
|
>D : Symbol(D, Decl(castingTuple.ts, 2, 27))
|
|
>C : Symbol(C, Decl(castingTuple.ts, 1, 19))
|
|
>D : Symbol(D, Decl(castingTuple.ts, 2, 27))
|
|
|
|
var unionTuple3: [number, string| number] = [10, "foo"];
|
|
>unionTuple3 : Symbol(unionTuple3, Decl(castingTuple.ts, 23, 3))
|
|
|
|
var unionTuple4 = <[number, number]>unionTuple3;
|
|
>unionTuple4 : Symbol(unionTuple4, Decl(castingTuple.ts, 24, 3))
|
|
>unionTuple3 : Symbol(unionTuple3, Decl(castingTuple.ts, 23, 3))
|
|
|
|
// error
|
|
var t3 = <[number, number]>numStrTuple;
|
|
>t3 : Symbol(t3, Decl(castingTuple.ts, 27, 3))
|
|
>numStrTuple : Symbol(numStrTuple, Decl(castingTuple.ts, 10, 3))
|
|
|
|
var t9 = <[A, I]>classCDTuple;
|
|
>t9 : Symbol(t9, Decl(castingTuple.ts, 28, 3))
|
|
>A : Symbol(A, Decl(castingTuple.ts, 0, 15))
|
|
>I : Symbol(I, Decl(castingTuple.ts, 0, 0))
|
|
>classCDTuple : Symbol(classCDTuple, Decl(castingTuple.ts, 13, 3))
|
|
|
|
var array1 = <number[]>numStrTuple;
|
|
>array1 : Symbol(array1, Decl(castingTuple.ts, 20, 3), Decl(castingTuple.ts, 29, 3))
|
|
>numStrTuple : Symbol(numStrTuple, Decl(castingTuple.ts, 10, 3))
|
|
|
|
t4[2] = 10;
|
|
|