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