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

Method visit_node

codegraph-kernel/src/python.rs:322–356  ·  view source on GitHub ↗
(&mut self, node: Node<'t>)

Source from the content-addressed store, hash-verified

320 // --- visitNode ------------------------------------------------------------
321
322 fn visit_node(&mut self, node: Node<'t>) {
323 let kind = node.kind();
324 let mut skip_children = false;
325
326 self.maybe_capture_fn_refs(node);
327
328 if kind == "function_definition" {
329 // functionTypes ∩ methodTypes: inside a class-like ⇒ method.
330 if self.inside_class_like() {
331 self.extract_method(node);
332 } else {
333 self.extract_function(node);
334 }
335 skip_children = true;
336 } else if kind == "class_definition" {
337 self.extract_class(node);
338 skip_children = true;
339 } else if kind == "assignment" && !self.inside_class_like() {
340 self.extract_variable(node);
341 self.scan_fn_ref_subtree(node, 0);
342 skip_children = true;
343 } else if kind == "import_statement" || kind == "import_from_statement" {
344 self.extract_import(node);
345 } else if kind == "call" {
346 self.extract_call(node);
347 }
348
349 if !skip_children {
350 for i in 0..node.named_child_count() {
351 if let Some(c) = node.named_child(i) {
352 self.visit_node(c);
353 }
354 }
355 }
356 }
357
358 fn visit_function_body(&mut self, body: Node<'t>) {
359 self.visit_for_calls_and_structure(body);

Callers 2

extractFunction · 0.45
extract_classMethod · 0.45

Calls 9

maybe_capture_fn_refsMethod · 0.45
inside_class_likeMethod · 0.45
extract_methodMethod · 0.45
extract_functionMethod · 0.45
extract_classMethod · 0.45
extract_variableMethod · 0.45
scan_fn_ref_subtreeMethod · 0.45
extract_importMethod · 0.45
extract_callMethod · 0.45

Tested by

no test coverage detected