| 544 | } |
| 545 | |
| 546 | static const char *class_method_tail(const char *qn) { |
| 547 | if (!qn) { |
| 548 | return NULL; |
| 549 | } |
| 550 | const char *last = strrchr(qn, '.'); |
| 551 | if (!last || last == qn) { |
| 552 | return NULL; |
| 553 | } |
| 554 | const char *second = last; |
| 555 | while (second > qn) { |
| 556 | second--; |
| 557 | if (*second == '.') { |
| 558 | return second == qn ? qn : second + 1; |
| 559 | } |
| 560 | } |
| 561 | return qn; |
| 562 | } |
| 563 | |
| 564 | static const cbm_gbuf_node_t *find_unique_callable_node_by_tail(const cbm_gbuf_t *gbuf, |
| 565 | const char *tail) { |
no outgoing calls
no test coverage detected