@@ -46,7 +46,7 @@ export type HostForComputeHash = Pick<BuilderProgramHost, "createHash" | "storeS
46
46
*/
47
47
export interface BuilderProgram {
48
48
/** @internal */
49
- getState ( ) : ReusableBuilderProgramState ;
49
+ state : ReusableBuilderProgramState ;
50
50
/** @internal */
51
51
saveEmitState ( ) : SavedBuildProgramEmitState ;
52
52
/** @internal */
@@ -164,28 +164,115 @@ export interface EmitAndSemanticDiagnosticsBuilderProgram extends SemanticDiagno
164
164
/**
165
165
* Create the builder to manage semantic diagnostics and cache them
166
166
*/
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
+ ) ;
171
200
}
172
201
173
202
/**
174
203
* Create the builder that can handle the changes in program and iterate through changed files
175
204
* to emit the those files and manage semantic diagnostics cache as well
176
205
*/
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
+ ) ;
181
239
}
182
240
183
241
/**
184
242
* Creates a builder thats just abstraction over program and can be used with watch
185
243
*/
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
+ ) ;
191
278
}
0 commit comments