INNER CODE UNIT · JavaScript
addCandidate
Fausto-404/js-reverse-automation--skill · js-reverse-automation/scripts/ast_candidate_analyzer.js:52
function addCandidate(map, code, name, start, end, mode) {
const snippet = sourceSnippet(code, start, end);
const signals = signalsFor(name, snippet);
if (!signals.length) return;
const loc = locationFromOffset(code, start);
const key = `${name}:${loc.line}:${loc.column}`;
map.set(key, {
id: `static:${key}`, name, path: name, type: "function",
location: loc, signals, source_snippet: snippet, parser_mode: mode
});
}
function walk(node, parent, visit) {
if (!node || typeof node !== "object") return;
if (typeof node.type === "string") visit(node, parent);
for (const [key, value] of Object.entries(node)) {
if (["loc", "start", "end", "extra", "tokens", "comments"].includes(key)) continue;
if (Array.isArray(value)) value.forEach(child => walk(child, node, visit));