@@ -46,7 +46,7 @@ export type HostForComputeHash = Pick<BuilderProgramHost, "createHash" | "storeS
4646 */
4747export interface BuilderProgram {
4848 /** @internal */
49- getState ( ) : ReusableBuilderProgramState ;
49+ state : ReusableBuilderProgramState ;
5050 /** @internal */
5151 saveEmitState ( ) : SavedBuildProgramEmitState ;
5252 /** @internal */
@@ -164,28 +164,115 @@ export interface EmitAndSemanticDiagnosticsBuilderProgram extends SemanticDiagno
164164/**
165165 * Create the builder to manage semantic diagnostics and cache them
166166 */
167- export function createSemanticDiagnosticsBuilderProgram ( newProgram : Program , host : BuilderProgramHost , oldProgram ?: SemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: readonly Diagnostic [ ] ) : SemanticDiagnosticsBuilderProgram ;
168- export function createSemanticDiagnosticsBuilderProgram ( rootNames : readonly string [ ] | undefined , options : CompilerOptions | undefined , host ?: CompilerHost , oldProgram ?: SemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: readonly Diagnostic [ ] , projectReferences ?: readonly ProjectReference [ ] ) : SemanticDiagnosticsBuilderProgram ;
169- export function createSemanticDiagnosticsBuilderProgram ( newProgramOrRootNames : Program | readonly string [ ] | undefined , hostOrOptions : BuilderProgramHost | CompilerOptions | undefined , oldProgramOrHost ?: CompilerHost | SemanticDiagnosticsBuilderProgram , configFileParsingDiagnosticsOrOldProgram ?: readonly Diagnostic [ ] | SemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: readonly Diagnostic [ ] , projectReferences ?: readonly ProjectReference [ ] ) {
170- return createBuilderProgram ( BuilderProgramKind . SemanticDiagnosticsBuilderProgram , getBuilderCreationParameters ( newProgramOrRootNames , hostOrOptions , oldProgramOrHost , configFileParsingDiagnosticsOrOldProgram , configFileParsingDiagnostics , projectReferences ) ) ;
167+ export function createSemanticDiagnosticsBuilderProgram (
168+ newProgram : Program ,
169+ host : BuilderProgramHost ,
170+ oldProgram ?: SemanticDiagnosticsBuilderProgram ,
171+ configFileParsingDiagnostics ?: readonly Diagnostic [ ] ,
172+ ) : SemanticDiagnosticsBuilderProgram ;
173+ export function createSemanticDiagnosticsBuilderProgram (
174+ rootNames : readonly string [ ] | undefined ,
175+ options : CompilerOptions | undefined ,
176+ host ?: CompilerHost ,
177+ oldProgram ?: SemanticDiagnosticsBuilderProgram ,
178+ configFileParsingDiagnostics ?: readonly Diagnostic [ ] ,
179+ projectReferences ?: readonly ProjectReference [ ] ,
180+ ) : SemanticDiagnosticsBuilderProgram ;
181+ export function createSemanticDiagnosticsBuilderProgram (
182+ newProgramOrRootNames : Program | readonly string [ ] | undefined ,
183+ hostOrOptions : BuilderProgramHost | CompilerOptions | undefined ,
184+ oldProgramOrHost ?: CompilerHost | SemanticDiagnosticsBuilderProgram ,
185+ configFileParsingDiagnosticsOrOldProgram ?: readonly Diagnostic [ ] | SemanticDiagnosticsBuilderProgram ,
186+ configFileParsingDiagnostics ?: readonly Diagnostic [ ] ,
187+ projectReferences ?: readonly ProjectReference [ ] ,
188+ ) {
189+ return createBuilderProgram (
190+ BuilderProgramKind . SemanticDiagnosticsBuilderProgram ,
191+ getBuilderCreationParameters (
192+ newProgramOrRootNames ,
193+ hostOrOptions ,
194+ oldProgramOrHost ,
195+ configFileParsingDiagnosticsOrOldProgram ,
196+ configFileParsingDiagnostics ,
197+ projectReferences ,
198+ ) ,
199+ ) ;
171200}
172201
173202/**
174203 * Create the builder that can handle the changes in program and iterate through changed files
175204 * to emit the those files and manage semantic diagnostics cache as well
176205 */
177- export function createEmitAndSemanticDiagnosticsBuilderProgram ( newProgram : Program , host : BuilderProgramHost , oldProgram ?: EmitAndSemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: readonly Diagnostic [ ] ) : EmitAndSemanticDiagnosticsBuilderProgram ;
178- export function createEmitAndSemanticDiagnosticsBuilderProgram ( rootNames : readonly string [ ] | undefined , options : CompilerOptions | undefined , host ?: CompilerHost , oldProgram ?: EmitAndSemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: readonly Diagnostic [ ] , projectReferences ?: readonly ProjectReference [ ] ) : EmitAndSemanticDiagnosticsBuilderProgram ;
179- export function createEmitAndSemanticDiagnosticsBuilderProgram ( newProgramOrRootNames : Program | readonly string [ ] | undefined , hostOrOptions : BuilderProgramHost | CompilerOptions | undefined , oldProgramOrHost ?: CompilerHost | EmitAndSemanticDiagnosticsBuilderProgram , configFileParsingDiagnosticsOrOldProgram ?: readonly Diagnostic [ ] | EmitAndSemanticDiagnosticsBuilderProgram , configFileParsingDiagnostics ?: readonly Diagnostic [ ] , projectReferences ?: readonly ProjectReference [ ] ) {
180- return createBuilderProgram ( BuilderProgramKind . EmitAndSemanticDiagnosticsBuilderProgram , getBuilderCreationParameters ( newProgramOrRootNames , hostOrOptions , oldProgramOrHost , configFileParsingDiagnosticsOrOldProgram , configFileParsingDiagnostics , projectReferences ) ) ;
206+ export function createEmitAndSemanticDiagnosticsBuilderProgram (
207+ newProgram : Program ,
208+ host : BuilderProgramHost ,
209+ oldProgram ?: EmitAndSemanticDiagnosticsBuilderProgram ,
210+ configFileParsingDiagnostics ?: readonly Diagnostic [ ] ,
211+ ) : EmitAndSemanticDiagnosticsBuilderProgram ;
212+ export function createEmitAndSemanticDiagnosticsBuilderProgram (
213+ rootNames : readonly string [ ] | undefined ,
214+ options : CompilerOptions | undefined ,
215+ host ?: CompilerHost ,
216+ oldProgram ?: EmitAndSemanticDiagnosticsBuilderProgram ,
217+ configFileParsingDiagnostics ?: readonly Diagnostic [ ] ,
218+ projectReferences ?: readonly ProjectReference [ ] ,
219+ ) : EmitAndSemanticDiagnosticsBuilderProgram ;
220+ export function createEmitAndSemanticDiagnosticsBuilderProgram (
221+ newProgramOrRootNames : Program | readonly string [ ] | undefined ,
222+ hostOrOptions : BuilderProgramHost | CompilerOptions | undefined ,
223+ oldProgramOrHost ?: CompilerHost | EmitAndSemanticDiagnosticsBuilderProgram ,
224+ configFileParsingDiagnosticsOrOldProgram ?: readonly Diagnostic [ ] | EmitAndSemanticDiagnosticsBuilderProgram ,
225+ configFileParsingDiagnostics ?: readonly Diagnostic [ ] ,
226+ projectReferences ?: readonly ProjectReference [ ] ,
227+ ) {
228+ return createBuilderProgram (
229+ BuilderProgramKind . EmitAndSemanticDiagnosticsBuilderProgram ,
230+ getBuilderCreationParameters (
231+ newProgramOrRootNames ,
232+ hostOrOptions ,
233+ oldProgramOrHost ,
234+ configFileParsingDiagnosticsOrOldProgram ,
235+ configFileParsingDiagnostics ,
236+ projectReferences ,
237+ ) ,
238+ ) ;
181239}
182240
183241/**
184242 * Creates a builder thats just abstraction over program and can be used with watch
185243 */
186- export function createAbstractBuilder ( newProgram : Program , host : BuilderProgramHost , oldProgram ?: BuilderProgram , configFileParsingDiagnostics ?: readonly Diagnostic [ ] ) : BuilderProgram ;
187- export function createAbstractBuilder ( rootNames : readonly string [ ] | undefined , options : CompilerOptions | undefined , host ?: CompilerHost , oldProgram ?: BuilderProgram , configFileParsingDiagnostics ?: readonly Diagnostic [ ] , projectReferences ?: readonly ProjectReference [ ] ) : BuilderProgram ;
188- export function createAbstractBuilder ( newProgramOrRootNames : Program | readonly string [ ] | undefined , hostOrOptions : BuilderProgramHost | CompilerOptions | undefined , oldProgramOrHost ?: CompilerHost | BuilderProgram , configFileParsingDiagnosticsOrOldProgram ?: readonly Diagnostic [ ] | BuilderProgram , configFileParsingDiagnostics ?: readonly Diagnostic [ ] , projectReferences ?: readonly ProjectReference [ ] ) : BuilderProgram {
189- const { newProgram, configFileParsingDiagnostics : newConfigFileParsingDiagnostics } = getBuilderCreationParameters ( newProgramOrRootNames , hostOrOptions , oldProgramOrHost , configFileParsingDiagnosticsOrOldProgram , configFileParsingDiagnostics , projectReferences ) ;
190- return createRedirectedBuilderProgram ( ( ) => ( { program : newProgram , compilerOptions : newProgram . getCompilerOptions ( ) } ) , newConfigFileParsingDiagnostics ) ;
244+ export function createAbstractBuilder (
245+ newProgram : Program ,
246+ host : BuilderProgramHost ,
247+ oldProgram ?: BuilderProgram ,
248+ configFileParsingDiagnostics ?: readonly Diagnostic [ ] ,
249+ ) : BuilderProgram ;
250+ export function createAbstractBuilder (
251+ rootNames : readonly string [ ] | undefined ,
252+ options : CompilerOptions | undefined ,
253+ host ?: CompilerHost ,
254+ oldProgram ?: BuilderProgram ,
255+ configFileParsingDiagnostics ?: readonly Diagnostic [ ] ,
256+ projectReferences ?: readonly ProjectReference [ ] ,
257+ ) : BuilderProgram ;
258+ export function createAbstractBuilder (
259+ newProgramOrRootNames : Program | readonly string [ ] | undefined ,
260+ hostOrOptions : BuilderProgramHost | CompilerOptions | undefined ,
261+ oldProgramOrHost ?: CompilerHost | BuilderProgram ,
262+ configFileParsingDiagnosticsOrOldProgram ?: readonly Diagnostic [ ] | BuilderProgram ,
263+ configFileParsingDiagnostics ?: readonly Diagnostic [ ] ,
264+ projectReferences ?: readonly ProjectReference [ ] ,
265+ ) : BuilderProgram {
266+ const { newProgram, configFileParsingDiagnostics : newConfigFileParsingDiagnostics } = getBuilderCreationParameters (
267+ newProgramOrRootNames ,
268+ hostOrOptions ,
269+ oldProgramOrHost ,
270+ configFileParsingDiagnosticsOrOldProgram ,
271+ configFileParsingDiagnostics ,
272+ projectReferences ,
273+ ) ;
274+ return createRedirectedBuilderProgram (
275+ { program : newProgram , compilerOptions : newProgram . getCompilerOptions ( ) } ,
276+ newConfigFileParsingDiagnostics ,
277+ ) ;
191278}
0 commit comments