@syntest/search
Version:
The common core of the SynTest Framework
53 lines • 1.54 kB
TypeScript
import { RootContext, Target } from "@syntest/analysis";
import { ControlFlowProgram } from "@syntest/cfg";
import { Encoding } from "./Encoding";
import { ObjectiveFunction } from "./objective/ObjectiveFunction";
/**
* Subject of the search process.
*
* @author Mitchell Olsthoorn
*/
export declare abstract class SearchSubject<T extends Encoding> {
/**
* Subject Target
* @protected
*/
protected readonly _target: Target;
/**
* The root context.
* @protected
*/
protected readonly _rootContext: RootContext<unknown>;
/**
* Mapping of objectives to adjacent objectives
* @protected
*/
protected _objectives: Map<ObjectiveFunction<T>, ObjectiveFunction<T>[]>;
/**
* Constructor.
*
* @param target Target of the subject
* @param rootContext RootContext of the subject
* @protected
*/
protected constructor(target: Target, rootContext: RootContext<unknown>);
/**
* Extract objectives from the subject based on the targets.
* @protected
*/
protected abstract _extractObjectives(): void;
/**
* Retrieve objectives.
*/
getObjectives(): ObjectiveFunction<T>[];
/**
* Retrieve child objectives.
*
* @param objective The objective to get the child objectives of
*/
getChildObjectives(objective: ObjectiveFunction<T>): ObjectiveFunction<T>[];
get name(): string;
get cfg(): ControlFlowProgram;
get path(): string;
}
//# sourceMappingURL=SearchSubject.d.ts.map