UNPKG

agentsqripts

Version:

Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems

42 lines (37 loc) 1.07 kB
/** * @file Find recursive calls within function content * @description Single responsibility: Identify recursive function calls */ /** * Find recursive calls within function content */ function findRecursiveCalls(funcName, funcContent) { const calls = []; const lines = funcContent.split('\n'); for (let i = 0; i < lines.length; i++) { const line = lines[i]; const trimmed = line.trim(); // Look for function calls to itself if (funcName !== 'anonymous' && funcName !== 'arrow') { const pattern = new RegExp(`\\b${funcName}\\s*\\(`, 'g'); if (pattern.test(trimmed)) { calls.push({ lineOffset: i, code: trimmed, type: 'direct' }); } } else { // For anonymous functions, look for common recursive patterns if (/arguments\.callee|recursive|recurse/.test(trimmed)) { calls.push({ lineOffset: i, code: trimmed, type: 'indirect' }); } } } return calls; } module.exports = findRecursiveCalls;