@optave/codegraph 3.11.1 → 3.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/dist/domain/graph/builder/call-resolver.d.ts +71 -0
- package/dist/domain/graph/builder/call-resolver.d.ts.map +1 -0
- package/dist/domain/graph/builder/call-resolver.js +130 -0
- package/dist/domain/graph/builder/call-resolver.js.map +1 -0
- package/dist/domain/graph/builder/incremental.d.ts.map +1 -1
- package/dist/domain/graph/builder/incremental.js +75 -54
- package/dist/domain/graph/builder/incremental.js.map +1 -1
- package/dist/domain/graph/builder/stages/build-edges.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/build-edges.js +18 -96
- package/dist/domain/graph/builder/stages/build-edges.js.map +1 -1
- package/dist/domain/graph/watcher.d.ts.map +1 -1
- package/dist/domain/graph/watcher.js +5 -2
- package/dist/domain/graph/watcher.js.map +1 -1
- package/dist/features/structure.d.ts.map +1 -1
- package/dist/features/structure.js +121 -16
- package/dist/features/structure.js.map +1 -1
- package/grammars/tree-sitter-erlang.wasm +0 -0
- package/package.json +9 -9
- package/src/domain/graph/builder/call-resolver.ts +181 -0
- package/src/domain/graph/builder/incremental.ts +107 -65
- package/src/domain/graph/builder/stages/build-edges.ts +31 -135
- package/src/domain/graph/watcher.ts +4 -2
- package/src/features/structure.ts +143 -23
package/README.md
CHANGED
|
@@ -624,17 +624,17 @@ Codegraph also extracts symbols from common callback patterns: Commander `.comma
|
|
|
624
624
|
|
|
625
625
|
Self-measured on every release via CI ([build benchmarks](generated/benchmarks/BUILD-BENCHMARKS.md) | [embedding benchmarks](generated/benchmarks/EMBEDDING-BENCHMARKS.md) | [query benchmarks](generated/benchmarks/QUERY-BENCHMARKS.md) | [incremental benchmarks](generated/benchmarks/INCREMENTAL-BENCHMARKS.md) | [resolution precision/recall](tests/benchmarks/resolution/)):
|
|
626
626
|
|
|
627
|
-
*Last updated: v3.11.
|
|
627
|
+
*Last updated: v3.11.1 (2026-05-30)*
|
|
628
628
|
|
|
629
629
|
| Metric | Native | WASM |
|
|
630
630
|
|---|---|---|
|
|
631
|
-
| Build speed | **3.
|
|
632
|
-
| Query time | **
|
|
633
|
-
| No-op rebuild | **
|
|
634
|
-
| 1-file rebuild | **
|
|
635
|
-
| Query: fn-deps | **2.
|
|
636
|
-
| Query: path | **
|
|
637
|
-
| ~50,000 files (est.) | **~
|
|
631
|
+
| Build speed | **3.7 ms/file** | **18.4 ms/file** |
|
|
632
|
+
| Query time | **34ms** | **46ms** |
|
|
633
|
+
| No-op rebuild | **24ms** | **20ms** |
|
|
634
|
+
| 1-file rebuild | **81ms** | **68ms** |
|
|
635
|
+
| Query: fn-deps | **2.5ms** | **2.3ms** |
|
|
636
|
+
| Query: path | **2.5ms** | **2.3ms** |
|
|
637
|
+
| ~50,000 files (est.) | **~185.0s build** | **~920.0s build** |
|
|
638
638
|
| Resolution precision | **89.9%** | — |
|
|
639
639
|
| Resolution recall | **42.3%** | — |
|
|
640
640
|
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export interface CallNodeLookup {
|
|
2
|
+
byNameAndFile(name: string, file: string): ReadonlyArray<{
|
|
3
|
+
id: number;
|
|
4
|
+
file: string;
|
|
5
|
+
kind?: string;
|
|
6
|
+
}>;
|
|
7
|
+
byName(name: string): ReadonlyArray<{
|
|
8
|
+
id: number;
|
|
9
|
+
file: string;
|
|
10
|
+
kind?: string;
|
|
11
|
+
}>;
|
|
12
|
+
isBarrel(file: string): boolean;
|
|
13
|
+
resolveBarrel(barrelFile: string, symbolName: string): string | null;
|
|
14
|
+
nodeId(name: string, kind: string, file: string, line: number): {
|
|
15
|
+
id: number;
|
|
16
|
+
} | undefined;
|
|
17
|
+
}
|
|
18
|
+
export declare const RECEIVER_KINDS: Set<string>;
|
|
19
|
+
export declare function findCaller(lookup: CallNodeLookup, call: {
|
|
20
|
+
line: number;
|
|
21
|
+
}, definitions: ReadonlyArray<{
|
|
22
|
+
name: string;
|
|
23
|
+
kind: string;
|
|
24
|
+
line: number;
|
|
25
|
+
endLine?: number | null;
|
|
26
|
+
}>, relPath: string, fileNodeRow: {
|
|
27
|
+
id: number;
|
|
28
|
+
}): {
|
|
29
|
+
id: number;
|
|
30
|
+
};
|
|
31
|
+
export declare function resolveByMethodOrGlobal(lookup: CallNodeLookup, call: {
|
|
32
|
+
name: string;
|
|
33
|
+
receiver?: string | null;
|
|
34
|
+
}, relPath: string, typeMap: Map<string, unknown>): ReadonlyArray<{
|
|
35
|
+
id: number;
|
|
36
|
+
file: string;
|
|
37
|
+
}>;
|
|
38
|
+
export declare function resolveCallTargets(lookup: CallNodeLookup, call: {
|
|
39
|
+
name: string;
|
|
40
|
+
receiver?: string | null;
|
|
41
|
+
}, relPath: string, importedNames: Map<string, string>, typeMap: Map<string, unknown>): {
|
|
42
|
+
targets: Array<{
|
|
43
|
+
id: number;
|
|
44
|
+
file: string;
|
|
45
|
+
}>;
|
|
46
|
+
importedFrom: string | undefined;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Resolve the receiver-type edge for a call site.
|
|
50
|
+
* Returns the edge tuple to insert, or null if nothing matched or the edge
|
|
51
|
+
* was already seen. Callers are responsible for the actual DB/array insert.
|
|
52
|
+
*
|
|
53
|
+
* Receiver resolution collects all same-file candidates first (no kind
|
|
54
|
+
* filter), falls back to global candidates only when the same-file set is
|
|
55
|
+
* entirely empty, then filters the chosen set by RECEIVER_KINDS. This
|
|
56
|
+
* matches the native Rust build path: if a file imports a name that happens
|
|
57
|
+
* to be emitted as `kind='function'` in the importer, the same-file set is
|
|
58
|
+
* non-empty and blocks the global fallback, so no receiver edge is emitted.
|
|
59
|
+
* Keeping this behaviour identical to the Rust path maintains engine parity.
|
|
60
|
+
*/
|
|
61
|
+
export declare function resolveReceiverEdge(lookup: CallNodeLookup, call: {
|
|
62
|
+
name: string;
|
|
63
|
+
receiver: string;
|
|
64
|
+
}, caller: {
|
|
65
|
+
id: number;
|
|
66
|
+
}, relPath: string, typeMap: Map<string, unknown>, seenCallEdges: Set<string>): {
|
|
67
|
+
callerId: number;
|
|
68
|
+
receiverId: number;
|
|
69
|
+
confidence: number;
|
|
70
|
+
} | null;
|
|
71
|
+
//# sourceMappingURL=call-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-resolver.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/call-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared call-edge resolution — used by both the full build pipeline
|
|
3
|
+
* (build-edges.ts) and the incremental watch path (incremental.ts).
|
|
4
|
+
*
|
|
5
|
+
* Both callers supply a `CallNodeLookup` adapter that abstracts their
|
|
6
|
+
* node-lookup mechanism (pre-loaded Maps vs. per-query SQLite statements).
|
|
7
|
+
* The resolution logic lives here exactly once.
|
|
8
|
+
*/
|
|
9
|
+
import { computeConfidence } from '../resolve.js';
|
|
10
|
+
export const RECEIVER_KINDS = new Set(['class', 'struct', 'interface', 'type', 'module']);
|
|
11
|
+
// ── Shared resolution functions ──────────────────────────────────────────
|
|
12
|
+
export function findCaller(lookup, call, definitions, relPath, fileNodeRow) {
|
|
13
|
+
let caller = null;
|
|
14
|
+
let callerSpan = Infinity;
|
|
15
|
+
for (const def of definitions) {
|
|
16
|
+
if (def.line <= call.line) {
|
|
17
|
+
const end = def.endLine || Infinity;
|
|
18
|
+
if (call.line <= end) {
|
|
19
|
+
const span = end - def.line;
|
|
20
|
+
if (span < callerSpan) {
|
|
21
|
+
const row = lookup.nodeId(def.name, def.kind, relPath, def.line);
|
|
22
|
+
if (row) {
|
|
23
|
+
caller = row;
|
|
24
|
+
callerSpan = span;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return caller ?? fileNodeRow;
|
|
31
|
+
}
|
|
32
|
+
export function resolveByMethodOrGlobal(lookup, call, relPath, typeMap) {
|
|
33
|
+
if (call.receiver) {
|
|
34
|
+
const typeEntry = typeMap.get(call.receiver);
|
|
35
|
+
const typeName = typeEntry
|
|
36
|
+
? typeof typeEntry === 'string'
|
|
37
|
+
? typeEntry
|
|
38
|
+
: typeEntry.type
|
|
39
|
+
: null;
|
|
40
|
+
if (typeName) {
|
|
41
|
+
const typed = lookup.byName(`${typeName}.${call.name}`).filter((n) => n.kind === 'method');
|
|
42
|
+
if (typed.length > 0)
|
|
43
|
+
return typed;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (!call.receiver ||
|
|
47
|
+
call.receiver === 'this' ||
|
|
48
|
+
call.receiver === 'self' ||
|
|
49
|
+
call.receiver === 'super') {
|
|
50
|
+
return lookup.byName(call.name).filter((t) => computeConfidence(relPath, t.file, null) >= 0.5);
|
|
51
|
+
}
|
|
52
|
+
return [];
|
|
53
|
+
}
|
|
54
|
+
export function resolveCallTargets(lookup, call, relPath, importedNames, typeMap) {
|
|
55
|
+
const importedFrom = importedNames.get(call.name);
|
|
56
|
+
let targets;
|
|
57
|
+
if (importedFrom) {
|
|
58
|
+
targets = lookup.byNameAndFile(call.name, importedFrom);
|
|
59
|
+
if (targets.length === 0 && lookup.isBarrel(importedFrom)) {
|
|
60
|
+
const actualSource = lookup.resolveBarrel(importedFrom, call.name);
|
|
61
|
+
if (actualSource) {
|
|
62
|
+
targets = lookup.byNameAndFile(call.name, actualSource);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
if (!targets || targets.length === 0) {
|
|
67
|
+
targets = lookup.byNameAndFile(call.name, relPath);
|
|
68
|
+
if (targets.length === 0) {
|
|
69
|
+
targets = resolveByMethodOrGlobal(lookup, call, relPath, typeMap);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
const resolved = [...(targets ?? [])];
|
|
73
|
+
if (resolved.length > 1) {
|
|
74
|
+
resolved.sort((a, b) => {
|
|
75
|
+
const confA = computeConfidence(relPath, a.file, importedFrom ?? null);
|
|
76
|
+
const confB = computeConfidence(relPath, b.file, importedFrom ?? null);
|
|
77
|
+
return confB - confA;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return { targets: resolved, importedFrom };
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Resolve the receiver-type edge for a call site.
|
|
84
|
+
* Returns the edge tuple to insert, or null if nothing matched or the edge
|
|
85
|
+
* was already seen. Callers are responsible for the actual DB/array insert.
|
|
86
|
+
*
|
|
87
|
+
* Receiver resolution collects all same-file candidates first (no kind
|
|
88
|
+
* filter), falls back to global candidates only when the same-file set is
|
|
89
|
+
* entirely empty, then filters the chosen set by RECEIVER_KINDS. This
|
|
90
|
+
* matches the native Rust build path: if a file imports a name that happens
|
|
91
|
+
* to be emitted as `kind='function'` in the importer, the same-file set is
|
|
92
|
+
* non-empty and blocks the global fallback, so no receiver edge is emitted.
|
|
93
|
+
* Keeping this behaviour identical to the Rust path maintains engine parity.
|
|
94
|
+
*/
|
|
95
|
+
export function resolveReceiverEdge(lookup, call, caller, relPath, typeMap, seenCallEdges) {
|
|
96
|
+
const typeEntry = typeMap.get(call.receiver);
|
|
97
|
+
const typeName = typeEntry
|
|
98
|
+
? typeof typeEntry === 'string'
|
|
99
|
+
? typeEntry
|
|
100
|
+
: (typeEntry.type ?? null)
|
|
101
|
+
: null;
|
|
102
|
+
const typeConfidence = typeEntry && typeof typeEntry !== 'string'
|
|
103
|
+
? (typeEntry.confidence ?? null)
|
|
104
|
+
: null;
|
|
105
|
+
const effectiveReceiver = typeName || call.receiver;
|
|
106
|
+
// Filter-before: apply RECEIVER_KINDS to same-file candidates first, then
|
|
107
|
+
// fall back to global candidates (also filtered) only when same-file yields
|
|
108
|
+
// nothing. This prevents an imported name emitted as kind='function' in the
|
|
109
|
+
// importing file from blocking the fallback to the actual class/struct/etc.
|
|
110
|
+
// node in the defining file.
|
|
111
|
+
const sameFileCandidates = lookup
|
|
112
|
+
.byNameAndFile(effectiveReceiver, relPath)
|
|
113
|
+
.filter((n) => RECEIVER_KINDS.has(n.kind ?? ''));
|
|
114
|
+
const candidates = sameFileCandidates.length > 0
|
|
115
|
+
? sameFileCandidates
|
|
116
|
+
: lookup.byName(effectiveReceiver).filter((n) => RECEIVER_KINDS.has(n.kind ?? ''));
|
|
117
|
+
if (candidates.length === 0)
|
|
118
|
+
return null;
|
|
119
|
+
const recvTarget = candidates[0];
|
|
120
|
+
const recvKey = `recv|${caller.id}|${recvTarget.id}`;
|
|
121
|
+
if (seenCallEdges.has(recvKey))
|
|
122
|
+
return null;
|
|
123
|
+
seenCallEdges.add(recvKey);
|
|
124
|
+
return {
|
|
125
|
+
callerId: caller.id,
|
|
126
|
+
receiverId: recvTarget.id,
|
|
127
|
+
confidence: typeConfidence ?? (typeName ? 0.9 : 0.7),
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=call-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-resolver.js","sourceRoot":"","sources":["../../../../src/domain/graph/builder/call-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"incremental.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/incremental.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,qBAAqB,EACrB,UAAU,EAIX,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"incremental.d.ts","sourceRoot":"","sources":["../../../../src/domain/graph/builder/incremental.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,qBAAqB,EACrB,UAAU,EAIX,MAAM,mBAAmB,CAAC;AAa3B,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;KAAE,CAAC;IACvD,UAAU,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;KAAE,CAAC;IACvD,SAAS,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IACzE,UAAU,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK;YAAE,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IACzE,UAAU,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK;YAAE,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IACzE,WAAW,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAA;KAAE,CAAC;IAC1D,cAAc,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAA;KAAE,CAAC;IAC7D,cAAc,EAAE;QAAE,GAAG,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,CAAA;KAAE,CAAC;CAC9D;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA2nBD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,qBAAqB,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAA;CAAO,GAC3E,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA6E/B"}
|
|
@@ -14,6 +14,7 @@ import { debug, warn } from '../../../infrastructure/logger.js';
|
|
|
14
14
|
import { normalizePath } from '../../../shared/constants.js';
|
|
15
15
|
import { parseFileIncremental } from '../../parser.js';
|
|
16
16
|
import { computeConfidence, resolveImportPath } from '../resolve.js';
|
|
17
|
+
import { findCaller, resolveCallTargets, resolveReceiverEdge, } from './call-resolver.js';
|
|
17
18
|
import { BUILTIN_RECEIVERS, readFileSafe } from './helpers.js';
|
|
18
19
|
// ── Node insertion ──────────────────────────────────────────────────────
|
|
19
20
|
function insertFileNodes(stmts, relPath, symbols) {
|
|
@@ -109,8 +110,9 @@ function rebuildReverseDepEdges(db, rootDir, depRelPath, symbols, stmts, skipBar
|
|
|
109
110
|
let edgesAdded = buildContainmentEdges(db, stmts, depRelPath, symbols);
|
|
110
111
|
// Don't rebuild dir->file containment for reverse-deps (it was never deleted)
|
|
111
112
|
edgesAdded += buildImportEdges(stmts, depRelPath, symbols, rootDir, fileNodeRow.id, aliases, skipBarrel ? null : db);
|
|
112
|
-
const importedNames = buildImportedNamesMap(symbols, rootDir, depRelPath, aliases);
|
|
113
|
-
edgesAdded += buildCallEdges(stmts, depRelPath, symbols, fileNodeRow, importedNames);
|
|
113
|
+
const importedNames = buildImportedNamesMap(symbols, rootDir, depRelPath, aliases, db);
|
|
114
|
+
edgesAdded += buildCallEdges(db, stmts, depRelPath, symbols, fileNodeRow, importedNames);
|
|
115
|
+
edgesAdded += buildClassHierarchyEdges(stmts, depRelPath, symbols);
|
|
114
116
|
return edgesAdded;
|
|
115
117
|
}
|
|
116
118
|
// ── Directory containment edges ────────────────────────────────────────
|
|
@@ -228,7 +230,13 @@ function emitEdgesForImport(stmts, imp, fileNodeId, relPath, rootDir, aliases, d
|
|
|
228
230
|
const targetRow = stmts.getNodeId.get(resolvedPath, 'file', resolvedPath, 0);
|
|
229
231
|
if (!targetRow)
|
|
230
232
|
return 0;
|
|
231
|
-
const edgeKind = imp.reexport
|
|
233
|
+
const edgeKind = imp.reexport
|
|
234
|
+
? 'reexports'
|
|
235
|
+
: imp.typeOnly
|
|
236
|
+
? 'imports-type'
|
|
237
|
+
: imp.dynamicImport
|
|
238
|
+
? 'dynamic-imports'
|
|
239
|
+
: 'imports';
|
|
232
240
|
stmts.insertEdge.run(fileNodeId, targetRow.id, edgeKind, 1.0, 0);
|
|
233
241
|
let edgesAdded = 1;
|
|
234
242
|
if (imp.typeOnly) {
|
|
@@ -246,65 +254,62 @@ function buildImportEdges(stmts, relPath, symbols, rootDir, fileNodeId, aliases,
|
|
|
246
254
|
}
|
|
247
255
|
return edgesAdded;
|
|
248
256
|
}
|
|
249
|
-
function buildImportedNamesMap(symbols, rootDir, relPath, aliases) {
|
|
257
|
+
function buildImportedNamesMap(symbols, rootDir, relPath, aliases, db) {
|
|
250
258
|
const importedNames = new Map();
|
|
251
259
|
for (const imp of symbols.imports) {
|
|
252
260
|
const resolvedPath = resolveImportPath(path.join(rootDir, relPath), imp.source, rootDir, aliases);
|
|
253
261
|
for (const name of imp.names) {
|
|
254
|
-
|
|
262
|
+
const cleanName = name.replace(/^\*\s+as\s+/, '');
|
|
263
|
+
// Mirror full-build's `buildImportedNamesMap`: follow barrel re-exports so
|
|
264
|
+
// `importedNames` maps to the *defining* file, not the barrel. This ensures
|
|
265
|
+
// `computeConfidence` gets `importedFrom === targetFile` and returns 1.0
|
|
266
|
+
// instead of the cross-directory fallback (0.3).
|
|
267
|
+
let targetFile = resolvedPath;
|
|
268
|
+
if (isBarrelFile(db, resolvedPath)) {
|
|
269
|
+
const actual = resolveBarrelTarget(db, resolvedPath, cleanName);
|
|
270
|
+
if (actual)
|
|
271
|
+
targetFile = actual;
|
|
272
|
+
}
|
|
273
|
+
importedNames.set(cleanName, targetFile);
|
|
255
274
|
}
|
|
256
275
|
}
|
|
257
276
|
return importedNames;
|
|
258
277
|
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
callerSpan = span;
|
|
273
|
-
}
|
|
274
|
-
}
|
|
278
|
+
const HIERARCHY_SOURCE_KINDS = new Set(['class', 'struct', 'record', 'enum']);
|
|
279
|
+
const EXTENDS_TARGET_KINDS = new Set(['class', 'struct', 'trait', 'record']);
|
|
280
|
+
const IMPLEMENTS_TARGET_KINDS = new Set(['interface', 'trait', 'class']);
|
|
281
|
+
function buildClassHierarchyEdges(stmts, relPath, symbols) {
|
|
282
|
+
let edgesAdded = 0;
|
|
283
|
+
for (const cls of symbols.classes) {
|
|
284
|
+
const sourceRow = stmts.findNodeInFile.all(cls.name, relPath).find((n) => HIERARCHY_SOURCE_KINDS.has(n.kind));
|
|
285
|
+
if (!sourceRow)
|
|
286
|
+
continue;
|
|
287
|
+
if (cls.extends) {
|
|
288
|
+
for (const t of stmts.findNodeByName.all(cls.extends).filter((n) => EXTENDS_TARGET_KINDS.has(n.kind))) {
|
|
289
|
+
stmts.insertEdge.run(sourceRow.id, t.id, 'extends', 1.0, 0);
|
|
290
|
+
edgesAdded++;
|
|
275
291
|
}
|
|
276
292
|
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
let targets;
|
|
283
|
-
if (importedFrom) {
|
|
284
|
-
targets = stmts.findNodeInFile.all(call.name, importedFrom);
|
|
285
|
-
}
|
|
286
|
-
if (!targets || targets.length === 0) {
|
|
287
|
-
targets = stmts.findNodeInFile.all(call.name, relPath);
|
|
288
|
-
if (targets.length === 0) {
|
|
289
|
-
targets = stmts.findNodeByName.all(call.name);
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
// Type-aware resolution: translate variable receiver to declared type
|
|
293
|
-
if ((!targets || targets.length === 0) && call.receiver && typeMap) {
|
|
294
|
-
const typeEntry = typeMap.get(call.receiver);
|
|
295
|
-
const typeName = typeEntry
|
|
296
|
-
? typeof typeEntry === 'string'
|
|
297
|
-
? typeEntry
|
|
298
|
-
: typeEntry.type
|
|
299
|
-
: null;
|
|
300
|
-
if (typeName) {
|
|
301
|
-
const qualified = `${typeName}.${call.name}`;
|
|
302
|
-
targets = stmts.findNodeByName.all(qualified);
|
|
293
|
+
if (cls.implements) {
|
|
294
|
+
for (const t of stmts.findNodeByName.all(cls.implements).filter((n) => IMPLEMENTS_TARGET_KINDS.has(n.kind))) {
|
|
295
|
+
stmts.insertEdge.run(sourceRow.id, t.id, 'implements', 1.0, 0);
|
|
296
|
+
edgesAdded++;
|
|
297
|
+
}
|
|
303
298
|
}
|
|
304
299
|
}
|
|
305
|
-
return
|
|
300
|
+
return edgesAdded;
|
|
306
301
|
}
|
|
307
|
-
|
|
302
|
+
// ── Call edge building ──────────────────────────────────────────────────
|
|
303
|
+
function makeIncrementalLookup(db, stmts) {
|
|
304
|
+
return {
|
|
305
|
+
byNameAndFile: (name, file) => stmts.findNodeInFile.all(name, file),
|
|
306
|
+
byName: (name) => stmts.findNodeByName.all(name),
|
|
307
|
+
isBarrel: (file) => isBarrelFile(db, file),
|
|
308
|
+
resolveBarrel: (barrelFile, symbolName) => resolveBarrelTarget(db, barrelFile, symbolName),
|
|
309
|
+
nodeId: (name, kind, file, line) => stmts.getNodeId.get(name, kind, file, line),
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
function buildCallEdges(db, stmts, relPath, symbols, fileNodeRow, importedNames) {
|
|
308
313
|
const rawTM = symbols.typeMap;
|
|
309
314
|
const typeMap = rawTM instanceof Map
|
|
310
315
|
? rawTM
|
|
@@ -314,19 +319,34 @@ function buildCallEdges(stmts, relPath, symbols, fileNodeRow, importedNames) {
|
|
|
314
319
|
e.typeName ?? e.type ?? null,
|
|
315
320
|
]))
|
|
316
321
|
: new Map();
|
|
322
|
+
const seenCallEdges = new Set();
|
|
323
|
+
const lookup = makeIncrementalLookup(db, stmts);
|
|
317
324
|
let edgesAdded = 0;
|
|
318
325
|
for (const call of symbols.calls) {
|
|
319
326
|
if (call.receiver && BUILTIN_RECEIVERS.has(call.receiver))
|
|
320
327
|
continue;
|
|
321
|
-
const caller = findCaller(call, symbols.definitions, relPath,
|
|
322
|
-
const { targets, importedFrom } = resolveCallTargets(
|
|
328
|
+
const caller = findCaller(lookup, call, symbols.definitions, relPath, fileNodeRow);
|
|
329
|
+
const { targets, importedFrom } = resolveCallTargets(lookup, call, relPath, importedNames, typeMap);
|
|
323
330
|
for (const t of targets) {
|
|
324
|
-
|
|
331
|
+
const edgeKey = `${caller.id}|${t.id}`;
|
|
332
|
+
if (t.id !== caller.id && !seenCallEdges.has(edgeKey)) {
|
|
333
|
+
seenCallEdges.add(edgeKey);
|
|
325
334
|
const confidence = computeConfidence(relPath, t.file, importedFrom ?? null);
|
|
326
335
|
stmts.insertEdge.run(caller.id, t.id, 'calls', confidence, call.dynamic ? 1 : 0);
|
|
327
336
|
edgesAdded++;
|
|
328
337
|
}
|
|
329
338
|
}
|
|
339
|
+
if (call.receiver &&
|
|
340
|
+
!BUILTIN_RECEIVERS.has(call.receiver) &&
|
|
341
|
+
call.receiver !== 'this' &&
|
|
342
|
+
call.receiver !== 'self' &&
|
|
343
|
+
call.receiver !== 'super') {
|
|
344
|
+
const recv = resolveReceiverEdge(lookup, { name: call.name, receiver: call.receiver }, caller, relPath, typeMap, seenCallEdges);
|
|
345
|
+
if (recv) {
|
|
346
|
+
stmts.insertEdge.run(recv.callerId, recv.receiverId, 'receiver', recv.confidence, 0);
|
|
347
|
+
edgesAdded++;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
330
350
|
}
|
|
331
351
|
return edgesAdded;
|
|
332
352
|
}
|
|
@@ -353,8 +373,9 @@ function rebuildEdgesForTargetFile(db, stmts, relPath, symbols, fileNodeRow, roo
|
|
|
353
373
|
let edgesAdded = buildContainmentEdges(db, stmts, relPath, symbols);
|
|
354
374
|
edgesAdded += rebuildDirContainment(db, stmts, relPath);
|
|
355
375
|
edgesAdded += buildImportEdges(stmts, relPath, symbols, rootDir, fileNodeRow.id, aliases, db);
|
|
356
|
-
const importedNames = buildImportedNamesMap(symbols, rootDir, relPath, aliases);
|
|
357
|
-
edgesAdded += buildCallEdges(stmts, relPath, symbols, fileNodeRow, importedNames);
|
|
376
|
+
const importedNames = buildImportedNamesMap(symbols, rootDir, relPath, aliases, db);
|
|
377
|
+
edgesAdded += buildCallEdges(db, stmts, relPath, symbols, fileNodeRow, importedNames);
|
|
378
|
+
edgesAdded += buildClassHierarchyEdges(stmts, relPath, symbols);
|
|
358
379
|
return edgesAdded;
|
|
359
380
|
}
|
|
360
381
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"incremental.js","sourceRoot":"","sources":["../../../../src/domain/graph/builder/incremental.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"incremental.js","sourceRoot":"","sources":["../../../../src/domain/graph/builder/incremental.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-edges.d.ts","sourceRoot":"","sources":["../../../../../src/domain/graph/builder/stages/build-edges.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"build-edges.d.ts","sourceRoot":"","sources":["../../../../../src/domain/graph/builder/stages/build-edges.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA+vBrD,wBAAsB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAqGpE"}
|