@lzehrung/codegraph 2.3.31 → 3.0.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 (596) hide show
  1. package/README.md +33 -141
  2. package/codegraph-skill/codegraph/SKILL.md +8 -6
  3. package/dist/agent/artifact.d.ts +2 -0
  4. package/dist/agent/artifact.d.ts.map +1 -1
  5. package/dist/agent/artifact.js.map +1 -1
  6. package/dist/agent/call-hierarchy.js +2 -4
  7. package/dist/agent/call-hierarchy.js.map +1 -1
  8. package/dist/agent/explore.d.ts +1 -1
  9. package/dist/agent/explore.d.ts.map +1 -1
  10. package/dist/agent/explore.js +3 -2
  11. package/dist/agent/explore.js.map +1 -1
  12. package/dist/agent/refactor-plan.js +2 -4
  13. package/dist/agent/refactor-plan.js.map +1 -1
  14. package/dist/agent/rename-preview.d.ts.map +1 -1
  15. package/dist/agent/rename-preview.js +4 -3
  16. package/dist/agent/rename-preview.js.map +1 -1
  17. package/dist/agent/search.d.ts.map +1 -1
  18. package/dist/agent/search.js +5 -3
  19. package/dist/agent/search.js.map +1 -1
  20. package/dist/agent/semantic-symbols.d.ts.map +1 -1
  21. package/dist/agent/semantic-symbols.js +2 -3
  22. package/dist/agent/semantic-symbols.js.map +1 -1
  23. package/dist/agent/session.d.ts +3 -0
  24. package/dist/agent/session.d.ts.map +1 -1
  25. package/dist/agent/session.js +10 -2
  26. package/dist/agent/session.js.map +1 -1
  27. package/dist/agent/type-hierarchy.js +2 -4
  28. package/dist/agent/type-hierarchy.js.map +1 -1
  29. package/dist/agent/workspace-symbols.d.ts.map +1 -1
  30. package/dist/agent/workspace-symbols.js +2 -3
  31. package/dist/agent/workspace-symbols.js.map +1 -1
  32. package/dist/agent-tools.d.ts +0 -4
  33. package/dist/agent-tools.d.ts.map +1 -1
  34. package/dist/agent-tools.js +3 -6
  35. package/dist/agent-tools.js.map +1 -1
  36. package/dist/analysis-summary.d.ts +8 -4
  37. package/dist/analysis-summary.d.ts.map +1 -1
  38. package/dist/analysis-summary.js +15 -66
  39. package/dist/analysis-summary.js.map +1 -1
  40. package/dist/bin/cli.js +51145 -41770
  41. package/dist/bin/query-index-worker.js +122 -82
  42. package/dist/cli/affected.d.ts.map +1 -1
  43. package/dist/cli/affected.js +4 -1
  44. package/dist/cli/affected.js.map +1 -1
  45. package/dist/cli/command-catalog.js +1 -1
  46. package/dist/cli/command-catalog.js.map +1 -1
  47. package/dist/cli/command-table.d.ts.map +1 -1
  48. package/dist/cli/command-table.js +9 -17
  49. package/dist/cli/command-table.js.map +1 -1
  50. package/dist/cli/context.js +10 -10
  51. package/dist/cli/context.js.map +1 -1
  52. package/dist/cli/drift.d.ts +0 -2
  53. package/dist/cli/drift.d.ts.map +1 -1
  54. package/dist/cli/drift.js +0 -1
  55. package/dist/cli/drift.js.map +1 -1
  56. package/dist/cli/graph-delta.d.ts +0 -2
  57. package/dist/cli/graph-delta.d.ts.map +1 -1
  58. package/dist/cli/graph-delta.js +0 -4
  59. package/dist/cli/graph-delta.js.map +1 -1
  60. package/dist/cli/graph-queries.d.ts.map +1 -1
  61. package/dist/cli/graph-queries.js +27 -1
  62. package/dist/cli/graph-queries.js.map +1 -1
  63. package/dist/cli/graph.d.ts +0 -3
  64. package/dist/cli/graph.d.ts.map +1 -1
  65. package/dist/cli/graph.js +4 -14
  66. package/dist/cli/graph.js.map +1 -1
  67. package/dist/cli/help.d.ts +34 -34
  68. package/dist/cli/help.d.ts.map +1 -1
  69. package/dist/cli/help.js +9 -14
  70. package/dist/cli/help.js.map +1 -1
  71. package/dist/cli/impact.d.ts +0 -2
  72. package/dist/cli/impact.d.ts.map +1 -1
  73. package/dist/cli/impact.js +0 -1
  74. package/dist/cli/impact.js.map +1 -1
  75. package/dist/cli/index.d.ts +0 -2
  76. package/dist/cli/index.d.ts.map +1 -1
  77. package/dist/cli/index.js +5 -6
  78. package/dist/cli/index.js.map +1 -1
  79. package/dist/cli/inspect.d.ts +0 -2
  80. package/dist/cli/inspect.d.ts.map +1 -1
  81. package/dist/cli/inspect.js +5 -8
  82. package/dist/cli/inspect.js.map +1 -1
  83. package/dist/cli/invocation-context.d.ts +0 -3
  84. package/dist/cli/invocation-context.d.ts.map +1 -1
  85. package/dist/cli/invocation-context.js +4 -16
  86. package/dist/cli/invocation-context.js.map +1 -1
  87. package/dist/cli/navigation.d.ts +0 -2
  88. package/dist/cli/navigation.d.ts.map +1 -1
  89. package/dist/cli/navigation.js +0 -1
  90. package/dist/cli/navigation.js.map +1 -1
  91. package/dist/cli/options.d.ts.map +1 -1
  92. package/dist/cli/options.js +4 -14
  93. package/dist/cli/options.js.map +1 -1
  94. package/dist/cli/review.d.ts +0 -2
  95. package/dist/cli/review.d.ts.map +1 -1
  96. package/dist/cli/review.js +0 -5
  97. package/dist/cli/review.js.map +1 -1
  98. package/dist/cli/root-policy.d.ts +0 -2
  99. package/dist/cli/root-policy.d.ts.map +1 -1
  100. package/dist/cli/root-policy.js +0 -8
  101. package/dist/cli/root-policy.js.map +1 -1
  102. package/dist/cli/server.d.ts.map +1 -1
  103. package/dist/cli/server.js +0 -2
  104. package/dist/cli/server.js.map +1 -1
  105. package/dist/drift/artifact.d.ts.map +1 -1
  106. package/dist/drift/artifact.js +15 -18
  107. package/dist/drift/artifact.js.map +1 -1
  108. package/dist/drift/compare.js +1 -1
  109. package/dist/drift/compare.js.map +1 -1
  110. package/dist/drift/git.d.ts.map +1 -1
  111. package/dist/drift/git.js +0 -1
  112. package/dist/drift/git.js.map +1 -1
  113. package/dist/drift/snapshot.d.ts.map +1 -1
  114. package/dist/drift/snapshot.js +5 -7
  115. package/dist/drift/snapshot.js.map +1 -1
  116. package/dist/drift/types.d.ts +2 -2
  117. package/dist/drift/types.d.ts.map +1 -1
  118. package/dist/drift/types.js.map +1 -1
  119. package/dist/duplicates/unit-cache.d.ts +0 -1
  120. package/dist/duplicates/unit-cache.d.ts.map +1 -1
  121. package/dist/duplicates/unit-cache.js +3 -11
  122. package/dist/duplicates/unit-cache.js.map +1 -1
  123. package/dist/duplicates/units.d.ts +5 -5
  124. package/dist/duplicates/units.d.ts.map +1 -1
  125. package/dist/duplicates/units.js +25 -88
  126. package/dist/duplicates/units.js.map +1 -1
  127. package/dist/graph-builder.d.ts +0 -6
  128. package/dist/graph-builder.d.ts.map +1 -1
  129. package/dist/graph-builder.js +6 -11
  130. package/dist/graph-builder.js.map +1 -1
  131. package/dist/graph-edge-collector.d.ts +4 -6
  132. package/dist/graph-edge-collector.d.ts.map +1 -1
  133. package/dist/graph-edge-collector.js +31 -26
  134. package/dist/graph-edge-collector.js.map +1 -1
  135. package/dist/graphs/angularjs.d.ts.map +1 -1
  136. package/dist/graphs/angularjs.js +2 -1
  137. package/dist/graphs/angularjs.js.map +1 -1
  138. package/dist/graphs/edge-resolution.d.ts +4 -1
  139. package/dist/graphs/edge-resolution.d.ts.map +1 -1
  140. package/dist/graphs/edge-resolution.js +24 -76
  141. package/dist/graphs/edge-resolution.js.map +1 -1
  142. package/dist/graphs/specifiers.d.ts +4 -13
  143. package/dist/graphs/specifiers.d.ts.map +1 -1
  144. package/dist/graphs/specifiers.js +80 -173
  145. package/dist/graphs/specifiers.js.map +1 -1
  146. package/dist/graphs/symbol-graph-detailed/ast.d.ts +20 -0
  147. package/dist/graphs/symbol-graph-detailed/ast.d.ts.map +1 -1
  148. package/dist/graphs/symbol-graph-detailed/ast.js +154 -15
  149. package/dist/graphs/symbol-graph-detailed/ast.js.map +1 -1
  150. package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts +60 -8
  151. package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts.map +1 -1
  152. package/dist/graphs/symbol-graph-detailed/edge-passes.js +997 -168
  153. package/dist/graphs/symbol-graph-detailed/edge-passes.js.map +1 -1
  154. package/dist/graphs/symbol-graph-detailed/import-aliases.d.ts +2 -1
  155. package/dist/graphs/symbol-graph-detailed/import-aliases.d.ts.map +1 -1
  156. package/dist/graphs/symbol-graph-detailed/import-aliases.js +150 -7
  157. package/dist/graphs/symbol-graph-detailed/import-aliases.js.map +1 -1
  158. package/dist/graphs/symbol-graph-detailed/member-chains.d.ts +1 -0
  159. package/dist/graphs/symbol-graph-detailed/member-chains.d.ts.map +1 -1
  160. package/dist/graphs/symbol-graph-detailed/member-chains.js +3 -1
  161. package/dist/graphs/symbol-graph-detailed/member-chains.js.map +1 -1
  162. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts +141 -25
  163. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts.map +1 -1
  164. package/dist/graphs/symbol-graph-detailed/receiver-calls.js +1015 -166
  165. package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
  166. package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
  167. package/dist/graphs/symbol-graph-detailed.js +449 -46
  168. package/dist/graphs/symbol-graph-detailed.js.map +1 -1
  169. package/dist/graphs/symbol-graph.d.ts +2 -0
  170. package/dist/graphs/symbol-graph.d.ts.map +1 -1
  171. package/dist/graphs/symbol-graph.js +34 -16
  172. package/dist/graphs/symbol-graph.js.map +1 -1
  173. package/dist/graphs/types.d.ts +0 -4
  174. package/dist/graphs/types.d.ts.map +1 -1
  175. package/dist/graphs.d.ts +1 -1
  176. package/dist/graphs.d.ts.map +1 -1
  177. package/dist/impact/call-compatibility/providers/index.d.ts +4 -4
  178. package/dist/impact/call-compatibility/providers/index.d.ts.map +1 -1
  179. package/dist/impact/call-compatibility/providers/index.js +6 -6
  180. package/dist/impact/call-compatibility/providers/index.js.map +1 -1
  181. package/dist/impact/call-compatibility/providers/types.d.ts +2 -0
  182. package/dist/impact/call-compatibility/providers/types.d.ts.map +1 -1
  183. package/dist/impact/call-compatibility/types.d.ts +6 -0
  184. package/dist/impact/call-compatibility/types.d.ts.map +1 -1
  185. package/dist/impact/call-compatibility.d.ts.map +1 -1
  186. package/dist/impact/call-compatibility.js +316 -526
  187. package/dist/impact/call-compatibility.js.map +1 -1
  188. package/dist/impact/map.js +1 -0
  189. package/dist/impact/map.js.map +1 -1
  190. package/dist/impact/reference-cache.d.ts.map +1 -1
  191. package/dist/impact/reference-cache.js +2 -2
  192. package/dist/impact/reference-cache.js.map +1 -1
  193. package/dist/index.d.ts +2 -2
  194. package/dist/index.d.ts.map +1 -1
  195. package/dist/index.js +1 -1
  196. package/dist/index.js.map +1 -1
  197. package/dist/indexer/ambiguous-resolution.d.ts +11 -0
  198. package/dist/indexer/ambiguous-resolution.d.ts.map +1 -0
  199. package/dist/indexer/ambiguous-resolution.js +19 -0
  200. package/dist/indexer/ambiguous-resolution.js.map +1 -0
  201. package/dist/indexer/build-cache/module-cache.d.ts +39 -1
  202. package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
  203. package/dist/indexer/build-cache/module-cache.js +218 -21
  204. package/dist/indexer/build-cache/module-cache.js.map +1 -1
  205. package/dist/indexer/build-cache/options.d.ts +30 -44
  206. package/dist/indexer/build-cache/options.d.ts.map +1 -1
  207. package/dist/indexer/build-cache/options.js +32 -71
  208. package/dist/indexer/build-cache/options.js.map +1 -1
  209. package/dist/indexer/build-cache/project-snapshot.d.ts +3 -3
  210. package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
  211. package/dist/indexer/build-cache/project-snapshot.js +164 -84
  212. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  213. package/dist/indexer/build-cache/reports.d.ts +0 -2
  214. package/dist/indexer/build-cache/reports.d.ts.map +1 -1
  215. package/dist/indexer/build-cache/reports.js +0 -97
  216. package/dist/indexer/build-cache/reports.js.map +1 -1
  217. package/dist/indexer/build-cache/resolver-environment.d.ts.map +1 -1
  218. package/dist/indexer/build-cache/resolver-environment.js +32 -2
  219. package/dist/indexer/build-cache/resolver-environment.js.map +1 -1
  220. package/dist/indexer/build-cache.d.ts +2 -2
  221. package/dist/indexer/build-cache.d.ts.map +1 -1
  222. package/dist/indexer/build-cache.js +2 -2
  223. package/dist/indexer/build-cache.js.map +1 -1
  224. package/dist/indexer/build-index.d.ts.map +1 -1
  225. package/dist/indexer/build-index.js +656 -71
  226. package/dist/indexer/build-index.js.map +1 -1
  227. package/dist/indexer/build-workers.d.ts.map +1 -1
  228. package/dist/indexer/build-workers.js +9 -9
  229. package/dist/indexer/build-workers.js.map +1 -1
  230. package/dist/indexer/call-hierarchy.js +1 -1
  231. package/dist/indexer/call-hierarchy.js.map +1 -1
  232. package/dist/indexer/callable-identity.d.ts +24 -0
  233. package/dist/indexer/callable-identity.d.ts.map +1 -0
  234. package/dist/indexer/callable-identity.js +111 -0
  235. package/dist/indexer/callable-identity.js.map +1 -0
  236. package/dist/indexer/compilation-units.d.ts +103 -0
  237. package/dist/indexer/compilation-units.d.ts.map +1 -0
  238. package/dist/indexer/compilation-units.js +607 -0
  239. package/dist/indexer/compilation-units.js.map +1 -0
  240. package/dist/indexer/cpp-callables.d.ts +25 -0
  241. package/dist/indexer/cpp-callables.d.ts.map +1 -0
  242. package/dist/indexer/cpp-callables.js +562 -0
  243. package/dist/indexer/cpp-callables.js.map +1 -0
  244. package/dist/indexer/declaration-visibility.d.ts +43 -2
  245. package/dist/indexer/declaration-visibility.d.ts.map +1 -1
  246. package/dist/indexer/declaration-visibility.js +158 -2
  247. package/dist/indexer/declaration-visibility.js.map +1 -1
  248. package/dist/indexer/expand-star-imports.d.ts +6 -1
  249. package/dist/indexer/expand-star-imports.d.ts.map +1 -1
  250. package/dist/indexer/expand-star-imports.js +131 -37
  251. package/dist/indexer/expand-star-imports.js.map +1 -1
  252. package/dist/indexer/finalize.d.ts.map +1 -1
  253. package/dist/indexer/finalize.js +0 -1
  254. package/dist/indexer/finalize.js.map +1 -1
  255. package/dist/indexer/import-resolution-tables.d.ts +72 -0
  256. package/dist/indexer/import-resolution-tables.d.ts.map +1 -0
  257. package/dist/indexer/import-resolution-tables.js +137 -0
  258. package/dist/indexer/import-resolution-tables.js.map +1 -0
  259. package/dist/indexer/import-types.d.ts +54 -0
  260. package/dist/indexer/import-types.d.ts.map +1 -1
  261. package/dist/indexer/import-types.js +24 -1
  262. package/dist/indexer/import-types.js.map +1 -1
  263. package/dist/indexer/imports/context.d.ts +16 -1
  264. package/dist/indexer/imports/context.d.ts.map +1 -1
  265. package/dist/indexer/imports/import-binding-tables.d.ts +13 -1
  266. package/dist/indexer/imports/import-binding-tables.d.ts.map +1 -1
  267. package/dist/indexer/imports/import-binding-tables.js +149 -30
  268. package/dist/indexer/imports/import-binding-tables.js.map +1 -1
  269. package/dist/indexer/imports/js-text-imports.js +4 -4
  270. package/dist/indexer/imports/js-text-imports.js.map +1 -1
  271. package/dist/indexer/imports/native-captures.d.ts.map +1 -1
  272. package/dist/indexer/imports/native-captures.js +24 -6
  273. package/dist/indexer/imports/native-captures.js.map +1 -1
  274. package/dist/indexer/imports/python.d.ts +10 -2
  275. package/dist/indexer/imports/python.d.ts.map +1 -1
  276. package/dist/indexer/imports/python.js +128 -112
  277. package/dist/indexer/imports/python.js.map +1 -1
  278. package/dist/indexer/imports/text-import-extractors.d.ts.map +1 -1
  279. package/dist/indexer/imports/text-import-extractors.js +68 -19
  280. package/dist/indexer/imports/text-import-extractors.js.map +1 -1
  281. package/dist/indexer/imports.d.ts +3 -4
  282. package/dist/indexer/imports.d.ts.map +1 -1
  283. package/dist/indexer/imports.js +116 -72
  284. package/dist/indexer/imports.js.map +1 -1
  285. package/dist/indexer/incremental-plan.d.ts +33 -0
  286. package/dist/indexer/incremental-plan.d.ts.map +1 -1
  287. package/dist/indexer/incremental-plan.js +203 -1
  288. package/dist/indexer/incremental-plan.js.map +1 -1
  289. package/dist/indexer/locals-and-exports.d.ts +3 -2
  290. package/dist/indexer/locals-and-exports.d.ts.map +1 -1
  291. package/dist/indexer/locals-and-exports.js +659 -78
  292. package/dist/indexer/locals-and-exports.js.map +1 -1
  293. package/dist/indexer/member-selection.d.ts +46 -0
  294. package/dist/indexer/member-selection.d.ts.map +1 -0
  295. package/dist/indexer/member-selection.js +169 -0
  296. package/dist/indexer/member-selection.js.map +1 -0
  297. package/dist/indexer/name-lookup-policies/c-family.d.ts +7 -0
  298. package/dist/indexer/name-lookup-policies/c-family.d.ts.map +1 -0
  299. package/dist/indexer/name-lookup-policies/c-family.js +137 -0
  300. package/dist/indexer/name-lookup-policies/c-family.js.map +1 -0
  301. package/dist/indexer/name-lookup-policies/csharp-using-static.d.ts +11 -0
  302. package/dist/indexer/name-lookup-policies/csharp-using-static.d.ts.map +1 -0
  303. package/dist/indexer/name-lookup-policies/csharp-using-static.js +136 -0
  304. package/dist/indexer/name-lookup-policies/csharp-using-static.js.map +1 -0
  305. package/dist/indexer/name-lookup-policies/implicit-self.d.ts +10 -0
  306. package/dist/indexer/name-lookup-policies/implicit-self.d.ts.map +1 -0
  307. package/dist/indexer/name-lookup-policies/implicit-self.js +119 -0
  308. package/dist/indexer/name-lookup-policies/implicit-self.js.map +1 -0
  309. package/dist/indexer/name-lookup-policies/index.d.ts +3 -0
  310. package/dist/indexer/name-lookup-policies/index.d.ts.map +1 -0
  311. package/dist/indexer/name-lookup-policies/index.js +132 -0
  312. package/dist/indexer/name-lookup-policies/index.js.map +1 -0
  313. package/dist/indexer/name-lookup-policies/php.d.ts +3 -0
  314. package/dist/indexer/name-lookup-policies/php.d.ts.map +1 -0
  315. package/dist/indexer/name-lookup-policies/php.js +82 -0
  316. package/dist/indexer/name-lookup-policies/php.js.map +1 -0
  317. package/dist/indexer/name-resolution-types.d.ts +101 -0
  318. package/dist/indexer/name-resolution-types.d.ts.map +1 -0
  319. package/dist/indexer/name-resolution-types.js +2 -0
  320. package/dist/indexer/name-resolution-types.js.map +1 -0
  321. package/dist/indexer/name-resolution.d.ts +57 -0
  322. package/dist/indexer/name-resolution.d.ts.map +1 -0
  323. package/dist/indexer/name-resolution.js +204 -0
  324. package/dist/indexer/name-resolution.js.map +1 -0
  325. package/dist/indexer/navigation-cpp.d.ts +58 -0
  326. package/dist/indexer/navigation-cpp.d.ts.map +1 -0
  327. package/dist/indexer/navigation-cpp.js +935 -0
  328. package/dist/indexer/navigation-cpp.js.map +1 -0
  329. package/dist/indexer/navigation-goto.d.ts +115 -3
  330. package/dist/indexer/navigation-goto.d.ts.map +1 -1
  331. package/dist/indexer/navigation-goto.js +2469 -190
  332. package/dist/indexer/navigation-goto.js.map +1 -1
  333. package/dist/indexer/navigation-local.d.ts +21 -2
  334. package/dist/indexer/navigation-local.d.ts.map +1 -1
  335. package/dist/indexer/navigation-local.js +520 -63
  336. package/dist/indexer/navigation-local.js.map +1 -1
  337. package/dist/indexer/navigation-php.d.ts +66 -0
  338. package/dist/indexer/navigation-php.d.ts.map +1 -1
  339. package/dist/indexer/navigation-php.js +287 -4
  340. package/dist/indexer/navigation-php.js.map +1 -1
  341. package/dist/indexer/navigation-provenance.d.ts +1 -1
  342. package/dist/indexer/navigation-provenance.d.ts.map +1 -1
  343. package/dist/indexer/navigation-provenance.js +4 -13
  344. package/dist/indexer/navigation-provenance.js.map +1 -1
  345. package/dist/indexer/navigation-references.d.ts +73 -6
  346. package/dist/indexer/navigation-references.d.ts.map +1 -1
  347. package/dist/indexer/navigation-references.js +661 -67
  348. package/dist/indexer/navigation-references.js.map +1 -1
  349. package/dist/indexer/navigation-resolve.d.ts +46 -2
  350. package/dist/indexer/navigation-resolve.d.ts.map +1 -1
  351. package/dist/indexer/navigation-resolve.js +599 -193
  352. package/dist/indexer/navigation-resolve.js.map +1 -1
  353. package/dist/indexer/navigation.d.ts +29 -2
  354. package/dist/indexer/navigation.d.ts.map +1 -1
  355. package/dist/indexer/navigation.js +1092 -153
  356. package/dist/indexer/navigation.js.map +1 -1
  357. package/dist/indexer/parse-context.d.ts +2 -3
  358. package/dist/indexer/parse-context.d.ts.map +1 -1
  359. package/dist/indexer/parse-context.js +8 -21
  360. package/dist/indexer/parse-context.js.map +1 -1
  361. package/dist/indexer/php-namespace-symbols.d.ts +66 -0
  362. package/dist/indexer/php-namespace-symbols.d.ts.map +1 -0
  363. package/dist/indexer/php-namespace-symbols.js +342 -0
  364. package/dist/indexer/php-namespace-symbols.js.map +1 -0
  365. package/dist/indexer/reference-candidates.d.ts.map +1 -1
  366. package/dist/indexer/reference-candidates.js +13 -7
  367. package/dist/indexer/reference-candidates.js.map +1 -1
  368. package/dist/indexer/reference-context.d.ts +2 -0
  369. package/dist/indexer/reference-context.d.ts.map +1 -1
  370. package/dist/indexer/reference-context.js +4 -0
  371. package/dist/indexer/reference-context.js.map +1 -1
  372. package/dist/indexer/scope-nodes.d.ts +92 -13
  373. package/dist/indexer/scope-nodes.d.ts.map +1 -1
  374. package/dist/indexer/scope-nodes.js +212 -20
  375. package/dist/indexer/scope-nodes.js.map +1 -1
  376. package/dist/indexer/scope-types.d.ts +29 -1
  377. package/dist/indexer/scope-types.d.ts.map +1 -1
  378. package/dist/indexer/scope.d.ts +2 -3
  379. package/dist/indexer/scope.d.ts.map +1 -1
  380. package/dist/indexer/scope.js +968 -47
  381. package/dist/indexer/scope.js.map +1 -1
  382. package/dist/indexer/shared-owner-identity.d.ts +53 -0
  383. package/dist/indexer/shared-owner-identity.d.ts.map +1 -0
  384. package/dist/indexer/shared-owner-identity.js +460 -0
  385. package/dist/indexer/shared-owner-identity.js.map +1 -0
  386. package/dist/indexer/shared.d.ts +1 -1
  387. package/dist/indexer/shared.d.ts.map +1 -1
  388. package/dist/indexer/shared.js +1 -1
  389. package/dist/indexer/shared.js.map +1 -1
  390. package/dist/indexer/star-import-precedence.d.ts +113 -0
  391. package/dist/indexer/star-import-precedence.d.ts.map +1 -0
  392. package/dist/indexer/star-import-precedence.js +402 -0
  393. package/dist/indexer/star-import-precedence.js.map +1 -0
  394. package/dist/indexer/symbols.d.ts +3 -1
  395. package/dist/indexer/symbols.d.ts.map +1 -1
  396. package/dist/indexer/symbols.js +58 -18
  397. package/dist/indexer/symbols.js.map +1 -1
  398. package/dist/indexer/ts-callables.d.ts +42 -0
  399. package/dist/indexer/ts-callables.d.ts.map +1 -0
  400. package/dist/indexer/ts-callables.js +233 -0
  401. package/dist/indexer/ts-callables.js.map +1 -0
  402. package/dist/indexer/types.d.ts +41 -26
  403. package/dist/indexer/types.d.ts.map +1 -1
  404. package/dist/indexer/unused-exports.d.ts +13 -0
  405. package/dist/indexer/unused-exports.d.ts.map +1 -0
  406. package/dist/indexer/unused-exports.js +159 -0
  407. package/dist/indexer/unused-exports.js.map +1 -0
  408. package/dist/indexer/workspace-symbols.d.ts.map +1 -1
  409. package/dist/indexer/workspace-symbols.js +3 -2
  410. package/dist/indexer/workspace-symbols.js.map +1 -1
  411. package/dist/indexer.d.ts +3 -8
  412. package/dist/indexer.d.ts.map +1 -1
  413. package/dist/indexer.js +1 -1
  414. package/dist/indexer.js.map +1 -1
  415. package/dist/languages/callable-arity.d.ts +223 -0
  416. package/dist/languages/callable-arity.d.ts.map +1 -0
  417. package/dist/languages/callable-arity.js +1199 -0
  418. package/dist/languages/callable-arity.js.map +1 -0
  419. package/dist/languages/definitions/c-family.d.ts.map +1 -1
  420. package/dist/languages/definitions/c-family.js +30 -1
  421. package/dist/languages/definitions/c-family.js.map +1 -1
  422. package/dist/languages/definitions/c.d.ts +4 -0
  423. package/dist/languages/definitions/c.d.ts.map +1 -1
  424. package/dist/languages/definitions/c.js +19 -0
  425. package/dist/languages/definitions/c.js.map +1 -1
  426. package/dist/languages/definitions/cpp.d.ts.map +1 -1
  427. package/dist/languages/definitions/cpp.js +12 -0
  428. package/dist/languages/definitions/cpp.js.map +1 -1
  429. package/dist/languages/definitions/csharp.d.ts.map +1 -1
  430. package/dist/languages/definitions/csharp.js +2 -8
  431. package/dist/languages/definitions/csharp.js.map +1 -1
  432. package/dist/languages/definitions/go.d.ts.map +1 -1
  433. package/dist/languages/definitions/go.js +3 -0
  434. package/dist/languages/definitions/go.js.map +1 -1
  435. package/dist/languages/definitions/javascript.d.ts.map +1 -1
  436. package/dist/languages/definitions/javascript.js +10 -1
  437. package/dist/languages/definitions/javascript.js.map +1 -1
  438. package/dist/languages/definitions/js-family.d.ts +1 -1
  439. package/dist/languages/definitions/js-family.d.ts.map +1 -1
  440. package/dist/languages/definitions/js-family.js +7 -1
  441. package/dist/languages/definitions/js-family.js.map +1 -1
  442. package/dist/languages/definitions/php.d.ts.map +1 -1
  443. package/dist/languages/definitions/php.js +5 -1
  444. package/dist/languages/definitions/php.js.map +1 -1
  445. package/dist/languages/definitions/typescript.d.ts.map +1 -1
  446. package/dist/languages/definitions/typescript.js +8 -1
  447. package/dist/languages/definitions/typescript.js.map +1 -1
  448. package/dist/languages/definitions/zig.d.ts.map +1 -1
  449. package/dist/languages/definitions/zig.js +8 -0
  450. package/dist/languages/definitions/zig.js.map +1 -1
  451. package/dist/lifecycle/manifest.d.ts.map +1 -1
  452. package/dist/lifecycle/manifest.js +0 -1
  453. package/dist/lifecycle/manifest.js.map +1 -1
  454. package/dist/mcp/handlers.js +14 -7
  455. package/dist/mcp/handlers.js.map +1 -1
  456. package/dist/native/byte-index.d.ts +6 -0
  457. package/dist/native/byte-index.d.ts.map +1 -1
  458. package/dist/native/byte-index.js +11 -6
  459. package/dist/native/byte-index.js.map +1 -1
  460. package/dist/native/contracts.d.ts +2 -3
  461. package/dist/native/contracts.d.ts.map +1 -1
  462. package/dist/native/execution.d.ts +9 -9
  463. package/dist/native/execution.d.ts.map +1 -1
  464. package/dist/native/execution.js +37 -77
  465. package/dist/native/execution.js.map +1 -1
  466. package/dist/native/js-bridge.d.ts +2 -15
  467. package/dist/native/js-bridge.d.ts.map +1 -1
  468. package/dist/native/js-bridge.js +2 -15
  469. package/dist/native/js-bridge.js.map +1 -1
  470. package/dist/native/query-results.js +2 -2
  471. package/dist/native/query-results.js.map +1 -1
  472. package/dist/native/runtime.d.ts +12 -12
  473. package/dist/native/runtime.d.ts.map +1 -1
  474. package/dist/native/runtime.js +24 -69
  475. package/dist/native/runtime.js.map +1 -1
  476. package/dist/native/tree-sitter-native.d.ts +3 -3
  477. package/dist/native/tree-sitter-native.d.ts.map +1 -1
  478. package/dist/native/tree-sitter-native.js +2 -2
  479. package/dist/native/tree-sitter-native.js.map +1 -1
  480. package/dist/presets.d.ts.map +1 -1
  481. package/dist/presets.js +0 -4
  482. package/dist/presets.js.map +1 -1
  483. package/dist/review/candidates.d.ts.map +1 -1
  484. package/dist/review/candidates.js +1 -1
  485. package/dist/review/candidates.js.map +1 -1
  486. package/dist/review/deleted.d.ts +3 -3
  487. package/dist/review/deleted.d.ts.map +1 -1
  488. package/dist/review/deleted.js +82 -32
  489. package/dist/review/deleted.js.map +1 -1
  490. package/dist/review/report.d.ts +1 -0
  491. package/dist/review/report.d.ts.map +1 -1
  492. package/dist/review/report.js +1 -1
  493. package/dist/review/report.js.map +1 -1
  494. package/dist/review.d.ts.map +1 -1
  495. package/dist/review.js +3 -20
  496. package/dist/review.js.map +1 -1
  497. package/dist/session.d.ts.map +1 -1
  498. package/dist/session.js +0 -5
  499. package/dist/session.js.map +1 -1
  500. package/dist/sql/navigation.d.ts.map +1 -1
  501. package/dist/sql/navigation.js +2 -1
  502. package/dist/sql/navigation.js.map +1 -1
  503. package/dist/sql/source-graph.d.ts.map +1 -1
  504. package/dist/sql/source-graph.js +2 -2
  505. package/dist/sql/source-graph.js.map +1 -1
  506. package/dist/sqlite/schema.d.ts +1 -1
  507. package/dist/sqlite/schema.d.ts.map +1 -1
  508. package/dist/sqlite/schema.js +8 -2
  509. package/dist/sqlite/schema.js.map +1 -1
  510. package/dist/sqlite/write.js +2 -2
  511. package/dist/sqlite/write.js.map +1 -1
  512. package/dist/types.d.ts +2 -0
  513. package/dist/types.d.ts.map +1 -1
  514. package/dist/util/bloom-filter.d.ts +8 -1
  515. package/dist/util/bloom-filter.d.ts.map +1 -1
  516. package/dist/util/bloom-filter.js +15 -2
  517. package/dist/util/bloom-filter.js.map +1 -1
  518. package/dist/util/glob.d.ts +32 -0
  519. package/dist/util/glob.d.ts.map +1 -0
  520. package/dist/util/glob.js +137 -0
  521. package/dist/util/glob.js.map +1 -0
  522. package/dist/util/graph-edges.d.ts +19 -1
  523. package/dist/util/graph-edges.d.ts.map +1 -1
  524. package/dist/util/graph-edges.js +30 -4
  525. package/dist/util/graph-edges.js.map +1 -1
  526. package/dist/util/identifiers.d.ts +15 -0
  527. package/dist/util/identifiers.d.ts.map +1 -1
  528. package/dist/util/identifiers.js +35 -0
  529. package/dist/util/identifiers.js.map +1 -1
  530. package/dist/util/member-access-tables.d.ts +61 -4
  531. package/dist/util/member-access-tables.d.ts.map +1 -1
  532. package/dist/util/member-access-tables.js +139 -19
  533. package/dist/util/member-access-tables.js.map +1 -1
  534. package/dist/util/member-access.d.ts +17 -0
  535. package/dist/util/member-access.d.ts.map +1 -1
  536. package/dist/util/member-access.js +98 -3
  537. package/dist/util/member-access.js.map +1 -1
  538. package/dist/util/project-files.d.ts +2 -10
  539. package/dist/util/project-files.d.ts.map +1 -1
  540. package/dist/util/project-files.js +29 -51
  541. package/dist/util/project-files.js.map +1 -1
  542. package/dist/util/python-type-checking.d.ts +18 -0
  543. package/dist/util/python-type-checking.d.ts.map +1 -0
  544. package/dist/util/python-type-checking.js +160 -0
  545. package/dist/util/python-type-checking.js.map +1 -0
  546. package/dist/util/resolution/cargo-targets.d.ts +11 -0
  547. package/dist/util/resolution/cargo-targets.d.ts.map +1 -1
  548. package/dist/util/resolution/cargo-targets.js +174 -13
  549. package/dist/util/resolution/cargo-targets.js.map +1 -1
  550. package/dist/util/resolution/csharp.d.ts +33 -1
  551. package/dist/util/resolution/csharp.d.ts.map +1 -1
  552. package/dist/util/resolution/csharp.js +145 -30
  553. package/dist/util/resolution/csharp.js.map +1 -1
  554. package/dist/util/resolution/jvm.d.ts +7 -3
  555. package/dist/util/resolution/jvm.d.ts.map +1 -1
  556. package/dist/util/resolution/jvm.js +56 -38
  557. package/dist/util/resolution/jvm.js.map +1 -1
  558. package/dist/util/resolution/php.d.ts.map +1 -1
  559. package/dist/util/resolution/php.js +35 -8
  560. package/dist/util/resolution/php.js.map +1 -1
  561. package/dist/util/resolution/python.d.ts +9 -0
  562. package/dist/util/resolution/python.d.ts.map +1 -1
  563. package/dist/util/resolution/python.js +46 -0
  564. package/dist/util/resolution/python.js.map +1 -1
  565. package/dist/util/resolution/rust.d.ts +0 -1
  566. package/dist/util/resolution/rust.d.ts.map +1 -1
  567. package/dist/util/resolution/rust.js +95 -35
  568. package/dist/util/resolution/rust.js.map +1 -1
  569. package/dist/util/resolution/specifier-targets.d.ts +44 -0
  570. package/dist/util/resolution/specifier-targets.d.ts.map +1 -0
  571. package/dist/util/resolution/specifier-targets.js +152 -0
  572. package/dist/util/resolution/specifier-targets.js.map +1 -0
  573. package/dist/util/resolution-candidates.d.ts +5 -0
  574. package/dist/util/resolution-candidates.d.ts.map +1 -1
  575. package/dist/util/resolution-candidates.js +16 -3
  576. package/dist/util/resolution-candidates.js.map +1 -1
  577. package/dist/util/resolution.d.ts +2 -1
  578. package/dist/util/resolution.d.ts.map +1 -1
  579. package/dist/util/resolution.js +101 -15
  580. package/dist/util/resolution.js.map +1 -1
  581. package/dist/util/specifiers.d.ts +29 -1
  582. package/dist/util/specifiers.d.ts.map +1 -1
  583. package/dist/util/specifiers.js +56 -8
  584. package/dist/util/specifiers.js.map +1 -1
  585. package/dist/util/trivia.d.ts.map +1 -1
  586. package/dist/util/trivia.js +49 -30
  587. package/dist/util/trivia.js.map +1 -1
  588. package/dist/util/workspace.d.ts.map +1 -1
  589. package/dist/util/workspace.js +32 -4
  590. package/dist/util/workspace.js.map +1 -1
  591. package/docs/mcp.md +3 -2
  592. package/package.json +5 -7
  593. package/dist/impact/call-compatibility/providers/profiles.d.ts +0 -80
  594. package/dist/impact/call-compatibility/providers/profiles.d.ts.map +0 -1
  595. package/dist/impact/call-compatibility/providers/profiles.js +0 -164
  596. package/dist/impact/call-compatibility/providers/profiles.js.map +0 -1
