UNPKG

@specs-feup/clava

Version:

A C/C++ source-to-source compiler written in Typescript

39 lines 1.35 kB
import { JavaClasses } from "@specs-feup/lara/api/lara/util/JavaTypes.js"; import { FileJp } from "../../Joinpoints.js"; /** * Given a folder, collects sources in that folder, parses and returns one each time next() is called. * * Pushes an empty Clava AST. Parsed files are added one at a time, and the AST contains at most one file at any given time. * * @param srcFoldername - Name of the folder with the source files to iterate. * @param sourceExt - Extensions of the source files. * @param headerExt - Extensions of the header files. */ export default class FileIterator { files: JavaClasses.File[]; currentFile: number; isInit: boolean; isClosed: boolean; pushedAst: boolean; srcFoldername: string; sourceExt: string[]; headerExt: string[]; constructor(srcFoldername: string, sourceExt?: string[], headerExt?: string[]); /** * @returns $file join point, if there are still files to iterate over, or undefined otherwise */ next(): FileJp | undefined; /** * @returns True if there are still files to iterate over, false otherwise. */ hasNext(): boolean; private init; private close; /** * Attempts to add folders of header files as includes. * */ private addIncludes; private getFiles; } //# sourceMappingURL=FileIterator.d.ts.map