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

Method build_function_signature

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

Build a function signature: `func Name(params) returns`

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

Source from the content-addressed store, hash-verified

276
277 /// Build a function signature: `func Name(params) returns`
278 fn build_function_signature(&self, node: &Node, source: &str) -> Option<String> {
279 let name_node = node.child_by_field_name("name")?;
280 let name = self.node_text(&name_node, source);
281
282 let params = node
283 .child_by_field_name("parameters")
284 .map(|n| self.node_text(&n, source))
285 .unwrap_or_else(|| "()".to_string());
286
287 let result = node
288 .child_by_field_name("result")
289 .map(|n| format!(" {}", self.node_text(&n, source)))
290 .unwrap_or_default();
291
292 Some(format!("func {}{}{}", name, params, result))
293 }
294
295 /// Build a method signature: `func (r *Receiver) Name(params) returns`
296 fn build_method_signature(&self, node: &Node, source: &str) -> Option<String> {

Callers 1

extract_functionMethod · 0.45

Calls 1

node_textMethod · 0.45

Tested by

no test coverage detected