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

Method visit_node

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

Source from the content-addressed store, hash-verified

485 // --- the dispatcher (visitNode, Java-relevant branches) -----------------------
486
487 fn visit_node(&mut self, node: Node<'t>) {
488 stack_guard!();
489 let kind = node.kind();
490 let mut skip_children = false;
491
492 self.maybe_capture_fn_refs(node);
493
494 if kind == "class_declaration" {
495 self.extract_class(node);
496 skip_children = true;
497 } else if is_method_type(kind) {
498 self.extract_method(node);
499 skip_children = true;
500 } else if is_interface_type(kind) {
501 self.extract_interface(node);
502 skip_children = true;
503 } else if kind == "enum_declaration" {
504 self.extract_enum(node);
505 skip_children = true;
506 } else if kind == "field_declaration" && self.inside_class_like() {
507 self.extract_field(node);
508 self.scan_fn_ref_subtree(node, 0);
509 skip_children = true;
510 } else if kind == "local_variable_declaration" && !self.inside_class_like() {
511 self.extract_variable(node);
512 self.scan_fn_ref_subtree(node, 0);
513 skip_children = true;
514 } else if kind == "import_declaration" {
515 self.extract_import(node);
516 } else if kind == "method_invocation" {
517 self.extract_call(node);
518 } else if kind == "object_creation_expression" {
519 self.extract_instantiation(node);
520 if let Some(anon_body) = find_anonymous_class_body(node) {
521 self.extract_anonymous_class(node, anon_body);
522 skip_children = true;
523 }
524 }
525
526 if !skip_children {
527 for i in 0..node.named_child_count() {
528 if let Some(c) = node.named_child(i) {
529 self.visit_node(c);
530 }
531 }
532 }
533 }
534
535 // --- visitFunctionBody ----------------------------------------------------------
536

Callers 5

extractFunction · 0.45
extract_classMethod · 0.45
extract_interfaceMethod · 0.45
extract_enumMethod · 0.45

Calls 15

is_interface_typeFunction · 0.85
is_method_typeFunction · 0.70
maybe_capture_fn_refsMethod · 0.45
extract_classMethod · 0.45
extract_methodMethod · 0.45
extract_interfaceMethod · 0.45
extract_enumMethod · 0.45
inside_class_likeMethod · 0.45
extract_fieldMethod · 0.45
scan_fn_ref_subtreeMethod · 0.45
extract_variableMethod · 0.45

Tested by

no test coverage detected