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

Method visit_node

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

Source from the content-addressed store, hash-verified

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