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

Method scan_fn_ref_subtree

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

Source from the content-addressed store, hash-verified

946 }
947
948 fn scan_fn_ref_subtree(&mut self, node: Node<'t>, depth: u32) {
949 stack_guard!();
950 if depth > 12 {
951 return;
952 }
953 // Halts at functionTypes (`method`) + the fixed arrow/lambda list;
954 // NOT at class/module nodes — the module multiply-capture rides this.
955 if depth > 0
956 && matches!(
957 node.kind(),
958 "method" | "arrow_function" | "function_expression" | "lambda_literal"
959 | "lambda_expression"
960 )
961 {
962 return;
963 }
964 self.maybe_capture_fn_refs(node);
965 for i in 0..node.named_child_count() {
966 if let Some(c) = node.named_child(i) {
967 self.scan_fn_ref_subtree(c, depth + 1);
968 }
969 }
970 }
971
972 fn flush_fn_ref_candidates(&mut self) {
973 let cands = std::mem::take(&mut self.fn_ref_cands);

Callers 1

visit_nodeMethod · 0.45

Calls 1

maybe_capture_fn_refsMethod · 0.45

Tested by

no test coverage detected