@specs-feup/lara
Version:
A js port of the popular framework for building source-to-source compilers
38 lines • 1.24 kB
TypeScript
import { JavaClasses } from "../util/JavaTypes.js";
import LaraIterator from "./LaraIterator.js";
/**
* Iterates over a sequence of lines.
*
* @param contents - The contents that will be iterated as lines.
*/
export default class LineIterator extends LaraIterator<string> {
private contents;
private lineStream;
constructor(contents: string | JavaClasses.File);
getType(): string;
/**
* @returns the next element.
*/
next(): string | undefined;
/**
* @returns True if it has another element to return.
*/
hasNext(): any;
/**
* Resets the iterator.
*/
reset(): void;
/**
* @returns The total number of elements of the iterator, or undefined if it is not possible to calculate.
*/
getNumElements(): number | undefined;
/**
* @returns The number of values returned by a call to next(). A value of one means one value, a value greater than one means an array with that amount of values.
*/
getNumValuesPerElement(): number;
/**
* Closes the iterator. For instane, if the iterator is backed-up by a file, it needs to be closed before the file can be deleted.
*/
close(): void;
}
//# sourceMappingURL=LineIterator.d.ts.map