* 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)
| 415 | * compilation entirely. |
| 416 | */ |
| 417 | static fromTicket(ticket: CompilationTicket, adapter: NgCompilerAdapter) { |
| 418 | switch (ticket.kind) { |
| 419 | case CompilationTicketKind.Fresh: |
| 420 | return new NgCompiler( |
| 421 | adapter, |
| 422 | ticket.options, |
| 423 | ticket.tsProgram, |
| 424 | ticket.programDriver, |
| 425 | ticket.incrementalBuildStrategy, |
| 426 | IncrementalCompilation.fresh( |
| 427 | versionMapFromProgram(ticket.tsProgram, ticket.programDriver), |
| 428 | ), |
| 429 | ticket.enableTemplateTypeChecker, |
| 430 | ticket.usePoisonedData, |
| 431 | ticket.perfRecorder, |
| 432 | ); |
| 433 | case CompilationTicketKind.IncrementalTypeScript: |
| 434 | return new NgCompiler( |
| 435 | adapter, |
| 436 | ticket.options, |
| 437 | ticket.newProgram, |
| 438 | ticket.programDriver, |
| 439 | ticket.incrementalBuildStrategy, |
| 440 | ticket.incrementalCompilation, |
| 441 | ticket.enableTemplateTypeChecker, |
| 442 | ticket.usePoisonedData, |
| 443 | ticket.perfRecorder, |
| 444 | ); |
| 445 | case CompilationTicketKind.IncrementalResource: |
| 446 | const compiler = ticket.compiler; |
| 447 | compiler.updateWithChangedResources(ticket.modifiedResourceFiles, ticket.perfRecorder); |
| 448 | return compiler; |
| 449 | } |
| 450 | } |
| 451 | |
| 452 | private constructor( |
| 453 | private adapter: NgCompilerAdapter, |
no test coverage detected