UNPKG

@syntest/core

Version:

The common core of the SynTest Framework

69 lines 1.75 kB
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