(result: ResolvedRef | null, ref: UnresolvedRef)
| 2412 | } |
| 2413 | |
| 2414 | private gateLanguage(result: ResolvedRef | null, ref: UnresolvedRef): ResolvedRef | null { |
| 2415 | if (!result) return result; |
| 2416 | const tgt = this.getLanguageFromNodeId(result.targetNodeId); |
| 2417 | if (!tgt || !ref.language) return result; |
| 2418 | if ((ref.referenceKind === 'references' || ref.referenceKind === 'function_ref') && !sameLanguageFamily(tgt, ref.language)) return null; |
| 2419 | if (ref.referenceKind === 'imports' && crossesKnownFamily(tgt, ref.language)) return null; |
| 2420 | return result; |
| 2421 | } |
| 2422 | |
| 2423 | /** |
| 2424 | * Drop a FRAMEWORK-strategy resolution that crosses two *known* language |
no test coverage detected