@lzehrung/codegraph 2.3.31 → 2.4.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 (407) hide show
  1. package/README.md +30 -137
  2. package/codegraph-skill/codegraph/SKILL.md +5 -3
  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/search.d.ts.map +1 -1
  7. package/dist/agent/search.js +3 -0
  8. package/dist/agent/search.js.map +1 -1
  9. package/dist/agent/session.d.ts +3 -0
  10. package/dist/agent/session.d.ts.map +1 -1
  11. package/dist/agent/session.js +10 -2
  12. package/dist/agent/session.js.map +1 -1
  13. package/dist/bin/cli.js +42243 -29202
  14. package/dist/bin/query-index-worker.js +73 -11
  15. package/dist/cli/affected.d.ts.map +1 -1
  16. package/dist/cli/affected.js +4 -1
  17. package/dist/cli/affected.js.map +1 -1
  18. package/dist/cli/command-catalog.js +1 -1
  19. package/dist/cli/command-catalog.js.map +1 -1
  20. package/dist/cli/graph-queries.d.ts.map +1 -1
  21. package/dist/cli/graph-queries.js +27 -1
  22. package/dist/cli/graph-queries.js.map +1 -1
  23. package/dist/cli/help.d.ts +2 -2
  24. package/dist/cli/help.d.ts.map +1 -1
  25. package/dist/cli/help.js +4 -2
  26. package/dist/cli/help.js.map +1 -1
  27. package/dist/cli/options.js +2 -2
  28. package/dist/cli/options.js.map +1 -1
  29. package/dist/drift/artifact.d.ts.map +1 -1
  30. package/dist/drift/artifact.js +15 -18
  31. package/dist/drift/artifact.js.map +1 -1
  32. package/dist/drift/compare.js +1 -1
  33. package/dist/drift/compare.js.map +1 -1
  34. package/dist/drift/snapshot.d.ts.map +1 -1
  35. package/dist/drift/snapshot.js +5 -6
  36. package/dist/drift/snapshot.js.map +1 -1
  37. package/dist/drift/types.d.ts +2 -0
  38. package/dist/drift/types.d.ts.map +1 -1
  39. package/dist/drift/types.js.map +1 -1
  40. package/dist/graph-builder.d.ts.map +1 -1
  41. package/dist/graph-builder.js +4 -6
  42. package/dist/graph-builder.js.map +1 -1
  43. package/dist/graph-edge-collector.d.ts +3 -0
  44. package/dist/graph-edge-collector.d.ts.map +1 -1
  45. package/dist/graph-edge-collector.js +8 -5
  46. package/dist/graph-edge-collector.js.map +1 -1
  47. package/dist/graphs/angularjs.d.ts.map +1 -1
  48. package/dist/graphs/angularjs.js +2 -1
  49. package/dist/graphs/angularjs.js.map +1 -1
  50. package/dist/graphs/edge-resolution.d.ts +4 -1
  51. package/dist/graphs/edge-resolution.d.ts.map +1 -1
  52. package/dist/graphs/edge-resolution.js +26 -2
  53. package/dist/graphs/edge-resolution.js.map +1 -1
  54. package/dist/graphs/specifiers.d.ts.map +1 -1
  55. package/dist/graphs/specifiers.js +6 -2
  56. package/dist/graphs/specifiers.js.map +1 -1
  57. package/dist/graphs/symbol-graph-detailed/ast.d.ts +20 -0
  58. package/dist/graphs/symbol-graph-detailed/ast.d.ts.map +1 -1
  59. package/dist/graphs/symbol-graph-detailed/ast.js +154 -15
  60. package/dist/graphs/symbol-graph-detailed/ast.js.map +1 -1
  61. package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts +51 -8
  62. package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts.map +1 -1
  63. package/dist/graphs/symbol-graph-detailed/edge-passes.js +823 -132
  64. package/dist/graphs/symbol-graph-detailed/edge-passes.js.map +1 -1
  65. package/dist/graphs/symbol-graph-detailed/import-aliases.d.ts +2 -1
  66. package/dist/graphs/symbol-graph-detailed/import-aliases.d.ts.map +1 -1
  67. package/dist/graphs/symbol-graph-detailed/import-aliases.js +139 -7
  68. package/dist/graphs/symbol-graph-detailed/import-aliases.js.map +1 -1
  69. package/dist/graphs/symbol-graph-detailed/member-chains.d.ts +1 -0
  70. package/dist/graphs/symbol-graph-detailed/member-chains.d.ts.map +1 -1
  71. package/dist/graphs/symbol-graph-detailed/member-chains.js +3 -1
  72. package/dist/graphs/symbol-graph-detailed/member-chains.js.map +1 -1
  73. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts +128 -15
  74. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts.map +1 -1
  75. package/dist/graphs/symbol-graph-detailed/receiver-calls.js +873 -93
  76. package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
  77. package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
  78. package/dist/graphs/symbol-graph-detailed.js +434 -40
  79. package/dist/graphs/symbol-graph-detailed.js.map +1 -1
  80. package/dist/graphs/symbol-graph.d.ts +2 -0
  81. package/dist/graphs/symbol-graph.d.ts.map +1 -1
  82. package/dist/graphs/symbol-graph.js +34 -16
  83. package/dist/graphs/symbol-graph.js.map +1 -1
  84. package/dist/impact/call-compatibility/providers/index.d.ts +4 -4
  85. package/dist/impact/call-compatibility/providers/index.d.ts.map +1 -1
  86. package/dist/impact/call-compatibility/providers/index.js +6 -6
  87. package/dist/impact/call-compatibility/providers/index.js.map +1 -1
  88. package/dist/impact/call-compatibility/providers/types.d.ts +2 -0
  89. package/dist/impact/call-compatibility/providers/types.d.ts.map +1 -1
  90. package/dist/impact/call-compatibility/types.d.ts +6 -0
  91. package/dist/impact/call-compatibility/types.d.ts.map +1 -1
  92. package/dist/impact/call-compatibility.d.ts.map +1 -1
  93. package/dist/impact/call-compatibility.js +310 -516
  94. package/dist/impact/call-compatibility.js.map +1 -1
  95. package/dist/impact/map.js +1 -0
  96. package/dist/impact/map.js.map +1 -1
  97. package/dist/impact/reference-cache.d.ts.map +1 -1
  98. package/dist/impact/reference-cache.js +2 -2
  99. package/dist/impact/reference-cache.js.map +1 -1
  100. package/dist/index.d.ts +1 -1
  101. package/dist/index.d.ts.map +1 -1
  102. package/dist/index.js +1 -1
  103. package/dist/index.js.map +1 -1
  104. package/dist/indexer/ambiguous-resolution.d.ts +11 -0
  105. package/dist/indexer/ambiguous-resolution.d.ts.map +1 -0
  106. package/dist/indexer/ambiguous-resolution.js +19 -0
  107. package/dist/indexer/ambiguous-resolution.js.map +1 -0
  108. package/dist/indexer/build-cache/module-cache.d.ts +38 -0
  109. package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
  110. package/dist/indexer/build-cache/module-cache.js +151 -9
  111. package/dist/indexer/build-cache/module-cache.js.map +1 -1
  112. package/dist/indexer/build-cache/options.d.ts +16 -43
  113. package/dist/indexer/build-cache/options.d.ts.map +1 -1
  114. package/dist/indexer/build-cache/options.js +16 -43
  115. package/dist/indexer/build-cache/options.js.map +1 -1
  116. package/dist/indexer/build-cache/project-snapshot.d.ts +1 -0
  117. package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
  118. package/dist/indexer/build-cache/project-snapshot.js +117 -24
  119. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  120. package/dist/indexer/build-cache/resolver-environment.d.ts.map +1 -1
  121. package/dist/indexer/build-cache/resolver-environment.js +32 -2
  122. package/dist/indexer/build-cache/resolver-environment.js.map +1 -1
  123. package/dist/indexer/build-cache.d.ts +1 -1
  124. package/dist/indexer/build-cache.d.ts.map +1 -1
  125. package/dist/indexer/build-cache.js +1 -1
  126. package/dist/indexer/build-cache.js.map +1 -1
  127. package/dist/indexer/build-index.d.ts.map +1 -1
  128. package/dist/indexer/build-index.js +593 -22
  129. package/dist/indexer/build-index.js.map +1 -1
  130. package/dist/indexer/call-hierarchy.js +1 -1
  131. package/dist/indexer/call-hierarchy.js.map +1 -1
  132. package/dist/indexer/compilation-units.d.ts +101 -0
  133. package/dist/indexer/compilation-units.d.ts.map +1 -0
  134. package/dist/indexer/compilation-units.js +605 -0
  135. package/dist/indexer/compilation-units.js.map +1 -0
  136. package/dist/indexer/cpp-callables.d.ts +20 -0
  137. package/dist/indexer/cpp-callables.d.ts.map +1 -0
  138. package/dist/indexer/cpp-callables.js +554 -0
  139. package/dist/indexer/cpp-callables.js.map +1 -0
  140. package/dist/indexer/declaration-visibility.d.ts +36 -2
  141. package/dist/indexer/declaration-visibility.d.ts.map +1 -1
  142. package/dist/indexer/declaration-visibility.js +136 -2
  143. package/dist/indexer/declaration-visibility.js.map +1 -1
  144. package/dist/indexer/expand-star-imports.d.ts.map +1 -1
  145. package/dist/indexer/expand-star-imports.js +28 -6
  146. package/dist/indexer/expand-star-imports.js.map +1 -1
  147. package/dist/indexer/import-types.d.ts +37 -0
  148. package/dist/indexer/import-types.d.ts.map +1 -1
  149. package/dist/indexer/import-types.js +24 -1
  150. package/dist/indexer/import-types.js.map +1 -1
  151. package/dist/indexer/imports/context.d.ts +11 -1
  152. package/dist/indexer/imports/context.d.ts.map +1 -1
  153. package/dist/indexer/imports/import-binding-tables.d.ts +12 -1
  154. package/dist/indexer/imports/import-binding-tables.d.ts.map +1 -1
  155. package/dist/indexer/imports/import-binding-tables.js +144 -19
  156. package/dist/indexer/imports/import-binding-tables.js.map +1 -1
  157. package/dist/indexer/imports/js-text-imports.js +4 -4
  158. package/dist/indexer/imports/js-text-imports.js.map +1 -1
  159. package/dist/indexer/imports/native-captures.d.ts.map +1 -1
  160. package/dist/indexer/imports/native-captures.js +18 -6
  161. package/dist/indexer/imports/native-captures.js.map +1 -1
  162. package/dist/indexer/imports/python.d.ts +10 -2
  163. package/dist/indexer/imports/python.d.ts.map +1 -1
  164. package/dist/indexer/imports/python.js +91 -40
  165. package/dist/indexer/imports/python.js.map +1 -1
  166. package/dist/indexer/imports/text-import-extractors.d.ts.map +1 -1
  167. package/dist/indexer/imports/text-import-extractors.js +51 -12
  168. package/dist/indexer/imports/text-import-extractors.js.map +1 -1
  169. package/dist/indexer/imports.d.ts.map +1 -1
  170. package/dist/indexer/imports.js +23 -4
  171. package/dist/indexer/imports.js.map +1 -1
  172. package/dist/indexer/incremental-plan.d.ts +33 -0
  173. package/dist/indexer/incremental-plan.d.ts.map +1 -1
  174. package/dist/indexer/incremental-plan.js +187 -1
  175. package/dist/indexer/incremental-plan.js.map +1 -1
  176. package/dist/indexer/locals-and-exports.d.ts +2 -0
  177. package/dist/indexer/locals-and-exports.d.ts.map +1 -1
  178. package/dist/indexer/locals-and-exports.js +565 -54
  179. package/dist/indexer/locals-and-exports.js.map +1 -1
  180. package/dist/indexer/name-lookup-policies/c-family.d.ts +7 -0
  181. package/dist/indexer/name-lookup-policies/c-family.d.ts.map +1 -0
  182. package/dist/indexer/name-lookup-policies/c-family.js +117 -0
  183. package/dist/indexer/name-lookup-policies/c-family.js.map +1 -0
  184. package/dist/indexer/name-lookup-policies/csharp-using-static.d.ts +11 -0
  185. package/dist/indexer/name-lookup-policies/csharp-using-static.d.ts.map +1 -0
  186. package/dist/indexer/name-lookup-policies/csharp-using-static.js +136 -0
  187. package/dist/indexer/name-lookup-policies/csharp-using-static.js.map +1 -0
  188. package/dist/indexer/name-lookup-policies/implicit-self.d.ts +10 -0
  189. package/dist/indexer/name-lookup-policies/implicit-self.d.ts.map +1 -0
  190. package/dist/indexer/name-lookup-policies/implicit-self.js +113 -0
  191. package/dist/indexer/name-lookup-policies/implicit-self.js.map +1 -0
  192. package/dist/indexer/name-lookup-policies/index.d.ts +3 -0
  193. package/dist/indexer/name-lookup-policies/index.d.ts.map +1 -0
  194. package/dist/indexer/name-lookup-policies/index.js +106 -0
  195. package/dist/indexer/name-lookup-policies/index.js.map +1 -0
  196. package/dist/indexer/name-lookup-policies/php.d.ts +3 -0
  197. package/dist/indexer/name-lookup-policies/php.d.ts.map +1 -0
  198. package/dist/indexer/name-lookup-policies/php.js +75 -0
  199. package/dist/indexer/name-lookup-policies/php.js.map +1 -0
  200. package/dist/indexer/name-resolution-types.d.ts +99 -0
  201. package/dist/indexer/name-resolution-types.d.ts.map +1 -0
  202. package/dist/indexer/name-resolution-types.js +2 -0
  203. package/dist/indexer/name-resolution-types.js.map +1 -0
  204. package/dist/indexer/name-resolution.d.ts +52 -0
  205. package/dist/indexer/name-resolution.d.ts.map +1 -0
  206. package/dist/indexer/name-resolution.js +189 -0
  207. package/dist/indexer/name-resolution.js.map +1 -0
  208. package/dist/indexer/navigation-cpp.d.ts +50 -0
  209. package/dist/indexer/navigation-cpp.d.ts.map +1 -0
  210. package/dist/indexer/navigation-cpp.js +654 -0
  211. package/dist/indexer/navigation-cpp.js.map +1 -0
  212. package/dist/indexer/navigation-goto.d.ts +106 -3
  213. package/dist/indexer/navigation-goto.d.ts.map +1 -1
  214. package/dist/indexer/navigation-goto.js +2074 -137
  215. package/dist/indexer/navigation-goto.js.map +1 -1
  216. package/dist/indexer/navigation-local.d.ts +18 -2
  217. package/dist/indexer/navigation-local.d.ts.map +1 -1
  218. package/dist/indexer/navigation-local.js +498 -61
  219. package/dist/indexer/navigation-local.js.map +1 -1
  220. package/dist/indexer/navigation-php.d.ts +66 -0
  221. package/dist/indexer/navigation-php.d.ts.map +1 -1
  222. package/dist/indexer/navigation-php.js +287 -4
  223. package/dist/indexer/navigation-php.js.map +1 -1
  224. package/dist/indexer/navigation-references.d.ts +72 -5
  225. package/dist/indexer/navigation-references.d.ts.map +1 -1
  226. package/dist/indexer/navigation-references.js +620 -54
  227. package/dist/indexer/navigation-references.js.map +1 -1
  228. package/dist/indexer/navigation-resolve.d.ts +33 -2
  229. package/dist/indexer/navigation-resolve.d.ts.map +1 -1
  230. package/dist/indexer/navigation-resolve.js +446 -193
  231. package/dist/indexer/navigation-resolve.js.map +1 -1
  232. package/dist/indexer/navigation.d.ts +28 -2
  233. package/dist/indexer/navigation.d.ts.map +1 -1
  234. package/dist/indexer/navigation.js +1082 -151
  235. package/dist/indexer/navigation.js.map +1 -1
  236. package/dist/indexer/php-namespace-symbols.d.ts +66 -0
  237. package/dist/indexer/php-namespace-symbols.d.ts.map +1 -0
  238. package/dist/indexer/php-namespace-symbols.js +342 -0
  239. package/dist/indexer/php-namespace-symbols.js.map +1 -0
  240. package/dist/indexer/reference-context.d.ts +2 -0
  241. package/dist/indexer/reference-context.d.ts.map +1 -1
  242. package/dist/indexer/reference-context.js +4 -0
  243. package/dist/indexer/reference-context.js.map +1 -1
  244. package/dist/indexer/scope-nodes.d.ts +92 -13
  245. package/dist/indexer/scope-nodes.d.ts.map +1 -1
  246. package/dist/indexer/scope-nodes.js +212 -20
  247. package/dist/indexer/scope-nodes.js.map +1 -1
  248. package/dist/indexer/scope-types.d.ts +25 -1
  249. package/dist/indexer/scope-types.d.ts.map +1 -1
  250. package/dist/indexer/scope.d.ts.map +1 -1
  251. package/dist/indexer/scope.js +894 -45
  252. package/dist/indexer/scope.js.map +1 -1
  253. package/dist/indexer/shared-owner-identity.d.ts +53 -0
  254. package/dist/indexer/shared-owner-identity.d.ts.map +1 -0
  255. package/dist/indexer/shared-owner-identity.js +460 -0
  256. package/dist/indexer/shared-owner-identity.js.map +1 -0
  257. package/dist/indexer/shared.d.ts +1 -1
  258. package/dist/indexer/shared.d.ts.map +1 -1
  259. package/dist/indexer/shared.js +1 -1
  260. package/dist/indexer/shared.js.map +1 -1
  261. package/dist/indexer/star-import-precedence.d.ts +114 -0
  262. package/dist/indexer/star-import-precedence.d.ts.map +1 -0
  263. package/dist/indexer/star-import-precedence.js +396 -0
  264. package/dist/indexer/star-import-precedence.js.map +1 -0
  265. package/dist/indexer/symbols.d.ts +3 -1
  266. package/dist/indexer/symbols.d.ts.map +1 -1
  267. package/dist/indexer/symbols.js +58 -18
  268. package/dist/indexer/symbols.js.map +1 -1
  269. package/dist/indexer/ts-callables.d.ts +51 -0
  270. package/dist/indexer/ts-callables.d.ts.map +1 -0
  271. package/dist/indexer/ts-callables.js +264 -0
  272. package/dist/indexer/ts-callables.js.map +1 -0
  273. package/dist/indexer/types.d.ts +23 -1
  274. package/dist/indexer/types.d.ts.map +1 -1
  275. package/dist/indexer/unused-exports.d.ts +13 -0
  276. package/dist/indexer/unused-exports.d.ts.map +1 -0
  277. package/dist/indexer/unused-exports.js +159 -0
  278. package/dist/indexer/unused-exports.js.map +1 -0
  279. package/dist/indexer/workspace-symbols.d.ts.map +1 -1
  280. package/dist/indexer/workspace-symbols.js +3 -2
  281. package/dist/indexer/workspace-symbols.js.map +1 -1
  282. package/dist/indexer.d.ts +2 -2
  283. package/dist/indexer.d.ts.map +1 -1
  284. package/dist/indexer.js +1 -1
  285. package/dist/indexer.js.map +1 -1
  286. package/dist/languages/callable-arity.d.ts +202 -0
  287. package/dist/languages/callable-arity.d.ts.map +1 -0
  288. package/dist/languages/callable-arity.js +1182 -0
  289. package/dist/languages/callable-arity.js.map +1 -0
  290. package/dist/languages/definitions/c-family.d.ts.map +1 -1
  291. package/dist/languages/definitions/c-family.js +30 -1
  292. package/dist/languages/definitions/c-family.js.map +1 -1
  293. package/dist/languages/definitions/c.d.ts +4 -0
  294. package/dist/languages/definitions/c.d.ts.map +1 -1
  295. package/dist/languages/definitions/c.js +19 -0
  296. package/dist/languages/definitions/c.js.map +1 -1
  297. package/dist/languages/definitions/cpp.d.ts.map +1 -1
  298. package/dist/languages/definitions/cpp.js +12 -0
  299. package/dist/languages/definitions/cpp.js.map +1 -1
  300. package/dist/languages/definitions/csharp.d.ts.map +1 -1
  301. package/dist/languages/definitions/csharp.js +2 -8
  302. package/dist/languages/definitions/csharp.js.map +1 -1
  303. package/dist/languages/definitions/go.d.ts.map +1 -1
  304. package/dist/languages/definitions/go.js +3 -0
  305. package/dist/languages/definitions/go.js.map +1 -1
  306. package/dist/languages/definitions/javascript.d.ts.map +1 -1
  307. package/dist/languages/definitions/javascript.js +10 -1
  308. package/dist/languages/definitions/javascript.js.map +1 -1
  309. package/dist/languages/definitions/js-family.d.ts +1 -1
  310. package/dist/languages/definitions/js-family.d.ts.map +1 -1
  311. package/dist/languages/definitions/js-family.js +7 -1
  312. package/dist/languages/definitions/js-family.js.map +1 -1
  313. package/dist/languages/definitions/php.d.ts.map +1 -1
  314. package/dist/languages/definitions/php.js +5 -1
  315. package/dist/languages/definitions/php.js.map +1 -1
  316. package/dist/languages/definitions/typescript.d.ts.map +1 -1
  317. package/dist/languages/definitions/typescript.js +8 -1
  318. package/dist/languages/definitions/typescript.js.map +1 -1
  319. package/dist/languages/definitions/zig.d.ts.map +1 -1
  320. package/dist/languages/definitions/zig.js +2 -0
  321. package/dist/languages/definitions/zig.js.map +1 -1
  322. package/dist/mcp/handlers.js +14 -7
  323. package/dist/mcp/handlers.js.map +1 -1
  324. package/dist/review/candidates.d.ts.map +1 -1
  325. package/dist/review/candidates.js +1 -1
  326. package/dist/review/candidates.js.map +1 -1
  327. package/dist/review/deleted.d.ts +3 -3
  328. package/dist/review/deleted.d.ts.map +1 -1
  329. package/dist/review/deleted.js +82 -32
  330. package/dist/review/deleted.js.map +1 -1
  331. package/dist/review/report.d.ts +1 -0
  332. package/dist/review/report.d.ts.map +1 -1
  333. package/dist/review/report.js +1 -1
  334. package/dist/review/report.js.map +1 -1
  335. package/dist/review.d.ts.map +1 -1
  336. package/dist/review.js +1 -0
  337. package/dist/review.js.map +1 -1
  338. package/dist/sql/navigation.d.ts.map +1 -1
  339. package/dist/sql/navigation.js +1 -0
  340. package/dist/sql/navigation.js.map +1 -1
  341. package/dist/sql/source-graph.d.ts.map +1 -1
  342. package/dist/sql/source-graph.js +2 -2
  343. package/dist/sql/source-graph.js.map +1 -1
  344. package/dist/sqlite/schema.d.ts +1 -1
  345. package/dist/sqlite/schema.d.ts.map +1 -1
  346. package/dist/sqlite/schema.js +8 -2
  347. package/dist/sqlite/schema.js.map +1 -1
  348. package/dist/sqlite/write.js +2 -2
  349. package/dist/sqlite/write.js.map +1 -1
  350. package/dist/types.d.ts +2 -0
  351. package/dist/types.d.ts.map +1 -1
  352. package/dist/util/bloom-filter.d.ts +7 -1
  353. package/dist/util/bloom-filter.d.ts.map +1 -1
  354. package/dist/util/bloom-filter.js +12 -2
  355. package/dist/util/bloom-filter.js.map +1 -1
  356. package/dist/util/graph-edges.d.ts +19 -1
  357. package/dist/util/graph-edges.d.ts.map +1 -1
  358. package/dist/util/graph-edges.js +30 -4
  359. package/dist/util/graph-edges.js.map +1 -1
  360. package/dist/util/identifiers.d.ts +15 -0
  361. package/dist/util/identifiers.d.ts.map +1 -1
  362. package/dist/util/identifiers.js +35 -0
  363. package/dist/util/identifiers.js.map +1 -1
  364. package/dist/util/member-access-tables.d.ts +61 -4
  365. package/dist/util/member-access-tables.d.ts.map +1 -1
  366. package/dist/util/member-access-tables.js +137 -19
  367. package/dist/util/member-access-tables.js.map +1 -1
  368. package/dist/util/member-access.d.ts +17 -0
  369. package/dist/util/member-access.d.ts.map +1 -1
  370. package/dist/util/member-access.js +95 -3
  371. package/dist/util/member-access.js.map +1 -1
  372. package/dist/util/resolution/cargo-targets.d.ts +11 -0
  373. package/dist/util/resolution/cargo-targets.d.ts.map +1 -1
  374. package/dist/util/resolution/cargo-targets.js +174 -13
  375. package/dist/util/resolution/cargo-targets.js.map +1 -1
  376. package/dist/util/resolution/csharp.d.ts +33 -1
  377. package/dist/util/resolution/csharp.d.ts.map +1 -1
  378. package/dist/util/resolution/csharp.js +145 -30
  379. package/dist/util/resolution/csharp.js.map +1 -1
  380. package/dist/util/resolution/php.d.ts.map +1 -1
  381. package/dist/util/resolution/php.js +35 -8
  382. package/dist/util/resolution/php.js.map +1 -1
  383. package/dist/util/resolution/python.d.ts +9 -0
  384. package/dist/util/resolution/python.d.ts.map +1 -1
  385. package/dist/util/resolution/python.js +46 -0
  386. package/dist/util/resolution/python.js.map +1 -1
  387. package/dist/util/resolution/rust.d.ts.map +1 -1
  388. package/dist/util/resolution/rust.js +95 -26
  389. package/dist/util/resolution/rust.js.map +1 -1
  390. package/dist/util/resolution-candidates.d.ts +5 -0
  391. package/dist/util/resolution-candidates.d.ts.map +1 -1
  392. package/dist/util/resolution-candidates.js +16 -3
  393. package/dist/util/resolution-candidates.js.map +1 -1
  394. package/dist/util/resolution.d.ts +2 -1
  395. package/dist/util/resolution.d.ts.map +1 -1
  396. package/dist/util/resolution.js +96 -5
  397. package/dist/util/resolution.js.map +1 -1
  398. package/dist/util/specifiers.d.ts +20 -0
  399. package/dist/util/specifiers.d.ts.map +1 -1
  400. package/dist/util/specifiers.js +29 -0
  401. package/dist/util/specifiers.js.map +1 -1
  402. package/docs/mcp.md +3 -2
  403. package/package.json +3 -3
  404. package/dist/impact/call-compatibility/providers/profiles.d.ts +0 -80
  405. package/dist/impact/call-compatibility/providers/profiles.d.ts.map +0 -1
  406. package/dist/impact/call-compatibility/providers/profiles.js +0 -164
  407. package/dist/impact/call-compatibility/providers/profiles.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpp-callables.d.ts","sourceRoot":"","sources":["../../src/indexer/cpp-callables.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AA6XF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,gBAAgB,GAAG,IAAI,CA2BrF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAEjF;AAwGD,4EAA4E;AAC5E,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,OAAO,EAAE,CAQlF;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,EACd,cAAc,CAAC,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,GAC5C,OAAO,GAAG,IAAI,CAkBhB;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,GAAG,IAAI,CAMhB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAQxF"}