@@ -2,21 +2,35 @@
2
2
  * Per-language node-name tables for scope construction in `./scope.js`.
3
3
  *
4
4
  * Rows are keyed by language id, following the trivia-table precedent in `../util/trivia-tables.js`:
5
- * the walker keeps the algorithm, the table keeps the node names. Every list is the intersection of
6
- * the pre-table global list in `scope.js` with the node types the pinned grammar of that language
7
- * actually produces, so moving the data here is behavior-preserving. `tests/scope-node-tables.test.ts`
8
- * re-derives both halves from the pinned grammar, fails when a row drifts, and asserts that every
9
- * function-scope node type with a name field has a name-registration entry.
10
- *
5
+ * the walker keeps the algorithm, and the table keeps the pinned grammar's node names and
6
+ * language-specific visibility rules. `tests/scope-node-tables.test.ts` checks listed node types
7
+ * against the grammar and verifies that name-bearing function scopes register their names.
11
8
  * Fields are optional: an absent field means the language has no node of that shape.
9
+ * Zig's `memberContainerTypes` keeps container functions out of the file scope because Zig has
10
+ * no implicit member scope.
12
11
  *
13
- * Three fields deviate from that intersection on purpose. `assignmentIdentifierTypes` is declared
14
- * only where the grammar also has `assignmentDeclarationTypes`, and the ECMAScript row omits
15
- * `enumBodyMemberTypes`, because the walker reads each of them only in conjunction with the second
16
- * field, which is absent in those rows. Zig's `memberContainerTypes` is deliberately wider than the
17
- * intersection: Zig has no implicit member scope, so a container's member functions must not land
18
- * in the file scope.
12
+ * `wholeScopeKinds` and `wholeScopeDeclarationTypes` say when a binding covers uses that
13
+ * appear before it. The walker resolves occurrences once the enclosing scope is complete; the
14
+ * row decides whether a later declaration in that scope names those earlier uses.
15
+ */
16
+ import { SymbolKind } from "./types.js";
17
+ const WHOLE_FILE_SCOPE = new Set(["module"]);
18
+ const CPP_MEMBER_SCOPE = new Set(["member"]);
19
+ const WHOLE_LEXICAL_SCOPE = new Set(["module", "function", "block", "type"]);
20
+ /**
21
+ * Whether `binding` in a scope of `scopeKind` names a use at `useStartIndex`.
22
+ * Whole-scope bindings name every use in the scope. Every other binding names only uses at
23
+ * or after its declaration. Declaration-type coverage is recorded on the binding when it is
24
+ * registered, so this compares indexes instead of walking the declaration's ancestors.
19
25
  */
