SchemataBuilder

Build scheman from the fragments.

TODO: optimize the implementation. A lot of redundant memory allocations etc.

Conservative to only allow up to <user defined> mutants per schemata but it reduces the chance that one failing schemata is "fatal", loosing too many muntats.

Members

Aliases

ET
alias ET = Tuple!(SchemataFragment[], "fragments", CodeMutant[], "mutants", SchemataChecksum, "checksum")
Undocumented in source.
Fragment
alias Fragment = Tuple!(SchemataFragment, "fragment", CodeMutant[], "mutants")
Undocumented in source.

Functions

isDone
bool isDone()
Undocumented in source. Be warned that the author may not have intended to support it.
next
Optional!ET next()

Merge schemata fragments to schemas. A schemata from this pass may may contain multiple mutation kinds and span over multiple files.

put
void put(FilesysIO fio, SchemataResult.Schemata[AbsolutePath] raw)

Save fragments to use them to build schematan.

restart
void restart()
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

current
Vector!Fragment current;
Undocumented in source.
discardMinScheman
bool discardMinScheman;
isUsed
Set!CodeMutant isUsed;

All mutants that have been used in any generated schema.

minMutantsPerSchema
long minMutantsPerSchema;

Minimal mutants that a schema must contain for it to be valid.

mutantsPerSchema
long mutantsPerSchema;

Max mutants per schema.

rest
Vector!Fragment rest;
Undocumented in source.

Meta