@@ -0,0 +1,554 @@
1
+ import { declarationMemberArity, isVariadicParameterMarker } from "../graphs/symbol-graph-detailed/ast.js";
2
+ import { callArgumentCount, cppQualifiedTextSegments } from "../graphs/symbol-graph-detailed/receiver-calls.js";
3
+ import { fileIdentityKey } from "../util/paths.js";
4
+ function functionDeclarator(node) {
5
+ let current = node;
6
+ while (current) {
7
+ if (current.type === "function_declarator")
8
+ return current;
9
+ if (current.type === "program")
10
+ return null;
11
+ current = current.parent;
12
+ }
13
+ return null;
14
+ }
15
+ function parameterName(parameter) {
16
+ let current = parameter.childForFieldName("declarator");
17
+ while (current) {
18
+ if (current.type === "identifier" || current.type === "field_identifier")
19
+ return current;
20
+ const nested = current.childForFieldName("name") ?? current.childForFieldName("declarator");
21
+ if (nested) {
22
+ current = nested;
23
+ }
24
+ else if (current.type === "reference_declarator" ||
25
+ current.type === "parenthesized_declarator" ||
26
+ current.type === "variadic_declarator") {
27
+ current = current.namedChildren.find((child) => child.type !== "comment") ?? null;
28
+ }
29
+ else {
30
+ return null;
31
+ }
32
+ }
33
+ return null;
34
+ }
35
+ function nodeSpanKey(node) {
36
+ return `${node.startIndex}:${node.endIndex}`;
37
+ }
38
+ function sameSpan(left, right) {
39
+ return left.startIndex === right.startIndex && left.endIndex === right.endIndex;
40
+ }
41
+ /**
42
+ * Leaf tokens for one node, skipping comments and omitted spans. Used for type
43
+ * specifiers, array extents, trailing function specifiers, and declarator forms
44
+ * the structured walker does not model. Parameter names and default values never
45
+ * contribute because collectOmittedParameterSpans marks their spans first.
46
+ */
47
+ function appendLeafTokens(node, omittedSpans, tokens) {
48
+ if (node.type === "comment" || omittedSpans.has(nodeSpanKey(node)))
49
+ return;
50
+ // Leaf tokens keep unmodeled punctuation such as qualifiers distinct, while
51
+ // omitted name spans make named and abstract declarators equivalent.
52
+ if (!node.child(0)) {
53
+ tokens.push(node.text);
54
+ return;
55
+ }
56
+ for (let index = 0;; index += 1) {
57
+ const child = node.child(index);
58
+ if (!child)
59
+ break;
60
+ appendLeafTokens(child, omittedSpans, tokens);
61
+ }
62
+ }
63
+ const PARAMETER_DECLARATION_TYPES = {
64
+ parameter_declaration: true,
65
+ optional_parameter_declaration: true,
66
+ variadic_parameter_declaration: true,
67
+ };
68
+ const TOP_LEVEL_CV_QUALIFIER_TEXTS = {
69
+ const: true,
70
+ volatile: true,
71
+ };
72
+ /**
73
+ * Type-specifier kinds that can never denote an array alias, so a qualifier on
74
+ * them is provably top-level when no declarator operator follows. Aliased types
75
+ * may name an array typedef, which would turn a leading const into a pointee
76
+ * qualifier after the array-to-pointer adjustment; those keep their qualifiers
77
+ * because alias expansion is out of scope.
78
+ */
79
+ const PROVABLY_NON_ARRAY_TYPE_KINDS = {
80
+ primitive_type: true,
81
+ sized_type_specifier: true,
82
+ struct_specifier: true,
83
+ enum_specifier: true,
84
+ union_specifier: true,
85
+ class_specifier: true,
86
+ };
87
+ const DECLARATOR_OPERATOR_TYPES = {
88
+ pointer_declarator: true,
89
+ abstract_pointer_declarator: true,
90
+ reference_declarator: true,
91
+ abstract_reference_declarator: true,
92
+ array_declarator: true,
93
+ abstract_array_declarator: true,
94
+ function_declarator: true,
95
+ abstract_function_declarator: true,
96
+ };
97
+ /** Grouping only: parentheses and parameter packs do not construct type. */
98
+ const TRANSPARENT_DECLARATOR_TYPES = {
99
+ parenthesized_declarator: true,
100
+ abstract_parenthesized_declarator: true,
101
+ variadic_declarator: true,
102
+ };
103
+ const DECLARATOR_CORE_TYPES = {
104
+ identifier: true,
105
+ field_identifier: true,
106
+ type_identifier: true,
107
+ destructor_name: true,
108
+ operator_name: true,
109
+ template_function: true,
110
+ };
111
+ /** Inner declarator of a declarator-chain node, or null at the declared name. */
112
+ function declaratorInner(node) {
113
+ if (node.type === "parenthesized_declarator" ||
114
+ node.type === "abstract_parenthesized_declarator" ||
115
+ node.type === "variadic_declarator") {
116
+ return node.namedChildren.find((child) => child.type !== "comment") ?? null;
117
+ }
118
+ return node.childForFieldName("declarator");
119
+ }
120
+ /**
121
+ * Walks a declarator chain from its root toward the declared name. Operators
122
+ * wrap the accumulated type, so the deepest operator is the top of the
123
+ * parameter type; its qualifiers are the only declarator qualifiers that can be
124
+ * top-level. Any unmodeled declarator form hides the structure and vetoes both
125
+ * the top operator and qualifier dropping.
126
+ */
127
+ function scanDeclaratorChain(declarator) {
128
+ let topOperator = null;
129
+ let current = declarator;
130
+ while (current) {
131
+ if (DECLARATOR_OPERATOR_TYPES[current.type]) {
132
+ topOperator = current;
133
+ }
134
+ else if (!TRANSPARENT_DECLARATOR_TYPES[current.type] && !DECLARATOR_CORE_TYPES[current.type]) {
135
+ return { topOperator: null, modeled: false };
136
+ }
137
+ const inner = declaratorInner(current);
138
+ if (!inner)
139
+ break;
140
+ current = inner;
141
+ }
142
+ return { topOperator, modeled: true };
143
+ }
144
+ /** Parameter names and default values at any nesting depth never become tokens. */
145
+ function collectOmittedParameterSpans(node, omittedSpans) {
146
+ if (PARAMETER_DECLARATION_TYPES[node.type]) {
147
+ const name = parameterName(node);
148
+ if (name)
149
+ omittedSpans.add(nodeSpanKey(name));
150
+ const defaultValue = node.childForFieldName("default_value");
151
+ if (defaultValue) {
152
+ omittedSpans.add(nodeSpanKey(defaultValue));
153
+ for (let index = 0;; index += 1) {
154
+ const child = node.child(index);
155
+ if (!child)
156
+ break;
157
+ if (child.type === "=")
158
+ omittedSpans.add(nodeSpanKey(child));
159
+ }
160
+ }
161
+ }
162
+ for (let index = 0;; index += 1) {
163
+ const child = node.child(index);
164
+ if (!child)
165
+ break;
166
+ collectOmittedParameterSpans(child, omittedSpans);
167
+ }
168
+ }
169
+ function appendDeclaratorQualifierTokens(node, dropTopLevelCv, omittedSpans, tokens) {
170
+ for (let index = 0;; index += 1) {
171
+ const child = node.child(index);
172
+ if (!child)
173
+ break;
174
+ if (child.type !== "type_qualifier")
175
+ continue;
176
+ if (dropTopLevelCv && TOP_LEVEL_CV_QUALIFIER_TEXTS[child.text])
177
+ continue;
178
+ appendLeafTokens(child, omittedSpans, tokens);
179
+ }
180
+ }
181
+ function referencePunctuator(node) {
182
+ for (let index = 0;; index += 1) {
183
+ const child = node.child(index);
184
+ if (!child)
185
+ break;
186
+ if (child.type === "&" || child.type === "&&")
187
+ return child.text;
188
+ }
189
+ return "&";
190
+ }
191
+ /** Bracket contents of a retained array dimension: qualifiers and the extent. */
192
+ function appendArrayExtentTokens(node, omittedSpans, tokens) {
193
+ const declarator = node.childForFieldName("declarator");
194
+ for (let index = 0;; index += 1) {
195
+ const child = node.child(index);
196
+ if (!child)
197
+ break;
198
+ if (child.type === "[" || child.type === "]")
199
+ continue;
200
+ if (declarator && sameSpan(child, declarator))
201
+ continue;
202
+ appendLeafTokens(child, omittedSpans, tokens);
203
+ }
204
+ }
205
+ function appendParameterListTokens(node, omittedSpans, tokens) {
206
+ const parameters = node.childForFieldName("parameters");
207
+ if (!parameters)
208
+ return;
209
+ // `(void)` is the C/C++ zero-parameter spelling. A variadic parameter list is not empty, so it
210
+ // keeps its pack/ellipsis tokens instead of collapsing to `()`.
211
+ if (declarationMemberArity(node, "cpp") === 0 && !parameterListIsVariadic(parameters)) {
212
+ tokens.push("(", ")");
213
+ return;
214
+ }
215
+ for (let index = 0;; index += 1) {
216
+ const child = parameters.child(index);
217
+ if (!child)
218
+ break;
219
+ if (child.type === "comment")
220
+ continue;
221
+ if (child.type === ",") {
222
+ tokens.push(",");
223
+ continue;
224
+ }
225
+ if (PARAMETER_DECLARATION_TYPES[child.type]) {
226
+ appendParameterTokens(child, tokens);
227
+ continue;
228
+ }
229
+ appendLeafTokens(child, omittedSpans, tokens);
230
+ }
231
+ }
232
+ /** Exception specifications such as noexcept that trail one function type. */
233
+ function appendTrailingFunctionTokens(node, omittedSpans, tokens) {
234
+ const declarator = node.childForFieldName("declarator");
235
+ const parameters = node.childForFieldName("parameters");
236
+ for (let index = 0;; index += 1) {
237
+ const child = node.child(index);
238
+ if (!child)
239
+ break;
240
+ if (child.type === "(" || child.type === ")")
241
+ continue;
242
+ if (declarator && sameSpan(child, declarator))
243
+ continue;
244
+ if (parameters && sameSpan(child, parameters))
245
+ continue;
246
+ appendLeafTokens(child, omittedSpans, tokens);
247
+ }
248
+ }
249
+ /**
250
+ * Emits one declarator chain root-first: each operator wraps the accumulated
251
+ * type, so root-first order is the canonical constructor order and equivalent
252
+ * spellings such as `T p[][3]` and `T (*p)[3]` produce the same sequence.
253
+ */
254
+ function appendAdjustedDeclaratorTokens(node, scan, omittedSpans, tokens) {
255
+ if (TRANSPARENT_DECLARATOR_TYPES[node.type]) {
256
+ if (node.type === "variadic_declarator")
257
+ tokens.push("...");
258
+ const inner = declaratorInner(node);
259
+ if (inner)
260
+ appendAdjustedDeclaratorTokens(inner, scan, omittedSpans, tokens);
261
+ return;
262
+ }
263
+ if (!DECLARATOR_OPERATOR_TYPES[node.type]) {
264
+ // Unmodeled or core declarator form: leaf tokens keep distinct types distinct.
265
+ appendLeafTokens(node, omittedSpans, tokens);
266
+ return;
267
+ }
268
+ switch (node.type) {
269
+ case "pointer_declarator":
270
+ case "abstract_pointer_declarator": {
271
+ tokens.push("*");
272
+ // Qualifiers on the top pointer are top-level cv and dropped; deeper
273
+ // pointers keep theirs because they qualify a pointee.
274
+ appendDeclaratorQualifierTokens(node, scan.topOperator === node, omittedSpans, tokens);
275
+ break;
276
+ }
277
+ case "reference_declarator":
278
+ case "abstract_reference_declarator": {
279
+ // & and && share the node type; the punctuator text keeps them distinct.
280
+ tokens.push(referencePunctuator(node));
281
+ break;
282
+ }
283
+ case "array_declarator":
284
+ case "abstract_array_declarator": {
285
+ if (scan.topOperator === node) {
286
+ // Parameter array-to-pointer adjustment: the outermost extent is not
287
+ // part of the adjusted pointer type; inner extents stay.
288
+ tokens.push("*");
289
+ }
290
+ else {
291
+ tokens.push("[");
292
+ appendArrayExtentTokens(node, omittedSpans, tokens);
293
+ tokens.push("]");
294
+ }
295
+ break;
296
+ }
297
+ case "function_declarator":
298
+ case "abstract_function_declarator": {
299
+ tokens.push("(");
300
+ appendParameterListTokens(node, omittedSpans, tokens);
301
+ tokens.push(")");
302
+ appendTrailingFunctionTokens(node, omittedSpans, tokens);
303
+ if (scan.topOperator === node) {
304
+ // Parameter function-to-pointer adjustment.
305
+ tokens.push("*");
306
+ }
307
+ break;
308
+ }
309
+ }
310
+ const inner = declaratorInner(node);
311
+ if (inner)
312
+ appendAdjustedDeclaratorTokens(inner, scan, omittedSpans, tokens);
313
+ }
314
+ /**
315
+ * Normalized fingerprint tokens for one parameter declaration.
316
+ *
317
+ * Language-defined adjustments only; no alias resolution and no general type
318
+ * equivalence:
319
+ * - array-to-pointer: the outermost array dimension of a parameter becomes a
320
+ * pointer, so `T p[]`, `T p[N]`, and `T* p` share one identity. Likewise,
321
+ * `T p[][3]` equals `T (*p)[3]`, but differs from `T* p` or `T p[][4]`;
322
+ * - function-to-pointer: `T f(P)` and `T (*f)(P)` share one identity;
323
+ * - top-level const/volatile is dropped for provably scalar base types with no
324
+ * declarator operator (`const int p` equals `int p`) and for the top pointer
325
+ * (`int* const p` equals `int* p`). Qualifiers that would land on a pointee,
326
+ * referent, element, or return type stay, and aliased base types keep their
327
+ * qualifiers because an array typedef cannot be ruled out syntactically.
328
+ * References, pointee qualification, member-pointer forms, unmodeled
329
+ * declarators, and trailing member cv/ref suffixes (handled by the shape's
330
+ * suffix tokens) are preserved as distinct.
331
+ */
332
+ function appendParameterTokens(parameter, tokens) {
333
+ const omittedSpans = new Set();
334
+ collectOmittedParameterSpans(parameter, omittedSpans);
335
+ const declarator = parameter.childForFieldName("declarator");
336
+ const scan = declarator ? scanDeclaratorChain(declarator) : { topOperator: null, modeled: true };
337
+ const typeNode = parameter.childForFieldName("type");
338
+ const dropTypeQualifiers = !scan.topOperator && scan.modeled && !!typeNode && PROVABLY_NON_ARRAY_TYPE_KINDS[typeNode.type];
339
+ for (let index = 0;; index += 1) {
340
+ const child = parameter.child(index);
341
+ if (!child)
342
+ break;
343
+ if (child.type === "comment")
344
+ continue;
345
+ if (declarator && sameSpan(child, declarator))
346
+ continue;
347
+ if (child.type === "type_qualifier" && TOP_LEVEL_CV_QUALIFIER_TEXTS[child.text] && dropTypeQualifiers) {
348
+ continue;
349
+ }
350
+ appendLeafTokens(child, omittedSpans, tokens);
351
+ }
352
+ if (declarator)
353
+ appendAdjustedDeclaratorTokens(declarator, scan, omittedSpans, tokens);
354
+ }
355
+ function parameterFingerprint(parameter) {
356
+ const tokens = [];
357
+ appendParameterTokens(parameter, tokens);
358
+ return JSON.stringify(tokens);
359
+ }
360
+ function parameterListIsVariadic(parameters) {
361
+ for (let index = 0;; index += 1) {
362
+ const child = parameters.child(index);
363
+ if (!child)
364
+ return false;
365
+ if (child.type === "..." || child.type.includes("variadic_parameter"))
366
+ return true;
367
+ }
368
+ }
369
+ export function cppCallableShapeForNode(node) {
370
+ const declarator = functionDeclarator(node);
371
+ const parameters = declarator?.childForFieldName("parameters");
372
+ if (!declarator || !parameters)
373
+ return null;
374
+ const arity = declarationMemberArity(declarator, "cpp");
375
+ if (arity === undefined)
376
+ return null;
377
+ let parameterNodes = parameters.namedChildren.filter((child) => child.type !== "comment");
378
+ // A `(void)` parameter list is the C/C++ zero-parameter spelling and shares identity with `()`.
379
+ // C++ variadic markers are not zero parameters: a pack `Args... rest` (arity 0 when it is the
380
+ // only parameter) keeps its fingerprint so it stays distinct from a zero-parameter overload.
381
+ if (!arity)
382
+ parameterNodes = parameterNodes.filter((child) => isVariadicParameterMarker(child));
383
+ const optionalCount = parameterNodes.filter((parameter) => parameter.type === "optional_parameter_declaration" || !!parameter.childForFieldName("default_value")).length;
384
+ const suffixTokens = [];
385
+ for (let index = 0;; index += 1) {
386
+ const child = declarator.child(index);
387
+ if (!child)
388
+ break;
389
+ if (child.startIndex >= parameters.endIndex)
390
+ appendLeafTokens(child, new Set(), suffixTokens);
391
+ }
392
+ const variadic = parameterListIsVariadic(parameters);
393
+ return {
394
+ signature: `${parameterNodes.map(parameterFingerprint).join("|")}::${variadic ? "variadic" : "fixed"}::${JSON.stringify(suffixTokens)}`,
395
+ minArity: Math.max(0, arity - optionalCount),
396
+ maxArity: variadic ? null : arity,
397
+ };
398
+ }
399
+ export function cppBindingCallableShape(binding) {
400
+ return binding.node ? cppCallableShapeForNode(binding.node) : null;
401
+ }
402
+ function syntaxRoot(node) {
403
+ let current = node;
404
+ while (current.parent)
405
+ current = current.parent;
406
+ return current;
407
+ }
408
+ /**
409
+ * Only a binding from the query file can be its declaration site. Its scope index may
410
+ * come from an earlier parse, so matching trees still requires source spans and text.
411
+ */
412
+ function isCppDeclarationSite(binding, node) {
413
+ const candidate = binding.node;
414
+ if (!candidate)
415
+ return false;
416
+ if (candidate.startIndex !== node.startIndex || candidate.endIndex !== node.endIndex)
417
+ return false;
418
+ return candidate.text === node.text && syntaxRoot(candidate).endIndex === syntaxRoot(node).endIndex;
419
+ }
420
+ function cppCallArgumentCount(node, source) {
421
+ let current = node.parent;
422
+ while (current) {
423
+ if (current.type === "call_expression") {
424
+ const callee = current.childForFieldName("function");
425
+ if (callee && callee.startIndex <= node.startIndex && callee.endIndex >= node.endIndex) {
426
+ return callArgumentCount(current, source);
427
+ }
428
+ }
429
+ if (current.type === "function_definition" || current.type === "program")
430
+ return null;
431
+ current = current.parent;
432
+ }
433
+ return null;
434
+ }
435
+ const CPP_OWNER_SCOPE_TYPES = new Set([
436
+ "namespace_definition",
437
+ "class_specifier",
438
+ "struct_specifier",
439
+ "union_specifier",
440
+ ]);
441
+ /**
442
+ * The full owner path of a C++ callable declaration: its enclosing namespaces and classes plus
443
+ * any qualifier it declares, so `namespace b { namespace C { int f(); } }` and `int b::C::f() {}`
444
+ * share `b::C` while `int a::C::f() {}` is `a::C`. Declarations with the same parameters but
445
+ * different owners are different callables.
446
+ */
447
+ function cppBindingOwnerPath(binding) {
448
+ const node = binding.node;
449
+ if (!node)
450
+ return "";
451
+ let qualified = null;
452
+ for (let current = node.parent; current?.type === "qualified_identifier"; current = current.parent) {
453
+ qualified = current;
454
+ }
455
+ const declared = qualified ? cppQualifiedTextSegments(qualified.text) : [];
456
+ declared.pop();
457
+ const lexical = [];
458
+ for (let current = (qualified ?? node).parent; current; current = current.parent) {
459
+ if (!CPP_OWNER_SCOPE_TYPES.has(current.type))
460
+ continue;
461
+ const name = current.childForFieldName("name");
462
+ if (name)
463
+ lexical.unshift(...cppQualifiedTextSegments(name.text));
464
+ }
465
+ return [...lexical, ...declared].join("::");
466
+ }
467
+ function cppCallableEntities(bindings, canonicalNames) {
468
+ const entities = new Map();
469
+ for (const binding of bindings) {
470
+ const shape = cppBindingCallableShape(binding);
471
+ if (!shape)
472
+ return null;
473
+ const canonicalName = canonicalNames?.get(binding);
474
+ if (canonicalNames && canonicalName === undefined)
475
+ return null;
476
+ const qualifier = cppBindingOwnerPath(binding);
477
+ const key = canonicalName === undefined
478
+ ? `${qualifier}\0${shape.signature}`
479
+ : `${canonicalName}\0${qualifier}\0${shape.signature}`;
480
+ const existing = entities.get(key);
481
+ if (!existing) {
482
+ entities.set(key, {
483
+ bindings: [binding],
484
+ minArity: shape.minArity,
485
+ maxArity: shape.maxArity,
486
+ });
487
+ continue;
488
+ }
489
+ existing.bindings.push(binding);
490
+ existing.minArity = Math.min(existing.minArity, shape.minArity);
491
+ if (existing.maxArity === null || shape.maxArity === null) {
492
+ existing.maxArity = null;
493
+ }
494
+ else {
495
+ existing.maxArity = Math.max(existing.maxArity, shape.maxArity);
496
+ }
497
+ }
498
+ return entities;
499
+ }
500
+ function preferredCppCallableBinding(bindings) {
501
+ return bindings.find((binding) => cppCallableIsDefinition(binding.node)) ?? bindings[0];
502
+ }
503
+ /** Same-shape declarations and definitions for one C++ callable binding. */
504
+ export function cppEquivalentCallableBindings(binding) {
505
+ const collisions = binding.sameScopeFunctionBindings ?? [binding];
506
+ const entities = cppCallableEntities(collisions);
507
+ if (!entities)
508
+ return [binding];
509
+ for (const entity of entities.values()) {
510
+ if (entity.bindings.includes(binding))
511
+ return entity.bindings;
512
+ }
513
+ return [binding];
514
+ }
515
+ /**
516
+ * Call-count selection without the declaration-site shortcut. Use when the query
517
+ * node may come from a different file than the candidate bindings.
518
+ */
519
+ export function cppSelectCallableByCallArity(bindings, node, source, canonicalNames) {
520
+ const entities = cppCallableEntities(bindings, canonicalNames);
521
+ if (!entities?.size)
522
+ return null;
523
+ const argumentCount = cppCallArgumentCount(node, source);
524
+ const matches = argumentCount === null
525
+ ? [...entities.values()]
526
+ : [...entities.values()].filter((entity) => argumentCount >= entity.minArity && (entity.maxArity === null || argumentCount <= entity.maxArity));
527
+ // Multiple arity-viable entities stay unresolved: default arguments and
528
+ // variadics can overlap, and this matcher does not implement C++ ranking.
529
+ // One canonical entity still has to accept a known call count: below its
530
+ // minimum or above a finite maximum is not a unique match.
531
+ if (matches.length === 1)
532
+ return preferredCppCallableBinding(matches[0].bindings);
533
+ return null;
534
+ }
535
+ export function cppSelectCallableBinding(bindings, node, source, useFile, bindingsFile) {
536
+ if (useFile === bindingsFile || fileIdentityKey(useFile) === fileIdentityKey(bindingsFile)) {
537
+ const declaration = bindings.find((candidate) => isCppDeclarationSite(candidate, node));
538
+ if (declaration)
539
+ return preferredCppCallableBinding(cppEquivalentCallableBindings(declaration));
540
+ }
541
+ return cppSelectCallableByCallArity(bindings, node, source);
542
+ }
543
+ export function cppCallableIsDefinition(node) {
544
+ let current = node ?? null;
545
+ while (current) {
546
+ if (current.type === "function_definition")
547
+ return true;
548
+ if (current.type === "declaration" || current.type === "program")
549
+ return false;
550
+ current = current.parent;
551
+ }
552
+ return false;
553
+ }
554
+ //# sourceMappingURL=cpp-callables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpp-callables.js","sourceRoot":"","sources":["../../src/indexer/cpp-callables.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import type { SyntaxNodeLike } from "../languages/types.js";
2
2
  /**
3
- * Per-language declaration visibility for module exports. Rows are keyed by language id and live
4
- * next to `locals-and-exports.ts` because that is the only consumer this wave.
3
+ * Per-language declaration visibility for module exports and Swift shared-owner member lookup.
4
+ * Rows are keyed by language id. `locals-and-exports.ts` filters module exports; Swift
5
+ * shared-owner navigation and detailed membership reuse the same hidden-modifier tokens.
5
6
  *
6
7
  * A missing row keeps today's behavior: every module-scope capture is exported. Python stays on
7
8
  * its existing `__all__` / underscore filter rather than a row here.
@@ -40,4 +41,37 @@ export declare function languageHasDeclarationVisibility(languageId: string): bo
40
41
  * Languages with no table row are exported, matching pre-visibility behavior.
41
42
  */
