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.
Its interaction mechanism with the OE:
The reason for having a
CompilerHost as a point of indirection is that it allows it's 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
There are other users of
System as well (e.g. tests).
The program provides an API to get the Source Files
getSourceFiles(): SourceFile;. Each is represented as a root-level node for an AST (called