=== tests/cases/compiler/innerAliases2.ts === module _provider { >_provider : typeof _provider, Symbol(_provider, Decl(innerAliases2.ts, 0, 0)) export class UsefulClass { >UsefulClass : UsefulClass, Symbol(UsefulClass, Decl(innerAliases2.ts, 0, 18)) public foo() { >foo : () => void, Symbol(foo, Decl(innerAliases2.ts, 1, 42)) } } } module consumer { >consumer : typeof consumer, Symbol(consumer, Decl(innerAliases2.ts, 5, 1)) import provider = _provider; >provider : typeof provider, Symbol(provider, Decl(innerAliases2.ts, 7, 17)) >_provider : typeof provider, Symbol(provider, Decl(innerAliases2.ts, 0, 0)) var g:provider.UsefulClass= null; >g : provider.UsefulClass, Symbol(g, Decl(innerAliases2.ts, 10, 19)) >provider : any, Symbol(provider, Decl(innerAliases2.ts, 7, 17)) >UsefulClass : provider.UsefulClass, Symbol(provider.UsefulClass, Decl(innerAliases2.ts, 0, 18)) >null : null function use():provider.UsefulClass { >use : () => provider.UsefulClass, Symbol(use, Decl(innerAliases2.ts, 10, 49)) >provider : any, Symbol(provider, Decl(innerAliases2.ts, 7, 17)) >UsefulClass : provider.UsefulClass, Symbol(provider.UsefulClass, Decl(innerAliases2.ts, 0, 18)) var p2:provider.UsefulClass= new provider.UsefulClass(); >p2 : provider.UsefulClass, Symbol(p2, Decl(innerAliases2.ts, 13, 35)) >provider : any, Symbol(provider, Decl(innerAliases2.ts, 7, 17)) >UsefulClass : provider.UsefulClass, Symbol(provider.UsefulClass, Decl(innerAliases2.ts, 0, 18)) >new provider.UsefulClass() : provider.UsefulClass >provider.UsefulClass : typeof provider.UsefulClass, Symbol(provider.UsefulClass, Decl(innerAliases2.ts, 0, 18)) >provider : typeof provider, Symbol(provider, Decl(innerAliases2.ts, 7, 17)) >UsefulClass : typeof provider.UsefulClass, Symbol(provider.UsefulClass, Decl(innerAliases2.ts, 0, 18)) return p2; >p2 : provider.UsefulClass, Symbol(p2, Decl(innerAliases2.ts, 13, 35)) } }