25 lines
1.5 KiB
Text
25 lines
1.5 KiB
Text
=== tests/cases/compiler/funduleExportedClassIsUsedBeforeDeclaration.ts ===
|
|
interface A { // interface before module declaration
|
|
>A : Symbol(A, Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 0, 0))
|
|
|
|
(): B.C; // uses defined below class in module
|
|
>B : Symbol(B, Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 2, 1), Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 3, 26))
|
|
>C : Symbol(B.C, Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 4, 18))
|
|
}
|
|
declare function B(): B.C; // function merged with module
|
|
>B : Symbol(B, Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 2, 1), Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 3, 26))
|
|
>B : Symbol(B, Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 2, 1), Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 3, 26))
|
|
>C : Symbol(B.C, Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 4, 18))
|
|
|
|
declare module B {
|
|
>B : Symbol(B, Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 2, 1), Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 3, 26))
|
|
|
|
export class C { // class defined in module
|
|
>C : Symbol(C, Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 4, 18))
|
|
}
|
|
}
|
|
new B.C();
|
|
>B.C : Symbol(B.C, Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 4, 18))
|
|
>B : Symbol(B, Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 2, 1), Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 3, 26))
|
|
>C : Symbol(B.C, Decl(funduleExportedClassIsUsedBeforeDeclaration.ts, 4, 18))
|
|
|