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

Method extract_variable

codegraph-kernel/src/ruby.rs:675–686  ·  view source on GitHub ↗

extractVariable — the python/ruby assignment branch (2709-2727): identifier or constant LHS mints a `variable` node (no isConst hook — `MAX = 3` is kind variable) at the ASSIGNMENT node's position, with the `= ` initializer signature.

(&mut self, node: Node<'t>)

Source from the content-addressed store, hash-verified

673 /// `MAX = 3` is kind variable) at the ASSIGNMENT node's position, with the
674 /// `= <first 100 utf16 units>` initializer signature.
675 fn extract_variable(&mut self, node: Node<'t>) {
676 let docstring = preceding_docstring(node, self.src);
677 let left = node.child_by_field_name("left").or_else(|| node.named_child(0));
678 let right = node.child_by_field_name("right").or_else(|| node.named_child(1));
679 let Some(left) = left else { return };
680 if !matches!(left.kind(), "identifier" | "constant") {
681 return;
682 }
683 let name = self.text(left).to_string();
684 let signature = right.map(|r| util::init_signature(self.text(r)));
685 self.create_node("variable", &name, node, Extra { docstring, signature, visibility: None });
686 }
687
688 /// extractImport — every non-body `call` lands here (importTypes:['call']).
689 /// Hook (languages/ruby.ts:123): FIRST identifier named child must read

Callers 1

visit_nodeMethod · 0.45

Calls 4

preceding_docstringFunction · 0.85
init_signatureFunction · 0.85
textMethod · 0.45
create_nodeMethod · 0.45

Tested by

no test coverage detected