42
43
  export declare function isExportedDeclaration(languageId: string, node: SyntaxNodeLike): boolean;
44
+ /**
45
+ * Whether `node`'s declaration is `private` (and not C# `private protected`). A private member is
46
+ * not accessible to a subclass, so it cannot be reached through the implicit `this` there.
47
+ */
48
+ export declare function isPrivateDeclaration(languageId: string, node: SyntaxNodeLike): boolean;
49
+ /**
50
+ * Whether a C# member is accessible from an unrelated type in the same assembly: `public`,
51
+ * `internal`, or `protected internal`. `private`, `protected`, `private protected`, and a class,
52
+ * struct, or record member without an access modifier are not.
53
+ */
54
+ export declare function isCsharpAccessibleOutsideType(node: SyntaxNodeLike): boolean;
55
+ /**
56
+ * Go export visibility is spelled in the identifier itself (Go spec, "Exported identifiers"):
57
+ * a name is visible outside its declaring package only when its first Unicode letter is
58
+ * upper case. Unlike every `DeclarationVisibilityRow` above, this must never filter a Go
59
+ * file's module exports: Go's own compilation-unit peers (any file in the same package)
60
+ * legitimately see an unexported name, and that same-package lookup reads the same export
61
+ * list. Only a reference that crosses into a different Go package, whether by namespace
62
+ * selector (`pkg.hidden`) or by a proven receiver of an imported type (`v.hidden()`), must
63
+ * reject an unexported name. Both paths call this rule instead of adding a `GO_ROW` here.
64
+ */
65
+ export declare function isGoExportedMemberName(languageId: string | undefined, name: string): boolean;
66
+ /**
67
+ * Swift `private`/`fileprivate` is file-scoped, including when that modifier is on the
68
+ * enclosing `extension` rather than the member.
69
+ */
70
+ export declare function isSwiftFileHiddenSharedOwnerMember(languageId: string, memberNode: SyntaxNodeLike): boolean;
71
+ /**
72
+ * Shared-owner navigation and detailed membership drop Swift file-hidden members when
73
+ * the owner lives in another file, and keep same-file matches plus ordinary cross-file
74
+ * internal/public members.
75
+ */
76
+ export declare function isSwiftCrossFileHiddenSharedOwnerMember(languageId: string, ownerFile: string, memberFile: string, memberNode: SyntaxNodeLike): boolean;
43
77
  //# sourceMappingURL=declaration-visibility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"declaration-visibility.d.ts","sourceRoot":"","sources":["../../src/indexer/declaration-visibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D;;;;;;GAMG;AAEH,MAAM,MAAM,wBAAwB,GAAG;IACrC,sEAAsE;IACtE,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,6EAA6E;IAC7E,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C;;;OAGG;IACH,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,gFAAgF;IAChF,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,kGAAkG;IAClG,4BAA4B,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnD,iGAAiG;IACjG,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC;;;OAGG;IACH,4BAA4B,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACpD,CAAC;AAgHF,+EAA+E;AAC/E,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE5E;AAoFD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAMvF"}
1
+ {"version":3,"file":"declaration-visibility.d.ts","sourceRoot":"","sources":["../../src/indexer/declaration-visibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D;;;;;;;GAOG;AAEH,MAAM,MAAM,wBAAwB,GAAG;IACrC,sEAAsE;IACtE,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,6EAA6E;IAC7E,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C;;;OAGG;IACH,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,gFAAgF;IAChF,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,kGAAkG;IAClG,4BAA4B,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACnD,iGAAiG;IACjG,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC;;;OAGG;IACH,4BAA4B,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACpD,CAAC;AAoIF,+EAA+E;AAC/E,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE5E;AAuFD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAMvF;AAWD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CActF;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAW3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAG5F;AA6BD;;;GAGG;AACH,wBAAgB,kCAAkC,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,OAAO,CAK1G;AAED;;;;GAIG;AACH,wBAAgB,uCAAuC,CACrD,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,cAAc,GACzB,OAAO,CAGT"}