TypeScript/tests/baselines/reference/methodContainingLocalFunction.types

136 lines
5.5 KiB
Text
Raw Normal View History

2014-08-15 23:33:16 +02:00
=== 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>, Symbol(BugExhibition,Decl(methodContainingLocalFunction.ts,0,0))
>T : T, Symbol(T,Decl(methodContainingLocalFunction.ts,1,20))
2014-08-15 23:33:16 +02:00
public exhibitBug() {
>exhibitBug : () => void, Symbol(exhibitBug,Decl(methodContainingLocalFunction.ts,1,24))
2014-08-15 23:33:16 +02:00
function localFunction() { }
>localFunction : () => void, Symbol(localFunction,Decl(methodContainingLocalFunction.ts,2,25))
2014-08-15 23:33:16 +02:00
var x: { (): void; };
>x : () => void, Symbol(x,Decl(methodContainingLocalFunction.ts,4,11))
2014-08-15 23:33:16 +02:00
x = localFunction;
>x = localFunction : () => void
>x : () => void, Symbol(x,Decl(methodContainingLocalFunction.ts,4,11))
>localFunction : () => void, Symbol(localFunction,Decl(methodContainingLocalFunction.ts,2,25))
2014-08-15 23:33:16 +02:00
}
}
class BugExhibition2<T> {
>BugExhibition2 : BugExhibition2<T>, Symbol(BugExhibition2,Decl(methodContainingLocalFunction.ts,7,1))
>T : T, Symbol(T,Decl(methodContainingLocalFunction.ts,9,21))
2014-08-15 23:33:16 +02:00
private static get exhibitBug() {
>exhibitBug : any, Symbol(BugExhibition2.exhibitBug,Decl(methodContainingLocalFunction.ts,9,25))
2014-08-15 23:33:16 +02:00
function localFunction() { }
>localFunction : () => void, Symbol(localFunction,Decl(methodContainingLocalFunction.ts,10,37))
2014-08-15 23:33:16 +02:00
var x: { (): void; };
>x : () => void, Symbol(x,Decl(methodContainingLocalFunction.ts,12,11))
2014-08-15 23:33:16 +02:00
x = localFunction;
>x = localFunction : () => void
>x : () => void, Symbol(x,Decl(methodContainingLocalFunction.ts,12,11))
>localFunction : () => void, Symbol(localFunction,Decl(methodContainingLocalFunction.ts,10,37))
2014-08-15 23:33:16 +02:00
return null;
2015-04-13 21:36:11 +02:00
>null : null
2014-08-15 23:33:16 +02:00
}
}
class BugExhibition3<T> {
>BugExhibition3 : BugExhibition3<T>, Symbol(BugExhibition3,Decl(methodContainingLocalFunction.ts,16,1))
>T : T, Symbol(T,Decl(methodContainingLocalFunction.ts,18,21))
2014-08-15 23:33:16 +02:00
public exhibitBug() {
>exhibitBug : () => void, Symbol(exhibitBug,Decl(methodContainingLocalFunction.ts,18,25))
2014-08-15 23:33:16 +02:00
function localGenericFunction<U>(u?: U) { }
>localGenericFunction : <U>(u?: U) => void, Symbol(localGenericFunction,Decl(methodContainingLocalFunction.ts,19,25))
>U : U, Symbol(U,Decl(methodContainingLocalFunction.ts,20,38))
>u : U, Symbol(u,Decl(methodContainingLocalFunction.ts,20,41))
>U : U, Symbol(U,Decl(methodContainingLocalFunction.ts,20,38))
2014-08-15 23:33:16 +02:00
var x: { (): void; };
>x : () => void, Symbol(x,Decl(methodContainingLocalFunction.ts,21,11))
2014-08-15 23:33:16 +02:00
x = localGenericFunction;
>x = localGenericFunction : <U>(u?: U) => void
>x : () => void, Symbol(x,Decl(methodContainingLocalFunction.ts,21,11))
>localGenericFunction : <U>(u?: U) => void, Symbol(localGenericFunction,Decl(methodContainingLocalFunction.ts,19,25))
2014-08-15 23:33:16 +02:00
}
}
class C {
>C : C, Symbol(C,Decl(methodContainingLocalFunction.ts,24,1))
2014-08-15 23:33:16 +02:00
exhibit() {
>exhibit : () => void, Symbol(exhibit,Decl(methodContainingLocalFunction.ts,26,9))
2014-08-15 23:33:16 +02:00
var funcExpr = <U>(u?: U) => { };
>funcExpr : <U>(u?: U) => void, Symbol(funcExpr,Decl(methodContainingLocalFunction.ts,28,11))
2014-08-15 23:33:16 +02:00
><U>(u?: U) => { } : <U>(u?: U) => void
>U : U, Symbol(U,Decl(methodContainingLocalFunction.ts,28,24))
>u : U, Symbol(u,Decl(methodContainingLocalFunction.ts,28,27))
>U : U, Symbol(U,Decl(methodContainingLocalFunction.ts,28,24))
2014-08-15 23:33:16 +02:00
var x: { (): void; };
>x : () => void, Symbol(x,Decl(methodContainingLocalFunction.ts,29,11))
2014-08-15 23:33:16 +02:00
x = funcExpr;
>x = funcExpr : <U>(u?: U) => void
>x : () => void, Symbol(x,Decl(methodContainingLocalFunction.ts,29,11))
>funcExpr : <U>(u?: U) => void, Symbol(funcExpr,Decl(methodContainingLocalFunction.ts,28,11))
2014-08-15 23:33:16 +02:00
}
}
module M {
>M : typeof M, Symbol(M,Decl(methodContainingLocalFunction.ts,32,1))
2014-08-15 23:33:16 +02:00
export function exhibitBug() {
>exhibitBug : () => void, Symbol(exhibitBug,Decl(methodContainingLocalFunction.ts,34,10))
2014-08-15 23:33:16 +02:00
function localFunction() { }
>localFunction : () => void, Symbol(localFunction,Decl(methodContainingLocalFunction.ts,35,34))
2014-08-15 23:33:16 +02:00
var x: { (): void; };
>x : () => void, Symbol(x,Decl(methodContainingLocalFunction.ts,37,11))
2014-08-15 23:33:16 +02:00
x = localFunction;
>x = localFunction : () => void
>x : () => void, Symbol(x,Decl(methodContainingLocalFunction.ts,37,11))
>localFunction : () => void, Symbol(localFunction,Decl(methodContainingLocalFunction.ts,35,34))
2014-08-15 23:33:16 +02:00
}
}
enum E {
>E : E, Symbol(E,Decl(methodContainingLocalFunction.ts,40,1))
2014-08-15 23:33:16 +02:00
A = (() => {
>A : E, Symbol(E.A,Decl(methodContainingLocalFunction.ts,42,8))
2014-08-22 03:39:46 +02:00
>(() => { 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
2014-08-15 23:33:16 +02:00
function localFunction() { }
>localFunction : () => void, Symbol(localFunction,Decl(methodContainingLocalFunction.ts,43,16))
2014-08-15 23:33:16 +02:00
var x: { (): void; };
>x : () => void, Symbol(x,Decl(methodContainingLocalFunction.ts,45,11))
2014-08-15 23:33:16 +02:00
x = localFunction;
>x = localFunction : () => void
>x : () => void, Symbol(x,Decl(methodContainingLocalFunction.ts,45,11))
>localFunction : () => void, Symbol(localFunction,Decl(methodContainingLocalFunction.ts,43,16))
2014-08-15 23:33:16 +02:00
return 0;
2015-04-13 21:36:11 +02:00
>0 : number
2014-08-15 23:33:16 +02:00
})()
}