* Convert a `CompilationTicket` into an `NgCompiler` instance for the requested compilation. * * Depending on the nature of the compilation request, the `NgCompiler` instance may be reused * from a previous compilation and updated with any changes, it may be a new instance which * increm
(ticket: CompilationTicket, adapter: NgCompilerAdapter)
| 416 | * compilation entirely. |
| 417 | */ |
| 418 | static fromTicket(ticket: CompilationTicket, adapter: NgCompilerAdapter) { |
| 419 | switch (ticket.kind) { |
| 420 | case CompilationTicketKind.Fresh: |
| 421 | return new NgCompiler( |
| 422 | adapter, |
| 423 | ticket.options, |
| 424 | ticket.tsProgram, |
| 425 | ticket.programDriver, |
| 426 | ticket.incrementalBuildStrategy, |
| 427 | IncrementalCompilation.fresh( |
| 428 | versionMapFromProgram(ticket.tsProgram, ticket.programDriver), |
| 429 | ), |
| 430 | ticket.enableTemplateTypeChecker, |
| 431 | ticket.usePoisonedData, |
| 432 | ticket.perfRecorder, |
| 433 | ); |
| 434 | case CompilationTicketKind.IncrementalTypeScript: |
| 435 | return new NgCompiler( |
| 436 | adapter, |
| 437 | ticket.options, |
| 438 | ticket.newProgram, |
| 439 | ticket.programDriver, |
| 440 | ticket.incrementalBuildStrategy, |
| 441 | ticket.incrementalCompilation, |
| 442 | ticket.enableTemplateTypeChecker, |
| 443 | ticket.usePoisonedData, |
| 444 | ticket.perfRecorder, |
| 445 | ); |
| 446 | case CompilationTicketKind.IncrementalResource: |
| 447 | const compiler = ticket.compiler; |
| 448 | compiler.updateWithChangedResources(ticket.modifiedResourceFiles, ticket.perfRecorder); |
| 449 | return compiler; |
| 450 | } |
| 451 | } |
| 452 | |
| 453 | private constructor( |
| 454 | private adapter: NgCompilerAdapter, |
no test coverage detected