@lzehrung/codegraph 2.3.30 → 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 (416) 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 +42229 -28876
  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 -22
  74. package/dist/graphs/symbol-graph-detailed/receiver-calls.d.ts.map +1 -1
  75. package/dist/graphs/symbol-graph-detailed/receiver-calls.js +872 -125
  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 +12 -0
  85. package/dist/impact/call-compatibility/providers/index.d.ts.map +1 -1
  86. package/dist/impact/call-compatibility/providers/index.js +16 -22
  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 +316 -552
  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/member-resolution-coverage.d.ts.map +1 -1
  98. package/dist/impact/member-resolution-coverage.js +1 -1
  99. package/dist/impact/member-resolution-coverage.js.map +1 -1
  100. package/dist/impact/reference-cache.d.ts.map +1 -1
  101. package/dist/impact/reference-cache.js +2 -2
  102. package/dist/impact/reference-cache.js.map +1 -1
  103. package/dist/index.d.ts +1 -1
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +1 -1
  106. package/dist/index.js.map +1 -1
  107. package/dist/indexer/ambiguous-resolution.d.ts +11 -0
  108. package/dist/indexer/ambiguous-resolution.d.ts.map +1 -0
  109. package/dist/indexer/ambiguous-resolution.js +19 -0
  110. package/dist/indexer/ambiguous-resolution.js.map +1 -0
  111. package/dist/indexer/build-cache/module-cache.d.ts +38 -0
  112. package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
  113. package/dist/indexer/build-cache/module-cache.js +151 -9
  114. package/dist/indexer/build-cache/module-cache.js.map +1 -1
  115. package/dist/indexer/build-cache/options.d.ts +16 -43
  116. package/dist/indexer/build-cache/options.d.ts.map +1 -1
  117. package/dist/indexer/build-cache/options.js +16 -43
  118. package/dist/indexer/build-cache/options.js.map +1 -1
  119. package/dist/indexer/build-cache/project-snapshot.d.ts +1 -0
  120. package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
  121. package/dist/indexer/build-cache/project-snapshot.js +117 -24
  122. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  123. package/dist/indexer/build-cache/resolver-environment.d.ts.map +1 -1
  124. package/dist/indexer/build-cache/resolver-environment.js +32 -2
  125. package/dist/indexer/build-cache/resolver-environment.js.map +1 -1
  126. package/dist/indexer/build-cache.d.ts +1 -1
  127. package/dist/indexer/build-cache.d.ts.map +1 -1
  128. package/dist/indexer/build-cache.js +1 -1
  129. package/dist/indexer/build-cache.js.map +1 -1
  130. package/dist/indexer/build-index.d.ts.map +1 -1
  131. package/dist/indexer/build-index.js +593 -22
  132. package/dist/indexer/build-index.js.map +1 -1
  133. package/dist/indexer/call-hierarchy.js +1 -1
  134. package/dist/indexer/call-hierarchy.js.map +1 -1
  135. package/dist/indexer/compilation-units.d.ts +101 -0
  136. package/dist/indexer/compilation-units.d.ts.map +1 -0
  137. package/dist/indexer/compilation-units.js +605 -0
  138. package/dist/indexer/compilation-units.js.map +1 -0
  139. package/dist/indexer/cpp-callables.d.ts +20 -0
  140. package/dist/indexer/cpp-callables.d.ts.map +1 -0
  141. package/dist/indexer/cpp-callables.js +554 -0
  142. package/dist/indexer/cpp-callables.js.map +1 -0
  143. package/dist/indexer/declaration-visibility.d.ts +36 -2
  144. package/dist/indexer/declaration-visibility.d.ts.map +1 -1
  145. package/dist/indexer/declaration-visibility.js +136 -2
  146. package/dist/indexer/declaration-visibility.js.map +1 -1
  147. package/dist/indexer/expand-star-imports.d.ts.map +1 -1
  148. package/dist/indexer/expand-star-imports.js +28 -6
  149. package/dist/indexer/expand-star-imports.js.map +1 -1
  150. package/dist/indexer/import-types.d.ts +37 -0
  151. package/dist/indexer/import-types.d.ts.map +1 -1
  152. package/dist/indexer/import-types.js +24 -1
  153. package/dist/indexer/import-types.js.map +1 -1
  154. package/dist/indexer/imports/binding-ranges.d.ts +1 -1
  155. package/dist/indexer/imports/binding-ranges.d.ts.map +1 -1
  156. package/dist/indexer/imports/context.d.ts +11 -1
  157. package/dist/indexer/imports/context.d.ts.map +1 -1
  158. package/dist/indexer/imports/import-binding-tables.d.ts +75 -0
  159. package/dist/indexer/imports/import-binding-tables.d.ts.map +1 -0
  160. package/dist/indexer/imports/import-binding-tables.js +544 -0
  161. package/dist/indexer/imports/import-binding-tables.js.map +1 -0
  162. package/dist/indexer/imports/js-text-imports.js +4 -4
  163. package/dist/indexer/imports/js-text-imports.js.map +1 -1
  164. package/dist/indexer/imports/language-specific.d.ts +3 -22
  165. package/dist/indexer/imports/language-specific.d.ts.map +1 -1
  166. package/dist/indexer/imports/language-specific.js +29 -362
  167. package/dist/indexer/imports/language-specific.js.map +1 -1
  168. package/dist/indexer/imports/native-captures.d.ts.map +1 -1
  169. package/dist/indexer/imports/native-captures.js +18 -6
  170. package/dist/indexer/imports/native-captures.js.map +1 -1
  171. package/dist/indexer/imports/python.d.ts +10 -2
  172. package/dist/indexer/imports/python.d.ts.map +1 -1
  173. package/dist/indexer/imports/python.js +91 -40
  174. package/dist/indexer/imports/python.js.map +1 -1
  175. package/dist/indexer/imports/text-import-extractors.d.ts.map +1 -1
  176. package/dist/indexer/imports/text-import-extractors.js +51 -12
  177. package/dist/indexer/imports/text-import-extractors.js.map +1 -1
  178. package/dist/indexer/imports.d.ts.map +1 -1
  179. package/dist/indexer/imports.js +25 -5
  180. package/dist/indexer/imports.js.map +1 -1
  181. package/dist/indexer/incremental-plan.d.ts +33 -0
  182. package/dist/indexer/incremental-plan.d.ts.map +1 -1
  183. package/dist/indexer/incremental-plan.js +187 -1
  184. package/dist/indexer/incremental-plan.js.map +1 -1
  185. package/dist/indexer/locals-and-exports.d.ts +2 -0
  186. package/dist/indexer/locals-and-exports.d.ts.map +1 -1
  187. package/dist/indexer/locals-and-exports.js +565 -54
  188. package/dist/indexer/locals-and-exports.js.map +1 -1
  189. package/dist/indexer/name-lookup-policies/c-family.d.ts +7 -0
  190. package/dist/indexer/name-lookup-policies/c-family.d.ts.map +1 -0
  191. package/dist/indexer/name-lookup-policies/c-family.js +117 -0
  192. package/dist/indexer/name-lookup-policies/c-family.js.map +1 -0
  193. package/dist/indexer/name-lookup-policies/csharp-using-static.d.ts +11 -0
  194. package/dist/indexer/name-lookup-policies/csharp-using-static.d.ts.map +1 -0
  195. package/dist/indexer/name-lookup-policies/csharp-using-static.js +136 -0
  196. package/dist/indexer/name-lookup-policies/csharp-using-static.js.map +1 -0
  197. package/dist/indexer/name-lookup-policies/implicit-self.d.ts +10 -0
  198. package/dist/indexer/name-lookup-policies/implicit-self.d.ts.map +1 -0
  199. package/dist/indexer/name-lookup-policies/implicit-self.js +113 -0
  200. package/dist/indexer/name-lookup-policies/implicit-self.js.map +1 -0
  201. package/dist/indexer/name-lookup-policies/index.d.ts +3 -0
  202. package/dist/indexer/name-lookup-policies/index.d.ts.map +1 -0
  203. package/dist/indexer/name-lookup-policies/index.js +106 -0
  204. package/dist/indexer/name-lookup-policies/index.js.map +1 -0
  205. package/dist/indexer/name-lookup-policies/php.d.ts +3 -0
  206. package/dist/indexer/name-lookup-policies/php.d.ts.map +1 -0
  207. package/dist/indexer/name-lookup-policies/php.js +75 -0
  208. package/dist/indexer/name-lookup-policies/php.js.map +1 -0
  209. package/dist/indexer/name-resolution-types.d.ts +99 -0
  210. package/dist/indexer/name-resolution-types.d.ts.map +1 -0
  211. package/dist/indexer/name-resolution-types.js +2 -0
  212. package/dist/indexer/name-resolution-types.js.map +1 -0
  213. package/dist/indexer/name-resolution.d.ts +52 -0
  214. package/dist/indexer/name-resolution.d.ts.map +1 -0
  215. package/dist/indexer/name-resolution.js +189 -0
  216. package/dist/indexer/name-resolution.js.map +1 -0
  217. package/dist/indexer/navigation-cpp.d.ts +50 -0
  218. package/dist/indexer/navigation-cpp.d.ts.map +1 -0
  219. package/dist/indexer/navigation-cpp.js +654 -0
  220. package/dist/indexer/navigation-cpp.js.map +1 -0
  221. package/dist/indexer/navigation-goto.d.ts +107 -4
  222. package/dist/indexer/navigation-goto.d.ts.map +1 -1
  223. package/dist/indexer/navigation-goto.js +2075 -137
  224. package/dist/indexer/navigation-goto.js.map +1 -1
  225. package/dist/indexer/navigation-local.d.ts +18 -2
  226. package/dist/indexer/navigation-local.d.ts.map +1 -1
  227. package/dist/indexer/navigation-local.js +498 -61
  228. package/dist/indexer/navigation-local.js.map +1 -1
  229. package/dist/indexer/navigation-php.d.ts +66 -0
  230. package/dist/indexer/navigation-php.d.ts.map +1 -1
  231. package/dist/indexer/navigation-php.js +287 -4
  232. package/dist/indexer/navigation-php.js.map +1 -1
  233. package/dist/indexer/navigation-references.d.ts +72 -5
  234. package/dist/indexer/navigation-references.d.ts.map +1 -1
  235. package/dist/indexer/navigation-references.js +620 -54
  236. package/dist/indexer/navigation-references.js.map +1 -1
  237. package/dist/indexer/navigation-resolve.d.ts +33 -2
  238. package/dist/indexer/navigation-resolve.d.ts.map +1 -1
  239. package/dist/indexer/navigation-resolve.js +446 -193
  240. package/dist/indexer/navigation-resolve.js.map +1 -1
  241. package/dist/indexer/navigation.d.ts +28 -2
  242. package/dist/indexer/navigation.d.ts.map +1 -1
  243. package/dist/indexer/navigation.js +1082 -151
  244. package/dist/indexer/navigation.js.map +1 -1
  245. package/dist/indexer/php-namespace-symbols.d.ts +66 -0
  246. package/dist/indexer/php-namespace-symbols.d.ts.map +1 -0
  247. package/dist/indexer/php-namespace-symbols.js +342 -0
  248. package/dist/indexer/php-namespace-symbols.js.map +1 -0
  249. package/dist/indexer/reference-context.d.ts +2 -0
  250. package/dist/indexer/reference-context.d.ts.map +1 -1
  251. package/dist/indexer/reference-context.js +4 -0
  252. package/dist/indexer/reference-context.js.map +1 -1
  253. package/dist/indexer/scope-nodes.d.ts +92 -13
  254. package/dist/indexer/scope-nodes.d.ts.map +1 -1
  255. package/dist/indexer/scope-nodes.js +212 -20
  256. package/dist/indexer/scope-nodes.js.map +1 -1
  257. package/dist/indexer/scope-types.d.ts +25 -1
  258. package/dist/indexer/scope-types.d.ts.map +1 -1
  259. package/dist/indexer/scope.d.ts.map +1 -1
  260. package/dist/indexer/scope.js +894 -45
  261. package/dist/indexer/scope.js.map +1 -1
  262. package/dist/indexer/shared-owner-identity.d.ts +53 -0
  263. package/dist/indexer/shared-owner-identity.d.ts.map +1 -0
  264. package/dist/indexer/shared-owner-identity.js +460 -0
  265. package/dist/indexer/shared-owner-identity.js.map +1 -0
  266. package/dist/indexer/shared.d.ts +1 -1
  267. package/dist/indexer/shared.d.ts.map +1 -1
  268. package/dist/indexer/shared.js +1 -1
  269. package/dist/indexer/shared.js.map +1 -1
  270. package/dist/indexer/star-import-precedence.d.ts +114 -0
  271. package/dist/indexer/star-import-precedence.d.ts.map +1 -0
  272. package/dist/indexer/star-import-precedence.js +396 -0
  273. package/dist/indexer/star-import-precedence.js.map +1 -0
  274. package/dist/indexer/symbols.d.ts +3 -1
  275. package/dist/indexer/symbols.d.ts.map +1 -1
  276. package/dist/indexer/symbols.js +58 -18
  277. package/dist/indexer/symbols.js.map +1 -1
  278. package/dist/indexer/ts-callables.d.ts +51 -0
  279. package/dist/indexer/ts-callables.d.ts.map +1 -0
  280. package/dist/indexer/ts-callables.js +264 -0
  281. package/dist/indexer/ts-callables.js.map +1 -0
  282. package/dist/indexer/types.d.ts +23 -1
  283. package/dist/indexer/types.d.ts.map +1 -1
  284. package/dist/indexer/unused-exports.d.ts +13 -0
  285. package/dist/indexer/unused-exports.d.ts.map +1 -0
  286. package/dist/indexer/unused-exports.js +159 -0
  287. package/dist/indexer/unused-exports.js.map +1 -0
  288. package/dist/indexer/workspace-symbols.d.ts.map +1 -1
  289. package/dist/indexer/workspace-symbols.js +3 -2
  290. package/dist/indexer/workspace-symbols.js.map +1 -1
  291. package/dist/indexer.d.ts +2 -2
  292. package/dist/indexer.d.ts.map +1 -1
  293. package/dist/indexer.js +1 -1
  294. package/dist/indexer.js.map +1 -1
  295. package/dist/languages/callable-arity.d.ts +202 -0
  296. package/dist/languages/callable-arity.d.ts.map +1 -0
  297. package/dist/languages/callable-arity.js +1182 -0
  298. package/dist/languages/callable-arity.js.map +1 -0
  299. package/dist/languages/definitions/c-family.d.ts.map +1 -1
  300. package/dist/languages/definitions/c-family.js +30 -1
  301. package/dist/languages/definitions/c-family.js.map +1 -1
  302. package/dist/languages/definitions/c.d.ts +4 -0
  303. package/dist/languages/definitions/c.d.ts.map +1 -1
  304. package/dist/languages/definitions/c.js +19 -0
  305. package/dist/languages/definitions/c.js.map +1 -1
  306. package/dist/languages/definitions/cpp.d.ts.map +1 -1
  307. package/dist/languages/definitions/cpp.js +12 -0
  308. package/dist/languages/definitions/cpp.js.map +1 -1
  309. package/dist/languages/definitions/csharp.d.ts.map +1 -1
  310. package/dist/languages/definitions/csharp.js +2 -8
  311. package/dist/languages/definitions/csharp.js.map +1 -1
  312. package/dist/languages/definitions/go.d.ts.map +1 -1
  313. package/dist/languages/definitions/go.js +3 -0
  314. package/dist/languages/definitions/go.js.map +1 -1
  315. package/dist/languages/definitions/javascript.d.ts.map +1 -1
  316. package/dist/languages/definitions/javascript.js +10 -1
  317. package/dist/languages/definitions/javascript.js.map +1 -1
  318. package/dist/languages/definitions/js-family.d.ts +1 -1
  319. package/dist/languages/definitions/js-family.d.ts.map +1 -1
  320. package/dist/languages/definitions/js-family.js +7 -1
  321. package/dist/languages/definitions/js-family.js.map +1 -1
  322. package/dist/languages/definitions/php.d.ts.map +1 -1
  323. package/dist/languages/definitions/php.js +5 -1
  324. package/dist/languages/definitions/php.js.map +1 -1
  325. package/dist/languages/definitions/typescript.d.ts.map +1 -1
  326. package/dist/languages/definitions/typescript.js +8 -1
  327. package/dist/languages/definitions/typescript.js.map +1 -1
  328. package/dist/languages/definitions/zig.d.ts.map +1 -1
  329. package/dist/languages/definitions/zig.js +2 -0
  330. package/dist/languages/definitions/zig.js.map +1 -1
  331. package/dist/mcp/handlers.js +14 -7
  332. package/dist/mcp/handlers.js.map +1 -1
  333. package/dist/review/candidates.d.ts.map +1 -1
  334. package/dist/review/candidates.js +1 -1
  335. package/dist/review/candidates.js.map +1 -1
  336. package/dist/review/deleted.d.ts +3 -3
  337. package/dist/review/deleted.d.ts.map +1 -1
  338. package/dist/review/deleted.js +82 -32
  339. package/dist/review/deleted.js.map +1 -1
  340. package/dist/review/report.d.ts +1 -0
  341. package/dist/review/report.d.ts.map +1 -1
  342. package/dist/review/report.js +1 -1
  343. package/dist/review/report.js.map +1 -1
  344. package/dist/review.d.ts.map +1 -1
  345. package/dist/review.js +1 -0
  346. package/dist/review.js.map +1 -1
  347. package/dist/sql/navigation.d.ts.map +1 -1
  348. package/dist/sql/navigation.js +1 -0
  349. package/dist/sql/navigation.js.map +1 -1
  350. package/dist/sql/source-graph.d.ts.map +1 -1
  351. package/dist/sql/source-graph.js +2 -2
  352. package/dist/sql/source-graph.js.map +1 -1
  353. package/dist/sqlite/schema.d.ts +1 -1
  354. package/dist/sqlite/schema.d.ts.map +1 -1
  355. package/dist/sqlite/schema.js +8 -2
  356. package/dist/sqlite/schema.js.map +1 -1
  357. package/dist/sqlite/write.js +2 -2
  358. package/dist/sqlite/write.js.map +1 -1
  359. package/dist/types.d.ts +2 -0
  360. package/dist/types.d.ts.map +1 -1
  361. package/dist/util/bloom-filter.d.ts +7 -1
  362. package/dist/util/bloom-filter.d.ts.map +1 -1
  363. package/dist/util/bloom-filter.js +12 -2
  364. package/dist/util/bloom-filter.js.map +1 -1
  365. package/dist/util/dynamic-import-tables.d.ts +88 -0
  366. package/dist/util/dynamic-import-tables.d.ts.map +1 -0
  367. package/dist/util/dynamic-import-tables.js +100 -0
  368. package/dist/util/dynamic-import-tables.js.map +1 -0
  369. package/dist/util/graph-edges.d.ts +19 -1
  370. package/dist/util/graph-edges.d.ts.map +1 -1
  371. package/dist/util/graph-edges.js +30 -4
  372. package/dist/util/graph-edges.js.map +1 -1
  373. package/dist/util/identifiers.d.ts +15 -0
  374. package/dist/util/identifiers.d.ts.map +1 -1
  375. package/dist/util/identifiers.js +35 -0
  376. package/dist/util/identifiers.js.map +1 -1
  377. package/dist/util/member-access-tables.d.ts +129 -0
  378. package/dist/util/member-access-tables.d.ts.map +1 -0
  379. package/dist/util/member-access-tables.js +285 -0
  380. package/dist/util/member-access-tables.js.map +1 -0
  381. package/dist/util/member-access.d.ts +17 -0
  382. package/dist/util/member-access.d.ts.map +1 -1
  383. package/dist/util/member-access.js +138 -93
  384. package/dist/util/member-access.js.map +1 -1
  385. package/dist/util/resolution/cargo-targets.d.ts +11 -0
  386. package/dist/util/resolution/cargo-targets.d.ts.map +1 -1
  387. package/dist/util/resolution/cargo-targets.js +174 -13
  388. package/dist/util/resolution/cargo-targets.js.map +1 -1
  389. package/dist/util/resolution/csharp.d.ts +33 -1
  390. package/dist/util/resolution/csharp.d.ts.map +1 -1
  391. package/dist/util/resolution/csharp.js +145 -30
  392. package/dist/util/resolution/csharp.js.map +1 -1
  393. package/dist/util/resolution/php.d.ts.map +1 -1
  394. package/dist/util/resolution/php.js +35 -8
  395. package/dist/util/resolution/php.js.map +1 -1
  396. package/dist/util/resolution/python.d.ts +9 -0
  397. package/dist/util/resolution/python.d.ts.map +1 -1
  398. package/dist/util/resolution/python.js +46 -0
  399. package/dist/util/resolution/python.js.map +1 -1
  400. package/dist/util/resolution/rust.d.ts.map +1 -1
  401. package/dist/util/resolution/rust.js +95 -26
  402. package/dist/util/resolution/rust.js.map +1 -1
  403. package/dist/util/resolution-candidates.d.ts +5 -0
  404. package/dist/util/resolution-candidates.d.ts.map +1 -1
  405. package/dist/util/resolution-candidates.js +16 -3
  406. package/dist/util/resolution-candidates.js.map +1 -1
  407. package/dist/util/resolution.d.ts +2 -1
  408. package/dist/util/resolution.d.ts.map +1 -1
  409. package/dist/util/resolution.js +96 -5
  410. package/dist/util/resolution.js.map +1 -1
  411. package/dist/util/specifiers.d.ts +20 -0
  412. package/dist/util/specifiers.d.ts.map +1 -1
  413. package/dist/util/specifiers.js +39 -93
  414. package/dist/util/specifiers.js.map +1 -1
  415. package/docs/mcp.md +3 -2
  416. package/package.json +3 -3
