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 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
|
=== tests/cases/conformance/classes/members/accessibility/protectedClassPropertyAccessibleWithinClass.ts ===
// no errors
class C {
>C : C
protected x: string;
>x : string
protected get y() { return this.x; }
>y : string
>this.x : string
>this : this
>x : string
protected set y(x) { this.y = this.x; }
>y : string
>x : string
>this.y = this.x : string
>this.y : string
>this : this
>y : string
>this.x : string
>this : this
>x : string
protected foo() { return this.foo; }
>foo : () => any
>this.foo : () => any
>this : this
>foo : () => any
protected static x: string;
>x : string
protected static get y() { return this.x; }
>y : string
>this.x : string
>this : typeof C
>x : string
protected static set y(x) { this.y = this.x; }
>y : string
>x : string
>this.y = this.x : string
>this.y : string
>this : typeof C
>y : string
>this.x : string
>this : typeof C
>x : string
protected static foo() { return this.foo; }
>foo : () => typeof C.foo
>this.foo : () => typeof C.foo
>this : typeof C
>foo : () => typeof C.foo
protected static bar() { this.foo(); }
>bar : () => void
>this.foo() : () => typeof C.foo
>this.foo : () => typeof C.foo
>this : typeof C
>foo : () => typeof C.foo
}
// added level of function nesting
class C2 {
>C2 : C2
protected x: string;
>x : string
protected get y() { () => this.x; return null; }
>y : any
>() => this.x : () => string
>this.x : string
>this : this
>x : string
>null : null
protected set y(x) { () => { this.y = this.x; } }
>y : any
>x : any
>() => { this.y = this.x; } : () => void
>this.y = this.x : string
>this.y : any
>this : this
>y : any
>this.x : string
>this : this
>x : string
protected foo() { () => this.foo; }
>foo : () => void
>() => this.foo : () => () => void
>this.foo : () => void
>this : this
>foo : () => void
protected static x: string;
>x : string
protected static get y() { () => this.x; return null; }
>y : any
>() => this.x : () => string
>this.x : string
>this : typeof C2
>x : string
>null : null
protected static set y(x) {
>y : any
>x : any
() => { this.y = this.x; }
>() => { this.y = this.x; } : () => void
>this.y = this.x : string
>this.y : any
>this : typeof C2
>y : any
>this.x : string
>this : typeof C2
>x : string
}
protected static foo() { () => this.foo; }
>foo : () => void
>() => this.foo : () => () => void
>this.foo : () => void
>this : typeof C2
>foo : () => void
protected static bar() { () => this.foo(); }
>bar : () => void
>() => this.foo() : () => void
>this.foo() : void
>this.foo : () => void
>this : typeof C2
>foo : () => void
}
|