@syntest/core
Version:
The common core of the SynTest Framework
69 lines • 1.75 kB
TypeScript
import { ObjectiveFunction } from "./objective/ObjectiveFunction";
import { Encoding } from "./Encoding";
import { CFG } from "@syntest/cfg-core";
/**
* Subject of the search process.
*
* @author Mitchell Olsthoorn
*/
export declare abstract class SearchSubject<T extends Encoding> {
/**
* Path to the subject.
* @protected
*/
private readonly _path;
/**
* Name of the subject.
* @protected
*/
protected readonly _name: string;
/**
* Control flow graph of the subject.
* @protected
*/
protected readonly _cfg: CFG;
/**
* Mapping of objectives to adjacent objectives
* @protected
*/
protected _objectives: Map<ObjectiveFunction<T>, ObjectiveFunction<T>[]>;
/**
*
* @protected
*/
protected _paths: any;
/**
* Constructor.
*
* @param name Name of the subject
* @param cfg Control flow graph of the subject
* @param functions Functions of the subject
* @protected
*/
protected constructor(path: string, name: string, cfg: CFG);
/**
* Extract objectives from the subject
* @protected
*/
protected abstract _extractObjectives(): void;
/**
*
* @protected
*/
protected _extractPaths(): 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>[];
getPath(from: string, to: string): number;
get name(): string;
get cfg(): CFG;
get path(): string;
}
//# sourceMappingURL=SearchSubject.d.ts.map