@lzehrung/codegraph 2.4.0 → 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 (402) hide show
  1. package/README.md +3 -4
  2. package/codegraph-skill/codegraph/SKILL.md +3 -3
  3. package/dist/agent/call-hierarchy.js +2 -4
  4. package/dist/agent/call-hierarchy.js.map +1 -1
  5. package/dist/agent/explore.d.ts +1 -1
  6. package/dist/agent/explore.d.ts.map +1 -1
  7. package/dist/agent/explore.js +3 -2
  8. package/dist/agent/explore.js.map +1 -1
  9. package/dist/agent/refactor-plan.js +2 -4
  10. package/dist/agent/refactor-plan.js.map +1 -1
  11. package/dist/agent/rename-preview.d.ts.map +1 -1
  12. package/dist/agent/rename-preview.js +4 -3
  13. package/dist/agent/rename-preview.js.map +1 -1
  14. package/dist/agent/search.js +2 -3
  15. package/dist/agent/search.js.map +1 -1
  16. package/dist/agent/semantic-symbols.d.ts.map +1 -1
  17. package/dist/agent/semantic-symbols.js +2 -3
  18. package/dist/agent/semantic-symbols.js.map +1 -1
  19. package/dist/agent/type-hierarchy.js +2 -4
  20. package/dist/agent/type-hierarchy.js.map +1 -1
  21. package/dist/agent/workspace-symbols.d.ts.map +1 -1
  22. package/dist/agent/workspace-symbols.js +2 -3
  23. package/dist/agent/workspace-symbols.js.map +1 -1
  24. package/dist/agent-tools.d.ts +0 -4
  25. package/dist/agent-tools.d.ts.map +1 -1
  26. package/dist/agent-tools.js +3 -6
  27. package/dist/agent-tools.js.map +1 -1
  28. package/dist/analysis-summary.d.ts +8 -4
  29. package/dist/analysis-summary.d.ts.map +1 -1
  30. package/dist/analysis-summary.js +15 -66
  31. package/dist/analysis-summary.js.map +1 -1
  32. package/dist/bin/cli.js +12224 -15890
  33. package/dist/bin/query-index-worker.js +49 -71
  34. package/dist/cli/command-table.d.ts.map +1 -1
  35. package/dist/cli/command-table.js +9 -17
  36. package/dist/cli/command-table.js.map +1 -1
  37. package/dist/cli/context.js +10 -10
  38. package/dist/cli/context.js.map +1 -1
  39. package/dist/cli/drift.d.ts +0 -2
  40. package/dist/cli/drift.d.ts.map +1 -1
  41. package/dist/cli/drift.js +0 -1
  42. package/dist/cli/drift.js.map +1 -1
  43. package/dist/cli/graph-delta.d.ts +0 -2
  44. package/dist/cli/graph-delta.d.ts.map +1 -1
  45. package/dist/cli/graph-delta.js +0 -4
  46. package/dist/cli/graph-delta.js.map +1 -1
  47. package/dist/cli/graph.d.ts +0 -3
  48. package/dist/cli/graph.d.ts.map +1 -1
  49. package/dist/cli/graph.js +4 -14
  50. package/dist/cli/graph.js.map +1 -1
  51. package/dist/cli/help.d.ts +34 -34
  52. package/dist/cli/help.d.ts.map +1 -1
  53. package/dist/cli/help.js +5 -12
  54. package/dist/cli/help.js.map +1 -1
  55. package/dist/cli/impact.d.ts +0 -2
  56. package/dist/cli/impact.d.ts.map +1 -1
  57. package/dist/cli/impact.js +0 -1
  58. package/dist/cli/impact.js.map +1 -1
  59. package/dist/cli/index.d.ts +0 -2
  60. package/dist/cli/index.d.ts.map +1 -1
  61. package/dist/cli/index.js +5 -6
  62. package/dist/cli/index.js.map +1 -1
  63. package/dist/cli/inspect.d.ts +0 -2
  64. package/dist/cli/inspect.d.ts.map +1 -1
  65. package/dist/cli/inspect.js +5 -8
  66. package/dist/cli/inspect.js.map +1 -1
  67. package/dist/cli/invocation-context.d.ts +0 -3
  68. package/dist/cli/invocation-context.d.ts.map +1 -1
  69. package/dist/cli/invocation-context.js +4 -16
  70. package/dist/cli/invocation-context.js.map +1 -1
  71. package/dist/cli/navigation.d.ts +0 -2
  72. package/dist/cli/navigation.d.ts.map +1 -1
  73. package/dist/cli/navigation.js +0 -1
  74. package/dist/cli/navigation.js.map +1 -1
  75. package/dist/cli/options.d.ts.map +1 -1
  76. package/dist/cli/options.js +2 -12
  77. package/dist/cli/options.js.map +1 -1
  78. package/dist/cli/review.d.ts +0 -2
  79. package/dist/cli/review.d.ts.map +1 -1
  80. package/dist/cli/review.js +0 -5
  81. package/dist/cli/review.js.map +1 -1
  82. package/dist/cli/root-policy.d.ts +0 -2
  83. package/dist/cli/root-policy.d.ts.map +1 -1
  84. package/dist/cli/root-policy.js +0 -8
  85. package/dist/cli/root-policy.js.map +1 -1
  86. package/dist/cli/server.d.ts.map +1 -1
  87. package/dist/cli/server.js +0 -2
  88. package/dist/cli/server.js.map +1 -1
  89. package/dist/drift/git.d.ts.map +1 -1
  90. package/dist/drift/git.js +0 -1
  91. package/dist/drift/git.js.map +1 -1
  92. package/dist/drift/snapshot.d.ts.map +1 -1
  93. package/dist/drift/snapshot.js +0 -1
  94. package/dist/drift/snapshot.js.map +1 -1
  95. package/dist/drift/types.d.ts +0 -2
  96. package/dist/drift/types.d.ts.map +1 -1
  97. package/dist/drift/types.js.map +1 -1
  98. package/dist/duplicates/unit-cache.d.ts +0 -1
  99. package/dist/duplicates/unit-cache.d.ts.map +1 -1
  100. package/dist/duplicates/unit-cache.js +3 -11
  101. package/dist/duplicates/unit-cache.js.map +1 -1
  102. package/dist/duplicates/units.d.ts +5 -5
  103. package/dist/duplicates/units.d.ts.map +1 -1
  104. package/dist/duplicates/units.js +25 -88
  105. package/dist/duplicates/units.js.map +1 -1
  106. package/dist/graph-builder.d.ts +0 -6
  107. package/dist/graph-builder.d.ts.map +1 -1
  108. package/dist/graph-builder.js +2 -5
  109. package/dist/graph-builder.js.map +1 -1
  110. package/dist/graph-edge-collector.d.ts +1 -6
  111. package/dist/graph-edge-collector.d.ts.map +1 -1
  112. package/dist/graph-edge-collector.js +23 -21
  113. package/dist/graph-edge-collector.js.map +1 -1
  114. package/dist/graphs/edge-resolution.d.ts +1 -1
  115. package/dist/graphs/edge-resolution.d.ts.map +1 -1
  116. package/dist/graphs/edge-resolution.js +22 -98
  117. package/dist/graphs/edge-resolution.js.map +1 -1
  118. package/dist/graphs/specifiers.d.ts +4 -13
  119. package/dist/graphs/specifiers.d.ts.map +1 -1
  120. package/dist/graphs/specifiers.js +76 -173
  121. package/dist/graphs/specifiers.js.map +1 -1
  122. package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts +12 -3
  123. package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts.map +1 -1
  124. package/dist/graphs/symbol-graph-detailed/edge-passes.js +315 -177
  125. package/dist/graphs/symbol-graph-detailed/edge-passes.js.map +1 -1
  126. package/dist/graphs/symbol-graph-detailed/import-aliases.d.ts.map +1 -1
  127. package/dist/graphs/symbol-graph-detailed/import-aliases.js +11 -0
  128. package/dist/graphs/symbol-graph-detailed/import-aliases.js.map +1 -1
  129. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts +25 -22
  130. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts.map +1 -1
  131. package/dist/graphs/symbol-graph-detailed/receiver-calls.js +216 -147
  132. package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
  133. package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
  134. package/dist/graphs/symbol-graph-detailed.js +80 -71
  135. package/dist/graphs/symbol-graph-detailed.js.map +1 -1
  136. package/dist/graphs/symbol-graph.d.ts.map +1 -1
  137. package/dist/graphs/symbol-graph.js +4 -4
  138. package/dist/graphs/symbol-graph.js.map +1 -1
  139. package/dist/graphs/types.d.ts +0 -4
  140. package/dist/graphs/types.d.ts.map +1 -1
  141. package/dist/graphs.d.ts +1 -1
  142. package/dist/graphs.d.ts.map +1 -1
  143. package/dist/impact/call-compatibility.d.ts.map +1 -1
  144. package/dist/impact/call-compatibility.js +39 -43
  145. package/dist/impact/call-compatibility.js.map +1 -1
  146. package/dist/index.d.ts +2 -2
  147. package/dist/index.d.ts.map +1 -1
  148. package/dist/index.js.map +1 -1
  149. package/dist/indexer/build-cache/module-cache.d.ts +1 -1
  150. package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
  151. package/dist/indexer/build-cache/module-cache.js +67 -12
  152. package/dist/indexer/build-cache/module-cache.js.map +1 -1
  153. package/dist/indexer/build-cache/options.d.ts +15 -2
  154. package/dist/indexer/build-cache/options.d.ts.map +1 -1
  155. package/dist/indexer/build-cache/options.js +17 -29
  156. package/dist/indexer/build-cache/options.js.map +1 -1
  157. package/dist/indexer/build-cache/project-snapshot.d.ts +3 -4
  158. package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
  159. package/dist/indexer/build-cache/project-snapshot.js +49 -62
  160. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  161. package/dist/indexer/build-cache/reports.d.ts +0 -2
  162. package/dist/indexer/build-cache/reports.d.ts.map +1 -1
  163. package/dist/indexer/build-cache/reports.js +0 -97
  164. package/dist/indexer/build-cache/reports.js.map +1 -1
  165. package/dist/indexer/build-cache.d.ts +1 -1
  166. package/dist/indexer/build-cache.d.ts.map +1 -1
  167. package/dist/indexer/build-cache.js +1 -1
  168. package/dist/indexer/build-cache.js.map +1 -1
  169. package/dist/indexer/build-index.d.ts.map +1 -1
  170. package/dist/indexer/build-index.js +72 -58
  171. package/dist/indexer/build-index.js.map +1 -1
  172. package/dist/indexer/build-workers.d.ts.map +1 -1
  173. package/dist/indexer/build-workers.js +9 -9
  174. package/dist/indexer/build-workers.js.map +1 -1
  175. package/dist/indexer/callable-identity.d.ts +24 -0
  176. package/dist/indexer/callable-identity.d.ts.map +1 -0
  177. package/dist/indexer/callable-identity.js +111 -0
  178. package/dist/indexer/callable-identity.js.map +1 -0
  179. package/dist/indexer/compilation-units.d.ts +2 -0
  180. package/dist/indexer/compilation-units.d.ts.map +1 -1
  181. package/dist/indexer/compilation-units.js +20 -18
  182. package/dist/indexer/compilation-units.js.map +1 -1
  183. package/dist/indexer/cpp-callables.d.ts +12 -7
  184. package/dist/indexer/cpp-callables.d.ts.map +1 -1
  185. package/dist/indexer/cpp-callables.js +42 -34
  186. package/dist/indexer/cpp-callables.js.map +1 -1
  187. package/dist/indexer/declaration-visibility.d.ts +7 -0
  188. package/dist/indexer/declaration-visibility.d.ts.map +1 -1
  189. package/dist/indexer/declaration-visibility.js +22 -0
  190. package/dist/indexer/declaration-visibility.js.map +1 -1
  191. package/dist/indexer/expand-star-imports.d.ts +6 -1
  192. package/dist/indexer/expand-star-imports.d.ts.map +1 -1
  193. package/dist/indexer/expand-star-imports.js +120 -48
  194. package/dist/indexer/expand-star-imports.js.map +1 -1
  195. package/dist/indexer/finalize.d.ts.map +1 -1
  196. package/dist/indexer/finalize.js +0 -1
  197. package/dist/indexer/finalize.js.map +1 -1
  198. package/dist/indexer/import-resolution-tables.d.ts +72 -0
  199. package/dist/indexer/import-resolution-tables.d.ts.map +1 -0
  200. package/dist/indexer/import-resolution-tables.js +137 -0
  201. package/dist/indexer/import-resolution-tables.js.map +1 -0
  202. package/dist/indexer/import-types.d.ts +18 -1
  203. package/dist/indexer/import-types.d.ts.map +1 -1
  204. package/dist/indexer/import-types.js.map +1 -1
  205. package/dist/indexer/imports/context.d.ts +6 -1
  206. package/dist/indexer/imports/context.d.ts.map +1 -1
  207. package/dist/indexer/imports/import-binding-tables.d.ts +3 -2
  208. package/dist/indexer/imports/import-binding-tables.d.ts.map +1 -1
  209. package/dist/indexer/imports/import-binding-tables.js +16 -22
  210. package/dist/indexer/imports/import-binding-tables.js.map +1 -1
  211. package/dist/indexer/imports/native-captures.d.ts.map +1 -1
  212. package/dist/indexer/imports/native-captures.js +10 -4
  213. package/dist/indexer/imports/native-captures.js.map +1 -1
  214. package/dist/indexer/imports/python.d.ts.map +1 -1
  215. package/dist/indexer/imports/python.js +46 -81
  216. package/dist/indexer/imports/python.js.map +1 -1
  217. package/dist/indexer/imports/text-import-extractors.d.ts.map +1 -1
  218. package/dist/indexer/imports/text-import-extractors.js +17 -7
  219. package/dist/indexer/imports/text-import-extractors.js.map +1 -1
  220. package/dist/indexer/imports.d.ts +3 -4
  221. package/dist/indexer/imports.d.ts.map +1 -1
  222. package/dist/indexer/imports.js +106 -81
  223. package/dist/indexer/imports.js.map +1 -1
  224. package/dist/indexer/incremental-plan.d.ts.map +1 -1
  225. package/dist/indexer/incremental-plan.js +27 -11
  226. package/dist/indexer/incremental-plan.js.map +1 -1
  227. package/dist/indexer/locals-and-exports.d.ts +1 -2
  228. package/dist/indexer/locals-and-exports.d.ts.map +1 -1
  229. package/dist/indexer/locals-and-exports.js +113 -43
  230. package/dist/indexer/locals-and-exports.js.map +1 -1
  231. package/dist/indexer/member-selection.d.ts +46 -0
  232. package/dist/indexer/member-selection.d.ts.map +1 -0
  233. package/dist/indexer/member-selection.js +169 -0
  234. package/dist/indexer/member-selection.js.map +1 -0
  235. package/dist/indexer/name-lookup-policies/c-family.d.ts +1 -1
  236. package/dist/indexer/name-lookup-policies/c-family.d.ts.map +1 -1
  237. package/dist/indexer/name-lookup-policies/c-family.js +30 -10
  238. package/dist/indexer/name-lookup-policies/c-family.js.map +1 -1
  239. package/dist/indexer/name-lookup-policies/implicit-self.d.ts.map +1 -1
  240. package/dist/indexer/name-lookup-policies/implicit-self.js +14 -8
  241. package/dist/indexer/name-lookup-policies/implicit-self.js.map +1 -1
  242. package/dist/indexer/name-lookup-policies/index.d.ts.map +1 -1
  243. package/dist/indexer/name-lookup-policies/index.js +29 -3
  244. package/dist/indexer/name-lookup-policies/index.js.map +1 -1
  245. package/dist/indexer/name-lookup-policies/php.d.ts.map +1 -1
  246. package/dist/indexer/name-lookup-policies/php.js +9 -2
  247. package/dist/indexer/name-lookup-policies/php.js.map +1 -1
  248. package/dist/indexer/name-resolution-types.d.ts +2 -0
  249. package/dist/indexer/name-resolution-types.d.ts.map +1 -1
  250. package/dist/indexer/name-resolution.d.ts +5 -0
  251. package/dist/indexer/name-resolution.d.ts.map +1 -1
  252. package/dist/indexer/name-resolution.js +17 -2
  253. package/dist/indexer/name-resolution.js.map +1 -1
  254. package/dist/indexer/navigation-cpp.d.ts +8 -0
  255. package/dist/indexer/navigation-cpp.d.ts.map +1 -1
  256. package/dist/indexer/navigation-cpp.js +283 -2
  257. package/dist/indexer/navigation-cpp.js.map +1 -1
  258. package/dist/indexer/navigation-goto.d.ts +11 -2
  259. package/dist/indexer/navigation-goto.d.ts.map +1 -1
  260. package/dist/indexer/navigation-goto.js +675 -333
  261. package/dist/indexer/navigation-goto.js.map +1 -1
  262. package/dist/indexer/navigation-local.d.ts +4 -1
  263. package/dist/indexer/navigation-local.d.ts.map +1 -1
  264. package/dist/indexer/navigation-local.js +43 -23
  265. package/dist/indexer/navigation-local.js.map +1 -1
  266. package/dist/indexer/navigation-provenance.d.ts +1 -1
  267. package/dist/indexer/navigation-provenance.d.ts.map +1 -1
  268. package/dist/indexer/navigation-provenance.js +4 -13
  269. package/dist/indexer/navigation-provenance.js.map +1 -1
  270. package/dist/indexer/navigation-references.d.ts +1 -1
  271. package/dist/indexer/navigation-references.d.ts.map +1 -1
  272. package/dist/indexer/navigation-references.js +44 -16
  273. package/dist/indexer/navigation-references.js.map +1 -1
  274. package/dist/indexer/navigation-resolve.d.ts +13 -0
  275. package/dist/indexer/navigation-resolve.d.ts.map +1 -1
  276. package/dist/indexer/navigation-resolve.js +158 -5
  277. package/dist/indexer/navigation-resolve.js.map +1 -1
  278. package/dist/indexer/navigation.d.ts +2 -1
  279. package/dist/indexer/navigation.d.ts.map +1 -1
  280. package/dist/indexer/navigation.js +45 -37
  281. package/dist/indexer/navigation.js.map +1 -1
  282. package/dist/indexer/parse-context.d.ts +2 -3
  283. package/dist/indexer/parse-context.d.ts.map +1 -1
  284. package/dist/indexer/parse-context.js +8 -21
  285. package/dist/indexer/parse-context.js.map +1 -1
  286. package/dist/indexer/reference-candidates.d.ts.map +1 -1
  287. package/dist/indexer/reference-candidates.js +13 -7
  288. package/dist/indexer/reference-candidates.js.map +1 -1
  289. package/dist/indexer/scope-types.d.ts +4 -0
  290. package/dist/indexer/scope-types.d.ts.map +1 -1
  291. package/dist/indexer/scope.d.ts +2 -3
  292. package/dist/indexer/scope.d.ts.map +1 -1
  293. package/dist/indexer/scope.js +85 -13
  294. package/dist/indexer/scope.js.map +1 -1
  295. package/dist/indexer/shared-owner-identity.js +1 -1
  296. package/dist/indexer/shared-owner-identity.js.map +1 -1
  297. package/dist/indexer/star-import-precedence.d.ts +6 -7
  298. package/dist/indexer/star-import-precedence.d.ts.map +1 -1
  299. package/dist/indexer/star-import-precedence.js +18 -12
  300. package/dist/indexer/star-import-precedence.js.map +1 -1
  301. package/dist/indexer/ts-callables.d.ts +15 -24
  302. package/dist/indexer/ts-callables.d.ts.map +1 -1
  303. package/dist/indexer/ts-callables.js +44 -75
  304. package/dist/indexer/ts-callables.js.map +1 -1
  305. package/dist/indexer/types.d.ts +18 -25
  306. package/dist/indexer/types.d.ts.map +1 -1
  307. package/dist/indexer.d.ts +2 -7
  308. package/dist/indexer.d.ts.map +1 -1
  309. package/dist/indexer.js.map +1 -1
  310. package/dist/languages/callable-arity.d.ts +21 -0
  311. package/dist/languages/callable-arity.d.ts.map +1 -1
  312. package/dist/languages/callable-arity.js +17 -0
  313. package/dist/languages/callable-arity.js.map +1 -1
  314. package/dist/languages/definitions/zig.d.ts.map +1 -1
  315. package/dist/languages/definitions/zig.js +6 -0
  316. package/dist/languages/definitions/zig.js.map +1 -1
  317. package/dist/lifecycle/manifest.d.ts.map +1 -1
  318. package/dist/lifecycle/manifest.js +0 -1
  319. package/dist/lifecycle/manifest.js.map +1 -1
  320. package/dist/native/byte-index.d.ts +6 -0
  321. package/dist/native/byte-index.d.ts.map +1 -1
  322. package/dist/native/byte-index.js +11 -6
  323. package/dist/native/byte-index.js.map +1 -1
  324. package/dist/native/contracts.d.ts +2 -3
  325. package/dist/native/contracts.d.ts.map +1 -1
  326. package/dist/native/execution.d.ts +9 -9
  327. package/dist/native/execution.d.ts.map +1 -1
  328. package/dist/native/execution.js +37 -77
  329. package/dist/native/execution.js.map +1 -1
  330. package/dist/native/js-bridge.d.ts +2 -15
  331. package/dist/native/js-bridge.d.ts.map +1 -1
  332. package/dist/native/js-bridge.js +2 -15
  333. package/dist/native/js-bridge.js.map +1 -1
  334. package/dist/native/query-results.js +2 -2
  335. package/dist/native/query-results.js.map +1 -1
  336. package/dist/native/runtime.d.ts +12 -12
  337. package/dist/native/runtime.d.ts.map +1 -1
  338. package/dist/native/runtime.js +24 -69
  339. package/dist/native/runtime.js.map +1 -1
  340. package/dist/native/tree-sitter-native.d.ts +3 -3
  341. package/dist/native/tree-sitter-native.d.ts.map +1 -1
  342. package/dist/native/tree-sitter-native.js +2 -2
  343. package/dist/native/tree-sitter-native.js.map +1 -1
  344. package/dist/presets.d.ts.map +1 -1
  345. package/dist/presets.js +0 -4
  346. package/dist/presets.js.map +1 -1
  347. package/dist/review.d.ts.map +1 -1
  348. package/dist/review.js +2 -20
  349. package/dist/review.js.map +1 -1
  350. package/dist/session.d.ts.map +1 -1
  351. package/dist/session.js +0 -5
  352. package/dist/session.js.map +1 -1
  353. package/dist/sql/navigation.js +1 -1
  354. package/dist/sql/navigation.js.map +1 -1
  355. package/dist/util/bloom-filter.d.ts +1 -0
  356. package/dist/util/bloom-filter.d.ts.map +1 -1
  357. package/dist/util/bloom-filter.js +3 -0
  358. package/dist/util/bloom-filter.js.map +1 -1
  359. package/dist/util/glob.d.ts +32 -0
  360. package/dist/util/glob.d.ts.map +1 -0
  361. package/dist/util/glob.js +137 -0
  362. package/dist/util/glob.js.map +1 -0
  363. package/dist/util/member-access-tables.d.ts.map +1 -1
  364. package/dist/util/member-access-tables.js +2 -0
  365. package/dist/util/member-access-tables.js.map +1 -1
  366. package/dist/util/member-access.d.ts.map +1 -1
  367. package/dist/util/member-access.js +5 -2
  368. package/dist/util/member-access.js.map +1 -1
  369. package/dist/util/project-files.d.ts +2 -10
  370. package/dist/util/project-files.d.ts.map +1 -1
  371. package/dist/util/project-files.js +29 -51
  372. package/dist/util/project-files.js.map +1 -1
  373. package/dist/util/python-type-checking.d.ts +18 -0
  374. package/dist/util/python-type-checking.d.ts.map +1 -0
  375. package/dist/util/python-type-checking.js +160 -0
  376. package/dist/util/python-type-checking.js.map +1 -0
  377. package/dist/util/resolution/jvm.d.ts +7 -3
  378. package/dist/util/resolution/jvm.d.ts.map +1 -1
  379. package/dist/util/resolution/jvm.js +56 -38
  380. package/dist/util/resolution/jvm.js.map +1 -1
  381. package/dist/util/resolution/rust.d.ts +0 -1
  382. package/dist/util/resolution/rust.d.ts.map +1 -1
  383. package/dist/util/resolution/rust.js +0 -9
  384. package/dist/util/resolution/rust.js.map +1 -1
  385. package/dist/util/resolution/specifier-targets.d.ts +44 -0
  386. package/dist/util/resolution/specifier-targets.d.ts.map +1 -0
  387. package/dist/util/resolution/specifier-targets.js +152 -0
  388. package/dist/util/resolution/specifier-targets.js.map +1 -0
  389. package/dist/util/resolution.d.ts.map +1 -1
  390. package/dist/util/resolution.js +5 -10
  391. package/dist/util/resolution.js.map +1 -1
  392. package/dist/util/specifiers.d.ts +9 -1
  393. package/dist/util/specifiers.d.ts.map +1 -1
  394. package/dist/util/specifiers.js +27 -8
  395. package/dist/util/specifiers.js.map +1 -1
  396. package/dist/util/trivia.d.ts.map +1 -1
  397. package/dist/util/trivia.js +49 -30
  398. package/dist/util/trivia.js.map +1 -1
  399. package/dist/util/workspace.d.ts.map +1 -1
  400. package/dist/util/workspace.js +32 -4
  401. package/dist/util/workspace.js.map +1 -1
  402. package/package.json +5 -7
