@lzehrung/codegraph 2.3.31 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (596) hide show
  1. package/README.md +33 -141
  2. package/codegraph-skill/codegraph/SKILL.md +8 -6
  3. package/dist/agent/artifact.d.ts +2 -0
  4. package/dist/agent/artifact.d.ts.map +1 -1
  5. package/dist/agent/artifact.js.map +1 -1
  6. package/dist/agent/call-hierarchy.js +2 -4
  7. package/dist/agent/call-hierarchy.js.map +1 -1
  8. package/dist/agent/explore.d.ts +1 -1
  9. package/dist/agent/explore.d.ts.map +1 -1
  10. package/dist/agent/explore.js +3 -2
  11. package/dist/agent/explore.js.map +1 -1
  12. package/dist/agent/refactor-plan.js +2 -4
  13. package/dist/agent/refactor-plan.js.map +1 -1
  14. package/dist/agent/rename-preview.d.ts.map +1 -1
  15. package/dist/agent/rename-preview.js +4 -3
  16. package/dist/agent/rename-preview.js.map +1 -1
  17. package/dist/agent/search.d.ts.map +1 -1
  18. package/dist/agent/search.js +5 -3
  19. package/dist/agent/search.js.map +1 -1
  20. package/dist/agent/semantic-symbols.d.ts.map +1 -1
  21. package/dist/agent/semantic-symbols.js +2 -3
  22. package/dist/agent/semantic-symbols.js.map +1 -1
  23. package/dist/agent/session.d.ts +3 -0
  24. package/dist/agent/session.d.ts.map +1 -1
  25. package/dist/agent/session.js +10 -2
  26. package/dist/agent/session.js.map +1 -1
  27. package/dist/agent/type-hierarchy.js +2 -4
  28. package/dist/agent/type-hierarchy.js.map +1 -1
  29. package/dist/agent/workspace-symbols.d.ts.map +1 -1
  30. package/dist/agent/workspace-symbols.js +2 -3
  31. package/dist/agent/workspace-symbols.js.map +1 -1
  32. package/dist/agent-tools.d.ts +0 -4
  33. package/dist/agent-tools.d.ts.map +1 -1
  34. package/dist/agent-tools.js +3 -6
  35. package/dist/agent-tools.js.map +1 -1
  36. package/dist/analysis-summary.d.ts +8 -4
  37. package/dist/analysis-summary.d.ts.map +1 -1
  38. package/dist/analysis-summary.js +15 -66
  39. package/dist/analysis-summary.js.map +1 -1
  40. package/dist/bin/cli.js +51145 -41770
  41. package/dist/bin/query-index-worker.js +122 -82
  42. package/dist/cli/affected.d.ts.map +1 -1
  43. package/dist/cli/affected.js +4 -1
  44. package/dist/cli/affected.js.map +1 -1
  45. package/dist/cli/command-catalog.js +1 -1
  46. package/dist/cli/command-catalog.js.map +1 -1
  47. package/dist/cli/command-table.d.ts.map +1 -1
  48. package/dist/cli/command-table.js +9 -17
  49. package/dist/cli/command-table.js.map +1 -1
  50. package/dist/cli/context.js +10 -10
  51. package/dist/cli/context.js.map +1 -1
  52. package/dist/cli/drift.d.ts +0 -2
  53. package/dist/cli/drift.d.ts.map +1 -1
  54. package/dist/cli/drift.js +0 -1
  55. package/dist/cli/drift.js.map +1 -1
  56. package/dist/cli/graph-delta.d.ts +0 -2
  57. package/dist/cli/graph-delta.d.ts.map +1 -1
  58. package/dist/cli/graph-delta.js +0 -4
  59. package/dist/cli/graph-delta.js.map +1 -1
  60. package/dist/cli/graph-queries.d.ts.map +1 -1
  61. package/dist/cli/graph-queries.js +27 -1
  62. package/dist/cli/graph-queries.js.map +1 -1
  63. package/dist/cli/graph.d.ts +0 -3
  64. package/dist/cli/graph.d.ts.map +1 -1
  65. package/dist/cli/graph.js +4 -14
  66. package/dist/cli/graph.js.map +1 -1
  67. package/dist/cli/help.d.ts +34 -34
  68. package/dist/cli/help.d.ts.map +1 -1
  69. package/dist/cli/help.js +9 -14
  70. package/dist/cli/help.js.map +1 -1
  71. package/dist/cli/impact.d.ts +0 -2
  72. package/dist/cli/impact.d.ts.map +1 -1
  73. package/dist/cli/impact.js +0 -1
  74. package/dist/cli/impact.js.map +1 -1
  75. package/dist/cli/index.d.ts +0 -2
  76. package/dist/cli/index.d.ts.map +1 -1
  77. package/dist/cli/index.js +5 -6
  78. package/dist/cli/index.js.map +1 -1
  79. package/dist/cli/inspect.d.ts +0 -2
  80. package/dist/cli/inspect.d.ts.map +1 -1
  81. package/dist/cli/inspect.js +5 -8
  82. package/dist/cli/inspect.js.map +1 -1
  83. package/dist/cli/invocation-context.d.ts +0 -3
  84. package/dist/cli/invocation-context.d.ts.map +1 -1
  85. package/dist/cli/invocation-context.js +4 -16
  86. package/dist/cli/invocation-context.js.map +1 -1
  87. package/dist/cli/navigation.d.ts +0 -2
  88. package/dist/cli/navigation.d.ts.map +1 -1
  89. package/dist/cli/navigation.js +0 -1
  90. package/dist/cli/navigation.js.map +1 -1
  91. package/dist/cli/options.d.ts.map +1 -1
  92. package/dist/cli/options.js +4 -14
  93. package/dist/cli/options.js.map +1 -1
  94. package/dist/cli/review.d.ts +0 -2
  95. package/dist/cli/review.d.ts.map +1 -1
  96. package/dist/cli/review.js +0 -5
  97. package/dist/cli/review.js.map +1 -1
  98. package/dist/cli/root-policy.d.ts +0 -2
  99. package/dist/cli/root-policy.d.ts.map +1 -1
  100. package/dist/cli/root-policy.js +0 -8
  101. package/dist/cli/root-policy.js.map +1 -1
  102. package/dist/cli/server.d.ts.map +1 -1
  103. package/dist/cli/server.js +0 -2
  104. package/dist/cli/server.js.map +1 -1
  105. package/dist/drift/artifact.d.ts.map +1 -1
  106. package/dist/drift/artifact.js +15 -18
  107. package/dist/drift/artifact.js.map +1 -1
  108. package/dist/drift/compare.js +1 -1
  109. package/dist/drift/compare.js.map +1 -1
  110. package/dist/drift/git.d.ts.map +1 -1
  111. package/dist/drift/git.js +0 -1
  112. package/dist/drift/git.js.map +1 -1
  113. package/dist/drift/snapshot.d.ts.map +1 -1
  114. package/dist/drift/snapshot.js +5 -7
  115. package/dist/drift/snapshot.js.map +1 -1
  116. package/dist/drift/types.d.ts +2 -2
  117. package/dist/drift/types.d.ts.map +1 -1
  118. package/dist/drift/types.js.map +1 -1
  119. package/dist/duplicates/unit-cache.d.ts +0 -1
  120. package/dist/duplicates/unit-cache.d.ts.map +1 -1
  121. package/dist/duplicates/unit-cache.js +3 -11
  122. package/dist/duplicates/unit-cache.js.map +1 -1
  123. package/dist/duplicates/units.d.ts +5 -5
  124. package/dist/duplicates/units.d.ts.map +1 -1
  125. package/dist/duplicates/units.js +25 -88
  126. package/dist/duplicates/units.js.map +1 -1
  127. package/dist/graph-builder.d.ts +0 -6
  128. package/dist/graph-builder.d.ts.map +1 -1
  129. package/dist/graph-builder.js +6 -11
  130. package/dist/graph-builder.js.map +1 -1
  131. package/dist/graph-edge-collector.d.ts +4 -6
  132. package/dist/graph-edge-collector.d.ts.map +1 -1
  133. package/dist/graph-edge-collector.js +31 -26
  134. package/dist/graph-edge-collector.js.map +1 -1
  135. package/dist/graphs/angularjs.d.ts.map +1 -1
  136. package/dist/graphs/angularjs.js +2 -1
  137. package/dist/graphs/angularjs.js.map +1 -1
  138. package/dist/graphs/edge-resolution.d.ts +4 -1
  139. package/dist/graphs/edge-resolution.d.ts.map +1 -1
  140. package/dist/graphs/edge-resolution.js +24 -76
  141. package/dist/graphs/edge-resolution.js.map +1 -1
  142. package/dist/graphs/specifiers.d.ts +4 -13
  143. package/dist/graphs/specifiers.d.ts.map +1 -1
  144. package/dist/graphs/specifiers.js +80 -173
  145. package/dist/graphs/specifiers.js.map +1 -1
  146. package/dist/graphs/symbol-graph-detailed/ast.d.ts +20 -0
  147. package/dist/graphs/symbol-graph-detailed/ast.d.ts.map +1 -1
  148. package/dist/graphs/symbol-graph-detailed/ast.js +154 -15
  149. package/dist/graphs/symbol-graph-detailed/ast.js.map +1 -1
  150. package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts +60 -8
  151. package/dist/graphs/symbol-graph-detailed/edge-passes.d.ts.map +1 -1
  152. package/dist/graphs/symbol-graph-detailed/edge-passes.js +997 -168
  153. package/dist/graphs/symbol-graph-detailed/edge-passes.js.map +1 -1
  154. package/dist/graphs/symbol-graph-detailed/import-aliases.d.ts +2 -1
  155. package/dist/graphs/symbol-graph-detailed/import-aliases.d.ts.map +1 -1
  156. package/dist/graphs/symbol-graph-detailed/import-aliases.js +150 -7
  157. package/dist/graphs/symbol-graph-detailed/import-aliases.js.map +1 -1
  158. package/dist/graphs/symbol-graph-detailed/member-chains.d.ts +1 -0
  159. package/dist/graphs/symbol-graph-detailed/member-chains.d.ts.map +1 -1
  160. package/dist/graphs/symbol-graph-detailed/member-chains.js +3 -1
  161. package/dist/graphs/symbol-graph-detailed/member-chains.js.map +1 -1
  162. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts +141 -25
  163. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts.map +1 -1
  164. package/dist/graphs/symbol-graph-detailed/receiver-calls.js +1015 -166
  165. package/dist/graphs/symbol-graph-detailed/receiver-calls.js.map +1 -1
  166. package/dist/graphs/symbol-graph-detailed.d.ts.map +1 -1
  167. package/dist/graphs/symbol-graph-detailed.js +449 -46
  168. package/dist/graphs/symbol-graph-detailed.js.map +1 -1
  169. package/dist/graphs/symbol-graph.d.ts +2 -0
  170. package/dist/graphs/symbol-graph.d.ts.map +1 -1
  171. package/dist/graphs/symbol-graph.js +34 -16
  172. package/dist/graphs/symbol-graph.js.map +1 -1
  173. package/dist/graphs/types.d.ts +0 -4
  174. package/dist/graphs/types.d.ts.map +1 -1
  175. package/dist/graphs.d.ts +1 -1
  176. package/dist/graphs.d.ts.map +1 -1
  177. package/dist/impact/call-compatibility/providers/index.d.ts +4 -4
  178. package/dist/impact/call-compatibility/providers/index.d.ts.map +1 -1
  179. package/dist/impact/call-compatibility/providers/index.js +6 -6
  180. package/dist/impact/call-compatibility/providers/index.js.map +1 -1
  181. package/dist/impact/call-compatibility/providers/types.d.ts +2 -0
  182. package/dist/impact/call-compatibility/providers/types.d.ts.map +1 -1
  183. package/dist/impact/call-compatibility/types.d.ts +6 -0
  184. package/dist/impact/call-compatibility/types.d.ts.map +1 -1
  185. package/dist/impact/call-compatibility.d.ts.map +1 -1
  186. package/dist/impact/call-compatibility.js +316 -526
  187. package/dist/impact/call-compatibility.js.map +1 -1
  188. package/dist/impact/map.js +1 -0
  189. package/dist/impact/map.js.map +1 -1
  190. package/dist/impact/reference-cache.d.ts.map +1 -1
  191. package/dist/impact/reference-cache.js +2 -2
  192. package/dist/impact/reference-cache.js.map +1 -1
  193. package/dist/index.d.ts +2 -2
  194. package/dist/index.d.ts.map +1 -1
  195. package/dist/index.js +1 -1
  196. package/dist/index.js.map +1 -1
  197. package/dist/indexer/ambiguous-resolution.d.ts +11 -0
  198. package/dist/indexer/ambiguous-resolution.d.ts.map +1 -0
  199. package/dist/indexer/ambiguous-resolution.js +19 -0
  200. package/dist/indexer/ambiguous-resolution.js.map +1 -0
  201. package/dist/indexer/build-cache/module-cache.d.ts +39 -1
  202. package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
  203. package/dist/indexer/build-cache/module-cache.js +218 -21
  204. package/dist/indexer/build-cache/module-cache.js.map +1 -1
  205. package/dist/indexer/build-cache/options.d.ts +30 -44
  206. package/dist/indexer/build-cache/options.d.ts.map +1 -1
  207. package/dist/indexer/build-cache/options.js +32 -71
  208. package/dist/indexer/build-cache/options.js.map +1 -1
  209. package/dist/indexer/build-cache/project-snapshot.d.ts +3 -3
  210. package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
  211. package/dist/indexer/build-cache/project-snapshot.js +164 -84
  212. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  213. package/dist/indexer/build-cache/reports.d.ts +0 -2
  214. package/dist/indexer/build-cache/reports.d.ts.map +1 -1
  215. package/dist/indexer/build-cache/reports.js +0 -97
  216. package/dist/indexer/build-cache/reports.js.map +1 -1
  217. package/dist/indexer/build-cache/resolver-environment.d.ts.map +1 -1
  218. package/dist/indexer/build-cache/resolver-environment.js +32 -2
  219. package/dist/indexer/build-cache/resolver-environment.js.map +1 -1
  220. package/dist/indexer/build-cache.d.ts +2 -2
  221. package/dist/indexer/build-cache.d.ts.map +1 -1
  222. package/dist/indexer/build-cache.js +2 -2
  223. package/dist/indexer/build-cache.js.map +1 -1
  224. package/dist/indexer/build-index.d.ts.map +1 -1
  225. package/dist/indexer/build-index.js +656 -71
  226. package/dist/indexer/build-index.js.map +1 -1
  227. package/dist/indexer/build-workers.d.ts.map +1 -1
  228. package/dist/indexer/build-workers.js +9 -9
  229. package/dist/indexer/build-workers.js.map +1 -1
  230. package/dist/indexer/call-hierarchy.js +1 -1
  231. package/dist/indexer/call-hierarchy.js.map +1 -1
  232. package/dist/indexer/callable-identity.d.ts +24 -0
  233. package/dist/indexer/callable-identity.d.ts.map +1 -0
  234. package/dist/indexer/callable-identity.js +111 -0
  235. package/dist/indexer/callable-identity.js.map +1 -0
  236. package/dist/indexer/compilation-units.d.ts +103 -0
  237. package/dist/indexer/compilation-units.d.ts.map +1 -0
  238. package/dist/indexer/compilation-units.js +607 -0
  239. package/dist/indexer/compilation-units.js.map +1 -0
  240. package/dist/indexer/cpp-callables.d.ts +25 -0
  241. package/dist/indexer/cpp-callables.d.ts.map +1 -0
  242. package/dist/indexer/cpp-callables.js +562 -0
  243. package/dist/indexer/cpp-callables.js.map +1 -0
  244. package/dist/indexer/declaration-visibility.d.ts +43 -2
  245. package/dist/indexer/declaration-visibility.d.ts.map +1 -1
  246. package/dist/indexer/declaration-visibility.js +158 -2
  247. package/dist/indexer/declaration-visibility.js.map +1 -1
  248. package/dist/indexer/expand-star-imports.d.ts +6 -1
  249. package/dist/indexer/expand-star-imports.d.ts.map +1 -1
  250. package/dist/indexer/expand-star-imports.js +131 -37
  251. package/dist/indexer/expand-star-imports.js.map +1 -1
  252. package/dist/indexer/finalize.d.ts.map +1 -1
  253. package/dist/indexer/finalize.js +0 -1
  254. package/dist/indexer/finalize.js.map +1 -1
  255. package/dist/indexer/import-resolution-tables.d.ts +72 -0
  256. package/dist/indexer/import-resolution-tables.d.ts.map +1 -0
  257. package/dist/indexer/import-resolution-tables.js +137 -0
  258. package/dist/indexer/import-resolution-tables.js.map +1 -0
  259. package/dist/indexer/import-types.d.ts +54 -0
  260. package/dist/indexer/import-types.d.ts.map +1 -1
  261. package/dist/indexer/import-types.js +24 -1
  262. package/dist/indexer/import-types.js.map +1 -1
  263. package/dist/indexer/imports/context.d.ts +16 -1
  264. package/dist/indexer/imports/context.d.ts.map +1 -1
  265. package/dist/indexer/imports/import-binding-tables.d.ts +13 -1
  266. package/dist/indexer/imports/import-binding-tables.d.ts.map +1 -1
  267. package/dist/indexer/imports/import-binding-tables.js +149 -30
  268. package/dist/indexer/imports/import-binding-tables.js.map +1 -1
  269. package/dist/indexer/imports/js-text-imports.js +4 -4
  270. package/dist/indexer/imports/js-text-imports.js.map +1 -1
  271. package/dist/indexer/imports/native-captures.d.ts.map +1 -1
  272. package/dist/indexer/imports/native-captures.js +24 -6
  273. package/dist/indexer/imports/native-captures.js.map +1 -1
  274. package/dist/indexer/imports/python.d.ts +10 -2
  275. package/dist/indexer/imports/python.d.ts.map +1 -1
  276. package/dist/indexer/imports/python.js +128 -112
  277. package/dist/indexer/imports/python.js.map +1 -1
  278. package/dist/indexer/imports/text-import-extractors.d.ts.map +1 -1
  279. package/dist/indexer/imports/text-import-extractors.js +68 -19
  280. package/dist/indexer/imports/text-import-extractors.js.map +1 -1
  281. package/dist/indexer/imports.d.ts +3 -4
  282. package/dist/indexer/imports.d.ts.map +1 -1
  283. package/dist/indexer/imports.js +116 -72
  284. package/dist/indexer/imports.js.map +1 -1
  285. package/dist/indexer/incremental-plan.d.ts +33 -0
  286. package/dist/indexer/incremental-plan.d.ts.map +1 -1
  287. package/dist/indexer/incremental-plan.js +203 -1
  288. package/dist/indexer/incremental-plan.js.map +1 -1
  289. package/dist/indexer/locals-and-exports.d.ts +3 -2
  290. package/dist/indexer/locals-and-exports.d.ts.map +1 -1
  291. package/dist/indexer/locals-and-exports.js +659 -78
  292. package/dist/indexer/locals-and-exports.js.map +1 -1
  293. package/dist/indexer/member-selection.d.ts +46 -0
  294. package/dist/indexer/member-selection.d.ts.map +1 -0
  295. package/dist/indexer/member-selection.js +169 -0
  296. package/dist/indexer/member-selection.js.map +1 -0
  297. package/dist/indexer/name-lookup-policies/c-family.d.ts +7 -0
  298. package/dist/indexer/name-lookup-policies/c-family.d.ts.map +1 -0
  299. package/dist/indexer/name-lookup-policies/c-family.js +137 -0
  300. package/dist/indexer/name-lookup-policies/c-family.js.map +1 -0
  301. package/dist/indexer/name-lookup-policies/csharp-using-static.d.ts +11 -0
  302. package/dist/indexer/name-lookup-policies/csharp-using-static.d.ts.map +1 -0
  303. package/dist/indexer/name-lookup-policies/csharp-using-static.js +136 -0
  304. package/dist/indexer/name-lookup-policies/csharp-using-static.js.map +1 -0
  305. package/dist/indexer/name-lookup-policies/implicit-self.d.ts +10 -0
  306. package/dist/indexer/name-lookup-policies/implicit-self.d.ts.map +1 -0
  307. package/dist/indexer/name-lookup-policies/implicit-self.js +119 -0
  308. package/dist/indexer/name-lookup-policies/implicit-self.js.map +1 -0
  309. package/dist/indexer/name-lookup-policies/index.d.ts +3 -0
  310. package/dist/indexer/name-lookup-policies/index.d.ts.map +1 -0
  311. package/dist/indexer/name-lookup-policies/index.js +132 -0
  312. package/dist/indexer/name-lookup-policies/index.js.map +1 -0
  313. package/dist/indexer/name-lookup-policies/php.d.ts +3 -0
  314. package/dist/indexer/name-lookup-policies/php.d.ts.map +1 -0
  315. package/dist/indexer/name-lookup-policies/php.js +82 -0
  316. package/dist/indexer/name-lookup-policies/php.js.map +1 -0
  317. package/dist/indexer/name-resolution-types.d.ts +101 -0
  318. package/dist/indexer/name-resolution-types.d.ts.map +1 -0
  319. package/dist/indexer/name-resolution-types.js +2 -0
  320. package/dist/indexer/name-resolution-types.js.map +1 -0
  321. package/dist/indexer/name-resolution.d.ts +57 -0
  322. package/dist/indexer/name-resolution.d.ts.map +1 -0
  323. package/dist/indexer/name-resolution.js +204 -0
  324. package/dist/indexer/name-resolution.js.map +1 -0
  325. package/dist/indexer/navigation-cpp.d.ts +58 -0
  326. package/dist/indexer/navigation-cpp.d.ts.map +1 -0
  327. package/dist/indexer/navigation-cpp.js +935 -0
  328. package/dist/indexer/navigation-cpp.js.map +1 -0
  329. package/dist/indexer/navigation-goto.d.ts +115 -3
  330. package/dist/indexer/navigation-goto.d.ts.map +1 -1
  331. package/dist/indexer/navigation-goto.js +2469 -190
  332. package/dist/indexer/navigation-goto.js.map +1 -1
  333. package/dist/indexer/navigation-local.d.ts +21 -2
  334. package/dist/indexer/navigation-local.d.ts.map +1 -1
  335. package/dist/indexer/navigation-local.js +520 -63
  336. package/dist/indexer/navigation-local.js.map +1 -1
  337. package/dist/indexer/navigation-php.d.ts +66 -0
  338. package/dist/indexer/navigation-php.d.ts.map +1 -1
  339. package/dist/indexer/navigation-php.js +287 -4
  340. package/dist/indexer/navigation-php.js.map +1 -1
  341. package/dist/indexer/navigation-provenance.d.ts +1 -1
  342. package/dist/indexer/navigation-provenance.d.ts.map +1 -1
  343. package/dist/indexer/navigation-provenance.js +4 -13
  344. package/dist/indexer/navigation-provenance.js.map +1 -1
  345. package/dist/indexer/navigation-references.d.ts +73 -6
  346. package/dist/indexer/navigation-references.d.ts.map +1 -1
  347. package/dist/indexer/navigation-references.js +661 -67
  348. package/dist/indexer/navigation-references.js.map +1 -1
  349. package/dist/indexer/navigation-resolve.d.ts +46 -2
  350. package/dist/indexer/navigation-resolve.d.ts.map +1 -1
  351. package/dist/indexer/navigation-resolve.js +599 -193
  352. package/dist/indexer/navigation-resolve.js.map +1 -1
  353. package/dist/indexer/navigation.d.ts +29 -2
  354. package/dist/indexer/navigation.d.ts.map +1 -1
  355. package/dist/indexer/navigation.js +1092 -153
  356. package/dist/indexer/navigation.js.map +1 -1
  357. package/dist/indexer/parse-context.d.ts +2 -3
  358. package/dist/indexer/parse-context.d.ts.map +1 -1
  359. package/dist/indexer/parse-context.js +8 -21
  360. package/dist/indexer/parse-context.js.map +1 -1
  361. package/dist/indexer/php-namespace-symbols.d.ts +66 -0
  362. package/dist/indexer/php-namespace-symbols.d.ts.map +1 -0
  363. package/dist/indexer/php-namespace-symbols.js +342 -0
  364. package/dist/indexer/php-namespace-symbols.js.map +1 -0
  365. package/dist/indexer/reference-candidates.d.ts.map +1 -1
  366. package/dist/indexer/reference-candidates.js +13 -7
  367. package/dist/indexer/reference-candidates.js.map +1 -1
  368. package/dist/indexer/reference-context.d.ts +2 -0
  369. package/dist/indexer/reference-context.d.ts.map +1 -1
  370. package/dist/indexer/reference-context.js +4 -0
  371. package/dist/indexer/reference-context.js.map +1 -1
  372. package/dist/indexer/scope-nodes.d.ts +92 -13
  373. package/dist/indexer/scope-nodes.d.ts.map +1 -1
  374. package/dist/indexer/scope-nodes.js +212 -20
  375. package/dist/indexer/scope-nodes.js.map +1 -1
  376. package/dist/indexer/scope-types.d.ts +29 -1
  377. package/dist/indexer/scope-types.d.ts.map +1 -1
  378. package/dist/indexer/scope.d.ts +2 -3
  379. package/dist/indexer/scope.d.ts.map +1 -1
  380. package/dist/indexer/scope.js +968 -47
  381. package/dist/indexer/scope.js.map +1 -1
  382. package/dist/indexer/shared-owner-identity.d.ts +53 -0
  383. package/dist/indexer/shared-owner-identity.d.ts.map +1 -0
  384. package/dist/indexer/shared-owner-identity.js +460 -0
  385. package/dist/indexer/shared-owner-identity.js.map +1 -0
  386. package/dist/indexer/shared.d.ts +1 -1
  387. package/dist/indexer/shared.d.ts.map +1 -1
  388. package/dist/indexer/shared.js +1 -1
  389. package/dist/indexer/shared.js.map +1 -1
  390. package/dist/indexer/star-import-precedence.d.ts +113 -0
  391. package/dist/indexer/star-import-precedence.d.ts.map +1 -0
  392. package/dist/indexer/star-import-precedence.js +402 -0
  393. package/dist/indexer/star-import-precedence.js.map +1 -0
  394. package/dist/indexer/symbols.d.ts +3 -1
  395. package/dist/indexer/symbols.d.ts.map +1 -1
  396. package/dist/indexer/symbols.js +58 -18
  397. package/dist/indexer/symbols.js.map +1 -1
  398. package/dist/indexer/ts-callables.d.ts +42 -0
  399. package/dist/indexer/ts-callables.d.ts.map +1 -0
  400. package/dist/indexer/ts-callables.js +233 -0
  401. package/dist/indexer/ts-callables.js.map +1 -0
  402. package/dist/indexer/types.d.ts +41 -26
  403. package/dist/indexer/types.d.ts.map +1 -1
  404. package/dist/indexer/unused-exports.d.ts +13 -0
  405. package/dist/indexer/unused-exports.d.ts.map +1 -0
  406. package/dist/indexer/unused-exports.js +159 -0
  407. package/dist/indexer/unused-exports.js.map +1 -0
  408. package/dist/indexer/workspace-symbols.d.ts.map +1 -1
  409. package/dist/indexer/workspace-symbols.js +3 -2
  410. package/dist/indexer/workspace-symbols.js.map +1 -1
  411. package/dist/indexer.d.ts +3 -8
  412. package/dist/indexer.d.ts.map +1 -1
  413. package/dist/indexer.js +1 -1
  414. package/dist/indexer.js.map +1 -1
  415. package/dist/languages/callable-arity.d.ts +223 -0
  416. package/dist/languages/callable-arity.d.ts.map +1 -0
  417. package/dist/languages/callable-arity.js +1199 -0
  418. package/dist/languages/callable-arity.js.map +1 -0
  419. package/dist/languages/definitions/c-family.d.ts.map +1 -1
  420. package/dist/languages/definitions/c-family.js +30 -1
  421. package/dist/languages/definitions/c-family.js.map +1 -1
  422. package/dist/languages/definitions/c.d.ts +4 -0
  423. package/dist/languages/definitions/c.d.ts.map +1 -1
  424. package/dist/languages/definitions/c.js +19 -0
  425. package/dist/languages/definitions/c.js.map +1 -1
  426. package/dist/languages/definitions/cpp.d.ts.map +1 -1
  427. package/dist/languages/definitions/cpp.js +12 -0
  428. package/dist/languages/definitions/cpp.js.map +1 -1
  429. package/dist/languages/definitions/csharp.d.ts.map +1 -1
  430. package/dist/languages/definitions/csharp.js +2 -8
  431. package/dist/languages/definitions/csharp.js.map +1 -1
  432. package/dist/languages/definitions/go.d.ts.map +1 -1
  433. package/dist/languages/definitions/go.js +3 -0
  434. package/dist/languages/definitions/go.js.map +1 -1
  435. package/dist/languages/definitions/javascript.d.ts.map +1 -1
  436. package/dist/languages/definitions/javascript.js +10 -1
  437. package/dist/languages/definitions/javascript.js.map +1 -1
  438. package/dist/languages/definitions/js-family.d.ts +1 -1
  439. package/dist/languages/definitions/js-family.d.ts.map +1 -1
  440. package/dist/languages/definitions/js-family.js +7 -1
  441. package/dist/languages/definitions/js-family.js.map +1 -1
  442. package/dist/languages/definitions/php.d.ts.map +1 -1
  443. package/dist/languages/definitions/php.js +5 -1
  444. package/dist/languages/definitions/php.js.map +1 -1
  445. package/dist/languages/definitions/typescript.d.ts.map +1 -1
  446. package/dist/languages/definitions/typescript.js +8 -1
  447. package/dist/languages/definitions/typescript.js.map +1 -1
  448. package/dist/languages/definitions/zig.d.ts.map +1 -1
  449. package/dist/languages/definitions/zig.js +8 -0
  450. package/dist/languages/definitions/zig.js.map +1 -1
  451. package/dist/lifecycle/manifest.d.ts.map +1 -1
  452. package/dist/lifecycle/manifest.js +0 -1
  453. package/dist/lifecycle/manifest.js.map +1 -1
  454. package/dist/mcp/handlers.js +14 -7
  455. package/dist/mcp/handlers.js.map +1 -1
  456. package/dist/native/byte-index.d.ts +6 -0
  457. package/dist/native/byte-index.d.ts.map +1 -1
  458. package/dist/native/byte-index.js +11 -6
  459. package/dist/native/byte-index.js.map +1 -1
  460. package/dist/native/contracts.d.ts +2 -3
  461. package/dist/native/contracts.d.ts.map +1 -1
  462. package/dist/native/execution.d.ts +9 -9
  463. package/dist/native/execution.d.ts.map +1 -1
  464. package/dist/native/execution.js +37 -77
  465. package/dist/native/execution.js.map +1 -1
  466. package/dist/native/js-bridge.d.ts +2 -15
  467. package/dist/native/js-bridge.d.ts.map +1 -1
  468. package/dist/native/js-bridge.js +2 -15
  469. package/dist/native/js-bridge.js.map +1 -1
  470. package/dist/native/query-results.js +2 -2
  471. package/dist/native/query-results.js.map +1 -1
  472. package/dist/native/runtime.d.ts +12 -12
  473. package/dist/native/runtime.d.ts.map +1 -1
  474. package/dist/native/runtime.js +24 -69
  475. package/dist/native/runtime.js.map +1 -1
  476. package/dist/native/tree-sitter-native.d.ts +3 -3
  477. package/dist/native/tree-sitter-native.d.ts.map +1 -1
  478. package/dist/native/tree-sitter-native.js +2 -2
  479. package/dist/native/tree-sitter-native.js.map +1 -1
  480. package/dist/presets.d.ts.map +1 -1
  481. package/dist/presets.js +0 -4
  482. package/dist/presets.js.map +1 -1
  483. package/dist/review/candidates.d.ts.map +1 -1
  484. package/dist/review/candidates.js +1 -1
  485. package/dist/review/candidates.js.map +1 -1
  486. package/dist/review/deleted.d.ts +3 -3
  487. package/dist/review/deleted.d.ts.map +1 -1
  488. package/dist/review/deleted.js +82 -32
  489. package/dist/review/deleted.js.map +1 -1
  490. package/dist/review/report.d.ts +1 -0
  491. package/dist/review/report.d.ts.map +1 -1
  492. package/dist/review/report.js +1 -1
  493. package/dist/review/report.js.map +1 -1
  494. package/dist/review.d.ts.map +1 -1
  495. package/dist/review.js +3 -20
  496. package/dist/review.js.map +1 -1
  497. package/dist/session.d.ts.map +1 -1
  498. package/dist/session.js +0 -5
  499. package/dist/session.js.map +1 -1
  500. package/dist/sql/navigation.d.ts.map +1 -1
  501. package/dist/sql/navigation.js +2 -1
  502. package/dist/sql/navigation.js.map +1 -1
  503. package/dist/sql/source-graph.d.ts.map +1 -1
  504. package/dist/sql/source-graph.js +2 -2
  505. package/dist/sql/source-graph.js.map +1 -1
  506. package/dist/sqlite/schema.d.ts +1 -1
  507. package/dist/sqlite/schema.d.ts.map +1 -1
  508. package/dist/sqlite/schema.js +8 -2
  509. package/dist/sqlite/schema.js.map +1 -1
  510. package/dist/sqlite/write.js +2 -2
  511. package/dist/sqlite/write.js.map +1 -1
  512. package/dist/types.d.ts +2 -0
  513. package/dist/types.d.ts.map +1 -1
  514. package/dist/util/bloom-filter.d.ts +8 -1
  515. package/dist/util/bloom-filter.d.ts.map +1 -1
  516. package/dist/util/bloom-filter.js +15 -2
  517. package/dist/util/bloom-filter.js.map +1 -1
  518. package/dist/util/glob.d.ts +32 -0
  519. package/dist/util/glob.d.ts.map +1 -0
  520. package/dist/util/glob.js +137 -0
  521. package/dist/util/glob.js.map +1 -0
  522. package/dist/util/graph-edges.d.ts +19 -1
  523. package/dist/util/graph-edges.d.ts.map +1 -1
  524. package/dist/util/graph-edges.js +30 -4
  525. package/dist/util/graph-edges.js.map +1 -1
  526. package/dist/util/identifiers.d.ts +15 -0
  527. package/dist/util/identifiers.d.ts.map +1 -1
  528. package/dist/util/identifiers.js +35 -0
  529. package/dist/util/identifiers.js.map +1 -1
  530. package/dist/util/member-access-tables.d.ts +61 -4
  531. package/dist/util/member-access-tables.d.ts.map +1 -1
  532. package/dist/util/member-access-tables.js +139 -19
  533. package/dist/util/member-access-tables.js.map +1 -1
  534. package/dist/util/member-access.d.ts +17 -0
  535. package/dist/util/member-access.d.ts.map +1 -1
  536. package/dist/util/member-access.js +98 -3
  537. package/dist/util/member-access.js.map +1 -1
  538. package/dist/util/project-files.d.ts +2 -10
  539. package/dist/util/project-files.d.ts.map +1 -1
  540. package/dist/util/project-files.js +29 -51
  541. package/dist/util/project-files.js.map +1 -1
  542. package/dist/util/python-type-checking.d.ts +18 -0
  543. package/dist/util/python-type-checking.d.ts.map +1 -0
  544. package/dist/util/python-type-checking.js +160 -0
  545. package/dist/util/python-type-checking.js.map +1 -0
  546. package/dist/util/resolution/cargo-targets.d.ts +11 -0
  547. package/dist/util/resolution/cargo-targets.d.ts.map +1 -1
  548. package/dist/util/resolution/cargo-targets.js +174 -13
  549. package/dist/util/resolution/cargo-targets.js.map +1 -1
  550. package/dist/util/resolution/csharp.d.ts +33 -1
  551. package/dist/util/resolution/csharp.d.ts.map +1 -1
  552. package/dist/util/resolution/csharp.js +145 -30
  553. package/dist/util/resolution/csharp.js.map +1 -1
  554. package/dist/util/resolution/jvm.d.ts +7 -3
  555. package/dist/util/resolution/jvm.d.ts.map +1 -1
  556. package/dist/util/resolution/jvm.js +56 -38
  557. package/dist/util/resolution/jvm.js.map +1 -1
  558. package/dist/util/resolution/php.d.ts.map +1 -1
  559. package/dist/util/resolution/php.js +35 -8
  560. package/dist/util/resolution/php.js.map +1 -1
  561. package/dist/util/resolution/python.d.ts +9 -0
  562. package/dist/util/resolution/python.d.ts.map +1 -1
  563. package/dist/util/resolution/python.js +46 -0
  564. package/dist/util/resolution/python.js.map +1 -1
  565. package/dist/util/resolution/rust.d.ts +0 -1
  566. package/dist/util/resolution/rust.d.ts.map +1 -1
  567. package/dist/util/resolution/rust.js +95 -35
  568. package/dist/util/resolution/rust.js.map +1 -1
  569. package/dist/util/resolution/specifier-targets.d.ts +44 -0
  570. package/dist/util/resolution/specifier-targets.d.ts.map +1 -0
  571. package/dist/util/resolution/specifier-targets.js +152 -0
  572. package/dist/util/resolution/specifier-targets.js.map +1 -0
  573. package/dist/util/resolution-candidates.d.ts +5 -0
  574. package/dist/util/resolution-candidates.d.ts.map +1 -1
  575. package/dist/util/resolution-candidates.js +16 -3
  576. package/dist/util/resolution-candidates.js.map +1 -1
  577. package/dist/util/resolution.d.ts +2 -1
  578. package/dist/util/resolution.d.ts.map +1 -1
  579. package/dist/util/resolution.js +101 -15
  580. package/dist/util/resolution.js.map +1 -1
  581. package/dist/util/specifiers.d.ts +29 -1
  582. package/dist/util/specifiers.d.ts.map +1 -1
  583. package/dist/util/specifiers.js +56 -8
  584. package/dist/util/specifiers.js.map +1 -1
  585. package/dist/util/trivia.d.ts.map +1 -1
  586. package/dist/util/trivia.js +49 -30
  587. package/dist/util/trivia.js.map +1 -1
  588. package/dist/util/workspace.d.ts.map +1 -1
  589. package/dist/util/workspace.js +32 -4
  590. package/dist/util/workspace.js.map +1 -1
  591. package/docs/mcp.md +3 -2
  592. package/package.json +5 -7
  593. package/dist/impact/call-compatibility/providers/profiles.d.ts +0 -80
  594. package/dist/impact/call-compatibility/providers/profiles.d.ts.map +0 -1
  595. package/dist/impact/call-compatibility/providers/profiles.js +0 -164
  596. package/dist/impact/call-compatibility/providers/profiles.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Per-language member-access and receiver-shape tables for `./member-access.ts` and the receiver
