You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: include constant nodes in edge building and downstream queries (#487)
The edge-building stage excluded 'constant'-kind nodes from the node
lookup maps, so no import/dependency edges were ever created for
exported constants. This made them invisible to where, fn-impact,
query, roles, and all other graph queries. Also adds missing 'record'
kind to build-edges.js to match CORE_SYMBOL_KINDS.
Impact: 6 functions changed, 33 affected
`SELECT * FROM nodes WHERE name LIKE ? AND kind IN ('function','method','class','interface','type','struct','enum','trait','record','module') ORDER BY file, line`,
98
+
`SELECT * FROM nodes WHERE name LIKE ? AND kind IN ('function','method','class','interface','type','struct','enum','trait','record','module','constant') ORDER BY file, line`,
Copy file name to clipboardExpand all lines: src/domain/graph/builder/stages/build-edges.js
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,7 @@ export async function buildEdges(ctx) {
28
28
// Pre-load all nodes into lookup maps
29
29
constallNodes=db
30
30
.prepare(
31
-
`SELECT id, name, kind, file, line FROM nodes WHERE kind IN ('function','method','class','interface','struct','type','module','enum','trait')`,
31
+
`SELECT id, name, kind, file, line FROM nodes WHERE kind IN ('function','method','class','interface','struct','type','module','enum','trait','record','constant')`,
countNodes: db.prepare('SELECT COUNT(*) as c FROM nodes WHERE file = ?'),
58
58
countEdgesForFile: null,
59
59
findNodeInFile: db.prepare(
60
-
"SELECT id, file FROM nodes WHERE name = ? AND kind IN ('function', 'method', 'class', 'interface', 'type', 'struct', 'enum', 'trait', 'record', 'module') AND file = ?",
60
+
"SELECT id, file FROM nodes WHERE name = ? AND kind IN ('function', 'method', 'class', 'interface', 'type', 'struct', 'enum', 'trait', 'record', 'module', 'constant') AND file = ?",
61
61
),
62
62
findNodeByName: db.prepare(
63
-
"SELECT id, file FROM nodes WHERE name = ? AND kind IN ('function', 'method', 'class', 'interface', 'type', 'struct', 'enum', 'trait', 'record', 'module')",
63
+
"SELECT id, file FROM nodes WHERE name = ? AND kind IN ('function', 'method', 'class', 'interface', 'type', 'struct', 'enum', 'trait', 'record', 'module', 'constant')",
64
64
),
65
65
listSymbols: db.prepare("SELECT name, kind, line FROM nodes WHERE file = ? AND kind != 'file'"),
0 commit comments