Documentation ¶
Overview ¶
Package delitmus lifts the c4f delitmusifier into a backend.
Index ¶
- type Delitmus
- func (d Delitmus) Class() backend2.Class
- func (d Delitmus) Instantiate(_ backend2.Spec) backend2.Backend
- func (d Delitmus) Lift(ctx context.Context, j backend2.LiftJob, sr service.Runner) (recipe.Recipe, error)
- func (Delitmus) Metadata() backend2.Metadata
- func (d Delitmus) ParseObs(_ context.Context, _ io.Reader, _ *obs.Obs) error
- func (Delitmus) Probe(ctx context.Context, sr service.Runner, style id.ID) ([]backend2.NamedSpec, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Delitmus ¶
type Delitmus struct { // BaseRunner is the base configuration of the c4f runner, which is copied and overridden for each lifting. BaseRunner c4f.Runner }
Delitmus partially implements the backend specification by delegating to C4's delitmusifier.
The delitmus backend can't actually produce standalone C code, and, at time of writing, there is no way to get the tester to compile C code without running it. Instead, its main purpose is to serve as the target of a coverage run.
func (Delitmus) Class ¶
Class gets the 'class' of the delitmusifier (which is just the delitmusifier).
func (Delitmus) Instantiate ¶
Instantiate 'instantiates' the delitmusifier; in fact, there isn't anything to instantiate.
func (Delitmus) Lift ¶
func (d Delitmus) Lift(ctx context.Context, j backend2.LiftJob, sr service.Runner) (recipe.Recipe, error)
Lift delitmusifies the litmus file specified in j, using errw for standard output. It outputs a delitmusified C file and auxiliary file to j's output directory, and produces a recipe that suggests compiling that C file as an object. At time of writing, there is no way to specify how to delitmusify the file.