@@ -1,3 +1,4 @@
1
+ import { fileIdentityKey } from "../util/paths.js";
1
2
  const RUST_ROW = {
2
3
  declarationTypes: new Set([
3
4
  "function_item",
@@ -44,7 +45,8 @@ const CSHARP_ROW = {
44
45
  "event_field_declaration",
45
46
  ]),
46
47
  modifierNodeTypes: new Set(["modifier"]),
47
- hiddenModifierTexts: new Set(["private"]),
48
+ // `file` (C# 11) restricts a top-level type to its declaring file, so it is never a peer export.
49
+ hiddenModifierTexts: new Set(["private", "file"]),
48
50
  namespaceHiddenModifierTexts: new Set(["internal"]),
49
51
  typeContainerTypes: new Set([
50
52
  "class_declaration",
@@ -92,12 +94,30 @@ const C_FAMILY_ROW = {
92
94
  namespaceHiddenModifierTexts: new Set(["static"]),
93
95
  typeContainerTypes: new Set(["class_specifier", "struct_specifier", "union_specifier"]),
94
96
  };
97
+ /**
98
+ * Zig `pub` is an anonymous keyword child of the declaration (tree-sitter-zig 1.1.2),
99
+ * not a named modifier node. Unmarked top-level items stay module-local, matching
100
+ * `@import` visibility. `export` without `pub` is C ABI only and is not a Zig export.
101
+ */
102
+ const ZIG_ROW = {
103
+ declarationTypes: new Set([
104
+ "function_declaration",
105
+ "variable_declaration",
106
+ "using_namespace_declaration",
107
+ "test_declaration",
108
+ "comptime_declaration",
109
+ ]),
110
+ modifierNodeTypes: new Set(["pub"]),
111
+ publicModifierTexts: new Set(["pub"]),
112
+ hiddenModifierTexts: new Set(),
113
+ };
95
114
  const VISIBILITY_BY_LANGUAGE = {
96
115
  rust: RUST_ROW,
97
116
  java: JAVA_ROW,
98
117
  csharp: CSHARP_ROW,
99
118
  kotlin: KOTLIN_ROW,
100
119
  swift: SWIFT_ROW,
120
+ zig: ZIG_ROW,
101
121
  c: C_FAMILY_ROW,
102
122
  cpp: C_FAMILY_ROW,
103
123
  };
@@ -111,7 +131,11 @@ function collectModifierTexts(declaration, row) {
111
131
  if (row.modifierNodeTypes.has(node.type) && node.text)
112
132
  texts.push(node.text.trim());
113
133
  };
114
- for (const child of declaration.namedChildren) {
134
+ // Zig `pub` is unnamed. Named-only walks miss it; other languages still match named modifiers.
135
+ for (let index = 0;; index += 1) {
136
+ const child = declaration.child(index);
137
+ if (!child)
138
+ break;
115
139
  visit(child);
116
140
  for (const grand of child.namedChildren)
117
141
  visit(grand);
@@ -199,4 +223,114 @@ export function isExportedDeclaration(languageId, node) {
199
223
  return true;
200
224
  return isExportedByRow(declaration, row);
201
225
  }
226
+ const CSHARP_ACCESS_MODIFIERS = new Set(["public", "protected", "internal", "private"]);
227
+ const CSHARP_MEMBER_CONTAINERS = new Set([
228
+ "class_declaration",
229
+ "struct_declaration",
230
+ "record_declaration",
231
+ "interface_declaration",
232
+ ]);
233
+ const CSHARP_PRIVATE_BY_DEFAULT_CONTAINERS = new Set(["class_declaration", "struct_declaration", "record_declaration"]);
234
+ /**
235
+ * Whether `node`'s declaration is `private` (and not C# `private protected`). A private member is
236
+ * not accessible to a subclass, so it cannot be reached through the implicit `this` there.
237
+ */
238
+ export function isPrivateDeclaration(languageId, node) {
239
+ const row = VISIBILITY_BY_LANGUAGE[languageId];
240
+ const declaration = row ? findVisibilityDeclaration(node, row) : null;
241
+ if (!row || !declaration)
242
+ return false;
243
+ const tokens = modifierTokens(collectModifierTexts(declaration, row));
244
+ // C# `private protected` stays accessible to derived classes in the same assembly.
245
+ if (tokens.includes("private"))
246
+ return !tokens.includes("protected");
247
+ // A C# class, struct, or record member without an access modifier is private; interface
248
+ // members are public.
249
+ return (languageId === "csharp" &&
250
+ !tokens.some((token) => CSHARP_ACCESS_MODIFIERS.has(token)) &&
251
+ CSHARP_PRIVATE_BY_DEFAULT_CONTAINERS.has(enclosingAncestor(declaration, CSHARP_MEMBER_CONTAINERS)?.type ?? ""));
252
+ }
253
+ /**
254
+ * Whether a C# member is accessible from an unrelated type in the same assembly: `public`,
255
+ * `internal`, or `protected internal`. `private`, `protected`, `private protected`, and a class,
256
+ * struct, or record member without an access modifier are not.
257
+ */
258
+ export function isCsharpAccessibleOutsideType(node) {
259
+ const row = VISIBILITY_BY_LANGUAGE.csharp;
260
+ const declaration = row ? findVisibilityDeclaration(node, row) : null;
261
+ if (!row || !declaration)
262
+ return true;
263
+ const tokens = modifierTokens(collectModifierTexts(declaration, row));
264
+ if (tokens.includes("private"))
265
+ return false;
266
+ if (tokens.includes("protected"))
267
+ return tokens.includes("internal");
268
+ if (tokens.some((token) => CSHARP_ACCESS_MODIFIERS.has(token)))
269
+ return true;
270
+ return !CSHARP_PRIVATE_BY_DEFAULT_CONTAINERS.has(enclosingAncestor(declaration, CSHARP_MEMBER_CONTAINERS)?.type ?? "");
271
+ }
272
+ /**
273
+ * Go export visibility is spelled in the identifier itself (Go spec, "Exported identifiers"):
274
+ * a name is visible outside its declaring package only when its first Unicode letter is
275
+ * upper case. Unlike every `DeclarationVisibilityRow` above, this must never filter a Go
276
+ * file's module exports: Go's own compilation-unit peers (any file in the same package)
277
+ * legitimately see an unexported name, and that same-package lookup reads the same export
278
+ * list. Only a reference that crosses into a different Go package, whether by namespace
279
+ * selector (`pkg.hidden`) or by a proven receiver of an imported type (`v.hidden()`), must
280
+ * reject an unexported name. Both paths call this rule instead of adding a `GO_ROW` here.
281
+ */
282
+ export function isGoExportedMemberName(languageId, name) {
283
+ if (languageId !== "go")
284
+ return true;
285
+ return /^\p{Lu}/u.test(name);
286
+ }
287
+ function swiftDeclarationKind(container) {
288
+ const kind = container.childForFieldName("declaration_kind");
289
+ if (kind) {
290
+ const text = kind.text.trim();
291
+ if (text)
292
+ return text;
293
+ }
294
+ for (let index = 0;; index += 1) {
295
+ const child = container.child(index);
296
+ if (!child)
297
+ return "";
298
+ const text = child.text.trim();
299
+ if (text === "extension" || text === "class" || text === "struct" || text === "enum" || text === "actor") {
300
+ return text;
301
+ }
302
+ }
303
+ }
304
+ function enclosingSwiftExtension(node) {
305
+ let current = node;
306
+ while (current) {
307
+ if (current.type === "class_declaration") {
308
+ return swiftDeclarationKind(current) === "extension" ? current : null;
309
+ }
310
+ current = current.parent;
311
+ }
312
+ return null;
313
+ }
314
+ /**
315
+ * Swift `private`/`fileprivate` is file-scoped, including when that modifier is on the
316
+ * enclosing `extension` rather than the member.
317
+ */
318
+ export function isSwiftFileHiddenSharedOwnerMember(languageId, memberNode) {
319
+ if (languageId !== "swift")
320
+ return false;
321
+ if (!isExportedDeclaration("swift", memberNode))
322
+ return true;
323
+ const extension = enclosingSwiftExtension(memberNode);
324
+ return !!extension && !isExportedDeclaration("swift", extension);
325
+ }
326
+ /**
327
+ * Shared-owner navigation and detailed membership drop Swift file-hidden members when
328
+ * the owner lives in another file, and keep same-file matches plus ordinary cross-file
329
+ * internal/public members.
330
+ */
331
+ export function isSwiftCrossFileHiddenSharedOwnerMember(languageId, ownerFile, memberFile, memberNode) {
332
+ if (fileIdentityKey(ownerFile) === fileIdentityKey(memberFile))
333
+ return false;
334
+ return isSwiftFileHiddenSharedOwnerMember(languageId, memberNode);
335
+ }
202
336
  //# sourceMappingURL=declaration-visibility.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"declaration-visibility.js","sourceRoot":"","sources":["../../src/indexer/declaration-visibility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"declaration-visibility.js","sourceRoot":"","sources":["../../src/indexer/declaration-visibility.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAuCnD,MAAM,QAAQ,GAA6B;IACzC,gBAAgB,EAAE,IAAI,GAAG,CAAC;QACxB,eAAe;QACf,aAAa;QACb,YAAY;QACZ,WAAW;QACX,WAAW;QACX,YAAY;QACZ,aAAa;QACb,kBAAkB;QAClB,iBAAiB;QACjB,UAAU;KACX,CAAC;IACF,iBAAiB,EAAE,IAAI,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACnD,mBAAmB,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IACjE,sBAAsB,EAAE,CAAC,MAAM,CAAC;IAChC,mBAAmB,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;IAC3C,4BAA4B,EAAE,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,QAAQ,GAA6B;IACzC,gBAAgB,EAAE,IAAI,GAAG,CAAC;QACxB,mBAAmB;QACnB,oBAAoB;QACpB,uBAAuB;QACvB,kBAAkB;QAClB,6BAA6B;QAC7B,oBAAoB;QACpB,mBAAmB;KACpB,CAAC;IACF,iBAAiB,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;IACzC,mBAAmB,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,UAAU,GAA6B;IAC3C,gBAAgB,EAAE,IAAI,GAAG,CAAC;QACxB,mBAAmB;QACnB,oBAAoB;QACpB,oBAAoB;QACpB,uBAAuB;QACvB,kBAAkB;QAClB,oBAAoB;QACpB,sBAAsB;QACtB,sBAAsB;QACtB,mBAAmB;QACnB,yBAAyB;KAC1B,CAAC;IACF,iBAAiB,EAAE,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IACxC,iGAAiG;IACjG,mBAAmB,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjD,4BAA4B,EAAE,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;IACnD,kBAAkB,EAAE,IAAI,GAAG,CAAC;QAC1B,mBAAmB;QACnB,oBAAoB;QACpB,oBAAoB;QACpB,uBAAuB;QACvB,kBAAkB;KACnB,CAAC;CACH,CAAC;AAEF,MAAM,UAAU,GAA6B;IAC3C,gBAAgB,EAAE,IAAI,GAAG,CAAC;QACxB,mBAAmB;QACnB,oBAAoB;QACpB,sBAAsB;QACtB,sBAAsB;QACtB,YAAY;KACb,CAAC;IACF,iBAAiB,EAAE,IAAI,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACnD,mBAAmB,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;CACtD,CAAC;AAEF,MAAM,SAAS,GAA6B;IAC1C,gBAAgB,EAAE,IAAI,GAAG,CAAC;QACxB,mBAAmB;QACnB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,uBAAuB;QACvB,4BAA4B;QAC5B,mBAAmB;QACnB,sBAAsB;KACvB,CAAC;IACF,iBAAiB,EAAE,IAAI,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACnD,mBAAmB,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;CACzD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,YAAY,GAA6B;IAC7C,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAC,qBAAqB,EAAE,aAAa,EAAE,mBAAmB,CAAC,CAAC;IACtF,iBAAiB,EAAE,IAAI,GAAG,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACvD,mBAAmB,EAAE,IAAI,GAAG,EAAE;IAC9B,4BAA4B,EAAE,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IACjD,kBAAkB,EAAE,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;CACxF,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,GAA6B;IACxC,gBAAgB,EAAE,IAAI,GAAG,CAAC;QACxB,sBAAsB;QACtB,sBAAsB;QACtB,6BAA6B;QAC7B,kBAAkB;QAClB,sBAAsB;KACvB,CAAC;IACF,iBAAiB,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACnC,mBAAmB,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACrC,mBAAmB,EAAE,IAAI,GAAG,EAAE;CAC/B,CAAC;AAEF,MAAM,sBAAsB,GAA6C;IACvE,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,OAAO;IACZ,CAAC,EAAE,YAAY;IACf,GAAG,EAAE,YAAY;CAClB,CAAC;AAEF,+EAA+E;AAC/E,MAAM,UAAU,gCAAgC,CAAC,UAAkB;IACjE,OAAO,sBAAsB,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC;AAC1D,CAAC;AAED,SAAS,oBAAoB,CAAC,WAA2B,EAAE,GAA6B;IACtF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,CAAC,IAAoB,EAAQ,EAAE;QAC3C,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC,CAAC;IACF,+FAA+F;IAC/F,KAAK,IAAI,KAAK,GAAG,CAAC,GAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,MAAM;QAClB,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,aAAa;YAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,KAAwB;IAC9C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,IAAI,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAoB,EAAE,KAA0B;IACzE,IAAI,OAAO,GAA0B,IAAI,CAAC,MAAM,CAAC;IACjD,OAAO,OAAO,EAAE,CAAC;QACf,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,OAAO,CAAC;QAC5C,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAoB,EAAE,GAA6B;IACpF,IAAI,OAAO,GAA0B,IAAI,CAAC;IAC1C,OAAO,OAAO,EAAE,CAAC;QACf,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,OAAO,CAAC;QAC3D,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,MAAyB,EAAE,MAA2B;IACzE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAwB;IACtD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,qBAAqB,CAAC,SAA4B,EAAE,GAA6B;IACxF,MAAM,WAAW,GAAG,GAAG,CAAC,mBAAmB,CAAC;IAC5C,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,mBAAmB,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,IAAI,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,sBAAsB,CAAC;IAC5C,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5B,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,eAAe,CAAC,WAA2B,EAAE,GAA6B;IACjF,MAAM,SAAS,GACb,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,4BAA4B;QACzD,CAAC,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,4BAA4B,CAAC;QAClE,CAAC,CAAC,IAAI,CAAC;IACX,MAAM,MAAM,GAAG,SAAS,IAAI,WAAW,CAAC;IACxC,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,GAAG,CAAC,mBAAmB,EAAE,CAAC;QAC5B,OAAO,qBAAqB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,mBAAmB,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/D,IACE,GAAG,CAAC,4BAA4B;QAChC,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,4BAA4B,CAAC;QACrD,GAAG,CAAC,kBAAkB;QACtB,CAAC,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,kBAAkB,CAAC,EACvD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB,EAAE,IAAoB;IAC5E,MAAM,GAAG,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC/C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,WAAW,GAAG,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzD,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,OAAO,eAAe,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;AACxF,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;IACpB,uBAAuB;CACxB,CAAC,CAAC;AACH,MAAM,oCAAoC,GAAG,IAAI,GAAG,CAAC,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAExH;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAkB,EAAE,IAAoB;IAC3E,MAAM,GAAG,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IACvC,MAAM,MAAM,GAAG,cAAc,CAAC,oBAAoB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IACtE,mFAAmF;IACnF,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACrE,wFAAwF;IACxF,sBAAsB;IACtB,OAAO,CACL,UAAU,KAAK,QAAQ;QACvB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3D,oCAAoC,CAAC,GAAG,CAAC,iBAAiB,CAAC,WAAW,EAAE,wBAAwB,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAC/G,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,IAAoB;IAChE,MAAM,GAAG,GAAG,sBAAsB,CAAC,MAAM,CAAC;IAC1C,MAAM,WAAW,GAAG,GAAG,CAAC,CAAC,CAAC,yBAAyB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,MAAM,GAAG,cAAc,CAAC,oBAAoB,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IACtE,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5E,OAAO,CAAC,oCAAoC,CAAC,GAAG,CAC9C,iBAAiB,CAAC,WAAW,EAAE,wBAAwB,CAAC,EAAE,IAAI,IAAI,EAAE,CACrE,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CAAC,UAA8B,EAAE,IAAY;IACjF,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACrC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAyB;IACrD,MAAM,IAAI,GAAG,SAAS,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAC7D,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;IACxB,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,GAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACzG,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAoB;IACnD,IAAI,OAAO,GAA0B,IAAI,CAAC;IAC1C,OAAO,OAAO,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACzC,OAAO,oBAAoB,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACxE,CAAC;QACD,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kCAAkC,CAAC,UAAkB,EAAE,UAA0B;IAC/F,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,MAAM,SAAS,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IACtD,OAAO,CAAC,CAAC,SAAS,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACnE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uCAAuC,CACrD,UAAkB,EAClB,SAAiB,EACjB,UAAkB,EAClB,UAA0B;IAE1B,IAAI,eAAe,CAAC,SAAS,CAAC,KAAK,eAAe,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7E,OAAO,kCAAkC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AACpE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"expand-star-imports.d.ts","sourceRoot":"","sources":["../../src/indexer/expand-star-imports.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAc,KAAK,YAAY,EAAE,KAAK,WAAW,EAAkB,MAAM,YAAY,CAAC;AAoC7F;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAuD9F"}
1
+ {"version":3,"file":"expand-star-imports.d.ts","sourceRoot":"","sources":["../../src/indexer/expand-star-imports.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAc,KAAK,YAAY,EAAE,KAAK,WAAW,EAAkB,MAAM,YAAY,CAAC;AAoC7F;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CA2E9F"}
@@ -1,4 +1,4 @@
1
- import { supportForFile } from "../languages.js";
1
+ import { supportForFileWithoutHeaderSample } from "../languages.js";
2
2
  import { fileIdentityKey } from "../util/paths.js";
3
3
  import { SymbolKind } from "./types.js";
4
4
  const STYLESHEET_LANGUAGE_IDS = new Set(["css", "scss", "less"]);
@@ -44,7 +44,15 @@ export function expandStarImports(modules, opts) {
44
44
  const expandedImportKey = (binding) => {
45
45
  const typeOnly = binding.typeOnly ?? false;
46
46
  if (binding.kind === "named") {
47
- return JSON.stringify(["named", binding.from, binding.resolved, typeOnly, binding.local, binding.imported]);
47
+ return JSON.stringify([
48
+ "named",
49
+ binding.from,
50
+ binding.resolved,
51
+ typeOnly,
52
+ binding.local,
53
+ binding.imported,
54
+ binding.cNamespace,
55
+ ]);
48
56
  }
49
57
  if (binding.kind === "namespace") {
50
58
  return JSON.stringify(["namespace", binding.from, binding.resolved, typeOnly, binding.localNS]);
@@ -59,18 +67,29 @@ export function expandStarImports(modules, opts) {
59
67
  expandedImportKeys.add(key);
60
68
  }
61
69
  for (const imp of [...mod.imports]) {
62
- if (imp.kind !== "star" || typeof imp.resolved !== "string")
70
+ // A C# `using static` imports one type's static members, not the file's exports.
71
+ if (imp.kind !== "star" || imp.staticMembersOf || typeof imp.resolved !== "string")
63
72
  continue;
64
73
  const target = modules.get(fileIdentityKey(imp.resolved));
65
74
  if (!target)
66
75
  continue;
67
- const targetSupport = supportForFile(imp.resolved, opts?.languageExtensions);
76
+ // Only stylesheet and Ruby membership is asked below, and C and C++ answer both the same,
77
+ // so a `.h` target must not pay for a header sample read here.
78
+ const targetSupport = supportForFileWithoutHeaderSample(imp.resolved, opts?.languageExtensions);
68
79
  const exportedSymbols = symbolsForStarImport(target, !!targetSupport && STYLESHEET_LANGUAGE_IDS.has(targetSupport.id));
80
+ // `.h` defaults to C in filename-only lookup. Only extracted C tags prove the namespace split.
81
+ const hasCTagExports = exportedSymbols.some(({ symbol }) => Boolean(symbol.cTag));
69
82
  const seen = new Set();
70
83
  for (const { name, symbol } of exportedSymbols) {
71
- if (!name || seen.has(name))
84
+ let namespace;
85
+ if (symbol.cTag)
86
+ namespace = "tag";
87
+ else if (hasCTagExports)
88
+ namespace = "ordinary";
89
+ const symbolKey = namespace ? `${name}\0${namespace}` : name;
90
+ if (!name || seen.has(symbolKey))
72
91
  continue;
73
- seen.add(name);
92
+ seen.add(symbolKey);
74
93
  const treatAsNamespace = targetSupport?.id === "ruby" && symbol.kind === SymbolKind.Class;
75
94
  const expandedImport = treatAsNamespace
76
95
  ? {
@@ -79,6 +98,7 @@ export function expandStarImports(modules, opts) {
79
98
  from: imp.from,
80
99
  resolved: imp.resolved,
81
100
  ...(imp.typeOnly !== undefined ? { typeOnly: imp.typeOnly } : {}),
101
+ ...(imp.includeForm ? { includeForm: imp.includeForm } : {}),
82
102
  }
83
103
  : {
84
104
  kind: "named",
@@ -86,7 +106,9 @@ export function expandStarImports(modules, opts) {
86
106
  imported: name,
87
107
  from: imp.from,
88
108
  resolved: imp.resolved,
109
+ ...(namespace ? { cNamespace: namespace } : {}),
89
110
  ...(imp.typeOnly !== undefined ? { typeOnly: imp.typeOnly } : {}),
111
+ ...(imp.includeForm ? { includeForm: imp.includeForm } : {}),
90
112
  };
91
113
  const expandedImportKeyValue = expandedImportKey(expandedImport);
92
114
  if (!expandedImportKeyValue || expandedImportKeys.has(expandedImportKeyValue))
@@ -1 +1 @@
1
- {"version":3,"file":"expand-star-imports.js","sourceRoot":"","sources":["../../src/indexer/expand-star-imports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expand-star-imports.js","sourceRoot":"","sources":["../../src/indexer/expand-star-imports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iCAAiC,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAuD,MAAM,YAAY,CAAC;AAQ7F,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAEjE;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAAC,MAAmB,EAAE,YAAqB;IACtE,MAAM,YAAY,GAAuB,EAAE,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IACD,IAAI,YAAY,CAAC,MAAM,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAC7D,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC9C,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAiC,EAAE,IAAmB;IACtF,MAAM,iBAAiB,GAAG,CAAC,OAAsB,EAAiB,EAAE;QAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC3C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC,SAAS,CAAC;gBACpB,OAAO;gBACP,OAAO,CAAC,IAAI;gBACZ,OAAO,CAAC,QAAQ;gBAChB,QAAQ;gBACR,OAAO,CAAC,KAAK;gBACb,OAAO,CAAC,QAAQ;gBAChB,OAAO,CAAC,UAAU;aACnB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAClG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACnC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC7C,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,GAAG;gBAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,iFAAiF;YACjF,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,eAAe,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ;gBAAE,SAAS;YAC7F,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,0FAA0F;YAC1F,+DAA+D;YAC/D,MAAM,aAAa,GAAG,iCAAiC,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;YAChG,MAAM,eAAe,GAAG,oBAAoB,CAC1C,MAAM,EACN,CAAC,CAAC,aAAa,IAAI,uBAAuB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,CACjE,CAAC;YACF,+FAA+F;YAC/F,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAClF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;YAC/B,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,eAAe,EAAE,CAAC;gBAC/C,IAAI,SAAyC,CAAC;gBAC9C,IAAI,MAAM,CAAC,IAAI;oBAAE,SAAS,GAAG,KAAK,CAAC;qBAC9B,IAAI,cAAc;oBAAE,SAAS,GAAG,UAAU,CAAC;gBAChD,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAC3C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpB,MAAM,gBAAgB,GAAG,aAAa,EAAE,EAAE,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC;gBAC1F,MAAM,cAAc,GAAkB,gBAAgB;oBACpD,CAAC,CAAC;wBACE,IAAI,EAAE,WAAW;wBACjB,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACjE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC7D;oBACH,CAAC,CAAC;wBACE,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,IAAI;wBACX,QAAQ,EAAE,IAAI;wBACd,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;wBACtB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/C,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACjE,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC7D,CAAC;gBACN,MAAM,sBAAsB,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBACjE,IAAI,CAAC,sBAAsB,IAAI,kBAAkB,CAAC,GAAG,CAAC,sBAAsB,CAAC;oBAAE,SAAS;gBACxF,kBAAkB,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;gBAC/C,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { FileId, Range } from "../types.js";
2
+ import type { CFamilyIncludeForm } from "../util/specifiers.js";
2
3
  export type ImportBinding = {
3
4
  kind: "default";
4
5
  local: string;
@@ -29,6 +30,8 @@ export type ImportBinding = {
29
30
  */
30
31
  localRange?: Range;
31
32
  phpImportType?: "class" | "function" | "const";
33
+ /** Namespace retained when a C include expands tags and ordinary names. */
34
+ cNamespace?: "tag" | "ordinary";
32
35
  resolved?: FileId | {
33
36
  external: string;
34
37
  };
@@ -38,10 +41,18 @@ export type ImportBinding = {
38
41
  moduleLevel?: boolean;
39
42
  resolvedType?: "heuristic" | "precise";
40
43
  confidence?: number;
44
+ /** Copied from the C/C++ star include this binding was expanded from. */
45
+ includeForm?: CFamilyIncludeForm;
41
46
  } | {
42
47
  kind: "namespace";
43
48
  localNS: string;
44
49
  from: string;
50
+ /**
51
+ * True when the source spells an explicit `as alias` (Python `import a.b as alias`).
52
+ * A plain `import a.b` also binds a name here (`a`, the first dotted segment), but that
53
+ * name is not itself an alias for `a.b`'s own spelling.
54
+ */
55
+ explicitAlias?: boolean;
45
56
  /** UTF-16 range of the namespace binding token. */
46
57
  localRange?: Range;
47
58
  resolved?: FileId | {
@@ -53,6 +64,8 @@ export type ImportBinding = {
53
64
  moduleLevel?: boolean;
54
65
  resolvedType?: "heuristic" | "precise";
55
66
  confidence?: number;
67
+ /** Copied from the C/C++ star include this binding was expanded from. */
68
+ includeForm?: CFamilyIncludeForm;
56
69
  } | {
57
70
  kind: "star";
58
71
  from: string;
@@ -65,5 +78,29 @@ export type ImportBinding = {
65
78
  moduleLevel?: boolean;
66
79
  resolvedType?: "heuristic" | "precise";
67
80
  confidence?: number;
81
+ /** Present for a C/C++ include. Older cached bindings omit it. */
82
+ includeForm?: CFamilyIncludeForm;
83
+ /**
84
+ * C# `using static N.T;`: the normalized qualified type name `N.T`. Only static members and
85
+ * nested types of that type in the resolved file are imported, so generic star lookup and
86
+ * expansion skip this binding.
87
+ */
88
+ staticMembersOf?: string;
68
89
  };
90
+ /**
91
+ * PHP resolves named imports through separate class, function, and constant namespaces, and
92
+ * PHP spells an untyped named import as a class alias. Non-PHP bindings carry no PHP role.
93
+ */
94
+ export declare function phpNamedImportRole(binding: ImportBinding): "class" | "function" | "const" | undefined;
95
+ /**
96
+ * The role segment a named binding contributes to its import node ID: a PHP import role or a
97
+ * C include namespace. Bindings with neither keep the plain `import` segment.
98
+ */
99
+ export declare function importIdRoleSegment(binding: Extract<ImportBinding, {
100
+ kind: "named";
101
+ }>): string | undefined;
102
+ /** Use the caller's normalized file path and keep PHP import roles and C namespaces distinct. */
103
+ export declare function importNodeId(file: string, binding: Exclude<ImportBinding, {
104
+ kind: "star";
105
+ }>): string;
69
106
  //# sourceMappingURL=import-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-types.d.ts","sourceRoot":"","sources":["../../src/indexer/import-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,aAAa,GACrB;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC5C,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,uFAAuF;IACvF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB;;;OAGG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC5C,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC5C,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACzC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC5C,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC"}
1
+ {"version":3,"file":"import-types.d.ts","sourceRoot":"","sources":["../../src/indexer/import-types.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,25 @@
1
- export {};
1
+ /**
2
+ * PHP resolves named imports through separate class, function, and constant namespaces, and
3
+ * PHP spells an untyped named import as a class alias. Non-PHP bindings carry no PHP role.
4
+ */
5
+ export function phpNamedImportRole(binding) {
6
+ if (binding.kind !== "named")
7
+ return undefined;
8
+ if (binding.mechanism !== "php" && binding.phpImportType === undefined)
9
+ return undefined;
10
+ return binding.phpImportType ?? "class";
11
+ }
12
+ /**
13
+ * The role segment a named binding contributes to its import node ID: a PHP import role or a
14
+ * C include namespace. Bindings with neither keep the plain `import` segment.
15
+ */
16
+ export function importIdRoleSegment(binding) {
17
+ return phpNamedImportRole(binding) ?? binding.cNamespace;
18
+ }
19
+ /** Use the caller's normalized file path and keep PHP import roles and C namespaces distinct. */
20
+ export function importNodeId(file, binding) {
21
+ const name = binding.kind === "namespace" ? binding.localNS : binding.local;
22
+ const role = binding.kind === "named" ? importIdRoleSegment(binding) : undefined;
23
+ return `${file}::${name}::import${role ? `:${role}` : ""}`;
24
+ }
2
25
  //# sourceMappingURL=import-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-types.js","sourceRoot":"","sources":["../../src/indexer/import-types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"import-types.js","sourceRoot":"","sources":["../../src/indexer/import-types.ts"],"names":[],"mappings":"AAuFA;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAsB;IACvD,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/C,IAAI,OAAO,CAAC,SAAS,KAAK,KAAK,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACzF,OAAO,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC;AAC1C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAkD;IACpF,OAAO,kBAAkB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC;AAC3D,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,OAAiD;IAC1F,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACjF,OAAO,GAAG,IAAI,KAAK,IAAI,WAAW,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC7D,CAAC"}
@@ -44,7 +44,7 @@ export declare function attributeNamedBindingRanges(args: {
44
44
  * tokens sharing the same spelling (currently just C#'s `using Alias = Namespace.Path;`).
45
45
  * Every other producer's `local === imported` really means "one token, no alias".
46
46
  */
47
- alwaysAliased?: boolean;
47
+ alwaysAliased?: boolean | undefined;
48
48
  }): void;
49
49
  export declare function sourceRangeFromOffsets(lineStarts: readonly number[], startIndex: number, endIndex: number): Range;
50
50
  //# sourceMappingURL=binding-ranges.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"binding-ranges.d.ts","sourceRoot":"","sources":["../../../src/indexer/imports/binding-ranges.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUxD,2FAA2F;AAC3F,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,GAAG,IAAI,CAyBP;AAgHD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAKjH"}
1
+ {"version":3,"file":"binding-ranges.d.ts","sourceRoot":"","sources":["../../../src/indexer/imports/binding-ranges.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAUxD,2FAA2F;AAC3F,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE;IAChD,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC,GAAG,IAAI,CAyBP;AAgHD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,CAKjH"}
@@ -1,6 +1,16 @@
1
1
  import type { ImportBinding } from "../types.js";
2
+ import type { CFamilyIncludeForm, ModuleSpecifierResolutionKind } from "../../util/specifiers.js";
2
3
  export type ResolvedImportTarget = Exclude<ImportBinding["resolved"], undefined>;
3
- export type ImportResolver = (from: string, phpImportType?: "class" | "function" | "const") => Promise<ResolvedImportTarget>;
4
+ /**
5
+ * Per-occurrence resolution facts the capture path can prove but the extracted specifier text
6
+ * cannot. A C/C++ `#include` keeps its literal/angle/macro form here so resolution never infers
7
+ * it from the file's other spellings.
8
+ */
9
+ export type ImportResolverOptions = {
10
+ includeForm?: CFamilyIncludeForm;
11
+ resolutionKind?: ModuleSpecifierResolutionKind;
12
+ };
13
+ export type ImportResolver = (from: string, phpImportType?: "class" | "function" | "const", opts?: ImportResolverOptions) => Promise<ResolvedImportTarget>;
4
14
  export type ImportBindingSink = {
5
15
  pushBinding: (binding: ImportBinding) => void;
6
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/indexer/imports/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;AAEjF,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,KAC3C,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEnC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;CAC/C,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/indexer/imports/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAElG,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;AAEjF;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,cAAc,CAAC,EAAE,6BAA6B,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,EAC9C,IAAI,CAAC,EAAE,qBAAqB,KACzB,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEnC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;CAC/C,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { type LanguageExtensionMap } from "../../languages.js";
2
+ import type { Range } from "../../types.js";
3
+ import type { CFamilyIncludeForm } from "../../util/specifiers.js";
4
+ import type { ImportBinding } from "../types.js";
5
+ import type { ImportBindingSink, ImportResolver, ResolvedImportTarget } from "./context.js";
6
+ /**
7
+ * Per-language import-binding registry for statement overrides and implicit native-capture
8
+ * mapping. Rows are keyed by language id and live next to `language-specific.ts` because that
9
+ * file is the only dispatch consumer this wave.
10
+ *
11
+ * One row owns the statement handler, the implicit mapper, and the flags those paths used to
12
+ * spell as `languageId === "..."` chains: trivia masking, JVM/C# dot normalization, Rust
13
+ * statement-key offsets, C# `alwaysAliased` range attribution, and Rust's reduced-mode rescan.
14
+ * `text-import-extractors.ts` stays the shared discovery source; this table does not re-scan.
15
+ *
16
+ * `tests/import-binding-tables.test.ts` asserts every registered language has a row, that an
17
+ * omission names a reason, and that a capability row names a reason for each handler it lacks.
18
+ */
19
+ export type LanguageSpecificImportContext = ImportBindingSink & {
20
+ file: string;
21
+ projectRoot: string;
22
+ source: string;
23
+ languageId: string;
24
+ resolveFrom: ImportResolver;
25
+ /** Active extension-to-language mapping, so a resolved file is classified as the language that parses it. */
26
+ languageExtensions?: LanguageExtensionMap;
27
+ getBindings: () => ImportBinding[];
28
+ replaceBindings: (bindings: ImportBinding[]) => void;
29
+ };
30
+ export type ImplicitImportBindingArgs = {
31
+ from: string;
32
+ resolved: ResolvedImportTarget;
33
+ typeOnly: boolean;
34
+ stmtText: string;
35
+ /** UTF-16 start index of `stmtText` within the source file, when known. */
36
+ stmtStartIndex?: number;
37
+ source?: string;
38
+ alias?: string;
39
+ /** UTF-16 range of the captured alias token, when the native alias capture proved it. */
40
+ localRange?: Range;
41
+ wildcard?: boolean;
42
+ includeForm?: CFamilyIncludeForm;
43
+ };
44
+ export type ApplyStatementImportOverride = (context: LanguageSpecificImportContext, parserStmt: string, typeOnly: boolean, statementStartIndex?: number) => Promise<boolean>;
45
+ export type AppendImplicitImportBinding = (context: LanguageSpecificImportContext, args: ImplicitImportBindingArgs) => void;
46
+ /**
47
+ * How a statement override prepares text before the parser: mask trivia, mask only PHP `use`
48
+ * statements (includes keep string payloads), or leave the trimmed source untouched (Rust).
49
+ */
50
+ export type StatementTriviaMask = true | false | "use-keyword";
51
+ export type ImportBindingRow = {
52
+ /** Why the language has no statement override and no implicit mapper. */
53
+ omittedReason?: string;
54
+ applyStatement?: ApplyStatementImportOverride;
55
+ appendImplicit?: AppendImplicitImportBinding;
56
+ /** Present only with `applyStatement`. */
57
+ maskTrivia?: StatementTriviaMask;
58
+ /** Collapse whitespace around `.` after masking (C#, Java, Kotlin). */
59
+ normalizeDots?: true;
60
+ /**
61
+ * Include the statement start offset in the override de-dupe key (C#, Rust). Required when the
62
+ * same statement text can appear in several scopes and each must keep its own range.
63
+ */
64
+ statementKeyUsesOffset?: true;
65
+ /** Named-range attribution treats unaliased `local === imported` as two tokens (C#). */
66
+ alwaysAliased?: true;
67
+ /** Reduced-mode text bindings re-run even when native already produced some (Rust). */
68
+ rescanTextBindings?: true;
69
+ /** Why the language declares no statement override. */
70
+ statementOmittedReason?: string;
71
+ /** Why the language declares no implicit mapper. */
72
+ implicitOmittedReason?: string;
73
+ };
74
+ export declare const IMPORT_BINDING_ROWS: Record<string, ImportBindingRow>;
75
+ //# sourceMappingURL=import-binding-tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-binding-tables.d.ts","sourceRoot":"","sources":["../../../src/indexer/imports/import-binding-tables.ts"],"names":[],"mappings":"AASA,OAAO,EAAqC,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAOlG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE5F;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,6BAA6B,GAAG,iBAAiB,GAAG;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,cAAc,CAAC;IAC5B,6GAA6G;IAC7G,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IAC1C,WAAW,EAAE,MAAM,aAAa,EAAE,CAAC;IACnC,eAAe,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,IAAI,CAAC;CACtD,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,CACzC,OAAO,EAAE,6BAA6B,EACtC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,OAAO,EACjB,mBAAmB,CAAC,EAAE,MAAM,KACzB,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,MAAM,MAAM,2BAA2B,GAAG,CACxC,OAAO,EAAE,6BAA6B,EACtC,IAAI,EAAE,yBAAyB,KAC5B,IAAI,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,KAAK,GAAG,aAAa,CAAC;AAE/D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,4BAA4B,CAAC;IAC9C,cAAc,CAAC,EAAE,2BAA2B,CAAC;IAC7C,0CAA0C;IAC1C,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,uEAAuE;IACvE,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,IAAI,CAAC;IAC9B,wFAAwF;IACxF,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,uFAAuF;IACvF,kBAAkB,CAAC,EAAE,IAAI,CAAC;IAC1B,uDAAuD;IACvD,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oDAAoD;IACpD,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAknBF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CA2FhE,CAAC"}