26
+ export function bindingCoversUse(row, scopeKind, binding, useStartIndex) {
27
+ if (binding.coversEnclosingScope || row.wholeScopeKinds?.has(scopeKind))
28
+ return true;
29
+ const defIndex = binding.def?.start.index;
30
+ if (defIndex === undefined)
31
+ return true;
32
+ return defIndex <= useStartIndex;
33
+ }
20
34
  const ECMASCRIPT_SCOPE_NODES = {
21
35
  functionNameTypes: new Set(["function_declaration", "generator_function_declaration", "method_definition"]),
22
36
  classNameTypes: new Set(["class_declaration", "class"]),
@@ -31,6 +45,7 @@ const ECMASCRIPT_SCOPE_NODES = {
31
45
  moduleRootTypes: new Set(["program"]),
32
46
  hoistedFunctionTypes: new Set(["function_declaration", "generator_function_declaration"]),
33
47
  hoistedVariableDeclarationTypes: new Set(["variable_declaration"]),
48
+ wholeScopeKinds: WHOLE_LEXICAL_SCOPE,
34
49
  requireCall: {
35
50
  callTypes: new Set(["call_expression"]),
36
51
  calleeNames: new Set(["require"]),
@@ -45,6 +60,8 @@ const TYPESCRIPT_SCOPE_NODES = {
45
60
  enumBodyMemberTypes: new Set(["property_identifier"]),
46
61
  enumBodyParentTypes: new Set(["enum_body"]),
47
62
  childSkipNameTypes: new Set(["identifier", "type_identifier"]),
63
+ // `x: T` keeps its type annotation in the `type` field; skip it for bindings (H1).
64
+ destructuringTypeFieldTypes: new Set(["required_parameter", "optional_parameter"]),
48
65
  moduleRootTypes: new Set(["program", "module"]),
49
66
  };
50
67
  const C_SCOPE_NODES = {
@@ -75,16 +92,42 @@ export const SCOPE_NODE_ROWS = {
75
92
  memberContainerTypes: new Set(["class_definition"]),
76
93
  childSkipNameTypes: new Set(["identifier", "parameters"]),
77
94
  moduleRootTypes: new Set(["module"]),
95
+ wholeScopeKinds: new Set(["function"]),
96
+ moduleBindingsAtFunctionRuntime: true,
97
+ variableTargetScopeKinds: new Set(["function"]),
98
+ variableScopeBoundaryTypes: new Set(["class_definition"]),
99
+ classScopeBoundaryTypes: new Set(["function_definition", "lambda", "class_definition"]),
100
+ classScopeComprehension: {
101
+ types: new Set(["list_comprehension", "set_comprehension", "dictionary_comprehension", "generator_expression"]),
102
+ firstClauseType: "for_in_clause",
103
+ iterableField: "right",
104
+ },
105
+ nonLexicalMemberPropertyTypes: new Set(["attribute"]),
78
106
  },
79
107
  php: {
80
108
  functionNameTypes: new Set(["function_definition", "method_declaration"]),
81
- classNameTypes: new Set(["class_declaration"]),
109
+ classNameTypes: new Set(["class_declaration", "trait_declaration"]),
82
110
  typeNameTypes: new Set(["interface_declaration", "enum_declaration"]),
83
111
  enumMemberTypes: new Set(["enum_case"]),
84
- variableDeclarationTypes: new Set(["const_declaration"]),
112
+ variableDeclarationTypes: new Set(["assignment_expression", "const_declaration"]),
113
+ assignmentDeclarationTypes: new Set(["assignment_expression"]),
114
+ assignmentIdentifierTypes: new Set(["variable_name"]),
85
115
  memberFunctionTypes: new Set(["method_declaration"]),
86
- memberContainerTypes: new Set(["class_declaration"]),
116
+ memberContainerTypes: new Set([
117
+ "class_declaration",
118
+ "interface_declaration",
119
+ "trait_declaration",
120
+ "enum_declaration",
121
+ ]),
122
+ childSkipNameTypes: new Set(["name"]),
87
123
  moduleRootTypes: new Set(["program"]),
124
+ wholeScopeDeclarationTypes: new Set([
125
+ "function_definition",
126
+ "class_declaration",
127
+ "interface_declaration",
128
+ "trait_declaration",
129
+ "enum_declaration",
130
+ ]),
88
131
  },
89
132
  go: {
90
133
  parameterParents: new Set(["parameter_declaration"]),
@@ -103,6 +146,7 @@ export const SCOPE_NODE_ROWS = {
103
146
  destructuringTypeFieldTypes: new Set(["parameter_declaration", "variadic_parameter_declaration"]),
104
147
  memberFunctionTypes: new Set(["method_declaration"]),
105
148
  childSkipNameTypes: new Set(["identifier", "type_identifier"]),
149
+ wholeScopeKinds: WHOLE_FILE_SCOPE,
106
150
  },
107
151
  java: {
108
152
  functionNameTypes: new Set(["method_declaration"]),
@@ -112,25 +156,48 @@ export const SCOPE_NODE_ROWS = {
112
156
  enumMemberTypes: new Set(["enum_constant"]),
113
157
  enumBodyParentTypes: new Set(["enum_body"]),
114
158
  variableDeclarationTypes: new Set(["field_declaration", "local_variable_declaration"]),
159
+ destructuringTypeFieldTypes: new Set(["formal_parameter"]),
115
160
  variableDeclaratorTypes: new Set(["variable_declarator"]),
116
161
  memberFunctionTypes: new Set(["method_declaration"]),
117
162
  memberContainerTypes: new Set(["class_body", "class_declaration"]),
118
163
  childSkipNameTypes: new Set(["identifier", "type_identifier"]),
119
164
  moduleRootTypes: new Set(["program"]),
165
+ wholeScopeKinds: WHOLE_FILE_SCOPE,
166
+ wholeScopeDeclarationTypes: new Set([
167
+ "method_declaration",
168
+ "constructor_declaration",
169
+ "class_declaration",
170
+ "field_declaration",
171
+ ]),
120
172
  },
121
173
  csharp: {
122
174
  parameterParents: new Set(["parameter"]),
123
175
  functionNameTypes: new Set(["method_declaration", "local_function_statement"]),
124
176
  unnamedFunctionScopeTypes: new Set(["constructor_declaration", "destructor_declaration"]),
125
- classNameTypes: new Set(["class_declaration"]),
126
- typeNameTypes: new Set(["interface_declaration", "enum_declaration"]),
177
+ classNameTypes: new Set(["class_declaration", "struct_declaration", "record_declaration"]),
178
+ typeNameTypes: new Set(["interface_declaration", "enum_declaration", "delegate_declaration"]),
127
179
  enumMemberTypes: new Set(["enum_member_declaration"]),
128
180
  declarationPatternTypes: new Set(["declaration_pattern"]),
129
181
  variableDeclarationTypes: new Set(["variable_declaration", "field_declaration"]),
182
+ destructuringTypeFieldTypes: new Set(["parameter"]),
130
183
  variableDeclaratorTypes: new Set(["variable_declarator"]),
131
184
  memberFunctionTypes: new Set(["method_declaration"]),
132
185
  memberContainerTypes: new Set(["class_declaration"]),
133
186
  childSkipNameTypes: new Set(["identifier"]),
187
+ wholeScopeDeclarationTypes: new Set([
188
+ "method_declaration",
189
+ "local_function_statement",
190
+ "constructor_declaration",
191
+ "class_declaration",
192
+ "struct_declaration",
193
+ "record_declaration",
194
+ "interface_declaration",
195
+ "enum_declaration",
196
+ "delegate_declaration",
197
+ "field_declaration",
198
+ "property_declaration",
199
+ ]),
200
+ laterLocalBlocksOuterKinds: new Set(["function", "block"]),
134
201
  },
135
202
  rust: {
136
203
  parameterParents: new Set(["parameter"]),
@@ -141,11 +208,32 @@ export const SCOPE_NODE_ROWS = {
141
208
  variableDeclarationTypes: new Set(["field_declaration", "let_declaration", "const_item", "static_item"]),
142
209
  patternBindingTypes: new Set(["let_declaration", "const_item", "static_item"]),
143
210
  memberContainerTypes: new Set(["impl_item"]),
211
+ // A parameter's `type` field is a sibling of its `pattern`, not a nested pattern: without
212
+ // this, the generic recursive walk in `addPatternDecls` (scope.js) descends into the type
213
+ // position and registers the referenced type name (bare or `super::`/`crate::`-qualified)
214
+ // as a same-scope "param" binding at the reference site itself, which then shadows the
215
+ // real declaration and makes goto/references resolve the use to itself.
216
+ destructuringTypeFieldTypes: new Set(["parameter"]),
144
217
  childSkipNameTypes: new Set(["identifier", "type_identifier", "parameters"]),
218
+ wholeScopeKinds: WHOLE_FILE_SCOPE,
219
+ wholeScopeDeclarationTypes: new Set([
220
+ "function_item",
221
+ "struct_item",
222
+ "enum_item",
223
+ "trait_item",
224
+ "const_item",
225
+ "static_item",
226
+ "mod_item",
227
+ "union_item",
228
+ "type_item",
229
+ "macro_definition",
230
+ ]),
145
231
  },
146
232
  c: C_SCOPE_NODES,
147
233
  cpp: {
148
234
  ...C_SCOPE_NODES,
235
+ memberScopeTypes: new Set(["field_declaration_list"]),
236
+ wholeScopeKinds: CPP_MEMBER_SCOPE,
149
237
  typeParameterTypes: new Set(["type_parameter_declaration"]),
150
238
  destructuringTypeFieldTypes: new Set(["parameter_declaration", "variadic_parameter_declaration"]),
151
239
  scopedEnum: {
@@ -159,11 +247,12 @@ export const SCOPE_NODE_ROWS = {
159
247
  classNameTypes: new Set(["class_declaration"]),
160
248
  enumMemberTypes: new Set(["enum_entry"]),
161
249
  unnamedFunctionScopeTypes: new Set(["lambda_literal"]),
162
- variableDeclarationTypes: new Set(["variable_declaration", "assignment"]),
163
- assignmentDeclarationTypes: new Set(["assignment"]),
164
- assignmentIdentifierTypes: new Set(["identifier"]),
250
+ variableDeclarationTypes: new Set(["variable_declaration"]),
165
251
  memberContainerTypes: new Set(["class_body", "class_declaration"]),
166
252
  childSkipNameTypes: new Set(["identifier"]),
253
+ wholeScopeKinds: WHOLE_FILE_SCOPE,
254
+ wholeScopeDeclarationTypes: new Set(["function_declaration", "class_declaration"]),
255
+ wholeScopeMemberDeclarationTypes: new Set(["property_declaration"]),
167
256
  },
168
257
  swift: {
169
258
  parameterParents: new Set(["parameter"]),
@@ -176,6 +265,8 @@ export const SCOPE_NODE_ROWS = {
176
265
  assignmentIdentifierTypes: new Set(["identifier"]),
177
266
  memberContainerTypes: new Set(["class_body", "class_declaration"]),
178
267
  childSkipNameTypes: new Set(["identifier", "type_identifier"]),
268
+ wholeScopeKinds: WHOLE_FILE_SCOPE,
269
+ wholeScopeDeclarationTypes: new Set(["function_declaration", "class_declaration"]),
179
270
  },
180
271
  ruby: {
181
272
  parameterParents: new Set(["lambda_parameters"]),
@@ -184,10 +275,12 @@ export const SCOPE_NODE_ROWS = {
184
275
  variableDeclarationTypes: new Set(["assignment"]),
185
276
  assignmentDeclarationTypes: new Set(["assignment"]),
186
277
  assignmentIdentifierTypes: new Set(["identifier"]),
278
+ explicitMethodCallTypes: new Set(["call"]),
187
279
  memberFunctionTypes: new Set(["method", "singleton_method"]),
188
280
  memberContainerTypes: new Set(["class"]),
189
281
  childSkipNameTypes: new Set(["identifier"]),
190
282
  moduleRootTypes: new Set(["program", "module"]),
283
+ wholeScopeDeclarationTypes: new Set(["class", "module", "method", "singleton_method"]),
191
284
  },
192
285
  zig: {
193
286
  parameterParents: new Set(["parameter"]),
@@ -203,6 +296,7 @@ export const SCOPE_NODE_ROWS = {
203
296
  // file scope.
204
297
  memberContainerTypes: new Set(["struct_declaration", "enum_declaration", "union_declaration"]),
205
298
  childSkipNameTypes: new Set(["identifier", "parameters"]),
299
+ wholeScopeKinds: WHOLE_FILE_SCOPE,
206
300
  },
207
301
  sql: {
208
302
  parameterParents: new Set(["parameter"]),
@@ -235,4 +329,102 @@ const EMPTY_SCOPE_NODES = {};
235
329
  export function scopeNodesFor(languageId) {
236
330
  return SCOPE_NODE_ROWS[languageId] ?? EMPTY_SCOPE_NODES;
237
331
  }
332
+ /** Preserve sigils on variable nodes so they cannot collide with import, type, or function names. */
333
+ export function scopeIdentifierKey(row, name, node, normalizeIdentifier) {
334
+ let variable = null;
335
+ if (row.assignmentIdentifierTypes?.has(node.type))
336
+ variable = node;
337
+ else if (node.parent && row.assignmentIdentifierTypes?.has(node.parent.type))
338
+ variable = node.parent;
339
+ if (variable?.text.startsWith("$"))
340
+ return variable.text;
341
+ return normalizeIdentifier(name);
342
+ }
343
+ /** A call with a method name but no receiver does not name a local variable (Ruby). */
344
+ export function isExplicitMethodCall(row, node) {
345
+ const call = node.parent;
346
+ if (!call || !row.explicitMethodCallTypes?.has(call.type) || call.childForFieldName("receiver"))
347
+ return false;
348
+ const method = call.childForFieldName("method");
349
+ return !!method && node.startIndex >= method.startIndex && node.endIndex <= method.endIndex;
350
+ }
351
+ /** Class bodies are not closures for nested runtime scopes (Python). */
352
+ export function scopeAllowsUse(row, scope, use) {
353
+ const boundaries = row.classScopeBoundaryTypes;
354
+ if (!boundaries || !scope.node.parent || !row.variableScopeBoundaryTypes?.has(scope.node.parent.type))
355
+ return true;
356
+ const comprehension = row.classScopeComprehension;
357
+ for (let current = use.parent; current; current = current.parent) {
358
+ if (current.startIndex === scope.node.startIndex && current.endIndex === scope.node.endIndex)
359
+ break;
360
+ if (comprehension?.types.has(current.type)) {
361
+ const firstClause = current.namedChildren.find((child) => child.type === comprehension.firstClauseType);
362
+ const iterable = firstClause?.childForFieldName(comprehension.iterableField);
363
+ if (!iterable || use.startIndex < iterable.startIndex || use.endIndex > iterable.endIndex)
364
+ return false;
365
+ }
366
+ if (boundaries.has(current.type)) {
367
+ const body = current.childForFieldName("body");
368
+ if (body && use.startIndex >= body.startIndex && use.endIndex <= body.endIndex)
369
+ return false;
370
+ }
371
+ }
372
+ return true;
373
+ }
374
+ /** A later local in this lexical scope makes an earlier outer-name read invalid. */
375
+ export function laterLocalBlocksOuterUse(row, scope, canonicalName, useStartIndex) {
376
+ if (!row.laterLocalBlocksOuterKinds?.has(scope.kind))
377
+ return false;
378
+ for (let binding = scope.map.get(canonicalName); binding; binding = binding.earlierSameScope) {
379
+ const declarationIndex = binding.def?.start.index;
380
+ if (binding.kind === "local" &&
381
+ !binding.coversEnclosingScope &&
382
+ declarationIndex !== undefined &&
383
+ declarationIndex > useStartIndex)
384
+ return true;
385
+ }
386
+ return false;
387
+ }
388
+ /**
389
+ * Whether a file-wide same-name fallback may bind the declaration starting at `defStartIndex`
390
+ * for a use the lexical lookup refused: the declaring scope must sit on the use's lexical
391
+ * chain, and a class body only binds uses inside itself (Python class scopes are not
392
+ * closures for nested runtime scopes). Declarations outside the scope model stay accepted.
393
+ */
394
+ /** Innermost scope whose node contains `currentNode`. */
395
+ export function closestContainingScope(scopeIndex, currentNode) {
396
+ let best;
397
+ for (const scope of scopeIndex.allScopes) {
398
+ if (currentNode.startIndex >= scope.node.startIndex &&
399
+ currentNode.endIndex <= scope.node.endIndex &&
400
+ (!best || (scope.node.startIndex >= best.node.startIndex && scope.node.endIndex <= best.node.endIndex)))
401
+ best = scope;
402
+ }
403
+ return best;
404
+ }
405
+ /** Check a same-file definition found outside lexical lookup against file-scope declaration order. */
406
+ export function fileScopeDefinitionCoversUse(languageId, def, useStartIndex, kind, fromFunctionAtRuntime = false) {
407
+ if (def.start.index === undefined)
408
+ return false;
409
+ const row = scopeNodesFor(languageId);
410
+ if (row.wholeScopeKinds?.has("module"))
411
+ return true;
412
+ if (fromFunctionAtRuntime && row.moduleBindingsAtFunctionRuntime)
413
+ return true;
414
+ const covering = row.wholeScopeDeclarationTypes;
415
+ let declarationTypes;
416
+ if (kind === SymbolKind.Function)
417
+ declarationTypes = row.functionNameTypes;
418
+ else if (kind === SymbolKind.Class)
419
+ declarationTypes = row.classNameTypes;
420
+ else if (kind === SymbolKind.Interface || kind === SymbolKind.TypeAlias)
421
+ declarationTypes = row.typeNameTypes;
422
+ if (covering && declarationTypes) {
423
+ for (const declarationType of declarationTypes) {
424
+ if (covering.has(declarationType))
425
+ return true;
426
+ }
427
+ }
428
+ return def.start.index <= useStartIndex;
429
+ }
238
430
  //# sourceMappingURL=scope-nodes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope-nodes.js","sourceRoot":"","sources":["../../src/indexer/scope-nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope-nodes.js","sourceRoot":"","sources":["../../src/indexer/scope-nodes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { SyntaxNodeLike } from "../languages/types.js";
2
2
  import type { Range } from "../types.js";
3
3
  import type { ImportBinding } from "./import-types.js";
4
+ import type { CallableIdentity } from "../languages/callable-arity.js";
4
5
  export type BindingKind = "local" | "param" | "function" | "class" | "type" | "importDefault" | "importNamed" | "namespace";
5
6
  export type ScopeImportBinding = ImportBinding;
6
7
  export type Binding = {
@@ -10,19 +11,46 @@ export type Binding = {
10
11
  canonicalName: string;
11
12
  kind: BindingKind;
12
13
  def?: Range;
14
+ callable?: CallableIdentity;
13
15
  node?: SyntaxNodeLike;
14
16
  occurrences: Range[];
17
+ /** False when same-scope overloads or redeclarations prevent exact occurrence ownership. */
18
+ occurrencesComplete?: boolean;
19
+ /** Same-scope function declarations that collide by name and need semantic disambiguation. */
20
+ sameScopeFunctionBindings?: Binding[];
21
+ /**
22
+ * The binding this declaration replaced in the same scope. Point-of-declaration
23
+ * lookup walks the chain so an earlier same-scope binding stays addressable.
24
+ */
25
+ earlierSameScope?: Binding;
26
+ /**
27
+ * The binding covers every use in its scope, including text that precedes the
28
+ * declaration. Recorded when the binding is registered so a later lookup can
29
+ * compare source indexes instead of walking the declaration's ancestors.
30
+ */
31
+ coversEnclosingScope?: boolean;
32
+ /** Same-file module specifier proven by a JS/TS local declaration or its assignments; null if invalidated. */
33
+ heldModuleSpecifier?: string | null;
15
34
  import?: ScopeImportBinding;
16
35
  };
17
36
  export type Scope = {
18
- kind: "module" | "function" | "block" | "type";
37
+ kind: "module" | "function" | "block" | "member" | "type";
19
38
  map: Map<string, Binding>;
20
39
  node: SyntaxNodeLike;
21
40
  parent: Scope | undefined;
41
+ /**
42
+ * Names this scope will still bind with a declaration that covers earlier uses.
43
+ * Removed as each of those declarations is registered, so a use defers only while
44
+ * a later declaration in this scope may shadow what eager lookup already found.
45
+ */
46
+ pendingCoveringNames?: Set<string>;
47
+ /** Syntax-node ids of uses resolved when this scope closes. Absent when nothing is waiting. */
48
+ queuedUseIds?: number[];
22
49
  };
23
50
  export type ScopeIndex = {
24
51
  bindings: Map<string, Binding[]>;
25
52
  all: Binding[];
26
53
  allScopes: Scope[];
54
+ cppQualifiedFunctionBindings: Map<string, Binding[]>;
27
55
  };
28
56
  //# sourceMappingURL=scope-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope-types.d.ts","sourceRoot":"","sources":["../../src/indexer/scope-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,OAAO,GACP,UAAU,GACV,OAAO,GACP,MAAM,GACN,eAAe,GACf,aAAa,GACb,WAAW,CAAC;AAEhB,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAE/C,MAAM,MAAM,OAAO,GAAG;IACpB,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;IAC/C,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1B,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACjC,GAAG,EAAE,OAAO,EAAE,CAAC;IACf,SAAS,EAAE,KAAK,EAAE,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"scope-types.d.ts","sourceRoot":"","sources":["../../src/indexer/scope-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,OAAO,GACP,UAAU,GACV,OAAO,GACP,MAAM,GACN,eAAe,GACf,aAAa,GACb,WAAW,CAAC;AAEhB,MAAM,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAE/C,MAAM,MAAM,OAAO,GAAG;IACpB,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,WAAW,CAAC;IAClB,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,WAAW,EAAE,KAAK,EAAE,CAAC;IACrB,4FAA4F;IAC5F,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,8FAA8F;IAC9F,yBAAyB,CAAC,EAAE,OAAO,EAAE,CAAC;IACtC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,8GAA8G;IAC9G,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1D,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1B,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC;IAC1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,+FAA+F;IAC/F,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACjC,GAAG,EAAE,OAAO,EAAE,CAAC;IACf,SAAS,EAAE,KAAK,EAAE,CAAC;IACnB,4BAA4B,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;CACtD,CAAC"}
@@ -1,11 +1,10 @@
1
- import { type NativeRuntimeMode } from "../native/tree-sitter-native.js";
2
1
  import type { LanguageSupport } from "../languages.js";
3
2
  import type { SyntaxTreeLike } from "../languages/types.js";
4
- import type { ImportBinding } from "./types.js";
3
+ import { type ImportBinding, type SymbolDef } from "./types.js";
5
4
  import type { Binding, BindingKind, Scope, ScopeIndex } from "./scope-types.js";
6
5
  export type { Binding, BindingKind, Scope, ScopeIndex };
7
6
  export declare function buildScopeIndexFromSource(file: string, source: string, support: LanguageSupport, imports?: ImportBinding[], opts?: {
8
7
  tree?: SyntaxTreeLike;
9
- nativeMode?: NativeRuntimeMode;
8
+ locals?: readonly SymbolDef[];
10
9
  }): ScopeIndex;
11
10
  //# sourceMappingURL=scope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/indexer/scope.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGvG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEhF,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAExD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,aAAa,EAAO,EAC7B,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,cAAc,CAAC;IAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAAE,GAC/D,UAAU,CA8aZ"}
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../src/indexer/scope.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAWvD,OAAO,KAAK,EAAkB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5E,OAAO,EAAc,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEhF,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAgDxD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,aAAa,EAAO,EAC7B,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,SAAS,SAAS,EAAE,CAAA;CAAE,GAC9D,UAAU,CAmvCZ"}