Expand description
The phase graph: what has to happen to each input file, in what order, and where the result goes.
Design: spec/04-driver-and-cli.md section 4.2.
The plan is computed before anything runs and is a plain data structure with no side
effects, which is what makes -### possible and what makes this testable without a file
system. Nothing in here reads a file or spawns a process. Executing the plan is M3, when
there is something for the phases to do.
Structs§
- Input
- One input file, with the
-xsetting that was in effect where it appeared. - Job
- Everything that has to happen to one input file.
- LinkJob
- The link step, when there is one.
- Plan
- The whole plan for one invocation.
- Plan
Error - Why a command line could not be turned into a plan.
Enums§
- Input
Kind - What an input file is, which decides where in the pipeline it enters.
- Output
- Where the result of a job goes.
- Phase
- A step in the compilation of one input.
- XError
- Why an input or an
-xargument was rejected.
Functions§
- last_
phase - The last phase that runs, given what the user asked to be emitted.