Files
NapCatQQ/.pnpm-store/v3/files/70/44a2423536de4d5f018f57aa2cbfdbd098c4ca94af3e1c9d1803891f72417b315dbcdd2a4492bfbbf21003dd30175edaede5f5223192becc5ea1a5fe622a78
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

48 lines
1.6 KiB
Plaintext

export = CodePathAnalyzer;
interface EventGenerator {
emitter: import('node:events').EventEmitter;
enterNode(node: import('eslint').Rule.Node): void;
leaveNode(node: import('eslint').Rule.Node): void;
}
/**
* The class to analyze code paths.
* This class implements the EventGenerator interface.
*/
declare class CodePathAnalyzer {
/**
* @param {EventGenerator} eventGenerator An event generator to wrap.
*/
constructor(eventGenerator: EventGenerator);
original: EventGenerator;
emitter: any;
codePath: any;
idGenerator: IdGenerator;
currentNode: any;
/**
* This is called on a code path looped.
* Then this raises a looped event.
* @param {CodePathSegment} fromSegment A segment of prev.
* @param {CodePathSegment} toSegment A segment of next.
* @returns {void}
*/
onLooped(fromSegment: CodePathSegment, toSegment: CodePathSegment): void;
/**
* Does the process to enter a given AST node.
* This updates state of analysis and calls `enterNode` of the wrapped.
* @param {ASTNode} node A node which is entering.
* @returns {void}
*/
enterNode(node: import('eslint').Rule.Node): void;
/**
* Does the process to leave a given AST node.
* This updates state of analysis and calls `leaveNode` of the wrapped.
* @param {ASTNode} node A node which is leaving.
* @returns {void}
*/
leaveNode(node: import('eslint').Rule.Node): void;
}
import IdGenerator = require("./id-generator");
import CodePathSegment = require("./code-path-segment");