/** * graph:always-throws-branch — heuristic CFG analysis to flag * functions whose body is dominated by throw statements. * * v0.2 ships a textual heuristic against the catalog's per-call text * + the function's overall outbound edge set: a function whose only * calls are `throw new ()` style expressions (resolution * 'unknown' but text matches `throw new`) is likely an * always-throws helper masquerading as a real function. * * Throw-statement syntax is language-specific. The active adapter * supplies `ruleHints.throwSyntaxRegex`: TypeScript matches * `throw new Error(...)`; Python matches `raise SomeError(...)`; * Rust matches `panic!(...)`. When the hint is absent — older * adapters, third-party adapters that don't populate it, unit tests * that don't pass hints — we fall back to the TypeScript-shaped * regex so the rule keeps firing on the language it was originally * authored for. The fidelity matrix in the graph rules-and-gating * documentation enumerates which rules degrade gracefully when an * adapter omits a given hint. * * Rules that need full CFG (per-branch reachability) are deferred to * v0.3. */ export declare const alwaysThrowsBranchRule: import("../types.js").Rule; //# sourceMappingURL=always-throws-branch.d.ts.map