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
|
=== tests/cases/compiler/privateVisibility.ts ===
class Foo {
>Foo : Foo
public pubMeth() {this.privMeth();}
>pubMeth : () => void
>this.privMeth() : void
>this.privMeth : () => void
>this : this
>privMeth : () => void
private privMeth() {}
>privMeth : () => void
public pubProp = 0;
>pubProp : number
>0 : 0
private privProp = 0;
>privProp : number
>0 : 0
}
var f = new Foo();
>f : Foo
>new Foo() : Foo
>Foo : typeof Foo
f.privMeth(); // should not work
>f.privMeth() : void
>f.privMeth : () => void
>f : Foo
>privMeth : () => void
f.privProp; // should not work
>f.privProp : number
>f : Foo
>privProp : number
f.pubMeth(); // should work
>f.pubMeth() : void
>f.pubMeth : () => void
>f : Foo
>pubMeth : () => void
f.pubProp; // should work
>f.pubProp : number
>f : Foo
>pubProp : number
module M {
>M : typeof M
export class C { public pub = 0; private priv = 1; }
>C : C
>pub : number
>0 : 0
>priv : number
>1 : 1
export var V = 0;
>V : number
>0 : 0
}
var c = new M.C();
>c : M.C
>new M.C() : M.C
>M.C : typeof M.C
>M : typeof M
>C : typeof M.C
c.pub; // should work
>c.pub : number
>c : M.C
>pub : number
c.priv; // should not work
>c.priv : number
>c : M.C
>priv : number
|