=== tests/cases/compiler/declarationEmit_nameConflicts2.ts === module X.Y.base { >X : typeof X >Y : typeof Y >base : typeof base export function f() { } >f : () => void export class C { } >C : C export module M { >M : typeof M export var v; >v : any } export enum E { } >E : E } module X.Y.base.Z { >X : typeof X >Y : typeof Y >base : typeof base >Z : typeof Z export var f = X.Y.base.f; // Should be base.f >f : () => void >X.Y.base.f : () => void >X.Y.base : typeof base >X.Y : typeof Y >X : typeof X >Y : typeof Y >base : typeof base >f : () => void export var C = X.Y.base.C; // Should be base.C >C : typeof base.C >X.Y.base.C : typeof base.C >X.Y.base : typeof base >X.Y : typeof Y >X : typeof X >Y : typeof Y >base : typeof base >C : typeof base.C export var M = X.Y.base.M; // Should be base.M >M : typeof base.M >X.Y.base.M : typeof base.M >X.Y.base : typeof base >X.Y : typeof Y >X : typeof X >Y : typeof Y >base : typeof base >M : typeof base.M export var E = X.Y.base.E; // Should be base.E >E : typeof base.E >X.Y.base.E : typeof base.E >X.Y.base : typeof base >X.Y : typeof Y >X : typeof X >Y : typeof Y >base : typeof base >E : typeof base.E }