File: methodContainingLocalFunction.js

package info (click to toggle)
node-typescript 3.3.3333-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 324,548 kB
  • sloc: makefile: 6; sh: 3
file content (117 lines) | stat: -rw-r--r-- 2,811 bytes parent folder | download
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
//// [methodContainingLocalFunction.ts]
// The first case here (BugExhibition<T>) caused a crash. Try with different permutations of features.
class BugExhibition<T> {
    public exhibitBug() {
        function localFunction() { }
        var x: { (): void; };
        x = localFunction;
    }
}

class BugExhibition2<T> {
    private static get exhibitBug() {
        function localFunction() { }
        var x: { (): void; };
        x = localFunction;
        return null;
    }
}

class BugExhibition3<T> {
    public exhibitBug() {
        function localGenericFunction<U>(u?: U) { }
        var x: { (): void; };
        x = localGenericFunction;
    }
}

class C {
    exhibit() {
        var funcExpr = <U>(u?: U) => { };
        var x: { (): void; };
        x = funcExpr;
    }
}

module M {
    export function exhibitBug() {
        function localFunction() { }
        var x: { (): void; };
        x = localFunction;
    }
}

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

//// [methodContainingLocalFunction.js]
// The first case here (BugExhibition<T>) caused a crash. Try with different permutations of features.
var BugExhibition = /** @class */ (function () {
    function BugExhibition() {
    }
    BugExhibition.prototype.exhibitBug = function () {
        function localFunction() { }
        var x;
        x = localFunction;
    };
    return BugExhibition;
}());
var BugExhibition2 = /** @class */ (function () {
    function BugExhibition2() {
    }
    Object.defineProperty(BugExhibition2, "exhibitBug", {
        get: function () {
            function localFunction() { }
            var x;
            x = localFunction;
            return null;
        },
        enumerable: true,
        configurable: true
    });
    return BugExhibition2;
}());
var BugExhibition3 = /** @class */ (function () {
    function BugExhibition3() {
    }
    BugExhibition3.prototype.exhibitBug = function () {
        function localGenericFunction(u) { }
        var x;
        x = localGenericFunction;
    };
    return BugExhibition3;
}());
var C = /** @class */ (function () {
    function C() {
    }
    C.prototype.exhibit = function () {
        var funcExpr = function (u) { };
        var x;
        x = funcExpr;
    };
    return C;
}());
var M;
(function (M) {
    function exhibitBug() {
        function localFunction() { }
        var x;
        x = localFunction;
    }
    M.exhibitBug = exhibitBug;
})(M || (M = {}));
var E;
(function (E) {
    E[E["A"] = (function () {
        function localFunction() { }
        var x;
        x = localFunction;
        return 0;
    })()] = "A";
})(E || (E = {}));