fix(extraction): index TypeScript interface members (#1638) (#1780)

Land upstream #1686 (maxmilian + bompus kernel/CG-28 follow-ups)
onto current main. tree-sitter-typescript interface members
(method_signature / property_signature) were never listed in the
TS extractor, so platform .d.ts APIs had no declaration nodes for
call edges. Mirrors on the Rust kernel path; keeps CG-28 damping
for pure-interface declaration files; filters damped files from
the explore RWR seed set.

Co-authored-by: Colby McHenry <colbymchenry@users.noreply.github.com>
This commit is contained in:
Colby Mchenry
2026-09-08 11:27:05 -05:00
committed by GitHub
co-authored by Colby McHenry
parent 8c047342cd
commit ee83636acb
10 changed files with 375 additions and 49 deletions
+5 -1
View File
@@ -53,7 +53,11 @@ describe('object-literal method extraction', () => {
// Each action's body was walked: fetchUser references its sibling `reset`,
// so an in-store calls edge will resolve once the pipeline runs.
const fetchUser = result.nodes.find((n) => n.name === 'fetchUser')!;
// By KIND as well as name: the fixture's `Store` interface declares a
// `fetchUser` too, and since #1638 that signature is a node of its own —
// one that appears FIRST in the file, so a name-only lookup finds the
// declaration and reads its return type where the action's body was meant.
const fetchUser = result.nodes.find((n) => n.kind === 'function' && n.name === 'fetchUser')!;
const fetchUserRefs = result.unresolvedReferences.filter((r) => r.fromNodeId === fetchUser.id);
// `get().reset()` keeps its call receiver (#1683): the ref is the chain
// `get().reset`, which the resolver binds to the store's own `reset`.