TypeScript/tests/baselines/reference/declFileTypeAnnotationArrayType.types
2015-04-15 16:44:20 -07:00

126 lines
2 KiB
Plaintext

=== tests/cases/compiler/declFileTypeAnnotationArrayType.ts ===
class c {
>c : c
}
module m {
>m : typeof m
export class c {
>c : c
}
export class g<T> {
>g : g<T>
>T : T
}
}
class g<T> {
>g : g<T>
>T : T
}
// Just the name
function foo(): c[] {
>foo : () => c[]
>c : c
return [new c()];
>[new c()] : c[]
>new c() : c
>c : typeof c
}
function foo2() {
>foo2 : () => c[]
return [new c()];
>[new c()] : c[]
>new c() : c
>c : typeof c
}
// Qualified name
function foo3(): m.c[] {
>foo3 : () => m.c[]
>m : any
>c : m.c
return [new m.c()];
>[new m.c()] : m.c[]
>new m.c() : m.c
>m.c : typeof m.c
>m : typeof m
>c : typeof m.c
}
function foo4() {
>foo4 : () => typeof m.c
return m.c;
>m.c : typeof m.c
>m : typeof m
>c : typeof m.c
}
// Just the name with type arguments
function foo5(): g<string>[] {
>foo5 : () => g<string>[]
>g : g<T>
return [new g<string>()];
>[new g<string>()] : g<string>[]
>new g<string>() : g<string>
>g : typeof g
}
function foo6() {
>foo6 : () => g<string>[]
return [new g<string>()];
>[new g<string>()] : g<string>[]
>new g<string>() : g<string>
>g : typeof g
}
// Qualified name with type arguments
function foo7(): m.g<number>[] {
>foo7 : () => m.g<number>[]
>m : any
>g : m.g<T>
return [new m.g<number>()];
>[new m.g<number>()] : m.g<number>[]
>new m.g<number>() : m.g<number>
>m.g : typeof m.g
>m : typeof m
>g : typeof m.g
}
function foo8() {
>foo8 : () => m.g<number>[]
return [new m.g<number>()];
>[new m.g<number>()] : m.g<number>[]
>new m.g<number>() : m.g<number>
>m.g : typeof m.g
>m : typeof m
>g : typeof m.g
}
// Array of function types
function foo9(): (()=>c)[] {
>foo9 : () => (() => c)[]
>c : c
return [() => new c()];
>[() => new c()] : (() => c)[]
>() => new c() : () => c
>new c() : c
>c : typeof c
}
function foo10() {
>foo10 : () => (() => c)[]
return [() => new c()];
>[() => new c()] : (() => c)[]
>() => new c() : () => c
>new c() : c
>c : typeof c
}