UNPKG

@syntest/search

Version:

The common core of the SynTest Framework

53 lines 1.54 kB
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