Skip to content

Latest commit

 

History

History
17 lines (9 loc) · 862 Bytes

program.md

File metadata and controls

17 lines (9 loc) · 862 Bytes

Program

Defined in program.ts. The compilation context (a concept we covered previously) is represented within the TypeScript compiler as a Program. It consists of SourceFiles and compiler options.

Usage of CompilerHost

Its interaction mechanism with the OE:

Program -uses-> CompilerHost -uses-> System

The reason for having a CompilerHost as a point of indirection is that it allows its interface to be more finely tuned for Program needs and not bother with OE needs (e.g. the Program doesn't care about fileExists a function provided by System).

There are other users of System as well (e.g. tests).

SourceFile

The program provides an API to get the Source Files getSourceFiles(): SourceFile[];. Each is represented as a root-level node for an AST (called SourceFile).