@@ -294,7 +294,7 @@ namespace ts {
294294 configFileParsingDiagnostics : ReadonlyArray < Diagnostic > ;
295295 }
296296
297- export function getBuilderCreationParameters ( newProgramOrRootNames : Program | ReadonlyArray < string > | undefined , hostOrOptions : BuilderProgramHost | CompilerOptions | undefined , oldProgramOrHost ?: BuilderProgram | CompilerHost , configFileParsingDiagnosticsOrOldProgram ?: ReadonlyArray < Diagnostic > | BuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > ) : BuilderCreationParameters {
297+ export function getBuilderCreationParameters ( newProgramOrRootNames : Program | ReadonlyArray < string > | undefined , hostOrOptions : BuilderProgramHost | CompilerOptions | undefined , oldProgramOrHost ?: BuilderProgram | CompilerHost , configFileParsingDiagnosticsOrOldProgram ?: ReadonlyArray < Diagnostic > | BuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > , projectReferences ?: ReadonlyArray < ProjectReference > ) : BuilderCreationParameters {
298298 let host : BuilderProgramHost ;
299299 let newProgram : Program ;
300300 let oldProgram : BuilderProgram ;
@@ -307,7 +307,14 @@ namespace ts {
307307 }
308308 else if ( isArray ( newProgramOrRootNames ) ) {
309309 oldProgram = configFileParsingDiagnosticsOrOldProgram as BuilderProgram ;
310- newProgram = createProgram ( newProgramOrRootNames , hostOrOptions as CompilerOptions , oldProgramOrHost as CompilerHost , oldProgram && oldProgram . getProgram ( ) , configFileParsingDiagnostics ) ;
310+ newProgram = createProgram ( {
311+ rootNames : newProgramOrRootNames ,
312+ options : hostOrOptions as CompilerOptions ,
313+ host : oldProgramOrHost as CompilerHost ,
314+ oldProgram : oldProgram && oldProgram . getProgram ( ) ,
315+ configFileParsingDiagnostics,
316+ projectReferences
317+ } ) ;
311318 host = oldProgramOrHost as CompilerHost ;
312319 }
313320 else {
@@ -623,28 +630,28 @@ namespace ts {
623630 * Create the builder to manage semantic diagnostics and cache them
624631 */
625632 export function createSemanticDiagnosticsBuilderProgram ( newProgram : Program , host : BuilderProgramHost , oldProgram ?: SemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > ) : SemanticDiagnosticsBuilderProgram ;
626- export function createSemanticDiagnosticsBuilderProgram ( rootNames : ReadonlyArray < string > | undefined , options : CompilerOptions | undefined , host ?: CompilerHost , oldProgram ?: SemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > ) : SemanticDiagnosticsBuilderProgram ;
627- export function createSemanticDiagnosticsBuilderProgram ( newProgramOrRootNames : Program | ReadonlyArray < string > | undefined , hostOrOptions : BuilderProgramHost | CompilerOptions | undefined , oldProgramOrHost ?: CompilerHost | SemanticDiagnosticsBuilderProgram , configFileParsingDiagnosticsOrOldProgram ?: ReadonlyArray < Diagnostic > | SemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > ) {
628- return createBuilderProgram ( BuilderProgramKind . SemanticDiagnosticsBuilderProgram , getBuilderCreationParameters ( newProgramOrRootNames , hostOrOptions , oldProgramOrHost , configFileParsingDiagnosticsOrOldProgram , configFileParsingDiagnostics ) ) ;
633+ export function createSemanticDiagnosticsBuilderProgram ( rootNames : ReadonlyArray < string > | undefined , options : CompilerOptions | undefined , host ?: CompilerHost , oldProgram ?: SemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > , projectReferences ?: ReadonlyArray < ProjectReference > ) : SemanticDiagnosticsBuilderProgram ;
634+ export function createSemanticDiagnosticsBuilderProgram ( newProgramOrRootNames : Program | ReadonlyArray < string > | undefined , hostOrOptions : BuilderProgramHost | CompilerOptions | undefined , oldProgramOrHost ?: CompilerHost | SemanticDiagnosticsBuilderProgram , configFileParsingDiagnosticsOrOldProgram ?: ReadonlyArray < Diagnostic > | SemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > , projectReferences ?: ReadonlyArray < ProjectReference > ) {
635+ return createBuilderProgram ( BuilderProgramKind . SemanticDiagnosticsBuilderProgram , getBuilderCreationParameters ( newProgramOrRootNames , hostOrOptions , oldProgramOrHost , configFileParsingDiagnosticsOrOldProgram , configFileParsingDiagnostics , projectReferences ) ) ;
629636 }
630637
631638 /**
632639 * Create the builder that can handle the changes in program and iterate through changed files
633640 * to emit the those files and manage semantic diagnostics cache as well
634641 */
635642 export function createEmitAndSemanticDiagnosticsBuilderProgram ( newProgram : Program , host : BuilderProgramHost , oldProgram ?: EmitAndSemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > ) : EmitAndSemanticDiagnosticsBuilderProgram ;
636- export function createEmitAndSemanticDiagnosticsBuilderProgram ( rootNames : ReadonlyArray < string > | undefined , options : CompilerOptions | undefined , host ?: CompilerHost , oldProgram ?: EmitAndSemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > ) : EmitAndSemanticDiagnosticsBuilderProgram ;
637- export function createEmitAndSemanticDiagnosticsBuilderProgram ( newProgramOrRootNames : Program | ReadonlyArray < string > | undefined , hostOrOptions : BuilderProgramHost | CompilerOptions | undefined , oldProgramOrHost ?: CompilerHost | EmitAndSemanticDiagnosticsBuilderProgram , configFileParsingDiagnosticsOrOldProgram ?: ReadonlyArray < Diagnostic > | EmitAndSemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > ) {
638- return createBuilderProgram ( BuilderProgramKind . EmitAndSemanticDiagnosticsBuilderProgram , getBuilderCreationParameters ( newProgramOrRootNames , hostOrOptions , oldProgramOrHost , configFileParsingDiagnosticsOrOldProgram , configFileParsingDiagnostics ) ) ;
643+ export function createEmitAndSemanticDiagnosticsBuilderProgram ( rootNames : ReadonlyArray < string > | undefined , options : CompilerOptions | undefined , host ?: CompilerHost , oldProgram ?: EmitAndSemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > , projectReferences ?: ReadonlyArray < ProjectReference > ) : EmitAndSemanticDiagnosticsBuilderProgram ;
644+ export function createEmitAndSemanticDiagnosticsBuilderProgram ( newProgramOrRootNames : Program | ReadonlyArray < string > | undefined , hostOrOptions : BuilderProgramHost | CompilerOptions | undefined , oldProgramOrHost ?: CompilerHost | EmitAndSemanticDiagnosticsBuilderProgram , configFileParsingDiagnosticsOrOldProgram ?: ReadonlyArray < Diagnostic > | EmitAndSemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > , projectReferences ?: ReadonlyArray < ProjectReference > ) {
645+ return createBuilderProgram ( BuilderProgramKind . EmitAndSemanticDiagnosticsBuilderProgram , getBuilderCreationParameters ( newProgramOrRootNames , hostOrOptions , oldProgramOrHost , configFileParsingDiagnosticsOrOldProgram , configFileParsingDiagnostics , projectReferences ) ) ;
639646 }
640647
641648 /**
642649 * Creates a builder thats just abstraction over program and can be used with watch
643650 */
644651 export function createAbstractBuilder ( newProgram : Program , host : BuilderProgramHost , oldProgram ?: BuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > ) : BuilderProgram ;
645- export function createAbstractBuilder ( rootNames : ReadonlyArray < string > | undefined , options : CompilerOptions | undefined , host ?: CompilerHost , oldProgram ?: BuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > ) : BuilderProgram ;
646- export function createAbstractBuilder ( newProgramOrRootNames : Program | ReadonlyArray < string > | undefined , hostOrOptions : BuilderProgramHost | CompilerOptions | undefined , oldProgramOrHost ?: CompilerHost | BuilderProgram , configFileParsingDiagnosticsOrOldProgram ?: ReadonlyArray < Diagnostic > | BuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > ) : BuilderProgram {
647- const { newProgram : program } = getBuilderCreationParameters ( newProgramOrRootNames , hostOrOptions , oldProgramOrHost , configFileParsingDiagnosticsOrOldProgram , configFileParsingDiagnostics ) ;
652+ export function createAbstractBuilder ( rootNames : ReadonlyArray < string > | undefined , options : CompilerOptions | undefined , host ?: CompilerHost , oldProgram ?: BuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > , projectReferences ?: ReadonlyArray < ProjectReference > ) : BuilderProgram ;
653+ export function createAbstractBuilder ( newProgramOrRootNames : Program | ReadonlyArray < string > | undefined , hostOrOptions : BuilderProgramHost | CompilerOptions | undefined , oldProgramOrHost ?: CompilerHost | BuilderProgram , configFileParsingDiagnosticsOrOldProgram ?: ReadonlyArray < Diagnostic > | BuilderProgram , configFileParsingDiagnostics ?: ReadonlyArray < Diagnostic > , projectReferences ?: ReadonlyArray < ProjectReference > ) : BuilderProgram {
654+ const { newProgram : program } = getBuilderCreationParameters ( newProgramOrRootNames , hostOrOptions , oldProgramOrHost , configFileParsingDiagnosticsOrOldProgram , configFileParsingDiagnostics , projectReferences ) ;
648655 return {
649656 // Only return program, all other methods are not implemented
650657 getProgram : ( ) => program ,
0 commit comments