( ref: UnresolvedRef, context: ResolutionContext, )
| 883 | * produces no edge rather than a wrong one. |
| 884 | */ |
| 885 | export function matchCppCallChain( |
| 886 | ref: UnresolvedRef, |
| 887 | context: ResolutionContext, |
| 888 | ): ResolvedRef | null { |
| 889 | const m = ref.referenceName.match(/^(.+)\(\)\.(\w+)$/); |
| 890 | if (!m || !m[1] || !m[2]) return null; |
| 891 | const cls = resolveCppCallResultType(m[1], ref, context); |
| 892 | if (!cls) return null; |
| 893 | return resolveMethodOnType(cls, m[2], ref, context, 0.85, 'instance-method'); |
| 894 | } |
| 895 | |
| 896 | /** |
| 897 | * Resolve a `::`-scoped factory chain whose receiver is a scoped/static call — |
no test coverage detected