@specs-feup/clava
Version:
A C/C++ source-to-source compiler written in Typescript
61 lines • 1.9 kB
TypeScript
import { Call, FunctionJp } from "../../Joinpoints.js";
import MemoiTarget from "./MemoiTarget.js";
/**
* Enum with the results of the predicate test.
*/
export declare enum PRED {
VALID = 1,
INVALID = -1,
WAITING = 0
}
type MemoiPred = ($call: Call, processed: Record<string, PRED | undefined>, report: FailReport) => PRED | undefined;
export default class MemoiAnalysis {
/**
* Returns array of MemoiTarget.
*/
static findTargets(pred: MemoiPred): MemoiTarget[];
/**
* Returns MemoiTargetReport.
*/
static findTargetsReport(pred?: MemoiPred): MemoiTargetReport;
}
/**
* Class to hold info about target finding (targets and reports).
*/
export declare class MemoiTargetReport {
targets: MemoiTarget[];
failReport: FailReport;
constructor(targets: MemoiTarget[], failReport: FailReport);
isTarget($func: FunctionJp): boolean;
toJson(jsonPath: string): void;
printFailReport(): void;
}
/**
* Class to hold info about failed targets.
*/
export declare class FailReport {
private _failMap;
private _numParams;
private _unsupportedNumParams;
private _typeParams;
private _typeReturn;
private _unsupportedTypes;
private _globalAccess;
private _invalidCalls;
get numParams(): number;
get typeParams(): number;
get typeReturn(): number;
get globalAccess(): number;
get invalidCalls(): number;
get unsupportedNumParams(): Record<string, number>;
get unsupportedTypes(): Record<string, number>;
incNumParams(sig: string, num: number | string): void;
private _addUnsupportedNumParams;
incTypeParams(sig: string, type: string): void;
incTypeReturn(sig: string, type: string): void;
private _addUnsupportedTypes;
incGlobalAccess(sig: string): void;
incInvalidCalls(sig?: string): void;
}
export {};
//# sourceMappingURL=MemoiAnalysis.d.ts.map