@specs-feup/clava
Version:
A C/C++ source-to-source compiler written in Typescript
23 lines • 925 B
TypeScript
import Pass from "@specs-feup/lara/api/lara/pass/Pass.js";
import PassResult from "@specs-feup/lara/api/lara/pass/results/PassResult.js";
import { Joinpoint, Loop } from "../../Joinpoints.js";
import StatementDecomposer from "../code/StatementDecomposer.js";
export default class SimplifyLoops extends Pass {
protected _name: string;
private statementDecomposer;
private options;
private label_suffix;
/**
*
* @param statementDecomposer -
* @param options - Object with options. Supported options: 'forToWhile' (default: true), transforms for loops into while loops
*/
constructor(statementDecomposer: StatementDecomposer, options?: {
forToWhile: boolean;
});
protected _apply_impl($jp: Joinpoint): PassResult;
protected _findLoops($jp: Joinpoint): Generator<Loop>;
private makeWhileLoop;
private transform;
}
//# sourceMappingURL=SimplifyLoops.d.ts.map