(&mut self, node: Node<'t>)
| 569 | // are visited by the ladder's recursion afterward. |
| 570 | |
| 571 | fn extract_call(&mut self, node: Node<'t>) { |
| 572 | if self.stack.is_empty() { |
| 573 | return; |
| 574 | } |
| 575 | let caller_row = self.top_row(); |
| 576 | let func = node |
| 577 | .child_by_field_name("function") |
| 578 | .or_else(|| node.named_child(0)); |
| 579 | let func = match func { |
| 580 | Some(f) => f, |
| 581 | None => return, |
| 582 | }; |
| 583 | let mut callee: &str = self.text(func); |
| 584 | if let Some(caps) = util::paren_conversion().captures(callee) { |
| 585 | if let Some(inner) = caps.get(1) { |
| 586 | callee = &callee[inner.range()]; |
| 587 | } |
| 588 | } |
| 589 | if callee.is_empty() { |
| 590 | return; |
| 591 | } |
| 592 | let callee = callee.to_string(); |
| 593 | self.push_ref_at(caller_row, &callee, "calls", node); |
| 594 | } |
| 595 | } |
no test coverage detected