@@ -2,6 +2,7 @@ import { supportForFileWithoutHeaderSample } from "../languages.js";
2
2
  import { fileIdentityKey } from "../util/paths.js";
3
3
  import { resolveImported } from "./navigation-resolve.js";
4
4
  import { sameDef } from "./reference-context.js";
5
+ import { SymbolKind } from "./types.js";
5
6
  export const STAR_IMPORT_PRECEDENCE = {
6
7
  python: "last-wins",
7
8
  java: "explicit-beats-star",
@@ -24,11 +25,10 @@ function resolvedImportKey(resolved) {
24
25
  return typeof resolved === "string" ? `file:${fileIdentityKey(resolved)}` : `external:${resolved.external}`;
25
26
  }
26
27
  /**
27
- * `expandStarImports` copies each star import into a named or namespace binding with the
28
- * same `from` and resolved file, and without a source range. Those copies are the star
29
- * import, not an explicit one. An explicit binding (Java `import pkg.Type`, Python
30
- * `from a import name`, Rust `use a::Name`) keeps the range the statement attributed,
31
- * or an alias flag star expansion never sets.
28
+ * expandStarImports copies each star import into a named or namespace binding with the
29
+ * same source specifier and one of its resolved target files, without a source range.
30
+ * These copies remain star imports. Explicit bindings retain their source ranges or
31
+ * an alias flag that star expansion never adds.
32
32
  */
33
33
  export function isExpandedStarBinding(binding, imports) {
34
34
  if (binding.kind !== "named" && binding.kind !== "namespace")
@@ -42,9 +42,14 @@ export function isExpandedStarBinding(binding, imports) {
42
42
  const resolved = resolvedImportKey(binding.resolved);
43
43
  if (!resolved)
44
44
  return false;
45
- return imports.some((candidate) => candidate.kind === "star" &&
46
- candidate.from === binding.from &&
47
- resolvedImportKey(candidate.resolved) === resolved);
45
+ return imports.some((candidate) => {
46
+ if (candidate.kind !== "star" || candidate.from !== binding.from)
47
+ return false;
48
+ if (candidate.jvmPackageFiles) {
49
+ return candidate.jvmPackageFiles.some((file) => resolvedImportKey(file) === resolved);
50
+ }
51
+ return resolvedImportKey(candidate.resolved) === resolved;
52
+ });
48
53
  }
49
54
  function explicitBindingStartIndex(binding) {
50
55
  if (binding.kind === "star")
@@ -91,16 +96,17 @@ export function effectiveExplicitOrLocalBinding(imports, languageId, matches, lo
91
96
  }
92
97
  return { kind: "explicit", binding: explicit };
93
98
  }
94
- export function resolveStarImportedDefinition(index, imp, name, languageId, cNamespace) {
99
+ export function resolveStarImportedDefinition(index, imp, name, languageId, cNamespace, argumentCount) {
95
100
  if (imp.kind !== "star" || imp.staticMembersOf)
96
101
  return null;
97
102
  const result = resolveImported(index, imp, name, {
98
103
  ...(cNamespace ? { cNamespace } : {}),
104
+ ...(argumentCount !== undefined ? { argumentCount } : {}),
99
105
  // Ruby star expansion already publishes exported constants. Local fallback would
100
106
  // resurrect a nested class as a bare name the exports query omitted.
101
107
  ...(languageId === "ruby" ? { allowLocalFallback: false } : {}),
102
108
  });
103
- if (!result || "namespace" in result)
109
+ if (!result || "namespace" in result || (languageId === "ruby" && result.isMember))
104
110
  return null;
105
111
  return result;
106
112
  }
@@ -226,7 +232,7 @@ function rubyLoadOrderDeclaration(index, startFile, exportedName, kind) {
226
232
  * includes every part in that load component.
227
233
  */
228
234
  function sameReopenedRubyConstant(index, left, right) {
229
- if (left.kind !== right.kind)
235
+ if (left.kind !== SymbolKind.Class || right.kind !== SymbolKind.Class)
230
236
  return false;
231
237
  const leftName = exportedNameForDef(index, left);
232
238
  const rightName = exportedNameForDef(index, right);
@@ -373,7 +379,7 @@ export function resolveStarImportedNamespace(index, mod, languageId, name) {
373
379
  export function findRubyReopenedConstantParts(index, def) {
374
380
  const empty = { parts: [], incomplete: false };
375
381
  const languageId = supportForFileWithoutHeaderSample(def.file, index.languageExtensions)?.id;
376
- if (languageId !== "ruby")
382
+ if (languageId !== "ruby" || def.kind !== SymbolKind.Class)
377
383
  return empty;
378
384
  const exported = exportedNameForDef(index, def);
379
385
  if (!exported)
@@ -1 +1 @@
1
- {"version":3,"file":"star-import-precedence.js","sourceRoot":"","sources":["../../src/indexer/star-import-precedence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"star-import-precedence.js","sourceRoot":"","sources":["../../src/indexer/star-import-precedence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAuD,MAAM,YAAY,CAAC;AA2B7F,MAAM,CAAC,MAAM,sBAAsB,GAAmD;IACpF,MAAM,EAAE,WAAW;IACnB,IAAI,EAAE,qBAAqB;IAC3B,MAAM,EAAE,qBAAqB;IAC7B,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,WAAW;IACjB,CAAC,EAAE,WAAW;IACd,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,WAAW;IAChB,EAAE,EAAE,WAAW;IACf,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,WAAW;CACpB,CAAC;AAEF,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,OAAO,sBAAsB,CAAC,UAAU,CAAC,IAAI,WAAW,CAAC;AAC3D,CAAC;AAsBD,SAAS,iBAAiB,CAAC,QAAmC;IAC5D,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,OAAO,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAC9G,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAsB,EAAE,OAAiC;IAC7F,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IAC3E,IAAI,OAAO,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5F,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IACrE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QAChC,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAC/E,IAAI,SAAS,CAAC,eAAe,EAAE,CAAC;YAC9B,OAAO,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAAC,OAAsB;IACvD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC;IACzF,OAAO,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAiC,EACjC,UAAkB,EAClB,OAA4C,EAC5C,cAAuB;IAEvB,MAAM,UAAU,GAAG,oBAAoB,CAAC,UAAU,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IACvG,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QACjC,IAAI,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/E,IAAI,cAAc,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QAC9C,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACtD,OAAO,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,cAAc,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC;AAID;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAiC,EACjC,UAAkB,EAClB,OAA4C,EAC5C,eAAwB,EACxB,cAAuB,EACvB,0BAA0B,GAAG,KAAK;IAElC,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC;IACtF,MAAM,QAAQ,GAAG,wBAAwB,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC;IAC/F,MAAM,cAAc,GAClB,eAAe,KAAK,SAAS,IAAI,CAAC,qBAAqB,KAAK,SAAS,IAAI,eAAe,IAAI,qBAAqB,CAAC,CAAC;IACrH,IAAI,CAAC,QAAQ;QAAE,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,IAAI,oBAAoB,CAAC,UAAU,CAAC,KAAK,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACrG,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,cAAc,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,eAAe,GAAG,gBAAgB,CAAC,EAAE,CAAC;QAC7F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC3B,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,KAAmB,EACnB,GAAkB,EAClB,IAAY,EACZ,UAAkB,EAClB,UAA+B,EAC/B,aAAsB;IAEtB,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAC5D,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE;QAC/C,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,iFAAiF;QACjF,qEAAqE;QACrE,GAAG,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,IAAI,WAAW,IAAI,MAAM,IAAI,CAAC,UAAU,KAAK,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAChG,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAmB,EAAE,GAAc;IAC7D,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;YAAE,SAAS;QACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,kBAAkB,CAAC;YAAE,SAAS;QACpE,OAAO,KAAK,CAAC,UAAU,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,sBAAsB,GAAG,IAAI,OAAO,EAAgD,CAAC;AAC3F,MAAM,sBAAsB,GAAG,IAAI,OAAO,EAAkD,CAAC;AAE7F;;;GAGG;AACH,SAAS,iBAAiB,CAAC,KAAmB;IAC5C,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC9C,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,KAAa,EAAQ,EAAE;QACjD,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO;QAC3B,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;IACF,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ;gBAAE,SAAS;YACtE,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACf,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAC;IACpD,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,SAAS;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACrE,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,iFAAiF;AACjF,SAAS,iBAAiB,CAAC,KAAmB,EAAE,SAAiB;IAC/D,MAAM,KAAK,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QACpB,sBAAsB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACxB,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAG,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,SAAS;YAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzB,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,wBAAwB,CAC/B,KAAmB,EACnB,SAAiB,EACjB,YAAoB,EACpB,IAAuB;IAEvB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,IAAI,GAAG,CAAC,IAAY,EAAoB,EAAE;QAC9C,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,eAAe,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ;gBAAE,SAAS;YAC7F,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC1B,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,UAAU,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI;gBAAE,SAAS;YACxG,OAAO,KAAK,CAAC,MAAM,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,wBAAwB,CAAC,KAAmB,EAAE,IAAe,EAAE,KAAgB;IACtF,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACpF,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,CAAC,CAAC,QAAQ,IAAI,QAAQ,KAAK,SAAS,CAAC;AAC9C,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAmB,EAAE,UAAkB,EAAE,IAAe,EAAE,KAAgB;IAClG,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,kBAAkB,CAAC;QAAE,OAAO,IAAI,CAAC;IAChE,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,wBAAwB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAe,EAAE,KAAgB;IAC1D,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,IAAI,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;IAChD,IAAI,SAAS,KAAK,UAAU;QAAE,OAAO,SAAS,GAAG,UAAU,CAAC;IAC5D,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;IAC5G,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;AAC5D,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAmB,EAAE,UAAkB,EAAE,IAA0B;IAC/F,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,CAAC,KAAa,EAAU,EAAE;QACrC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAE,CAAC;YACrC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;YACrD,OAAO,GAAG,WAAW,CAAC;QACxB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,KAAa,EAAQ,EAAE;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC;IAC3D,CAAC,CAAC;IACF,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACjD,KAAK,IAAI,KAAK,GAAG,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC3D,IAAI,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAE,EAAE,IAAI,CAAC,KAAK,CAAE,CAAC;gBAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC9C,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,CAAC;;YAClC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAC/B,KAAmB,EACnB,UAAkB,EAClB,KAA2B,EAC3B,OAA6B,EAC7B,OAAgB;IAEhB,IAAI,UAAU,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;QAC1D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QACtD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC;YACjF,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAClG,CAAC;IACH,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACvF,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,KAAmB,EACnB,UAAkB,EAClB,UAA0C,EAC1C,OAAgB;IAEhB,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAClD,MAAM,MAAM,GAAG,oBAAoB,CACjC,KAAK,EACL,UAAU,EACV,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAC7C,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;IACzB,MAAM,UAAU,GAAG,wBAAwB,CACzC,KAAK,EACL,UAAU,EACV,KAAK,EACL,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAC5C,OAAO,CACR,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAC3G,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC3C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC;AAC5D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAmB,EACnB,GAAgB,EAChB,UAAkB,EAClB,IAAY;IAEZ,MAAM,UAAU,GAA0B,EAAE,CAAC;IAC7C,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QAClC,MAAM,GAAG,GAAG,6BAA6B,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACxE,IAAI,GAAG;YAAE,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,oBAAoB,CAAC,UAAU,CAAC,KAAK,WAAW,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjG,CAAC;IACD,OAAO,0BAA0B,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,KAAmB,EACnB,GAAgB,EAChB,UAAkB,EAClB,IAAY;IAEZ,MAAM,UAAU,GAAmC,EAAE,CAAC;IACtD,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,eAAe;YAAE,SAAS;QACzD,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC;YAAE,SAAS;QAClD,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAClD,IAAI,oBAAoB,CAAC,UAAU,CAAC,KAAK,WAAW,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC;QAChC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1E,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAChG,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC1D,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAE,CAAC;IAC7B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;AAC5E,CAAC;AASD;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAmB,EAAE,GAAc;IAC/E,MAAM,KAAK,GAAyB,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACrE,MAAM,UAAU,GAAG,iCAAiC,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC;IAC7F,IAAI,UAAU,KAAK,MAAM,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAAE,SAAS;QACxD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI;gBAAE,SAAS;YACxG,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,kBAAkB,CAAC;gBAAE,SAAS;YACnE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AACtC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { SyntaxNodeLike, SyntaxTreeLike } from "../languages/types.js";
2
+ import type { CallableIdentity } from "../languages/callable-arity.js";
2
3
  import type { SymbolDef } from "./types.js";
3
4
  export type TypeScriptCallableRole = "signature" | "implementation" | "other";
4
5
  /**
@@ -6,46 +7,36 @@ export type TypeScriptCallableRole = "signature" | "implementation" | "other";
6
7
  * The name node's ancestors distinguish a declaration-only signature from a body.
7
8
  */
8
9
  export declare function typescriptCallableRole(node: SyntaxNodeLike | null | undefined): TypeScriptCallableRole;
9
- export declare function typescriptCallableRoleAt(tree: SyntaxTreeLike, start: number, end: number): TypeScriptCallableRole;
10
10
  /**
11
11
  * Class, interface, enum, type-literal, object-literal, and namespace/module bodies each own
12
12
  * their callables, so a type literal's `m(): void` signature and an object literal's `m() {}`
13
- * are never one overload set. "ambient_declaration" is a declaration wrapper, not a callable
14
- * container: nested "internal_module"/"module" nodes are found first, while standalone ambient
15
- * signatures remain in the file-level group.
13
+ * are never one overload set. A function or other block body is its own lexical scope: a local
14
+ * `function helper() {}` inside a method never joins the class member `helper`. Namespace and
15
+ * `declare global` bodies are statement blocks too, but they belong to their declaration.
16
+ * "ambient_declaration" is a declaration wrapper, not a callable container: nested
17
+ * "internal_module"/"module" nodes are found first, while standalone ambient signatures remain
18
+ * in the file-level group.
16
19
  */
20
+ export declare function typescriptCallableContainerKeyForNode(node: SyntaxNodeLike): string;
17
21
  export declare function typescriptCallableContainerKey(tree: SyntaxTreeLike, start: number, end: number): string;
18
22
  /** Namespace reopenings with the same name and lexical namespace path share a member set. */
19
23
  export declare function typescriptMergedNamespaceContainers(tree: SyntaxTreeLike, locals: readonly SymbolDef[], receiver: SymbolDef): SyntaxNodeLike[];
20
- /** Keep only candidates whose declaration belongs to the requested callable container. */
21
- export declare function typescriptCallableCandidatesInContainer<T>(group: readonly T[], tree: SyntaxTreeLike, rangeOf: (entry: T) => SymbolDef["range"], start: number, end: number): readonly T[];
24
+ /** Keep only declarations with the same indexed callable group. */
25
+ export declare function typescriptCallableCandidatesInContainer<T>(group: readonly T[], identityOf: (entry: T) => CallableIdentity | undefined, key: string | undefined): readonly T[];
22
26
  /** Only a single implementation can stand in for every signature of an overload group. */
23
- export declare function typescriptCollapsedOverloadTarget<T>(group: readonly T[], tree: SyntaxTreeLike, definitionOf: (entry: T) => SymbolDef): T | undefined;
24
- /**
25
- * Collapse an overload group only when one implementation is proven. Otherwise each
26
- * declaration remains an arity candidate.
27
- */
28
- export declare function typescriptCollapsedOverloadCandidates<T>(group: readonly T[], tree: SyntaxTreeLike, definitionOf: (entry: T) => SymbolDef): readonly T[];
29
- /**
30
- * Select the canonical implementation only when a declared overload accepts a known count.
31
- * Unknown counts retain the implementation; signature-only groups need one matching declaration.
32
- */
27
+ export declare function typescriptCollapsedOverloadTarget<T>(group: readonly T[], identityOf: (entry: T) => CallableIdentity | undefined): T | undefined;
28
+ /** Signature-only and multiply implemented groups remain separate arity candidates. */
29
+ export declare function typescriptCollapsedOverloadCandidates<T>(group: readonly T[], identityOf: (entry: T) => CallableIdentity | undefined): readonly T[];
30
+ /** Select the implementation only if a declared overload accepts a known count. */
33
31
  export declare function typescriptSelectOverloadCandidate<T>(params: {
34
32
  group: readonly T[];
35
- tree: SyntaxTreeLike;
36
- definitionOf: (entry: T) => SymbolDef;
37
- declarationOf: (entry: T) => SyntaxNodeLike | null | undefined;
38
- source: string;
39
- languageId: string;
33
+ identityOf: (entry: T) => CallableIdentity | undefined;
40
34
  argumentCount: number | null;
41
35
  }): T | undefined;
42
36
  /** Check an imported canonical implementation against its declaration-only overloads. */
43
37
  export declare function typescriptOverloadImplementationAcceptsCount(params: {
44
38
  implementation: SymbolDef;
45
39
  locals: readonly SymbolDef[];
46
- tree: SyntaxTreeLike;
47
- source: string;
48
- languageId: string;
49
40
  argumentCount: number | null;
50
41
  }): boolean;
51
42
  //# sourceMappingURL=ts-callables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ts-callables.d.ts","sourceRoot":"","sources":["../../src/indexer/ts-callables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAgB5C,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAE9E;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,sBAAsB,CAYtG;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAEjH;AAUD;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAYvG;AA0CD,6FAA6F;AAC7F,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,QAAQ,EAAE,SAAS,GAClB,cAAc,EAAE,CAYlB;AAED,0FAA0F;AAC1F,wBAAgB,uCAAuC,CAAC,CAAC,EACvD,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC,OAAO,CAAC,EACzC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,GACV,SAAS,CAAC,EAAE,CAgBd;AAED,0FAA0F;AAC1F,wBAAgB,iCAAiC,CAAC,CAAC,EACjD,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,GACpC,CAAC,GAAG,SAAS,CAyBf;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CAAC,CAAC,EACrD,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,IAAI,EAAE,cAAc,EACpB,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,GACpC,SAAS,CAAC,EAAE,CAId;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,MAAM,EAAE;IAC3D,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IACpB,IAAI,EAAE,cAAc,CAAC;IACrB,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IACtC,aAAa,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,cAAc,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/D,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GAAG,CAAC,GAAG,SAAS,CA6ChB;AAED,yFAAyF;AACzF,wBAAgB,4CAA4C,CAAC,MAAM,EAAE;IACnE,cAAc,EAAE,SAAS,CAAC;IAC1B,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GAAG,OAAO,CAoCV"}
1
+ {"version":3,"file":"ts-callables.d.ts","sourceRoot":"","sources":["../../src/indexer/ts-callables.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAgB5C,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,gBAAgB,GAAG,OAAO,CAAC;AAE9E;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,sBAAsB,CAYtG;AAUD;;;;;;;;;GASG;AACH,wBAAgB,qCAAqC,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CASlF;AAOD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEvG;AA0CD,6FAA6F;AAC7F,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,QAAQ,EAAE,SAAS,GAClB,cAAc,EAAE,CAYlB;AAED,mEAAmE;AACnE,wBAAgB,uCAAuC,CAAC,CAAC,EACvD,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,gBAAgB,GAAG,SAAS,EACtD,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,SAAS,CAAC,EAAE,CAYd;AAED,0FAA0F;AAC1F,wBAAgB,iCAAiC,CAAC,CAAC,EACjD,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,gBAAgB,GAAG,SAAS,GACrD,CAAC,GAAG,SAAS,CAYf;AAED,uFAAuF;AACvF,wBAAgB,qCAAqC,CAAC,CAAC,EACrD,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,gBAAgB,GAAG,SAAS,GACrD,SAAS,CAAC,EAAE,CAId;AAED,mFAAmF;AACnF,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,MAAM,EAAE;IAC3D,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IACpB,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,gBAAgB,GAAG,SAAS,CAAC;IACvD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GAAG,CAAC,GAAG,SAAS,CAkChB;AAED,yFAAyF;AACzF,wBAAgB,4CAA4C,CAAC,MAAM,EAAE;IACnE,cAAc,EAAE,SAAS,CAAC;IAC1B,MAAM,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,GAAG,OAAO,CA6BV"}
@@ -1,4 +1,3 @@
1
- import { getCallableArity } from "../languages/callable-arity.js";
2
1
  const OVERLOAD_SIGNATURE_NODE_TYPES = {
3
2
  function_signature: true,
4
3
  method_signature: true,
@@ -28,9 +27,6 @@ export function typescriptCallableRole(node) {
28
27
  }
29
28
  return "other";
30
29
  }
31
- export function typescriptCallableRoleAt(tree, start, end) {
32
- return typescriptCallableRole(tree.rootNode.descendantForIndex(start, end));
33
- }
34
30
  const TYPESCRIPT_MEMBER_CONTAINER_TYPES = new Set([
35
31
  "class_body",
36
32
  "interface_body",
@@ -41,23 +37,33 @@ const TYPESCRIPT_MEMBER_CONTAINER_TYPES = new Set([
41
37
  /**
42
38
  * Class, interface, enum, type-literal, object-literal, and namespace/module bodies each own
43
39
  * their callables, so a type literal's `m(): void` signature and an object literal's `m() {}`
44
- * are never one overload set. "ambient_declaration" is a declaration wrapper, not a callable
45
- * container: nested "internal_module"/"module" nodes are found first, while standalone ambient
46
- * signatures remain in the file-level group.
40
+ * are never one overload set. A function or other block body is its own lexical scope: a local
41
+ * `function helper() {}` inside a method never joins the class member `helper`. Namespace and
42
+ * `declare global` bodies are statement blocks too, but they belong to their declaration.
43
+ * "ambient_declaration" is a declaration wrapper, not a callable container: nested
44
+ * "internal_module"/"module" nodes are found first, while standalone ambient signatures remain
45
+ * in the file-level group.
47
46
  */
48
- export function typescriptCallableContainerKey(tree, start, end) {
49
- let current = tree.rootNode.descendantForIndex(start, end);
47
+ export function typescriptCallableContainerKeyForNode(node) {
48
+ let current = node;
50
49
  while (current) {
51
- if (TYPESCRIPT_MEMBER_CONTAINER_TYPES.has(current.type)) {
50
+ if (TYPESCRIPT_MEMBER_CONTAINER_TYPES.has(current.type))
52
51
  return "type:" + current.startIndex;
53
- }
54
- if (current.type === "internal_module" || current.type === "module") {
52
+ if (current.type === "internal_module" || current.type === "module")
55
53
  return "namespace:" + current.startIndex;
56
- }
54
+ if (current.type === "statement_block" && !isDeclarationBody(current))
55
+ return "block:" + current.startIndex;
57
56
  current = current.parent;
58
57
  }
59
58
  return "module";
60
59
  }
60
+ function isDeclarationBody(block) {
61
+ const owner = block.parent?.type;
62
+ return owner === "internal_module" || owner === "module" || owner === "ambient_declaration";
63
+ }
64
+ export function typescriptCallableContainerKey(tree, start, end) {
65
+ return typescriptCallableContainerKeyForNode(tree.rootNode.descendantForIndex(start, end));
66
+ }
61
67
  function typescriptNamespaceForDefinition(tree, def) {
62
68
  const start = def.range.start.index;
63
69
  if (start === undefined)
@@ -114,18 +120,14 @@ export function typescriptMergedNamespaceContainers(tree, locals, receiver) {
114
120
  }
115
121
  return containers;
116
122
  }
117
- /** Keep only candidates whose declaration belongs to the requested callable container. */
118
- export function typescriptCallableCandidatesInContainer(group, tree, rangeOf, start, end) {
119
- if (!group.length)
123
+ /** Keep only declarations with the same indexed callable group. */
124
+ export function typescriptCallableCandidatesInContainer(group, identityOf, key) {
125
+ if (!group.length || key === undefined)
120
126
  return group;
121
- const containerKey = typescriptCallableContainerKey(tree, start, end);
122
127
  let matching;
123
128
  for (let index = 0; index < group.length; index += 1) {
124
129
  const entry = group[index];
125
- const range = rangeOf(entry);
126
- const candidateStart = range.start.index ?? 0;
127
- const candidateEnd = range.end.index ?? candidateStart;
128
- if (typescriptCallableContainerKey(tree, candidateStart, candidateEnd) === containerKey) {
130
+ if (identityOf(entry)?.key === key) {
129
131
  if (matching)
130
132
  matching.push(entry);
131
133
  }
@@ -136,22 +138,16 @@ export function typescriptCallableCandidatesInContainer(group, tree, rangeOf, st
136
138
  return matching ?? group;
137
139
  }
138
140
  /** Only a single implementation can stand in for every signature of an overload group. */
139
- export function typescriptCollapsedOverloadTarget(group, tree, definitionOf) {
141
+ export function typescriptCollapsedOverloadTarget(group, identityOf) {
140
142
  const first = group[0];
141
143
  if (!first)
142
144
  return undefined;
143
- const firstDefinition = definitionOf(first);
144
- const start = firstDefinition.range.start.index ?? 0;
145
- const end = firstDefinition.range.end.index ?? start;
146
- const candidates = typescriptCallableCandidatesInContainer(group, tree, (entry) => definitionOf(entry).range, start, end);
147
- if (candidates.length !== group.length)
145
+ const key = identityOf(first)?.key;
146
+ if (!key || group.some((entry) => identityOf(entry)?.key !== key))
148
147
  return undefined;
149
148
  let implementation;
150
- for (const entry of candidates) {
151
- const def = definitionOf(entry);
152
- const entryStart = def.range.start.index ?? 0;
153
- const entryEnd = def.range.end.index ?? entryStart;
154
- if (typescriptCallableRoleAt(tree, entryStart, entryEnd) !== "implementation")
149
+ for (const entry of group) {
150
+ if (identityOf(entry)?.role !== "implementation")
155
151
  continue;
156
152
  if (implementation)
157
153
  return undefined;
@@ -159,22 +155,16 @@ export function typescriptCollapsedOverloadTarget(group, tree, definitionOf) {
159
155
  }
160
156
  return implementation;
161
157
  }
162
- /**
163
- * Collapse an overload group only when one implementation is proven. Otherwise each
164
- * declaration remains an arity candidate.
165
- */
166
- export function typescriptCollapsedOverloadCandidates(group, tree, definitionOf) {
158
+ /** Signature-only and multiply implemented groups remain separate arity candidates. */
159
+ export function typescriptCollapsedOverloadCandidates(group, identityOf) {
167
160
  if (group.length < 2)
168
161
  return group;
169
- const implementation = typescriptCollapsedOverloadTarget(group, tree, definitionOf);
162
+ const implementation = typescriptCollapsedOverloadTarget(group, identityOf);
170
163
  return implementation ? [implementation] : group;
171
164
  }
172
- /**
173
- * Select the canonical implementation only when a declared overload accepts a known count.
174
- * Unknown counts retain the implementation; signature-only groups need one matching declaration.
175
- */
165
+ /** Select the implementation only if a declared overload accepts a known count. */
176
166
  export function typescriptSelectOverloadCandidate(params) {
177
- const candidates = typescriptCollapsedOverloadCandidates(params.group, params.tree, params.definitionOf);
167
+ const candidates = typescriptCollapsedOverloadCandidates(params.group, params.identityOf);
178
168
  if (candidates.length === 1) {
179
169
  const implementation = candidates[0];
180
170
  if (params.argumentCount === null || params.group.length === 1)
@@ -183,21 +173,15 @@ export function typescriptSelectOverloadCandidate(params) {
183
173
  for (const candidate of params.group) {
184
174
  if (candidate === implementation)
185
175
  continue;
186
- const def = params.definitionOf(candidate);
187
- const start = def.range.start.index ?? 0;
188
- const end = def.range.end.index ?? start;
189
- if (typescriptCallableRoleAt(params.tree, start, end) !== "signature")
176
+ const identity = params.identityOf(candidate);
177
+ if (identity?.role !== "signature")
190
178
  continue;
191
179
  hasSignature = true;
192
- const declaration = params.declarationOf(candidate);
193
- const arity = declaration
194
- ? getCallableArity({ languageId: params.languageId, source: params.source, declaration })
195
- : null;
180
+ const arity = identity.arity;
196
181
  if (arity &&
197
182
  params.argumentCount >= arity.minArgs &&
198
- (arity.maxArgs === null || params.argumentCount <= arity.maxArgs)) {
183
+ (arity.maxArgs === null || params.argumentCount <= arity.maxArgs))
199
184
  return implementation;
200
- }
201
185
  }
202
186
  return hasSignature ? undefined : implementation;
203
187
  }
@@ -205,14 +189,10 @@ export function typescriptSelectOverloadCandidate(params) {
205
189
  return undefined;
206
190
  let selected;
207
191
  for (const candidate of candidates) {
208
- const declaration = params.declarationOf(candidate);
209
- const arity = declaration
210
- ? getCallableArity({ languageId: params.languageId, source: params.source, declaration })
211
- : null;
192
+ const arity = params.identityOf(candidate)?.arity;
212
193
  if (arity &&
213
- (params.argumentCount < arity.minArgs || (arity.maxArgs !== null && params.argumentCount > arity.maxArgs))) {
194
+ (params.argumentCount < arity.minArgs || (arity.maxArgs !== null && params.argumentCount > arity.maxArgs)))
214
195
  continue;
215
- }
216
196
  if (selected)
217
197
  return undefined;
218
198
  selected = candidate;
@@ -223,7 +203,7 @@ export function typescriptSelectOverloadCandidate(params) {
223
203
  export function typescriptOverloadImplementationAcceptsCount(params) {
224
204
  if (params.argumentCount === null)
225
205
  return true;
226
- const { implementation, tree } = params;
206
+ const { implementation } = params;
227
207
  let first;
228
208
  let sameName;
229
209
  for (const candidate of params.locals) {
@@ -238,26 +218,15 @@ export function typescriptOverloadImplementationAcceptsCount(params) {
238
218
  }
239
219
  if (!sameName)
240
220
  return true;
241
- const start = implementation.range.start.index ?? 0;
242
- const end = implementation.range.end.index ?? start;
243
- const group = typescriptCallableCandidatesInContainer(sameName, tree, (candidate) => candidate.range, start, end);
244
- const canonical = typescriptCollapsedOverloadTarget(group, tree, (candidate) => candidate);
221
+ const group = typescriptCallableCandidatesInContainer(sameName, (candidate) => candidate.callable, implementation.callable?.key);
222
+ const canonical = typescriptCollapsedOverloadTarget(group, (candidate) => candidate.callable);
245
223
  if (!canonical ||
246
224
  canonical.range.start.index !== implementation.range.start.index ||
247
- canonical.range.end.index !== implementation.range.end.index) {
225
+ canonical.range.end.index !== implementation.range.end.index)
248
226
  return true;
249
- }
250
227
  return !!typescriptSelectOverloadCandidate({
251
228
  group,
252
- tree,
253
- definitionOf: (candidate) => candidate,
254
- declarationOf: (candidate) => {
255
- const candidateStart = candidate.range.start.index ?? 0;
256
- const candidateEnd = candidate.range.end.index ?? candidateStart;
257
- return tree.rootNode.descendantForIndex(candidateStart, candidateEnd)?.parent;
258
- },
259
- source: params.source,
260
- languageId: params.languageId,
229
+ identityOf: (candidate) => candidate.callable,
261
230
  argumentCount: params.argumentCount,
262
231
  });
263
232
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ts-callables.js","sourceRoot":"","sources":["../../src/indexer/ts-callables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-callables.js","sourceRoot":"","sources":["../../src/indexer/ts-callables.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
- import type { FallbackImportExtractionReason } from "../graphs/specifiers.js";
2
1
  import type { GraphAdjacencyIndex } from "../graphs/adjacency.js";
3
2
  import type { GraphBuildOptions } from "../graphs/types.js";
4
3
  import type { LogLevel } from "../logging.js";
5
- import type { NativeFallbackReason, NativeRuntimeMode } from "../native/contracts.js";
4
+ import type { NativeFallbackReason } from "../native/contracts.js";
6
5
  import type { ScopeIndex } from "./scope-types.js";
7
6
  import type { ReferenceCandidateIndex } from "./reference-candidate-types.js";
8
7
  import type { ParsedFileContext } from "./parse-context.js";
9
8
  import type { Edge, FileId, Graph, ProgressUpdate, Range } from "../types.js";
10
9
  import type { ProjectDiscoveryContext, ProjectFileDiscoveryOptions, ProjectFileInfo } from "../util/project-files.js";
11
10
  import type { ImportBinding } from "./import-types.js";
11
+ import type { CallableIdentity } from "../languages/callable-arity.js";
12
12
  export type { ImportBinding } from "./import-types.js";
13
13
  export declare enum SymbolKind {
14
14
  Function = "function",
@@ -28,7 +28,17 @@ export type SymbolDef = {
28
28
  localName: string;
29
29
  kind: SymbolKind;
30
30
  range: Range;
31
+ /** Indexed callable facts; absent for symbols that are not callable. */
32
+ callable?: CallableIdentity;
31
33
  isMember?: boolean;
34
+ /** Direct JVM type owner for nested classifiers and Java members. */
35
+ jvmTypeOwnerStartIndex?: number;
36
+ /** Java member with static syntax, or an implicitly static nested classifier. */
37
+ jvmStaticMember?: boolean;
38
+ /** Non-public Java type or member; static imports remain package-restricted. */
39
+ javaPackagePrivate?: boolean;
40
+ /** A protected member remains inherited across Java packages. */
41
+ javaProtectedMember?: boolean;
32
42
  /** C tag identity; a reference can introduce an incomplete tag if no visible tag exists. */
33
43
  cTag?: "declaration" | "forward" | "reference";
34
44
  docstring?: string;
@@ -110,10 +120,9 @@ export type SqlNavigationCache = {
110
120
  };
111
121
  };
112
122
  export type CachedAnalysisSummary = {
113
- mode: "semantic" | "mixed" | "reduced";
114
- backend: "native" | "mixed" | "graph-only" | "unknown";
123
+ mode: "semantic";
124
+ backend: "native" | "unknown";
115
125
  parserDegradedFiles: number;
116
- fallbackImportExtractionFiles: number;
117
126
  nativeFilesUsed: number;
118
127
  nativeFilesFellBack: number;
119
128
  label: string;
@@ -125,7 +134,6 @@ export type ProjectIndex = {
125
134
  byFile: Map<FileId, ModuleIndex>;
126
135
  projectRoot?: string;
127
136
  languageExtensions?: LanguageExtensionMap;
128
- nativeMode?: NativeRuntimeMode;
129
137
  exportCache: Map<string, ResolvedExport | null>;
130
138
  scopeCache: Map<string, ScopeIndex>;
131
139
  parsed?: Map<string, ParsedFileContext> | undefined;
@@ -146,9 +154,9 @@ export type ProjectIndex = {
146
154
  /**
147
155
  * Options for full index construction.
148
156
  *
149
- * For deterministic agent packs, the most common choices are `native: "auto"`,
150
- * optional `discovery` globs, and a `report` object when the caller wants
151
- * timings/backend diagnostics alongside the resulting index.
157
+ * For deterministic agent packs, the most common choices are optional `discovery` globs
158
+ * and a `report` object when the caller wants timings/backend diagnostics alongside the
159
+ * resulting index.
152
160
  */
153
161
  export type LanguageExtensionMap = import("../languages.js").LanguageExtensionMap;
154
162
  export type CacheLocation = string;
@@ -173,9 +181,7 @@ export type BuildOptions = {
173
181
  cacheStrict?: boolean;
174
182
  useBloomFilters?: boolean;
175
183
  graph?: GraphBuildOptions;
176
- native?: NativeRuntimeMode;
177
184
  cacheVerify?: boolean;
178
- incrementalStrict?: boolean;
179
185
  report?: BuildReport;
180
186
  parsedCacheMaxEntries?: number;
181
187
  logLevel?: LogLevel;
@@ -262,18 +268,6 @@ export type BuildFileReport = {
262
268
  message: string;
263
269
  }>;
264
270
  };
265
- export type FallbackImportExtractionReport = {
266
- total: number;
267
- byLanguage: Record<string, number>;
268
- files: Record<string, {
269
- language: string;
270
- reason: FallbackImportExtractionReason;
271
- }>;
272
- byReason?: Record<FallbackImportExtractionReason, number>;
273
- };
274
- export type GraphReport = {
275
- fallbackImportExtraction: FallbackImportExtractionReport;
276
- };
277
271
  export type ManifestReport = {
278
272
  used: boolean;
279
273
  reused: boolean;
@@ -360,7 +354,6 @@ export type BuildReport = {
360
354
  timings: BuildTimingReport;
361
355
  cache?: CacheReport;
362
356
  files?: BuildFileReport;
363
- graph?: GraphReport;
364
357
  manifest?: ManifestReport;
365
358
  backend?: BackendReport;
366
359
  workerPool?: WorkerPoolReport;
@@ -417,7 +410,7 @@ export type GoToRequest = {
417
410
  column: number;
418
411
  };
419
412
  export type ResolutionProvenance = {
420
- backend?: "native" | "graph-only" | "heuristic";
413
+ backend?: "native" | "heuristic";
421
414
  resolution?: "exact" | "import" | "import-star" | "namespace" | "reexport" | "php-qualified" | "member-access";
422
415
  confidence?: "high" | "medium" | "low";
423
416
  };