@gobstones/gobstones-parser
Version:
Gobstones parser
71 lines • 1.64 kB
TypeScript
import { SourceReader } from './reader';
export declare class RecursionChecker {
private _currentRoutine;
private _callGraph;
callCycle(ast: {
definitions: any[];
startPos: SourceReader;
endPos: SourceReader;
}): any;
_addEdge(caller: string, callee: {
value: string;
}): void;
_visitNode(node: {
definitions: any[];
startPos: SourceReader;
endPos: SourceReader;
}): void;
_visitNodes(nodes: {
definitions: any[];
startPos: SourceReader;
endPos: SourceReader;
}[]): void;
_visitTaggedNode(node: any): void;
_visitProgramDefinition(): void;
_visitRoutineDefinition(node: {
name: {
value: any;
};
}): void;
_visitProcedureCall(node: {
procedureName: {
value: string;
};
}): void;
_visitFunctionCall(node: {
functionName: {
value: string;
};
}): void;
_findCallCycle(): {
caller: any;
callee: string;
location: {
value: string;
};
}[] | {
caller: string;
}[];
_findCallCycleFrom(visited: {
[x: string]: boolean;
}, parents: {
[x: string]: any;
}, path: {
caller: any;
callee: string;
location: {
value: string;
};
}[] | {
caller: string;
}[], f: string): {
caller: any;
callee: string;
location: {
value: string;
};
}[] | {
caller: string;
}[];
}
//# sourceMappingURL=recursion_checker.d.ts.map