1
Global Namespace Merging Within initializeTypeChecker the following code exists:
// Initialize global symbol table forEach(host.getSourceFiles(), file => { if (!isExternalModule(file)) { mergeSymbolTable(globals, file.locals); } }); Which basically merges all the global symbols into the let globals: SymbolTable = {}; (in createTypeChecker) SymbolTable. mergeSymbolTable primarily calls mergeSymbol.