@optave/codegraph 3.11.1 → 3.12.0

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.
Files changed (176) hide show
  1. package/README.md +8 -8
  2. package/dist/db/migrations.d.ts.map +1 -1
  3. package/dist/db/migrations.js +7 -0
  4. package/dist/db/migrations.js.map +1 -1
  5. package/dist/domain/analysis/module-map.d.ts +2 -0
  6. package/dist/domain/analysis/module-map.d.ts.map +1 -1
  7. package/dist/domain/analysis/module-map.js +24 -2
  8. package/dist/domain/analysis/module-map.js.map +1 -1
  9. package/dist/domain/graph/builder/call-resolver.d.ts +73 -0
  10. package/dist/domain/graph/builder/call-resolver.d.ts.map +1 -0
  11. package/dist/domain/graph/builder/call-resolver.js +292 -0
  12. package/dist/domain/graph/builder/call-resolver.js.map +1 -0
  13. package/dist/domain/graph/builder/cha.d.ts +61 -0
  14. package/dist/domain/graph/builder/cha.d.ts.map +1 -0
  15. package/dist/domain/graph/builder/cha.js +143 -0
  16. package/dist/domain/graph/builder/cha.js.map +1 -0
  17. package/dist/domain/graph/builder/context.d.ts +3 -0
  18. package/dist/domain/graph/builder/context.d.ts.map +1 -1
  19. package/dist/domain/graph/builder/context.js +2 -0
  20. package/dist/domain/graph/builder/context.js.map +1 -1
  21. package/dist/domain/graph/builder/helpers.d.ts +17 -1
  22. package/dist/domain/graph/builder/helpers.d.ts.map +1 -1
  23. package/dist/domain/graph/builder/helpers.js +159 -5
  24. package/dist/domain/graph/builder/helpers.js.map +1 -1
  25. package/dist/domain/graph/builder/incremental.d.ts.map +1 -1
  26. package/dist/domain/graph/builder/incremental.js +147 -54
  27. package/dist/domain/graph/builder/incremental.js.map +1 -1
  28. package/dist/domain/graph/builder/stages/build-edges.d.ts +2 -0
  29. package/dist/domain/graph/builder/stages/build-edges.d.ts.map +1 -1
  30. package/dist/domain/graph/builder/stages/build-edges.js +932 -110
  31. package/dist/domain/graph/builder/stages/build-edges.js.map +1 -1
  32. package/dist/domain/graph/builder/stages/detect-changes.d.ts.map +1 -1
  33. package/dist/domain/graph/builder/stages/detect-changes.js +2 -1
  34. package/dist/domain/graph/builder/stages/detect-changes.js.map +1 -1
  35. package/dist/domain/graph/builder/stages/native-orchestrator.d.ts.map +1 -1
  36. package/dist/domain/graph/builder/stages/native-orchestrator.js +501 -14
  37. package/dist/domain/graph/builder/stages/native-orchestrator.js.map +1 -1
  38. package/dist/domain/graph/builder/stages/resolve-imports.d.ts +1 -0
  39. package/dist/domain/graph/builder/stages/resolve-imports.d.ts.map +1 -1
  40. package/dist/domain/graph/builder/stages/resolve-imports.js +9 -0
  41. package/dist/domain/graph/builder/stages/resolve-imports.js.map +1 -1
  42. package/dist/domain/graph/journal.js +1 -1
  43. package/dist/domain/graph/journal.js.map +1 -1
  44. package/dist/domain/graph/resolver/points-to.d.ts +53 -0
  45. package/dist/domain/graph/resolver/points-to.d.ts.map +1 -0
  46. package/dist/domain/graph/resolver/points-to.js +213 -0
  47. package/dist/domain/graph/resolver/points-to.js.map +1 -0
  48. package/dist/domain/graph/resolver/ts-resolver.d.ts +9 -0
  49. package/dist/domain/graph/resolver/ts-resolver.d.ts.map +1 -0
  50. package/dist/domain/graph/resolver/ts-resolver.js +476 -0
  51. package/dist/domain/graph/resolver/ts-resolver.js.map +1 -0
  52. package/dist/domain/graph/watcher.d.ts.map +1 -1
  53. package/dist/domain/graph/watcher.js +5 -2
  54. package/dist/domain/graph/watcher.js.map +1 -1
  55. package/dist/domain/parser.d.ts +10 -1
  56. package/dist/domain/parser.d.ts.map +1 -1
  57. package/dist/domain/parser.js +39 -7
  58. package/dist/domain/parser.js.map +1 -1
  59. package/dist/domain/wasm-worker-entry.js +25 -0
  60. package/dist/domain/wasm-worker-entry.js.map +1 -1
  61. package/dist/domain/wasm-worker-pool.d.ts.map +1 -1
  62. package/dist/domain/wasm-worker-pool.js +32 -0
  63. package/dist/domain/wasm-worker-pool.js.map +1 -1
  64. package/dist/domain/wasm-worker-protocol.d.ts +14 -1
  65. package/dist/domain/wasm-worker-protocol.d.ts.map +1 -1
  66. package/dist/extractors/c.js +3 -3
  67. package/dist/extractors/c.js.map +1 -1
  68. package/dist/extractors/clojure.js +1 -1
  69. package/dist/extractors/clojure.js.map +1 -1
  70. package/dist/extractors/cpp.js +3 -3
  71. package/dist/extractors/cpp.js.map +1 -1
  72. package/dist/extractors/csharp.d.ts.map +1 -1
  73. package/dist/extractors/csharp.js +37 -8
  74. package/dist/extractors/csharp.js.map +1 -1
  75. package/dist/extractors/cuda.js +3 -3
  76. package/dist/extractors/cuda.js.map +1 -1
  77. package/dist/extractors/elixir.js +6 -6
  78. package/dist/extractors/elixir.js.map +1 -1
  79. package/dist/extractors/fsharp.js +1 -1
  80. package/dist/extractors/fsharp.js.map +1 -1
  81. package/dist/extractors/go.js +5 -5
  82. package/dist/extractors/go.js.map +1 -1
  83. package/dist/extractors/haskell.js +1 -1
  84. package/dist/extractors/haskell.js.map +1 -1
  85. package/dist/extractors/java.js +2 -2
  86. package/dist/extractors/java.js.map +1 -1
  87. package/dist/extractors/javascript.d.ts +2 -0
  88. package/dist/extractors/javascript.d.ts.map +1 -1
  89. package/dist/extractors/javascript.js +1674 -64
  90. package/dist/extractors/javascript.js.map +1 -1
  91. package/dist/extractors/kotlin.js +5 -5
  92. package/dist/extractors/kotlin.js.map +1 -1
  93. package/dist/extractors/lua.js +1 -1
  94. package/dist/extractors/lua.js.map +1 -1
  95. package/dist/extractors/objc.js +3 -3
  96. package/dist/extractors/objc.js.map +1 -1
  97. package/dist/extractors/ocaml.js +1 -1
  98. package/dist/extractors/ocaml.js.map +1 -1
  99. package/dist/extractors/php.js +2 -2
  100. package/dist/extractors/php.js.map +1 -1
  101. package/dist/extractors/python.js +7 -7
  102. package/dist/extractors/python.js.map +1 -1
  103. package/dist/extractors/ruby.js +2 -2
  104. package/dist/extractors/ruby.js.map +1 -1
  105. package/dist/extractors/scala.js +1 -1
  106. package/dist/extractors/scala.js.map +1 -1
  107. package/dist/extractors/solidity.js +1 -1
  108. package/dist/extractors/solidity.js.map +1 -1
  109. package/dist/extractors/swift.js +4 -4
  110. package/dist/extractors/swift.js.map +1 -1
  111. package/dist/extractors/zig.js +4 -4
  112. package/dist/extractors/zig.js.map +1 -1
  113. package/dist/features/structure.d.ts.map +1 -1
  114. package/dist/features/structure.js +121 -16
  115. package/dist/features/structure.js.map +1 -1
  116. package/dist/infrastructure/config.d.ts +10 -0
  117. package/dist/infrastructure/config.d.ts.map +1 -1
  118. package/dist/infrastructure/config.js +15 -0
  119. package/dist/infrastructure/config.js.map +1 -1
  120. package/dist/infrastructure/native.d.ts +11 -0
  121. package/dist/infrastructure/native.d.ts.map +1 -1
  122. package/dist/infrastructure/native.js +78 -5
  123. package/dist/infrastructure/native.js.map +1 -1
  124. package/dist/presentation/queries-cli/overview.d.ts.map +1 -1
  125. package/dist/presentation/queries-cli/overview.js +5 -0
  126. package/dist/presentation/queries-cli/overview.js.map +1 -1
  127. package/dist/types.d.ts +184 -0
  128. package/dist/types.d.ts.map +1 -1
  129. package/grammars/tree-sitter-erlang.wasm +0 -0
  130. package/package.json +9 -9
  131. package/src/db/migrations.ts +7 -0
  132. package/src/domain/analysis/module-map.ts +29 -1
  133. package/src/domain/graph/builder/call-resolver.ts +351 -0
  134. package/src/domain/graph/builder/cha.ts +175 -0
  135. package/src/domain/graph/builder/context.ts +3 -0
  136. package/src/domain/graph/builder/helpers.ts +175 -5
  137. package/src/domain/graph/builder/incremental.ts +186 -66
  138. package/src/domain/graph/builder/stages/build-edges.ts +1146 -146
  139. package/src/domain/graph/builder/stages/detect-changes.ts +3 -1
  140. package/src/domain/graph/builder/stages/native-orchestrator.ts +583 -20
  141. package/src/domain/graph/builder/stages/resolve-imports.ts +14 -0
  142. package/src/domain/graph/journal.ts +1 -1
  143. package/src/domain/graph/resolver/points-to.ts +254 -0
  144. package/src/domain/graph/resolver/ts-resolver.ts +536 -0
  145. package/src/domain/graph/watcher.ts +4 -2
  146. package/src/domain/parser.ts +43 -5
  147. package/src/domain/wasm-worker-entry.ts +25 -0
  148. package/src/domain/wasm-worker-pool.ts +21 -0
  149. package/src/domain/wasm-worker-protocol.ts +14 -0
  150. package/src/extractors/c.ts +3 -3
  151. package/src/extractors/clojure.ts +1 -1
  152. package/src/extractors/cpp.ts +3 -3
  153. package/src/extractors/csharp.ts +33 -9
  154. package/src/extractors/cuda.ts +3 -3
  155. package/src/extractors/elixir.ts +6 -6
  156. package/src/extractors/fsharp.ts +1 -1
  157. package/src/extractors/go.ts +5 -5
  158. package/src/extractors/haskell.ts +1 -1
  159. package/src/extractors/java.ts +2 -2
  160. package/src/extractors/javascript.ts +1802 -66
  161. package/src/extractors/kotlin.ts +5 -5
  162. package/src/extractors/lua.ts +1 -1
  163. package/src/extractors/objc.ts +3 -3
  164. package/src/extractors/ocaml.ts +1 -1
  165. package/src/extractors/php.ts +2 -2
  166. package/src/extractors/python.ts +7 -7
  167. package/src/extractors/ruby.ts +2 -2
  168. package/src/extractors/scala.ts +1 -1
  169. package/src/extractors/solidity.ts +1 -1
  170. package/src/extractors/swift.ts +4 -4
  171. package/src/extractors/zig.ts +4 -4
  172. package/src/features/structure.ts +143 -23
  173. package/src/infrastructure/config.ts +15 -0
  174. package/src/infrastructure/native.ts +87 -5
  175. package/src/presentation/queries-cli/overview.ts +15 -1
  176. package/src/types.ts +194 -0
