MCPcopy Create free account
hub / github.com/colbymchenry/codegraph / applyLanguageGate

Function applyLanguageGate

src/resolution/name-matcher.ts:189–197  ·  view source on GitHub ↗

* Drop cross-language candidates from a name lookup. Two regimes: * - `references` (type-usage): a type named in language X resolves to a * SAME-family type, never a coincidentally same-named symbol in another * language (the Android `BatteryManager` system class vs a JS one). Strict *

(candidates: Node[], ref: UnresolvedRef)

Source from the content-addressed store, hash-verified

187 * both-known filter so `.vue`/`.svelte` (own tag) importing `.ts` survives.
188 */
189function applyLanguageGate(candidates: Node[], ref: UnresolvedRef): Node[] {
190 if (ref.referenceKind === 'references' || ref.referenceKind === 'function_ref') {
191 return candidates.filter((c) => sameLanguageFamily(c.language, ref.language));
192 }
193 if (ref.referenceKind === 'imports') {
194 return candidates.filter((c) => !crossesKnownFamily(c.language, ref.language));
195 }
196 return candidates;
197}
198
199/**
200 * Resolve a function-as-value reference (#756) — a function name used as a

Callers 2

matchByExactNameFunction · 0.85
matchFuzzyFunction · 0.85

Calls 2

sameLanguageFamilyFunction · 0.85
crossesKnownFamilyFunction · 0.85

Tested by

no test coverage detected