TypeScript/tests/baselines/reference/mutrec.types

107 lines
2.5 KiB
Plaintext
Raw Normal View History

2014-08-15 23:33:16 +02:00
=== tests/cases/compiler/mutrec.ts ===
interface A {
2015-04-13 23:01:57 +02:00
>A : A, Symbol(A, Decl(mutrec.ts, 0, 0))
2014-08-15 23:33:16 +02:00
x:B[];
2015-04-13 23:01:57 +02:00
>x : B[], Symbol(x, Decl(mutrec.ts, 0, 13))
>B : B, Symbol(B, Decl(mutrec.ts, 2, 1))
2014-08-15 23:33:16 +02:00
}
interface B {
2015-04-13 23:01:57 +02:00
>B : B, Symbol(B, Decl(mutrec.ts, 2, 1))
2014-08-15 23:33:16 +02:00
x:A[];
2015-04-13 23:01:57 +02:00
>x : A[], Symbol(x, Decl(mutrec.ts, 4, 13))
>A : A, Symbol(A, Decl(mutrec.ts, 0, 0))
2014-08-15 23:33:16 +02:00
}
function f(p: A) { return p };
2015-04-13 23:01:57 +02:00
>f : (p: A) => A, Symbol(f, Decl(mutrec.ts, 6, 1))
>p : A, Symbol(p, Decl(mutrec.ts, 8, 11))
>A : A, Symbol(A, Decl(mutrec.ts, 0, 0))
>p : A, Symbol(p, Decl(mutrec.ts, 8, 11))
2014-08-15 23:33:16 +02:00
var b:B;
2015-04-13 23:01:57 +02:00
>b : B, Symbol(b, Decl(mutrec.ts, 9, 3))
>B : B, Symbol(B, Decl(mutrec.ts, 2, 1))
2014-08-15 23:33:16 +02:00
f(b);
>f(b) : A
2015-04-13 23:01:57 +02:00
>f : (p: A) => A, Symbol(f, Decl(mutrec.ts, 6, 1))
>b : B, Symbol(b, Decl(mutrec.ts, 9, 3))
2014-08-15 23:33:16 +02:00
interface I1 {
2015-04-13 23:01:57 +02:00
>I1 : I1, Symbol(I1, Decl(mutrec.ts, 10, 5))
2014-08-15 23:33:16 +02:00
y:I2;
2015-04-13 23:01:57 +02:00
>y : I2, Symbol(y, Decl(mutrec.ts, 12, 14))
>I2 : I2, Symbol(I2, Decl(mutrec.ts, 14, 1))
2014-08-15 23:33:16 +02:00
}
interface I2 {
2015-04-13 23:01:57 +02:00
>I2 : I2, Symbol(I2, Decl(mutrec.ts, 14, 1))
2014-08-15 23:33:16 +02:00
y:I3;
2015-04-13 23:01:57 +02:00
>y : I3, Symbol(y, Decl(mutrec.ts, 16, 14))
>I3 : I3, Symbol(I3, Decl(mutrec.ts, 18, 1))
2014-08-15 23:33:16 +02:00
}
interface I3 {
2015-04-13 23:01:57 +02:00
>I3 : I3, Symbol(I3, Decl(mutrec.ts, 18, 1))
2014-08-15 23:33:16 +02:00
y:I1;
2015-04-13 23:01:57 +02:00
>y : I1, Symbol(y, Decl(mutrec.ts, 20, 14))
>I1 : I1, Symbol(I1, Decl(mutrec.ts, 10, 5))
2014-08-15 23:33:16 +02:00
}
function g(p: I1) { return p };
2015-04-13 23:01:57 +02:00
>g : (p: I1) => I1, Symbol(g, Decl(mutrec.ts, 22, 1))
>p : I1, Symbol(p, Decl(mutrec.ts, 24, 11))
>I1 : I1, Symbol(I1, Decl(mutrec.ts, 10, 5))
>p : I1, Symbol(p, Decl(mutrec.ts, 24, 11))
2014-08-15 23:33:16 +02:00
var i2:I2;
2015-04-13 23:01:57 +02:00
>i2 : I2, Symbol(i2, Decl(mutrec.ts, 25, 3))
>I2 : I2, Symbol(I2, Decl(mutrec.ts, 14, 1))
2014-08-15 23:33:16 +02:00
g(i2);
>g(i2) : I1
2015-04-13 23:01:57 +02:00
>g : (p: I1) => I1, Symbol(g, Decl(mutrec.ts, 22, 1))
>i2 : I2, Symbol(i2, Decl(mutrec.ts, 25, 3))
2014-08-15 23:33:16 +02:00
var i3:I3;
2015-04-13 23:01:57 +02:00
>i3 : I3, Symbol(i3, Decl(mutrec.ts, 27, 3))
>I3 : I3, Symbol(I3, Decl(mutrec.ts, 18, 1))
2014-08-15 23:33:16 +02:00
g(i3);
>g(i3) : I1
2015-04-13 23:01:57 +02:00
>g : (p: I1) => I1, Symbol(g, Decl(mutrec.ts, 22, 1))
>i3 : I3, Symbol(i3, Decl(mutrec.ts, 27, 3))
2014-08-15 23:33:16 +02:00
interface I4 {
2015-04-13 23:01:57 +02:00
>I4 : I4, Symbol(I4, Decl(mutrec.ts, 28, 6))
2014-08-15 23:33:16 +02:00
y:I5;
2015-04-13 23:01:57 +02:00
>y : I5, Symbol(y, Decl(mutrec.ts, 30, 14))
>I5 : I5, Symbol(I5, Decl(mutrec.ts, 32, 1))
2014-08-15 23:33:16 +02:00
}
interface I5 {
2015-04-13 23:01:57 +02:00
>I5 : I5, Symbol(I5, Decl(mutrec.ts, 32, 1))
2014-08-15 23:33:16 +02:00
y:I4;
2015-04-13 23:01:57 +02:00
>y : I4, Symbol(y, Decl(mutrec.ts, 34, 14))
>I4 : I4, Symbol(I4, Decl(mutrec.ts, 28, 6))
2014-08-15 23:33:16 +02:00
}
var i4:I4;
2015-04-13 23:01:57 +02:00
>i4 : I4, Symbol(i4, Decl(mutrec.ts, 38, 3))
>I4 : I4, Symbol(I4, Decl(mutrec.ts, 28, 6))
2014-08-15 23:33:16 +02:00
g(i4);
>g(i4) : I1
2015-04-13 23:01:57 +02:00
>g : (p: I1) => I1, Symbol(g, Decl(mutrec.ts, 22, 1))
>i4 : I4, Symbol(i4, Decl(mutrec.ts, 38, 3))
2014-08-15 23:33:16 +02:00