@@ -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 ? 'reexports' : imp.typeOnly ? 'imports-type' : 'imports';
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
- importedNames.set(name.replace(/^\*\s+as\s+/, ''), resolvedPath);
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
- // ── Call edge building ──────────────────────────────────────────────────
260
- function findCaller(call, definitions, relPath, stmts) {
261
- let caller = null;
262
- let callerSpan = Infinity;
263
- for (const def of definitions) {
264
- if (def.line <= call.line) {
265
- const end = def.endLine || Infinity;
266
- if (call.line <= end) {
267
- const span = end - def.line;
268
- if (span < callerSpan) {
269
- const row = stmts.getNodeId.get(def.name, def.kind, relPath, def.line);
270
- if (row) {
271
- caller = row;
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
- return caller;
279
- }
280
- function resolveCallTargets(stmts, call, relPath, importedNames, typeMap) {
281
- const importedFrom = importedNames.get(call.name);
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 { targets: targets ?? [], importedFrom };
300
+ return edgesAdded;
301
+ }
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
+ };
306
311
  }
307
- function buildCallEdges(stmts, relPath, symbols, fileNodeRow, importedNames) {
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,106 @@ function buildCallEdges(stmts, relPath, symbols, fileNodeRow, importedNames) {
314
319
  e.typeName ?? e.type ?? null,
315
320
  ]))
316
321
  : new Map();
322
+ // Phase 8.3f: seed typeMap[callee::restName] = { type: argName } from
323
+ // objectRestParamBindings × paramBindings, mirroring buildObjectRestParamPostPass.
324
+ // Scoped keys prevent same-name rest-param collisions when two functions in
325
+ // the same file both use `...rest` (#1358). The unscoped key is also seeded
326
+ // when only one callee uses a given rest name, preserving resolution when
327
+ // callerName is null (findCaller couldn't identify the enclosing function).
328
+ if (symbols.objectRestParamBindings?.length && symbols.paramBindings?.length) {
329
+ const restNameCallees = new Map();
330
+ for (const orpb of symbols.objectRestParamBindings) {
331
+ if (!restNameCallees.has(orpb.restName))
332
+ restNameCallees.set(orpb.restName, new Set());
333
+ restNameCallees.get(orpb.restName).add(orpb.callee);
334
+ }
335
+ for (const orpb of symbols.objectRestParamBindings) {
336
+ for (const pb of symbols.paramBindings) {
337
+ if (pb.callee === orpb.callee && pb.argIndex === orpb.argIndex) {
338
+ const scopedKey = `${orpb.callee}::${orpb.restName}`;
339
+ if (!typeMap.has(scopedKey)) {
340
+ typeMap.set(scopedKey, { type: pb.argName, confidence: 0.65 });
341
+ if (restNameCallees.get(orpb.restName).size === 1 && !typeMap.has(orpb.restName)) {
342
+ typeMap.set(orpb.restName, { type: pb.argName, confidence: 0.65 });
343
+ }
344
+ }
345
+ }
346
+ }
347
+ }
348
+ }
349
+ const seenCallEdges = new Set();
350
+ const lookup = makeIncrementalLookup(db, stmts);
317
351
  let edgesAdded = 0;
318
352
  for (const call of symbols.calls) {
319
353
  if (call.receiver && BUILTIN_RECEIVERS.has(call.receiver))
320
354
  continue;
321
- const caller = findCaller(call, symbols.definitions, relPath, stmts) || fileNodeRow;
322
- const { targets, importedFrom } = resolveCallTargets(stmts, call, relPath, importedNames, typeMap);
355
+ const caller = findCaller(lookup, call, symbols.definitions, relPath, fileNodeRow);
356
+ const { targets: initialTargets, importedFrom } = resolveCallTargets(lookup, call, relPath, importedNames, typeMap, caller.callerName);
357
+ let targets = initialTargets;
358
+ if (targets.length === 0 && call.receiver === 'this' && caller.callerName != null) {
359
+ const dotIdx = caller.callerName.indexOf('.');
360
+ if (dotIdx > 0) {
361
+ const className = caller.callerName.slice(0, dotIdx);
362
+ const qualifiedName = `${className}.${call.name}`;
363
+ const qualified = lookup
364
+ .byNameAndFile(qualifiedName, relPath)
365
+ .filter((n) => n.kind === 'method');
366
+ if (qualified.length > 0) {
367
+ targets = qualified;
368
+ }
369
+ }
370
+ }
371
+ if (targets.length === 0 &&
372
+ call.receiver === 'this' &&
373
+ caller.callerName != null &&
374
+ symbols.definePropertyReceivers) {
375
+ const receiverVarName = symbols.definePropertyReceivers.get(caller.callerName);
376
+ if (receiverVarName) {
377
+ const typeEntry = typeMap.get(receiverVarName);
378
+ const typeName = typeEntry
379
+ ? typeof typeEntry === 'string'
380
+ ? typeEntry
381
+ : typeEntry.type
382
+ : null;
383
+ if (typeName) {
384
+ const qualifiedName = `${typeName}.${call.name}`;
385
+ const qualified = lookup.byNameAndFile(qualifiedName, relPath);
386
+ if (qualified.length > 0) {
387
+ targets = [...qualified];
388
+ }
389
+ }
390
+ if (targets.length === 0) {
391
+ // Narrow to function/method kinds only to avoid matching unrelated
392
+ // variables or classes that share a name in the same file.
393
+ const sameFile = lookup
394
+ .byNameAndFile(call.name, relPath)
395
+ .filter((n) => n.kind === 'function' || n.kind === 'method');
396
+ if (sameFile.length > 0) {
397
+ targets = [...sameFile];
398
+ }
399
+ }
400
+ }
401
+ }
323
402
  for (const t of targets) {
324
- if (t.id !== caller.id) {
403
+ const edgeKey = `${caller.id}|${t.id}`;
404
+ if (t.id !== caller.id && !seenCallEdges.has(edgeKey)) {
405
+ seenCallEdges.add(edgeKey);
325
406
  const confidence = computeConfidence(relPath, t.file, importedFrom ?? null);
326
407
  stmts.insertEdge.run(caller.id, t.id, 'calls', confidence, call.dynamic ? 1 : 0);
327
408
  edgesAdded++;
328
409
  }
329
410
  }
411
+ if (call.receiver &&
412
+ !BUILTIN_RECEIVERS.has(call.receiver) &&
413
+ call.receiver !== 'this' &&
414
+ call.receiver !== 'self' &&
415
+ call.receiver !== 'super') {
416
+ const recv = resolveReceiverEdge(lookup, { name: call.name, receiver: call.receiver }, caller, relPath, typeMap, seenCallEdges);
417
+ if (recv) {
418
+ stmts.insertEdge.run(recv.callerId, recv.receiverId, 'receiver', recv.confidence, 0);
419
+ edgesAdded++;
420
+ }
421
+ }
330
422
  }
331
423
  return edgesAdded;
332
424
  }
@@ -353,8 +445,9 @@ function rebuildEdgesForTargetFile(db, stmts, relPath, symbols, fileNodeRow, roo
353
445
  let edgesAdded = buildContainmentEdges(db, stmts, relPath, symbols);
354
446
  edgesAdded += rebuildDirContainment(db, stmts, relPath);
355
447
  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);
448
+ const importedNames = buildImportedNamesMap(symbols, rootDir, relPath, aliases, db);
449
+ edgesAdded += buildCallEdges(db, stmts, relPath, symbols, fileNodeRow, importedNames);
450
+ edgesAdded += buildClassHierarchyEdges(stmts, relPath, symbols);
358
451
  return edgesAdded;
359
452
  }
360
453
  /**
@@ -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,3 +1,5 @@
1
1
  import type { PipelineContext } from '../context.js';
2
+ /** Phase 8.5: confidence penalty applied to CHA-dispatch edges. */
3
+ export declare const CHA_DISPATCH_PENALTY = 0.1;
2
4
  export declare function buildEdges(ctx: PipelineContext): Promise<void>;
3
5
  //# sourceMappingURL=build-edges.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-edges.d.ts","sourceRoot":"","sources":["../../../../../src/domain/graph/builder/stages/build-edges.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA62BrD,wBAAsB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAqGpE"}
1
+ {"version":3,"file":"build-edges.d.ts","sourceRoot":"","sources":["../../../../../src/domain/graph/builder/stages/build-edges.ts"],"names":[],"mappings":"AAsCA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AA2CrD,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAouDxC,wBAAsB,UAAU,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA0JpE"}