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
|
=== tests/cases/compiler/staticMemberExportAccess.ts ===
class Sammy {
>Sammy : Sammy
foo() { return "hi"; }
>foo : () => string
>"hi" : "hi"
static bar() {
>bar : () => number
return -1;
>-1 : -1
>1 : 1
}
}
module Sammy {
>Sammy : typeof Sammy
export var x = 1;
>x : number
>1 : 1
}
interface JQueryStatic {
sammy: Sammy; // class instance
>sammy : Sammy
}
var $: JQueryStatic;
>$ : JQueryStatic
var instanceOfClassSammy: Sammy = new $.sammy(); // should be error
>instanceOfClassSammy : Sammy
>new $.sammy() : any
>$.sammy : Sammy
>$ : JQueryStatic
>sammy : Sammy
var r1 = instanceOfClassSammy.foo(); // r1 is string
>r1 : string
>instanceOfClassSammy.foo() : string
>instanceOfClassSammy.foo : () => string
>instanceOfClassSammy : Sammy
>foo : () => string
var r2 = $.sammy.foo();
>r2 : string
>$.sammy.foo() : string
>$.sammy.foo : () => string
>$.sammy : Sammy
>$ : JQueryStatic
>sammy : Sammy
>foo : () => string
var r3 = $.sammy.bar(); // error
>r3 : any
>$.sammy.bar() : any
>$.sammy.bar : any
>$.sammy : Sammy
>$ : JQueryStatic
>sammy : Sammy
>bar : any
var r4 = $.sammy.x; // error
>r4 : any
>$.sammy.x : any
>$.sammy : Sammy
>$ : JQueryStatic
>sammy : Sammy
>x : any
Sammy.bar();
>Sammy.bar() : number
>Sammy.bar : () => number
>Sammy : typeof Sammy
>bar : () => number
|