2014-08-15 23:33:16 +02:00
|
|
|
=== tests/cases/compiler/funduleExportedClassIsUsedBeforeDeclaration.ts ===
|
|
|
|
interface A { // interface before module declaration
|
|
|
|
>A : A
|
|
|
|
|
|
|
|
(): B.C; // uses defined below class in module
|
2014-08-28 21:40:58 +02:00
|
|
|
>B : unknown
|
2014-08-25 19:36:12 +02:00
|
|
|
>C : B.C
|
2014-08-15 23:33:16 +02:00
|
|
|
}
|
|
|
|
declare function B(): B.C; // function merged with module
|
|
|
|
>B : typeof B
|
2014-08-28 21:40:58 +02:00
|
|
|
>B : unknown
|
2014-08-25 19:36:12 +02:00
|
|
|
>C : B.C
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
declare module B {
|
2014-08-28 21:40:58 +02:00
|
|
|
>B : typeof B
|
2014-08-15 23:33:16 +02:00
|
|
|
|
|
|
|
export class C { // class defined in module
|
|
|
|
>C : C
|
|
|
|
}
|
|
|
|
}
|
|
|
|
new B.C();
|
2014-08-25 19:36:12 +02:00
|
|
|
>new B.C() : B.C
|
|
|
|
>B.C : typeof B.C
|
2014-08-15 23:33:16 +02:00
|
|
|
>B : typeof B
|
2014-08-25 19:36:12 +02:00
|
|
|
>C : typeof B.C
|
2014-08-15 23:33:16 +02:00
|
|
|
|