1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
=== tests/cases/conformance/classes/members/instanceAndStaticMembers/typeOfThisInInstanceMember.ts ===
class C {
>C : C
x = this;
>x : this
>this : this
foo() {
>foo : () => this
return this;
>this : this
}
constructor(x: number) {
>x : number
var t = this;
>t : this
>this : this
t.x;
>t.x : this
>t : this
>x : this
t.y;
>t.y : this
>t : this
>y : this
t.z;
>t.z : any
>t : this
>z : any
var r = t.foo();
>r : this
>t.foo() : this
>t.foo : () => this
>t : this
>foo : () => this
}
get y() {
>y : this
return this;
>this : this
}
}
var c: C;
>c : C
// all ok
var r = c.x;
>r : C
>c.x : C
>c : C
>x : C
var ra = c.x.x.x;
>ra : C
>c.x.x.x : C
>c.x.x : C
>c.x : C
>c : C
>x : C
>x : C
>x : C
var r2 = c.y;
>r2 : C
>c.y : C
>c : C
>y : C
var r3 = c.foo();
>r3 : C
>c.foo() : C
>c.foo : () => C
>c : C
>foo : () => C
var rs = [r, r2, r3];
>rs : C[]
>[r, r2, r3] : C[]
>r : C
>r2 : C
>r3 : C
rs.forEach(x => {
>rs.forEach(x => { x.foo; x.x; x.y;}) : void
>rs.forEach : (callbackfn: (value: C, index: number, array: C[]) => void, thisArg?: any) => void
>rs : C[]
>forEach : (callbackfn: (value: C, index: number, array: C[]) => void, thisArg?: any) => void
>x => { x.foo; x.x; x.y;} : (x: C) => void
>x : C
x.foo;
>x.foo : () => C
>x : C
>foo : () => C
x.x;
>x.x : C
>x : C
>x : C
x.y;
>x.y : C
>x : C
>y : C
});
|