MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / build_method_signature

Method build_method_signature

atomic-semantic/src/parsers/go.rs:296–316  ·  view source on GitHub ↗

Build a method signature: `func (r *Receiver) Name(params) returns`

(&self, node: &Node, source: &str)

Source from the content-addressed store, hash-verified

294
295 /// Build a method signature: `func (r *Receiver) Name(params) returns`
296 fn build_method_signature(&self, node: &Node, source: &str) -> Option<String> {
297 let name_node = node.child_by_field_name("name")?;
298 let name = self.node_text(&name_node, source);
299
300 let receiver = node
301 .child_by_field_name("receiver")
302 .map(|n| self.node_text(&n, source))
303 .unwrap_or_else(|| "()".to_string());
304
305 let params = node
306 .child_by_field_name("parameters")
307 .map(|n| self.node_text(&n, source))
308 .unwrap_or_else(|| "()".to_string());
309
310 let result = node
311 .child_by_field_name("result")
312 .map(|n| format!(" {}", self.node_text(&n, source)))
313 .unwrap_or_default();
314
315 Some(format!("func {} {}{}{}", receiver, name, params, result))
316 }
317
318 // ── Helpers ─────────────────────────────────────────────────────
319

Callers 1

extract_methodMethod · 0.45

Calls 1

node_textMethod · 0.45

Tested by

no test coverage detected