package ca.uwaterloo.ece.qhanam.jrsrepair.context;
import java.io.File;
/**
* Holds the context for the main repair operation.
*
* @author qhanam
*/
public class RepairContext {
public int candidates; // The number of candidates to attempt
public int generations; // The number of generations for each candidate
public int attempts; // The number of compilation attempts before moving on to the next generation or candidate.
public File buildDirectory; // The directory for the class files, log files and patches
public boolean revertFailedCompile; // Should we undo mutations that don't compile right away?
public String[] classDirectories; // OPTIONAL - If there are multiple output directories, specify them here (class files will be copied back).
public boolean nullMutationOnlly; // Only perform the null mutation (does not mutate the program... useful for debugging)
public RepairContext(int candidates, int generations, int attempts,
File buildDirectory, boolean revertFailedCompile,
String[] classDirectories, boolean nullMutationOnly){
this.candidates = candidates;
this.generations = generations;
this.attempts = attempts;
this.buildDirectory = buildDirectory;
this.revertFailedCompile = revertFailedCompile;
this.classDirectories = classDirectories;
this.nullMutationOnlly = nullMutationOnly;
}
}