3
- * pass in `../graphs/symbol-graph-detailed/receiver-calls.ts`. Rows are keyed by language id,
4
- * following the trivia-table precedent in `./trivia-tables.ts`: the walkers keep the algorithm,
5
- * the table keeps the per-language node types, extraction shapes, and receiver keywords.
2
+ * Per-language member-access, receiver, and ancestry tables for `./member-access.ts`, keyword
3
+ * navigation, and the detailed graph passes. Rows are keyed by language id, following the
4
+ * trivia-table precedent in `./trivia-tables.ts`: walkers keep the algorithms; this table keeps
5
+ * the per-language node types, extraction shapes, receiver keywords, and ancestry forms.
6
6
  *
7
7
  * Every registered language has a row. A document, style, or data format row carries only
8
8
  * `omittedReason`; a source-language row declares each capability it has and names a one-line
@@ -14,6 +14,8 @@
14
14
  export type ReceiverKeywords = {
15
15
  /** Keywords naming the type that declares the calling member. */
16
16
  own: readonly string[];
17
+ /** Own-type keywords that name an instance rather than the type itself. */
18
+ instanceOwn: readonly string[];
17
19
  /** Keywords naming a supertype of the declaring type. */
18
20
  supertype: readonly string[];
19
21
  };
@@ -41,6 +43,35 @@ export type MemberAccessShape = {
41
43
  navigation: true;
42
44
  };
