MCPcopy Create free account
hub / github.com/ScriptedAlchemy/tracedecay / visit_use_declaration

Method visit_use_declaration

src/extraction/php_extractor.rs:673–697  ·  view source on GitHub ↗

Extract a use declaration (import statement).

(state: &mut ExtractionState, node: TsNode<'_>)

Source from the content-addressed store, hash-verified

671
672 /// Extract a use declaration (import statement).
673 fn visit_use_declaration(state: &mut ExtractionState, node: TsNode<'_>) {
674 // use_declaration contains use_instead_of or namespace_use_clause children.
675 let mut cursor = node.walk();
676 if cursor.goto_first_child() {
677 loop {
678 let child = cursor.node();
679 match child.kind() {
680 "namespace_use_clause" => {
681 Self::visit_use_clause(state, child, node);
682 }
683 "namespace_use_group" => {
684 Self::visit_use_group(state, child, node);
685 }
686 "qualified_name" | "name" => {
687 let name = state.node_text(child);
688 Self::create_use_node(state, &name, node);
689 }
690 _ => {}
691 }
692 if !cursor.goto_next_sibling() {
693 break;
694 }
695 }
696 }
697 }
698
699 /// Extract a single use clause (e.g., `Foo\Bar as Baz`).
700 fn visit_use_clause(state: &mut ExtractionState, clause: TsNode<'_>, use_node: TsNode<'_>) {

Callers

nothing calls this directly

Calls 2

kindMethod · 0.80
node_textMethod · 0.45

Tested by

no test coverage detected