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
})()
}
|