File: methodContainingLocalFunction.types

package info (click to toggle)
node-typescript 2.1.5-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 203,952 kB
  • ctags: 52,987
  • sloc: sh: 11; makefile: 5
file content (135 lines) | stat: -rw-r--r-- 2,837 bytes parent folder | download | duplicates (2)
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
=== tests/cases/compiler/methodContainingLocalFunction.ts ===
// The first case here (BugExhibition<T>) caused a crash. Try with different permutations of features.
class BugExhibition<T> {
>BugExhibition : BugExhibition<T>
>T : T

    public exhibitBug() {
>exhibitBug : () => void

        function localFunction() { }
>localFunction : () => void

        var x: { (): void; };
>x : () => void

        x = localFunction;
>x = localFunction : () => void
>x : () => void
>localFunction : () => void
    }
}

class BugExhibition2<T> {
>BugExhibition2 : BugExhibition2<T>
>T : T

    private static get exhibitBug() {
>exhibitBug : any

        function localFunction() { }
>localFunction : () => void

        var x: { (): void; };
>x : () => void

        x = localFunction;
>x = localFunction : () => void
>x : () => void
>localFunction : () => void

        return null;
>null : null
    }
}

class BugExhibition3<T> {
>BugExhibition3 : BugExhibition3<T>
>T : T

    public exhibitBug() {
>exhibitBug : () => void

        function localGenericFunction<U>(u?: U) { }
>localGenericFunction : <U>(u?: U) => void
>U : U
>u : U
>U : U

        var x: { (): void; };
>x : () => void

        x = localGenericFunction;
>x = localGenericFunction : <U>(u?: U) => void
>x : () => void
>localGenericFunction : <U>(u?: U) => void
    }
}

class C {
>C : C

    exhibit() {
>exhibit : () => void

        var funcExpr = <U>(u?: U) => { };
>funcExpr : <U>(u?: U) => void
><U>(u?: U) => { } : <U>(u?: U) => void
>U : U
>u : U
>U : U

        var x: { (): void; };
>x : () => void

        x = funcExpr;
>x = funcExpr : <U>(u?: U) => void
>x : () => void
>funcExpr : <U>(u?: U) => void
    }
}

module M {
>M : typeof M

    export function exhibitBug() {
>exhibitBug : () => void

        function localFunction() { }
>localFunction : () => void

        var x: { (): void; };
>x : () => void

        x = localFunction;
>x = localFunction : () => void
>x : () => void
>localFunction : () => void
    }
}

enum E {
>E : E

    A = (() => {
>A : E
>(() => {        function localFunction() { }        var x: { (): void; };        x = localFunction;        return 0;    })() : number
>(() => {        function localFunction() { }        var x: { (): void; };        x = localFunction;        return 0;    }) : () => number
>() => {        function localFunction() { }        var x: { (): void; };        x = localFunction;        return 0;    } : () => number

        function localFunction() { }
>localFunction : () => void

        var x: { (): void; };
>x : () => void

        x = localFunction;
>x = localFunction : () => void
>x : () => void
>localFunction : () => void

        return 0;
>0 : 0

    })()
}