1- /// <reference path="types.ts"/>
2- /// <reference path="core.ts"/>
3- /// <reference path="scanner.ts"/>
4- /// <reference path="parser.ts"/>
51/// <reference path="binder.ts"/>
6- /// <reference path="emitter.ts"/>
7- /// <reference path="utilities.ts"/>
82
93module ts {
104 var nextSymbolId = 1;
@@ -16,7 +10,6 @@ module ts {
1610 /// If fullTypeCheck === false, the typechecker can take shortcuts and skip checks that only produce errors.
1711 /// NOTE: checks that somehow affect decisions being made during typechecking should be executed in both cases.
1812 export function createTypeChecker(program: Program, fullTypeCheck: boolean): TypeChecker {
19-
2013 var Symbol = objectAllocator.getSymbolConstructor();
2114 var Type = objectAllocator.getTypeConstructor();
2215 var Signature = objectAllocator.getSignatureConstructor();
@@ -27,6 +20,7 @@ module ts {
2720 var emptySymbols: SymbolTable = {};
2821
2922 var compilerOptions = program.getCompilerOptions();
23+ var emitResolver = createResolver();
3024
3125 var checker: TypeChecker = {
3226 getProgram: () => program,
@@ -36,9 +30,7 @@ module ts {
3630 getTypeCount: () => typeCount,
3731 isUndefinedSymbol: symbol => symbol === undefinedSymbol,
3832 isArgumentsSymbol: symbol => symbol === argumentsSymbol,
39- emitFiles: invokeEmitter,
4033 getDiagnostics,
41- getDeclarationDiagnostics,
4234 getGlobalDiagnostics,
4335 getTypeOfSymbolAtLocation,
4436 getDeclaredTypeOfSymbol,
@@ -66,6 +58,7 @@ module ts {
6658 getAliasedSymbol: resolveImport,
6759 hasEarlyErrors,
6860 isEmitBlocked,
61+ getEmitResolver: () => emitResolver,
6962 };
7063
7164 var undefinedSymbol = createSymbol(SymbolFlags.Property | SymbolFlags.Transient, "undefined");
@@ -8945,12 +8938,6 @@ module ts {
89458938 return getSortedDiagnostics();
89468939 }
89478940
8948- function getDeclarationDiagnostics(targetSourceFile: SourceFile): Diagnostic[] {
8949- var resolver = createResolver();
8950- checkSourceFile(targetSourceFile);
8951- return ts.getDeclarationDiagnostics(program, resolver, targetSourceFile);
8952- }
8953-
89548941 function getGlobalDiagnostics(): Diagnostic[] {
89558942 return filter(getSortedDiagnostics(), d => !d.file);
89568943 }
@@ -9575,11 +9562,6 @@ module ts {
95759562 };
95769563 }
95779564
9578- function invokeEmitter(targetSourceFile?: SourceFile) {
9579- var resolver = createResolver();
9580- return emitFiles(resolver, targetSourceFile);
9581- }
9582-
95839565 function initializeTypeChecker() {
95849566 // Bind all source files and propagate errors
95859567 forEach(program.getSourceFiles(), file => {
0 commit comments