TypeScript/tests/cases/compiler/declarationEmitNameConflicts.ts

50 lines
1.2 KiB
TypeScript
Raw Normal View History

2014-07-13 01:04:16 +02:00
// @declaration: true
// @module: commonjs
2014-07-13 01:04:16 +02:00
// @Filename: declarationEmit_nameConflicts_1.ts
module f { export class c { } }
2014-07-13 01:04:16 +02:00
export = f;
// @Filename: declarationEmit_nameConflicts_0.ts
2015-09-15 20:43:28 +02:00
import im = require('./declarationEmit_nameConflicts_1');
2014-07-13 01:04:16 +02:00
export module M {
export function f() { }
export class C { }
export module N {
export function g() { };
export interface I { }
}
export import a = M.f;
export import b = M.C;
export import c = N;
export import d = im;
}
export module M.P {
export function f() { }
export class C { }
export module N {
export function g() { };
export interface I { }
}
export import im = M.P.f;
export var a = M.a; // emitted incorrectly as typeof f
export var b = M.b; // ok
export var c = M.c; // ok
export var g = M.c.g; // ok
export var d = M.d; // emitted incorrectly as typeof im
}
export module M.Q {
export function f() { }
export class C { }
export module N {
export function g() { };
export interface I { }
}
export interface b extends M.b { } // ok
export interface I extends M.c.I { } // ok
export module c {
export interface I extends M.c.I { } // ok
}
}