TypeScript/tests/baselines/reference/castingTuple.symbols
Wesley Wigham 5353475fce Always collect type and symbol baselines (#18621)
* 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
2017-09-22 15:52:04 -07:00

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;