43
45
  };
46
+ export type ReceiverAncestryRelation = "extends" | "implements" | "trait" | "mixin";
47
+ export type ReceiverAncestorClause = {
48
+ /** Syntax node that contains one or more declared ancestors. */
49
+ nodeType: string;
50
+ /** Detailed-graph edge label, or superclass-first classification for mixed base lists. */
51
+ relation: ReceiverAncestryRelation | "superclass-first";
52
+ /** Descend into this field before collecting ancestors. */
53
+ field?: string;
54
+ /** Treat every matching clause separately. */
55
+ each?: boolean;
56
+ /**
57
+ * Which ancestors a `super`/`parent`/`base` receiver may address. Own-type receivers use every
58
+ * declaration in the clause.
59
+ */
60
+ supertype?: "all" | "first-child" | "first-match";
61
+ };
62
+ export type ReceiverAncestorEmbed = {
63
+ body: string;
64
+ memberList?: string;
65
+ member: string;
66
+ typeField?: string;
67
+ nameless?: boolean;
68
+ };
69
+ export type ReceiverAncestry = {
70
+ clauses: readonly ReceiverAncestorClause[];
71
+ embeds?: readonly ReceiverAncestorEmbed[];
72
+ /** Call names that add mixins to the declaring type, such as Ruby `include` and `prepend`. */
73
+ mixinCalls?: readonly string[];
74
+ };
44
75
  export type MemberAccessRow = {
45
76
  /** Why the language has no member-access capability at all; only document, style, and data formats set it. */
46
77
  omittedReason?: string;
@@ -58,8 +89,25 @@ export type MemberAccessRow = {
58
89
  navigationFallbackLastChild?: true;
59
90
  /** Identifiers that name the type declaring the calling member. */
60
91
  receiverKeywords?: ReceiverKeywords;
92
+ /**
93
+ * A receiver keyword may also be spelled as a zero-argument call to that keyword identifier
94
+ * (Python's `super()`, which has no bare-name form unlike `self`/`cls`). Absent for every
95
+ * language whose receiver keywords are always bare names.
96
+ */
97
+ receiverKeywordCallShape?: true;
61
98
  /** Why the language declares no receiver keywords. */
62
99
  receiverKeywordsOmittedReason?: string;
100
+ /** Language syntax that declares ancestors visible to own-type and supertype receivers. */
101
+ receiverAncestry?: ReceiverAncestry;
102
+ /**
103
+ * Member syntax can name a free function (`!isMember`): Kotlin extensions
104
+ * (`fun Widget.describe()`) and Go methods, which are indexed as free functions.
105
+ * Swift extensions, Rust methods, and C# extension methods are `isMember`, so they
106
+ * stay on the member path and do not set this flag.
107
+ */
108
+ memberCallNamesFreeFunction?: true;
109
+ /** Why a member call cannot name a free function in this language. */
110
+ memberCallNamesFreeFunctionOmittedReason?: string;
63
111
  };
64
112
  export declare const MEMBER_ACCESS_ROWS: Record<string, MemberAccessRow>;
65
113
  /** Every language that declares receiver keywords, guarded by the registry-consistency test. */
@@ -68,5 +116,14 @@ export declare const receiverKeywordLanguageIds: readonly string[];
68
116
  export declare function supportsReceiverCallEdges(languageId: string): boolean;
69
117
  /** Languages where goto and references require proven receivers and do not fall back to a bare name. */
70
118
  export declare function supportsReceiverMemberNavigation(languageId: string): boolean;
119
+ export declare function keywordReceiverKind(languageId: string, receiverName: string): "own" | "supertype" | null;
120
+ /**
121
+ * Instance-own keywords (`this`, `$this`) require instance members.
122
+ * Other own keywords name the declaring type and may still bind instance members
123
+ * (PHP `self::` / `static::` late static binding), so they do not force a static-only filter.
124
+ */
125
+ export declare function ownReceiverMemberScope(languageId: string, receiverName: string): "instance" | "any" | null;
71
126
  export declare function isKeywordReceiver(languageId: string, receiverName: string): boolean;
127
+ /** Whether `receiver.name()` can refer to a free function rather than only a member. */
128
+ export declare function memberSyntaxNamesFreeFunction(languageId: string): boolean;
72
129
  //# sourceMappingURL=member-access-tables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"member-access-tables.d.ts","sourceRoot":"","sources":["../../src/util/member-access-tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,0FAA0F;AAC1F,MAAM,MAAM,gBAAgB,GAAG;IAC7B,iEAAiE;IACjE,GAAG,EAAE,SAAS,MAAM,EAAE,CAAC;IACvB,yDAAyD;IACzD,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtH,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,mGAAmG;IACnG,QAAQ,EAAE,iBAAiB,GAAG;QAAE,UAAU,EAAE,IAAI,CAAA;KAAE,CAAC;CACpD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,8GAA8G;IAC9G,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yGAAyG;IACzG,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,yFAAyF;IACzF,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,sGAAsG;IACtG,kBAAkB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAClD,oGAAoG;IACpG,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,gHAAgH;IAChH,2BAA2B,CAAC,EAAE,IAAI,CAAC;IACnC,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,sDAAsD;IACtD,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACxC,CAAC;AAkBF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAgI9D,CAAC;AAEF,gGAAgG;AAChG,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAEvD,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAErE;AAED,wGAAwG;AACxG,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE5E;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAInF"}
1
+ {"version":3,"file":"member-access-tables.d.ts","sourceRoot":"","sources":["../../src/util/member-access-tables.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Per-language member-access and receiver-shape tables for `./member-access.ts` and the receiver
3
- * pass in `../graphs/symbol-graph-detailed/receiver-calls.ts`. Rows are keyed by language id,
4
- * following the trivia-table precedent in `./trivia-tables.ts`: the walkers keep the algorithm,
5
- * the table keeps the per-language node types, extraction shapes, and receiver keywords.
2
+ * Per-language member-access, receiver, and ancestry tables for `./member-access.ts`, keyword
3
+ * navigation, and the detailed graph passes. Rows are keyed by language id, following the
4
+ * trivia-table precedent in `./trivia-tables.ts`: walkers keep the algorithms; this table keeps
5
+ * the per-language node types, extraction shapes, receiver keywords, and ancestry forms.
6
6
  *
7
7
  * Every registered language has a row. A document, style, or data format row carries only
8
8
  * `omittedReason`; a source-language row declares each capability it has and names a one-line
@@ -21,23 +21,39 @@ const CPP_QUALIFIED_ACCESS_SHAPE = {
21
21
  object: { field: "scope", fallbackIndex: 0 },
22
22
  property: { field: "name", fallbackIndex: 2 },
23
23
  };
24
- const THIS_SUPER_RECEIVERS = { own: ["this"], supertype: ["super"] };
25
- const SELF_RECEIVERS = { own: ["self"], supertype: ["super"] };
24
+ const THIS_SUPER_RECEIVERS = { own: ["this"], instanceOwn: ["this"], supertype: ["super"] };
25
+ const SELF_RECEIVERS = { own: ["self"], instanceOwn: ["self"], supertype: ["super"] };
26
26
  export const MEMBER_ACCESS_ROWS = {
27
27
  adoc: { omittedReason: "AsciiDoc document format; embedded code blocks parse as their own language." },
28
28
  astro: { omittedReason: "Astro document format; scripts parse as js/ts and templates as html." },
29
29
  c: {
30
30
  memberAccessShapes: [C_FIELD_ACCESS_SHAPE],
31
31
  receiverKeywordsOmittedReason: "C has no receiver keyword; member access always names an explicit object or pointer.",
32
+ memberCallNamesFreeFunctionOmittedReason: "A member expression names a field of an object, not a free function.",
32
33
  },
33
34
  cpp: {
34
35
  memberAccessShapes: [C_FIELD_ACCESS_SHAPE, CPP_QUALIFIED_ACCESS_SHAPE],
35
- receiverKeywords: { own: ["this"], supertype: [] },
36
+ receiverKeywords: { own: ["this"], instanceOwn: ["this"], supertype: [] },
37
+ receiverAncestry: { clauses: [{ nodeType: "base_class_clause", relation: "extends" }] },
38
+ memberCallNamesFreeFunctionOmittedReason: "A member call on an object or parameter cannot name a namespace free function.",
36
39
  },
37
40
  css: { omittedReason: "Style language; no member-access concept." },
38
41
  csharp: {
39
- memberAccessShapes: [{ object: { index: 0 }, property: { index: 2 } }],
40
- receiverKeywords: { own: ["this"], supertype: ["base"] },
42
+ extraTraversalTypes: ["qualified_name", "alias_qualified_name"],
43
+ extraMemberAccessTypes: ["alias_qualified_name"],
44
+ memberAccessShapes: [
45
+ {
46
+ nodeTypes: ["alias_qualified_name"],
47
+ object: { field: "alias", fallbackIndex: 0 },
48
+ property: { field: "name", fallbackIndex: 2 },
49
+ },
50
+ { object: { index: 0 }, property: { index: 2 } },
51
+ ],
52
+ receiverKeywords: { own: ["this"], instanceOwn: ["this"], supertype: ["base"] },
53
+ receiverAncestry: {
54
+ clauses: [{ nodeType: "base_list", relation: "superclass-first", supertype: "first-child" }],
55
+ },
56
+ memberCallNamesFreeFunctionOmittedReason: "Extension methods are members; a free function is not called with member syntax.",
41
57
  },
42
58
  go: {
43
59
  extraTraversalTypes: ["qualified_type"],
@@ -45,11 +61,26 @@ export const MEMBER_ACCESS_ROWS = {
45
61
  memberAccessShapes: [{ nodeTypes: ["qualified_type"], object: { namedIndex: 0 }, property: { namedIndex: 1 } }],
46
62
  // Go has no receiver keyword: a method call's receiver is an ordinary value. The row still
47
63
  // exists so go receivers must be proven rather than falling back to a bare name.
48
- receiverKeywords: { own: [], supertype: [] },
64
+ receiverKeywords: { own: [], instanceOwn: [], supertype: [] },
65
+ receiverAncestry: {
66
+ clauses: [],
67
+ embeds: [
68
+ { body: "interface_type", member: "type_elem" },
69
+ {
70
+ body: "struct_type",
71
+ memberList: "field_declaration_list",
72
+ member: "field_declaration",
73
+ typeField: "type",
74
+ nameless: true,
75
+ },
76
+ ],
77
+ },
78
+ memberCallNamesFreeFunction: true,
49
79
  },
50
80
  hbs: { omittedReason: "Handlebars document format; embedded scripts parse as their own language." },
51
81
  html: { omittedReason: "Document format; embedded scripts parse as their own language." },
52
82
  java: {
83
+ extraTraversalTypes: ["field_access", "scoped_identifier", "scoped_type_identifier"],
53
84
  memberAccessShapes: [
54
85
  {
55
86
  nodeTypes: ["method_invocation"],
@@ -63,10 +94,19 @@ export const MEMBER_ACCESS_ROWS = {
63
94
  },
64
95
  ],
65
96
  receiverKeywords: THIS_SUPER_RECEIVERS,
97
+ receiverAncestry: {
98
+ clauses: [
99
+ { nodeType: "superclass", relation: "extends", supertype: "all" },
100
+ { nodeType: "super_interfaces", relation: "implements" },
101
+ ],
102
+ },
103
+ memberCallNamesFreeFunctionOmittedReason: "A method call names a member of the receiver type, not a free function.",
66
104
  },
67
105
  js: {
68
106
  memberAccessOmittedReason: "The shared generic default already reads member_expression's object and property fields.",
69
107
  receiverKeywords: THIS_SUPER_RECEIVERS,
108
+ receiverAncestry: { clauses: [{ nodeType: "class_heritage", relation: "extends", supertype: "all" }] },
109
+ memberCallNamesFreeFunctionOmittedReason: "Member syntax names an object property; a free function is not called that way.",
70
110
  },
71
111
  kotlin: {
72
112
  memberAccessShapes: [
@@ -74,12 +114,21 @@ export const MEMBER_ACCESS_ROWS = {
74
114
  ],
75
115
  navigationFallbackLastChild: true,
76
116
  receiverKeywords: THIS_SUPER_RECEIVERS,
117
+ receiverAncestry: {
118
+ clauses: [{ nodeType: "delegation_specifiers", relation: "superclass-first", supertype: "first-child" }],
119
+ },
120
+ memberCallNamesFreeFunction: true,
77
121
  },
78
122
  less: { omittedReason: "Style language; no member-access concept." },
79
123
  markdown: { omittedReason: "Document format; fenced code blocks parse as their own language." },
80
124
  mdx: { omittedReason: "MDX document format; scripts parse as js/ts and templates as html." },
81
125
  php: {
82
- extraMemberAccessTypes: ["member_call_expression", "nullsafe_member_call_expression", "scoped_call_expression"],
126
+ extraMemberAccessTypes: [
127
+ "member_call_expression",
128
+ "nullsafe_member_call_expression",
129
+ "scoped_call_expression",
130
+ "class_constant_access_expression",
131
+ ],
83
132
  memberAccessShapes: [
84
133
  {
85
134
  nodeTypes: ["member_call_expression", "nullsafe_member_call_expression"],
@@ -91,15 +140,31 @@ export const MEMBER_ACCESS_ROWS = {
91
140
  object: { field: "scope", fallbackIndex: 0 },
92
141
  property: { field: "name", fallbackIndex: 2 },
93
142
  },
143
+ {
144
+ nodeTypes: ["class_constant_access_expression"],
145
+ object: { namedIndex: 0 },
146
+ property: { namedIndex: 1 },
147
+ },
94
148
  ],
95
- receiverKeywords: { own: ["$this", "self", "static"], supertype: ["parent"] },
149
+ receiverKeywords: { own: ["$this", "self", "static"], instanceOwn: ["$this"], supertype: ["parent"] },
150
+ receiverAncestry: {
151
+ clauses: [
152
+ { nodeType: "base_clause", relation: "extends", supertype: "all" },
153
+ { nodeType: "class_interface_clause", relation: "implements" },
154
+ { nodeType: "use_declaration", relation: "trait", each: true },
155
+ ],
156
+ },
157
+ memberCallNamesFreeFunctionOmittedReason: "A member or scoped call names a class member, not a free function.",
96
158
  },
97
159
  python: {
98
160
  memberExpressionType: "attribute",
99
161
  memberAccessShapes: [
100
162
  { object: { field: "object", fallbackIndex: 0 }, property: { field: "attribute", fallbackIndex: 2 } },
101
163
  ],
102
- receiverKeywords: { own: ["self", "cls"], supertype: [] },
164
+ receiverKeywords: { own: ["self", "cls"], instanceOwn: ["self"], supertype: ["super"] },
165
+ receiverKeywordCallShape: true,
166
+ receiverAncestry: { clauses: [{ nodeType: "argument_list", relation: "extends" }] },
167
+ memberCallNamesFreeFunctionOmittedReason: "Attribute access names a member; a free function is not called that way.",
103
168
  },
104
169
  rst: { omittedReason: "reStructuredText document format; embedded code blocks parse as their own language." },
105
170
  ruby: {
@@ -113,9 +178,15 @@ export const MEMBER_ACCESS_ROWS = {
113
178
  // Ruby models every other member access as a `call` node with receiver and method fields.
114
179
  { object: { field: "receiver", fallbackIndex: 0 }, property: { field: "method", fallbackIndex: 2 } },
115
180
  ],
116
- receiverKeywords: { own: ["self"], supertype: [] },
181
+ receiverKeywords: { own: ["self"], instanceOwn: ["self"], supertype: [] },
182
+ receiverAncestry: {
183
+ clauses: [{ nodeType: "superclass", relation: "extends", supertype: "all" }],
184
+ mixinCalls: ["include", "extend", "prepend"],
185
+ },
186
+ memberCallNamesFreeFunctionOmittedReason: "A call with a receiver names a method, not a free function.",
117
187
  },
118
188
  rust: {
189
+ extraTraversalTypes: ["scoped_identifier"],
119
190
  memberAccessShapes: [
120
191
  {
121
192
  nodeTypes: ["scoped_identifier"],
@@ -123,7 +194,8 @@ export const MEMBER_ACCESS_ROWS = {
123
194
  property: { field: "name", fallbackIndex: 2 },
124
195
  },
125
196
  ],
126
- receiverKeywords: { own: ["self", "Self"], supertype: [] },
197
+ receiverKeywords: { own: ["self", "Self"], instanceOwn: ["self"], supertype: [] },
198
+ memberCallNamesFreeFunctionOmittedReason: "Methods are members; a free function is not invoked with member syntax.",
127
199
  },
128
200
  scss: { omittedReason: "Style language; no member-access concept." },
129
201
  svelte: { omittedReason: "Svelte component format; script blocks parse as js/ts and templates as html." },
@@ -133,19 +205,45 @@ export const MEMBER_ACCESS_ROWS = {
133
205
  { nodeTypes: ["navigation_expression"], object: { namedIndex: 0 }, property: { navigation: true } },
134
206
  ],
135
207
  receiverKeywords: SELF_RECEIVERS,
208
+ receiverAncestry: {
209
+ clauses: [
210
+ {
211
+ nodeType: "inheritance_specifier",
212
+ relation: "superclass-first",
213
+ each: true,
214
+ supertype: "first-match",
215
+ },
216
+ ],
217
+ },
218
+ memberCallNamesFreeFunctionOmittedReason: "Extension methods are members; a free function is not called with member syntax.",
136
219
  },
137
220
  ts: {
138
221
  memberAccessOmittedReason: "The shared generic default already reads member_expression's object and property fields.",
139
222
  receiverKeywords: THIS_SUPER_RECEIVERS,
223
+ receiverAncestry: {
224
+ clauses: [
225
+ { nodeType: "extends_clause", relation: "extends", field: "value", supertype: "all" },
226
+ { nodeType: "implements_clause", relation: "implements" },
227
+ ],
228
+ },
229
+ memberCallNamesFreeFunctionOmittedReason: "Member syntax names an object property; a free function is not called that way.",
140
230
  },
141
231
  tsx: {
142
232
  memberAccessOmittedReason: "The shared generic default already reads member_expression's object and property fields.",
143
233
  receiverKeywords: THIS_SUPER_RECEIVERS,
234
+ receiverAncestry: {
235
+ clauses: [
236
+ { nodeType: "extends_clause", relation: "extends", field: "value", supertype: "all" },
237
+ { nodeType: "implements_clause", relation: "implements" },
238
+ ],
239
+ },
240
+ memberCallNamesFreeFunctionOmittedReason: "Member syntax names an object property; a free function is not called that way.",
144
241
  },
145
242
  vue: { omittedReason: "Vue component format; script blocks parse as js/ts and templates as html." },
146
243
  zig: {
147
244
  memberAccessOmittedReason: "No per-language extraction today; the shared generic default is zig's behavior.",
148
- receiverKeywords: { own: ["self"], supertype: [] },
245
+ receiverKeywords: { own: ["self"], instanceOwn: ["self"], supertype: [] },
246
+ memberCallNamesFreeFunctionOmittedReason: "A member call names a container member, not a free function.",
149
247
  },
150
248
  };
151
249
  /** Every language that declares receiver keywords, guarded by the registry-consistency test. */
@@ -158,10 +256,32 @@ export function supportsReceiverCallEdges(languageId) {
158
256
  export function supportsReceiverMemberNavigation(languageId) {
159
257
  return MEMBER_ACCESS_ROWS[languageId]?.receiverKeywords !== undefined;
160
258
  }
161
- export function isKeywordReceiver(languageId, receiverName) {
259
+ export function keywordReceiverKind(languageId, receiverName) {
162
260
  const keywords = MEMBER_ACCESS_ROWS[languageId]?.receiverKeywords;
163
261
  if (!keywords)
164
- return false;
165
- return keywords.own.includes(receiverName) || keywords.supertype.includes(receiverName);
262
+ return null;
263
+ if (keywords.own.includes(receiverName))
264
+ return "own";
265
+ if (keywords.supertype.includes(receiverName))
266
+ return "supertype";
267
+ return null;
268
+ }
269
+ /**
270
+ * Instance-own keywords (`this`, `$this`) require instance members.
271
+ * Other own keywords name the declaring type and may still bind instance members
272
+ * (PHP `self::` / `static::` late static binding), so they do not force a static-only filter.
273
+ */
274
+ export function ownReceiverMemberScope(languageId, receiverName) {
275
+ const keywords = MEMBER_ACCESS_ROWS[languageId]?.receiverKeywords;
276
+ if (!keywords?.own.includes(receiverName))
277
+ return null;
278
+ return keywords.instanceOwn.includes(receiverName) ? "instance" : "any";
279
+ }
280
+ export function isKeywordReceiver(languageId, receiverName) {
281
+ return keywordReceiverKind(languageId, receiverName) !== null;
282
+ }
283
+ /** Whether `receiver.name()` can refer to a free function rather than only a member. */
284
+ export function memberSyntaxNamesFreeFunction(languageId) {
285
+ return !!MEMBER_ACCESS_ROWS[languageId]?.memberCallNamesFreeFunction;
166
286
  }
167
287
  //# sourceMappingURL=member-access-tables.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"member-access-tables.js","sourceRoot":"","sources":["../../src/util/member-access-tables.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgDH,oGAAoG;AACpG,MAAM,oBAAoB,GAAsB;IAC9C,SAAS,EAAE,CAAC,kBAAkB,CAAC;IAC/B,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,EAAE;IAC/C,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;CAC/C,CAAC;AAEF,MAAM,0BAA0B,GAAsB;IACpD,SAAS,EAAE,CAAC,sBAAsB,CAAC;IACnC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;IAC5C,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;CAC9C,CAAC;AAEF,MAAM,oBAAoB,GAAqB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AACvF,MAAM,cAAc,GAAqB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;AAEjF,MAAM,CAAC,MAAM,kBAAkB,GAAoC;IACjE,IAAI,EAAE,EAAE,aAAa,EAAE,6EAA6E,EAAE;IACtG,KAAK,EAAE,EAAE,aAAa,EAAE,sEAAsE,EAAE;IAChG,CAAC,EAAE;QACD,kBAAkB,EAAE,CAAC,oBAAoB,CAAC;QAC1C,6BAA6B,EAC3B,sFAAsF;KACzF;IACD,GAAG,EAAE;QACH,kBAAkB,EAAE,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;QACtE,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;KACnD;IACD,GAAG,EAAE,EAAE,aAAa,EAAE,2CAA2C,EAAE;IACnE,MAAM,EAAE;QACN,kBAAkB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;QACtE,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE;KACzD;IACD,EAAE,EAAE;QACF,mBAAmB,EAAE,CAAC,gBAAgB,CAAC;QACvC,sBAAsB,EAAE,CAAC,gBAAgB,CAAC;QAC1C,kBAAkB,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/G,2FAA2F;QAC3F,iFAAiF;QACjF,gBAAgB,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;KAC7C;IACD,GAAG,EAAE,EAAE,aAAa,EAAE,2EAA2E,EAAE;IACnG,IAAI,EAAE,EAAE,aAAa,EAAE,gEAAgE,EAAE;IACzF,IAAI,EAAE;QACJ,kBAAkB,EAAE;YAClB;gBACE,SAAS,EAAE,CAAC,mBAAmB,CAAC;gBAChC,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAE;gBAC7C,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;aAC9C;YACD;gBACE,SAAS,EAAE,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;gBAC1D,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;gBAC5C,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;aAC9C;SACF;QACD,gBAAgB,EAAE,oBAAoB;KACvC;IACD,EAAE,EAAE;QACF,yBAAyB,EACvB,0FAA0F;QAC5F,gBAAgB,EAAE,oBAAoB;KACvC;IACD,MAAM,EAAE;QACN,kBAAkB,EAAE;YAClB,EAAE,SAAS,EAAE,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;SACpG;QACD,2BAA2B,EAAE,IAAI;QACjC,gBAAgB,EAAE,oBAAoB;KACvC;IACD,IAAI,EAAE,EAAE,aAAa,EAAE,2CAA2C,EAAE;IACpE,QAAQ,EAAE,EAAE,aAAa,EAAE,kEAAkE,EAAE;IAC/F,GAAG,EAAE,EAAE,aAAa,EAAE,oEAAoE,EAAE;IAC5F,GAAG,EAAE;QACH,sBAAsB,EAAE,CAAC,wBAAwB,EAAE,iCAAiC,EAAE,wBAAwB,CAAC;QAC/G,kBAAkB,EAAE;YAClB;gBACE,SAAS,EAAE,CAAC,wBAAwB,EAAE,iCAAiC,CAAC;gBACxE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAE;gBAC7C,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;aAC9C;YACD;gBACE,SAAS,EAAE,CAAC,wBAAwB,CAAC;gBACrC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;gBAC5C,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;aAC9C;SACF;QACD,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAE;KAC9E;IACD,MAAM,EAAE;QACN,oBAAoB,EAAE,WAAW;QACjC,kBAAkB,EAAE;YAClB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE;SACtG;QACD,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;KAC1D;IACD,GAAG,EAAE,EAAE,aAAa,EAAE,qFAAqF,EAAE;IAC7G,IAAI,EAAE;QACJ,oBAAoB,EAAE,MAAM;QAC5B,kBAAkB,EAAE;YAClB;gBACE,SAAS,EAAE,CAAC,kBAAkB,CAAC;gBAC/B,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE;gBAC5C,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;aAC9C;YACD,0FAA0F;YAC1F,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE;SACrG;QACD,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;KACnD;IACD,IAAI,EAAE;QACJ,kBAAkB,EAAE;YAClB;gBACE,SAAS,EAAE,CAAC,mBAAmB,CAAC;gBAChC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;gBAC3C,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;aAC9C;SACF;QACD,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;KAC3D;IACD,IAAI,EAAE,EAAE,aAAa,EAAE,2CAA2C,EAAE;IACpE,MAAM,EAAE,EAAE,aAAa,EAAE,8EAA8E,EAAE;IACzG,GAAG,EAAE,EAAE,aAAa,EAAE,0CAA0C,EAAE;IAClE,KAAK,EAAE;QACL,kBAAkB,EAAE;YAClB,EAAE,SAAS,EAAE,CAAC,uBAAuB,CAAC,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE;SACpG;QACD,gBAAgB,EAAE,cAAc;KACjC;IACD,EAAE,EAAE;QACF,yBAAyB,EACvB,0FAA0F;QAC5F,gBAAgB,EAAE,oBAAoB;KACvC;IACD,GAAG,EAAE;QACH,yBAAyB,EACvB,0FAA0F;QAC5F,gBAAgB,EAAE,oBAAoB;KACvC;IACD,GAAG,EAAE,EAAE,aAAa,EAAE,2EAA2E,EAAE;IACnG,GAAG,EAAE;QACH,yBAAyB,EAAE,iFAAiF;QAC5G,gBAAgB,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;KACnD;CACF,CAAC;AAEF,gGAAgG;AAChG,MAAM,CAAC,MAAM,0BAA0B,GAAsB,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,CACjG,CAAC,UAAU,EAAE,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAE,CAAC,gBAAgB,KAAK,SAAS,CAC/E,CAAC;AAEF,uFAAuF;AACvF,MAAM,UAAU,yBAAyB,CAAC,UAAkB;IAC1D,OAAO,kBAAkB,CAAC,UAAU,CAAC,EAAE,gBAAgB,KAAK,SAAS,CAAC;AACxE,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,gCAAgC,CAAC,UAAkB;IACjE,OAAO,kBAAkB,CAAC,UAAU,CAAC,EAAE,gBAAgB,KAAK,SAAS,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAkB,EAAE,YAAoB;IACxE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAClE,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"member-access-tables.js","sourceRoot":"","sources":["../../src/util/member-access-tables.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,14 @@ export declare function isMemberObjectIdentifier(nodeType: string): boolean;
17
17
  /** Identifier-like nodes that can name a receiver, including Ruby `@ivar`/`@@cvar`. */
18
18
  export declare function isReceiverNameNode(sup: LanguageSupport, nodeType: string): boolean;
19
19
  export declare function isMemberReferencePropertyIdentifier(sup: LanguageSupport, nodeType: string): boolean;
20
+ /**
21
+ * The text used to classify a receiver as an own-type or supertype keyword. Ordinarily this is
22
+ * the receiver node's own source spelling, but a language whose row sets `receiverKeywordCallShape`
23
+ * may also spell a keyword receiver as a zero-argument call to that keyword - Python's `super()`,
24
+ * which (unlike `self`/`cls`) has no bare-name form. Only unwrap that call when its callee is
25
+ * not shadowed by a visible lexical binding.
26
+ */
27
+ export declare function receiverKeywordText(sup: LanguageSupport, node: SyntaxNodeLike, source: string, hasLexicalBinding: (callee: SyntaxNodeLike) => boolean): string;
20
28
  export declare function getNavigationExpressionProperty(sup: LanguageSupport, expr: SyntaxNodeLike): SyntaxNodeLike | null;
21
29
  export declare function getMemberAccessParts(sup: LanguageSupport, memberNode: SyntaxNodeLike): MemberAccessParts;
22
30
  export declare function collectMemberAccessChain(args: {
@@ -25,4 +33,13 @@ export declare function collectMemberAccessChain(args: {
25
33
  chainNode: SyntaxNodeLike;
26
34
  constStringOf?: Map<string, string>;
27
35
  }): MemberAccessChain | null;
36
+ /**
37
+ * Whether a name inside a Rust macro token tree follows a `.` or `::` separator, ignoring comments:
38
+ * `counter.bump()` with a block comment after the dot is still a member call, and `m::run()` with
39
+ * one after the `::` is still a path call. Raw
40
+ * tokens cannot prove such a receiver, so both consumers stay conservative there.
41
+ */
42
+ export declare function rustTokenTreeNameFollowsSeparator(name: SyntaxNodeLike): boolean;
43
+ /** Whether a Rust token tree is (nested in) the arguments of a standard expression macro. */
44
+ export declare function rustTokenTreeHoldsExpressions(tokenTree: SyntaxNodeLike): boolean;
28
45
  //# sourceMappingURL=member-access.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"member-access.d.ts","sourceRoot":"","sources":["../../src/util/member-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAsBF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAGpE;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,EAAE,CAE5E;AAED,wBAAgB,sCAAsC,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,EAAE,CAErF;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAS5E;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAMtF;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAWlE;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAElF;AAED,wBAAgB,mCAAmC,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEnG;AAED,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,GAAG,cAAc,GAAG,IAAI,CAajH;AAgBD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,GAAG,iBAAiB,CAiBxG;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,GAAG,EAAE,eAAe,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,cAAc,CAAC;IAC1B,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC,GAAG,iBAAiB,GAAG,IAAI,CA0C3B"}
1
+ {"version":3,"file":"member-access.d.ts","sourceRoot":"","sources":["../../src/util/member-access.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAI5D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAAC;AAsBF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAGpE;AAED,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,EAAE,CAE5E;AAED,wBAAgB,sCAAsC,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,EAAE,CAErF;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAS5E;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAMtF;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAWlE;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAElF;AAED,wBAAgB,mCAAmC,CAAC,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEnG;AAID;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,eAAe,EACpB,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,GACrD,MAAM,CAUR;AAED,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,GAAG,cAAc,GAAG,IAAI,CAajH;AAgBD,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,GAAG,iBAAiB,CAiBxG;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,GAAG,EAAE,eAAe,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,cAAc,CAAC;IAC1B,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC,GAAG,iBAAiB,GAAG,IAAI,CAmD3B;AAID;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAU/E;AAgCD,6FAA6F;AAC7F,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,cAAc,GAAG,OAAO,CAYhF"}
@@ -1,5 +1,5 @@
1
1
  import { sliceText, unquote } from "./ast.js";
2
- import { MEMBER_ACCESS_ROWS } from "./member-access-tables.js";
2
+ import { isKeywordReceiver, MEMBER_ACCESS_ROWS } from "./member-access-tables.js";
3
3
  /**
4
4
  * Member-access node types accepted for every language. The list is deliberately wider than any
5
5
  * one grammar: node types are language-scoped in practice, so an over-broad shared list cannot
@@ -63,6 +63,26 @@ export function isReceiverNameNode(sup, nodeType) {
63
63
  export function isMemberReferencePropertyIdentifier(sup, nodeType) {
64
64
  return memberReferencePropertyIdentifierTypes(sup).includes(nodeType);
65
65
  }
66
+ const RECEIVER_KEYWORD_CALL_NODE_TYPES = { call: true, call_expression: true };
67
+ /**
68
+ * The text used to classify a receiver as an own-type or supertype keyword. Ordinarily this is
69
+ * the receiver node's own source spelling, but a language whose row sets `receiverKeywordCallShape`
70
+ * may also spell a keyword receiver as a zero-argument call to that keyword - Python's `super()`,
71
+ * which (unlike `self`/`cls`) has no bare-name form. Only unwrap that call when its callee is
72
+ * not shadowed by a visible lexical binding.
73
+ */
74
+ export function receiverKeywordText(sup, node, source, hasLexicalBinding) {
75
+ const text = sliceText(node, source).trim();
76
+ if (!MEMBER_ACCESS_ROWS[sup.id]?.receiverKeywordCallShape || !RECEIVER_KEYWORD_CALL_NODE_TYPES[node.type]) {
77
+ return text;
78
+ }
79
+ const callee = node.childForFieldName("function") ?? node.namedChildren[0] ?? null;
80
+ const args = node.childForFieldName("arguments") ?? node.childForFieldName("argument_list");
81
+ if (!callee || (args && args.namedChildren.length))
82
+ return text;
83
+ const calleeText = sliceText(callee, source).trim();
84
+ return isKeywordReceiver(sup.id, calleeText) && !hasLexicalBinding(callee) ? calleeText : text;
85
+ }
66
86
  export function getNavigationExpressionProperty(sup, expr) {
67
87
  const suffix = expr.namedChildren.find((child) => child.type === "navigation_suffix") ?? expr.child(1);
68
88
  if (!suffix)
@@ -124,12 +144,21 @@ export function collectMemberAccessChain(args) {
124
144
  names.push(unquote(sliceText(propNode, args.source)));
125
145
  return;
126
146
  }
127
- if (propNode.type !== "identifier")
147
+ let nameNode = propNode;
148
+ if (args.sup.id === "csharp" && nameNode.type === "generic_name") {
149
+ nameNode = nameNode.childForFieldName("name") ?? nameNode.namedChildren[0] ?? nameNode;
150
+ }
151
+ if (nameNode.type !== "identifier" && !(args.sup.id === "java" && nameNode.type === "type_identifier"))
128
152
  return;
129
- const keyName = sliceText(propNode, args.source);
153
+ const keyName = sliceText(nameNode, args.source);
130
154
  const value = args.constStringOf?.get(keyName);
131
155
  if (typeof value === "string")
132
156
  names.push(value);
157
+ // C#/Java qualified names, Rust's `mod::item` path, and Ruby's `receiver.method` call node
158
+ // all spell every segment as a plain `identifier`, with no dedicated property-identifier
159
+ // node type to tell a name from a value.
160
+ else if (args.sup.id === "csharp" || args.sup.id === "java" || args.sup.id === "rust" || args.sup.id === "ruby")
161
+ names.push(keyName);
133
162
  };
134
163
  while (current && traversalTypes.has(current.type)) {
135
164
  if (current.type === "subscript_expression") {
@@ -151,4 +180,70 @@ export function collectMemberAccessChain(args) {
151
180
  return null;
152
181
  return { base: current, names };
153
182
  }
183
+ const RUST_COMMENT_NODE_TYPES = new Set(["line_comment", "block_comment"]);
184
+ /**
185
+ * Whether a name inside a Rust macro token tree follows a `.` or `::` separator, ignoring comments:
186
+ * `counter.bump()` with a block comment after the dot is still a member call, and `m::run()` with
187
+ * one after the `::` is still a path call. Raw
188
+ * tokens cannot prove such a receiver, so both consumers stay conservative there.
189
+ */
190
+ export function rustTokenTreeNameFollowsSeparator(name) {
191
+ const tree = name.parent;
192
+ if (tree?.type !== "token_tree")
193
+ return false;
194
+ let previous = null;
195
+ for (let index = 0;; index += 1) {
196
+ const child = tree.child(index);
197
+ if (!child || child.startIndex >= name.startIndex)
198
+ break;
199
+ if (!RUST_COMMENT_NODE_TYPES.has(child.type))
200
+ previous = child;
201
+ }
202
+ return previous?.type === "." || previous?.type === "::";
203
+ }
204
+ /**
205
+ * Standard Rust macros whose arguments are ordinary expressions (after an optional format string
206
+ * or target). Any other macro, and every `macro_rules!` definition, takes raw tokens whose meaning
207
+ * depends on its expansion, so `name(...)` inside them is not a proven call.
208
+ */
209
+ const RUST_EXPRESSION_ARGUMENT_MACROS = new Set([
210
+ "assert",
211
+ "assert_eq",
212
+ "assert_ne",
213
+ "debug_assert",
214
+ "debug_assert_eq",
215
+ "debug_assert_ne",
216
+ "dbg",
217
+ "eprint",
218
+ "eprintln",
219
+ "format",
220
+ "format_args",
221
+ "panic",
222
+ "print",
223
+ "println",
224
+ "todo",
225
+ "unimplemented",
226
+ "unreachable",
227
+ "vec",
228
+ "write",
229
+ "writeln",
230
+ ]);
231
+ const RUST_STANDARD_CRATES = new Set(["std", "core", "alloc"]);
232
+ /** Whether a Rust token tree is (nested in) the arguments of a standard expression macro. */
233
+ export function rustTokenTreeHoldsExpressions(tokenTree) {
234
+ let current = tokenTree;
235
+ while (current?.type === "token_tree")
236
+ current = current.parent;
237
+ if (current?.type !== "macro_invocation")
238
+ return false;
239
+ const macro = current.childForFieldName("macro");
240
+ if (!macro)
241
+ return false;
242
+ // `my_dsl::println!` is a custom macro that only shares a name; a path proves a standard macro
243
+ // only when it is rooted at a standard crate (`std::println!`, `::core::assert!`).
244
+ const segments = macro.text.replace(/\s+/g, "").replace(/^::/, "").split("::");
245
+ const name = segments.pop();
246
+ const standardPath = !segments.length || (segments.length === 1 && RUST_STANDARD_CRATES.has(segments[0]));
247
+ return standardPath && RUST_EXPRESSION_ARGUMENT_MACROS.has(name);
248
+ }
154
249
  //# sourceMappingURL=member-access.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"member-access.js","sourceRoot":"","sources":["../../src/util/member-access.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAA0B,MAAM,2BAA2B,CAAC;AAYvF;;;;GAIG;AACH,MAAM,2BAA2B,GAAyB;IACxD,wBAAwB,EAAE,IAAI;IAC9B,cAAc,EAAE,IAAI;IACpB,YAAY,EAAE,IAAI;IAClB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,sBAAsB,EAAE,IAAI;IAC5B,oBAAoB,EAAE,IAAI;IAC1B,IAAI,EAAE,IAAI;IACV,gBAAgB,EAAE,IAAI;IACtB,gBAAgB,EAAE,IAAI;IACtB,SAAS,EAAE,IAAI;IACf,qBAAqB,EAAE,IAAI;CAC5B,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,GAAoB;IAC1D,IAAI,GAAG,CAAC,SAAS,CAAC,gBAAgB;QAAE,OAAO,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC;IAC1E,OAAO,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,oBAAoB,IAAI,mBAAmB,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,GAAoB;IAChE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,GAAoB;IACzE,OAAO,CAAC,GAAG,6BAA6B,CAAC,GAAG,CAAC,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAClH,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,GAAoB;IAC7D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS;QAC5B,uBAAuB,CAAC,GAAG,CAAC;QAC5B,4BAA4B;QAC5B,sBAAsB;QACtB,gBAAgB;KACjB,CAAC,CAAC;IACH,KAAK,MAAM,QAAQ,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,mBAAmB,IAAI,EAAE;QAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAoB,EAAE,IAAoB;IAC3E,OAAO,CACL,IAAI,CAAC,IAAI,KAAK,uBAAuB,CAAC,GAAG,CAAC;QAC1C,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC;QACtC,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,sBAAsB,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CACnF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAgB;IACvD,OAAO,CACL,QAAQ,KAAK,YAAY;QACzB,QAAQ,KAAK,iBAAiB;QAC9B,QAAQ,KAAK,oBAAoB;QACjC,QAAQ,KAAK,UAAU;QACvB,QAAQ,KAAK,sBAAsB;QACnC,QAAQ,KAAK,mBAAmB;QAChC,QAAQ,KAAK,mBAAmB;QAChC,QAAQ,KAAK,gBAAgB,CAC9B,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,kBAAkB,CAAC,GAAoB,EAAE,QAAgB;IACvE,OAAO,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,mCAAmC,CAAC,GAAoB,EAAE,QAAgB;IACxF,OAAO,sCAAsC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,GAAoB,EAAE,IAAoB;IACxF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,mBAAmB,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvG,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,MAAM,UAAU,GACd,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC;QAClC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAChC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClB,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAClC,IAAI,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,2BAA2B,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,UAA0B,EAAE,KAAwB;IACtE,IAAI,OAAO,IAAI,KAAK;QAAE,OAAO,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAChH,IAAI,OAAO,IAAI,KAAK;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3D,OAAO,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAoB,EAAE,UAA0B;IACnF,4FAA4F;IAC5F,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,CAChE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAClG,CAAC;IACF,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,QAAQ,GACZ,YAAY,IAAI,KAAK,CAAC,QAAQ;YAC5B,CAAC,CAAC,+BAA+B,CAAC,GAAG,EAAE,UAAU,CAAC;YAClD,CAAC,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7C,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpE,CAAC;IACD,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,QAAQ,EACN,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;KAC/G,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,IAKxC;IACC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAA0B,IAAI,CAAC,SAAS,CAAC;IACpD,IAAI,IAAI,GAA0B,IAAI,CAAC;IACvC,MAAM,cAAc,GAAG,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAG,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE9D,MAAM,gBAAgB,GAAG,CAAC,QAA+B,EAAQ,EAAE;QACjE,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO;QAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,OAAO,OAAO,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,IAAI,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC5C,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;YAChC,gBAAgB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,OAAO,GAAG,IAAI,CAAC;YACf,SAAS;QACX,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACtC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC;QAC5B,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"member-access.js","sourceRoot":"","sources":["../../src/util/member-access.ts"],"names":[],"mappings":"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"}