MCPcopy Create free account
hub / github.com/colbymchenry/codegraph / scan_fn_ref_subtree

Method scan_fn_ref_subtree

codegraph-kernel/src/dart.rs:1387–1410  ·  view source on GitHub ↗
(&mut self, node: Node<'t>, depth: u32)

Source from the content-addressed store, hash-verified

1385 }
1386
1387 fn scan_fn_ref_subtree(&mut self, node: Node<'t>, depth: u32) {
1388 stack_guard!();
1389 if depth > 12 {
1390 return;
1391 }
1392 // Halt list: functionTypes (function_signature) + the lambda kinds —
1393 // function_expression IS dart's lambda, so constant-initializer
1394 // lambdas don't leak candidates.
1395 if depth > 0
1396 && matches!(
1397 node.kind(),
1398 "function_signature" | "arrow_function" | "function_expression"
1399 | "lambda_literal" | "lambda_expression"
1400 )
1401 {
1402 return;
1403 }
1404 self.maybe_capture_fn_refs(node);
1405 let mut cursor = node.walk();
1406 let children: Vec<Node<'t>> = node.named_children(&mut cursor).collect();
1407 for c in children {
1408 self.scan_fn_ref_subtree(c, depth + 1);
1409 }
1410 }
1411
1412 fn flush_fn_ref_candidates(&mut self) {
1413 let cands = std::mem::take(&mut self.fn_ref_cands);

Callers 1

visitMethod · 0.45

Calls 2

maybe_capture_fn_refsMethod · 0.45
collectMethod · 0.45

Tested by

no test coverage detected