@optave/codegraph 3.5.0 → 3.7.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 (346) hide show
  1. package/README.md +47 -21
  2. package/dist/ast-analysis/engine.d.ts.map +1 -1
  3. package/dist/ast-analysis/engine.js +119 -127
  4. package/dist/ast-analysis/engine.js.map +1 -1
  5. package/dist/ast-analysis/visitors/ast-store-visitor.d.ts.map +1 -1
  6. package/dist/ast-analysis/visitors/ast-store-visitor.js +14 -1
  7. package/dist/ast-analysis/visitors/ast-store-visitor.js.map +1 -1
  8. package/dist/ast-analysis/visitors/complexity-visitor.d.ts.map +1 -1
  9. package/dist/ast-analysis/visitors/complexity-visitor.js +11 -13
  10. package/dist/ast-analysis/visitors/complexity-visitor.js.map +1 -1
  11. package/dist/db/connection.d.ts +12 -2
  12. package/dist/db/connection.d.ts.map +1 -1
  13. package/dist/db/connection.js +81 -53
  14. package/dist/db/connection.js.map +1 -1
  15. package/dist/db/index.d.ts +1 -1
  16. package/dist/db/index.d.ts.map +1 -1
  17. package/dist/db/index.js +1 -1
  18. package/dist/db/index.js.map +1 -1
  19. package/dist/db/migrations.d.ts.map +1 -1
  20. package/dist/db/migrations.js +38 -32
  21. package/dist/db/migrations.js.map +1 -1
  22. package/dist/domain/analysis/context.d.ts.map +1 -1
  23. package/dist/domain/analysis/context.js +51 -66
  24. package/dist/domain/analysis/context.js.map +1 -1
  25. package/dist/domain/analysis/dependencies.d.ts.map +1 -1
  26. package/dist/domain/analysis/dependencies.js +62 -70
  27. package/dist/domain/analysis/dependencies.js.map +1 -1
  28. package/dist/domain/analysis/diff-impact.d.ts +9 -7
  29. package/dist/domain/analysis/diff-impact.d.ts.map +1 -1
  30. package/dist/domain/analysis/exports.d.ts.map +1 -1
  31. package/dist/domain/analysis/exports.js +29 -33
  32. package/dist/domain/analysis/exports.js.map +1 -1
  33. package/dist/domain/analysis/fn-impact.d.ts +15 -17
  34. package/dist/domain/analysis/fn-impact.d.ts.map +1 -1
  35. package/dist/domain/analysis/fn-impact.js +35 -65
  36. package/dist/domain/analysis/fn-impact.js.map +1 -1
  37. package/dist/domain/analysis/module-map.d.ts.map +1 -1
  38. package/dist/domain/analysis/module-map.js +91 -6
  39. package/dist/domain/analysis/module-map.js.map +1 -1
  40. package/dist/domain/analysis/query-helpers.d.ts +20 -0
  41. package/dist/domain/analysis/query-helpers.d.ts.map +1 -0
  42. package/dist/domain/analysis/query-helpers.js +27 -0
  43. package/dist/domain/analysis/query-helpers.js.map +1 -0
  44. package/dist/domain/graph/builder/helpers.d.ts.map +1 -1
  45. package/dist/domain/graph/builder/helpers.js +15 -9
  46. package/dist/domain/graph/builder/helpers.js.map +1 -1
  47. package/dist/domain/graph/builder/incremental.d.ts.map +1 -1
  48. package/dist/domain/graph/builder/incremental.js +3 -2
  49. package/dist/domain/graph/builder/incremental.js.map +1 -1
  50. package/dist/domain/graph/builder/pipeline.d.ts.map +1 -1
  51. package/dist/domain/graph/builder/pipeline.js +69 -3
  52. package/dist/domain/graph/builder/pipeline.js.map +1 -1
  53. package/dist/domain/graph/builder/stages/build-edges.d.ts.map +1 -1
  54. package/dist/domain/graph/builder/stages/build-edges.js +7 -51
  55. package/dist/domain/graph/builder/stages/build-edges.js.map +1 -1
  56. package/dist/domain/graph/builder/stages/build-structure.d.ts.map +1 -1
  57. package/dist/domain/graph/builder/stages/build-structure.js +7 -5
  58. package/dist/domain/graph/builder/stages/build-structure.js.map +1 -1
  59. package/dist/domain/graph/builder/stages/collect-files.js +2 -2
  60. package/dist/domain/graph/builder/stages/collect-files.js.map +1 -1
  61. package/dist/domain/graph/builder/stages/detect-changes.d.ts.map +1 -1
  62. package/dist/domain/graph/builder/stages/detect-changes.js +2 -2
  63. package/dist/domain/graph/builder/stages/detect-changes.js.map +1 -1
  64. package/dist/domain/graph/builder/stages/finalize.d.ts.map +1 -1
  65. package/dist/domain/graph/builder/stages/finalize.js +124 -105
  66. package/dist/domain/graph/builder/stages/finalize.js.map +1 -1
  67. package/dist/domain/graph/builder/stages/insert-nodes.d.ts.map +1 -1
  68. package/dist/domain/graph/builder/stages/insert-nodes.js +28 -15
  69. package/dist/domain/graph/builder/stages/insert-nodes.js.map +1 -1
  70. package/dist/domain/graph/builder/stages/resolve-imports.d.ts.map +1 -1
  71. package/dist/domain/graph/builder/stages/resolve-imports.js +3 -2
  72. package/dist/domain/graph/builder/stages/resolve-imports.js.map +1 -1
  73. package/dist/domain/graph/resolve.d.ts +0 -4
  74. package/dist/domain/graph/resolve.d.ts.map +1 -1
  75. package/dist/domain/graph/resolve.js +32 -48
  76. package/dist/domain/graph/resolve.js.map +1 -1
  77. package/dist/domain/graph/watcher.d.ts.map +1 -1
  78. package/dist/domain/graph/watcher.js +12 -12
  79. package/dist/domain/graph/watcher.js.map +1 -1
  80. package/dist/domain/parser.d.ts +1 -1
  81. package/dist/domain/parser.d.ts.map +1 -1
  82. package/dist/domain/parser.js +206 -101
  83. package/dist/domain/parser.js.map +1 -1
  84. package/dist/domain/search/search/cli-formatter.d.ts.map +1 -1
  85. package/dist/domain/search/search/cli-formatter.js +88 -83
  86. package/dist/domain/search/search/cli-formatter.js.map +1 -1
  87. package/dist/extractors/bash.d.ts +6 -0
  88. package/dist/extractors/bash.d.ts.map +1 -0
  89. package/dist/extractors/bash.js +91 -0
  90. package/dist/extractors/bash.js.map +1 -0
  91. package/dist/extractors/c.d.ts +6 -0
  92. package/dist/extractors/c.d.ts.map +1 -0
  93. package/dist/extractors/c.js +204 -0
  94. package/dist/extractors/c.js.map +1 -0
  95. package/dist/extractors/cpp.d.ts +6 -0
  96. package/dist/extractors/cpp.d.ts.map +1 -0
  97. package/dist/extractors/cpp.js +283 -0
  98. package/dist/extractors/cpp.js.map +1 -0
  99. package/dist/extractors/csharp.d.ts.map +1 -1
  100. package/dist/extractors/csharp.js +42 -54
  101. package/dist/extractors/csharp.js.map +1 -1
  102. package/dist/extractors/dart.d.ts +6 -0
  103. package/dist/extractors/dart.d.ts.map +1 -0
  104. package/dist/extractors/dart.js +277 -0
  105. package/dist/extractors/dart.js.map +1 -0
  106. package/dist/extractors/elixir.d.ts +9 -0
  107. package/dist/extractors/elixir.d.ts.map +1 -0
  108. package/dist/extractors/elixir.js +223 -0
  109. package/dist/extractors/elixir.js.map +1 -0
  110. package/dist/extractors/go.d.ts.map +1 -1
  111. package/dist/extractors/go.js +126 -130
  112. package/dist/extractors/go.js.map +1 -1
  113. package/dist/extractors/haskell.d.ts +8 -0
  114. package/dist/extractors/haskell.d.ts.map +1 -0
  115. package/dist/extractors/haskell.js +217 -0
  116. package/dist/extractors/haskell.js.map +1 -0
  117. package/dist/extractors/hcl.js +6 -6
  118. package/dist/extractors/hcl.js.map +1 -1
  119. package/dist/extractors/helpers.d.ts +32 -1
  120. package/dist/extractors/helpers.d.ts.map +1 -1
  121. package/dist/extractors/helpers.js +74 -0
  122. package/dist/extractors/helpers.js.map +1 -1
  123. package/dist/extractors/index.d.ts +12 -0
  124. package/dist/extractors/index.d.ts.map +1 -1
  125. package/dist/extractors/index.js +12 -0
  126. package/dist/extractors/index.js.map +1 -1
  127. package/dist/extractors/java.d.ts.map +1 -1
  128. package/dist/extractors/java.js +32 -47
  129. package/dist/extractors/java.js.map +1 -1
  130. package/dist/extractors/javascript.d.ts.map +1 -1
  131. package/dist/extractors/javascript.js +306 -292
  132. package/dist/extractors/javascript.js.map +1 -1
  133. package/dist/extractors/kotlin.d.ts +6 -0
  134. package/dist/extractors/kotlin.d.ts.map +1 -0
  135. package/dist/extractors/kotlin.js +275 -0
  136. package/dist/extractors/kotlin.js.map +1 -0
  137. package/dist/extractors/lua.d.ts +6 -0
  138. package/dist/extractors/lua.d.ts.map +1 -0
  139. package/dist/extractors/lua.js +162 -0
  140. package/dist/extractors/lua.js.map +1 -0
  141. package/dist/extractors/ocaml.d.ts +6 -0
  142. package/dist/extractors/ocaml.d.ts.map +1 -0
  143. package/dist/extractors/ocaml.js +236 -0
  144. package/dist/extractors/ocaml.js.map +1 -0
  145. package/dist/extractors/php.d.ts.map +1 -1
  146. package/dist/extractors/php.js +39 -44
  147. package/dist/extractors/php.js.map +1 -1
  148. package/dist/extractors/python.d.ts.map +1 -1
  149. package/dist/extractors/python.js +75 -93
  150. package/dist/extractors/python.js.map +1 -1
  151. package/dist/extractors/ruby.js +6 -13
  152. package/dist/extractors/ruby.js.map +1 -1
  153. package/dist/extractors/rust.d.ts.map +1 -1
  154. package/dist/extractors/rust.js +58 -83
  155. package/dist/extractors/rust.js.map +1 -1
  156. package/dist/extractors/scala.d.ts +6 -0
  157. package/dist/extractors/scala.d.ts.map +1 -0
  158. package/dist/extractors/scala.js +269 -0
  159. package/dist/extractors/scala.js.map +1 -0
  160. package/dist/extractors/swift.d.ts +6 -0
  161. package/dist/extractors/swift.d.ts.map +1 -0
  162. package/dist/extractors/swift.js +275 -0
  163. package/dist/extractors/swift.js.map +1 -0
  164. package/dist/extractors/zig.d.ts +9 -0
  165. package/dist/extractors/zig.d.ts.map +1 -0
  166. package/dist/extractors/zig.js +276 -0
  167. package/dist/extractors/zig.js.map +1 -0
  168. package/dist/features/ast.d.ts +2 -0
  169. package/dist/features/ast.d.ts.map +1 -1
  170. package/dist/features/ast.js +9 -24
  171. package/dist/features/ast.js.map +1 -1
  172. package/dist/features/audit.d.ts.map +1 -1
  173. package/dist/features/audit.js +17 -21
  174. package/dist/features/audit.js.map +1 -1
  175. package/dist/features/branch-compare.d.ts.map +1 -1
  176. package/dist/features/branch-compare.js +47 -3
  177. package/dist/features/branch-compare.js.map +1 -1
  178. package/dist/features/cfg.d.ts +7 -1
  179. package/dist/features/cfg.d.ts.map +1 -1
  180. package/dist/features/cfg.js +72 -61
  181. package/dist/features/cfg.js.map +1 -1
  182. package/dist/features/check.d.ts.map +1 -1
  183. package/dist/features/check.js +79 -62
  184. package/dist/features/check.js.map +1 -1
  185. package/dist/features/complexity-query.d.ts.map +1 -1
  186. package/dist/features/complexity-query.js +142 -137
  187. package/dist/features/complexity-query.js.map +1 -1
  188. package/dist/features/complexity.d.ts +7 -1
  189. package/dist/features/complexity.d.ts.map +1 -1
  190. package/dist/features/complexity.js +62 -1
  191. package/dist/features/complexity.js.map +1 -1
  192. package/dist/features/dataflow.d.ts +7 -1
  193. package/dist/features/dataflow.d.ts.map +1 -1
  194. package/dist/features/dataflow.js +356 -188
  195. package/dist/features/dataflow.js.map +1 -1
  196. package/dist/features/graph-enrichment.d.ts.map +1 -1
  197. package/dist/features/graph-enrichment.js +117 -104
  198. package/dist/features/graph-enrichment.js.map +1 -1
  199. package/dist/features/sequence.d.ts.map +1 -1
  200. package/dist/features/sequence.js +25 -4
  201. package/dist/features/sequence.js.map +1 -1
  202. package/dist/features/structure-query.d.ts.map +1 -1
  203. package/dist/features/structure-query.js +29 -4
  204. package/dist/features/structure-query.js.map +1 -1
  205. package/dist/features/structure.d.ts.map +1 -1
  206. package/dist/features/structure.js +35 -15
  207. package/dist/features/structure.js.map +1 -1
  208. package/dist/graph/algorithms/leiden/adapter.d.ts.map +1 -1
  209. package/dist/graph/algorithms/leiden/adapter.js +88 -73
  210. package/dist/graph/algorithms/leiden/adapter.js.map +1 -1
  211. package/dist/graph/algorithms/leiden/index.js +43 -28
  212. package/dist/graph/algorithms/leiden/index.js.map +1 -1
  213. package/dist/graph/algorithms/leiden/optimiser.d.ts.map +1 -1
  214. package/dist/graph/algorithms/leiden/optimiser.js +90 -104
  215. package/dist/graph/algorithms/leiden/optimiser.js.map +1 -1
  216. package/dist/graph/algorithms/leiden/partition.d.ts.map +1 -1
  217. package/dist/graph/algorithms/leiden/partition.js +89 -106
  218. package/dist/graph/algorithms/leiden/partition.js.map +1 -1
  219. package/dist/graph/model.d.ts +2 -0
  220. package/dist/graph/model.d.ts.map +1 -1
  221. package/dist/graph/model.js +20 -8
  222. package/dist/graph/model.js.map +1 -1
  223. package/dist/infrastructure/config.d.ts +0 -8
  224. package/dist/infrastructure/config.d.ts.map +1 -1
  225. package/dist/infrastructure/config.js +73 -62
  226. package/dist/infrastructure/config.js.map +1 -1
  227. package/dist/infrastructure/registry.d.ts +0 -8
  228. package/dist/infrastructure/registry.d.ts.map +1 -1
  229. package/dist/infrastructure/registry.js +12 -14
  230. package/dist/infrastructure/registry.js.map +1 -1
  231. package/dist/mcp/server.d.ts.map +1 -1
  232. package/dist/mcp/server.js +45 -36
  233. package/dist/mcp/server.js.map +1 -1
  234. package/dist/presentation/audit.d.ts.map +1 -1
  235. package/dist/presentation/audit.js +61 -57
  236. package/dist/presentation/audit.js.map +1 -1
  237. package/dist/presentation/branch-compare.d.ts.map +1 -1
  238. package/dist/presentation/branch-compare.js +56 -38
  239. package/dist/presentation/branch-compare.js.map +1 -1
  240. package/dist/presentation/check.d.ts.map +1 -1
  241. package/dist/presentation/check.js +30 -32
  242. package/dist/presentation/check.js.map +1 -1
  243. package/dist/presentation/colors.d.ts.map +1 -1
  244. package/dist/presentation/colors.js +2 -0
  245. package/dist/presentation/colors.js.map +1 -1
  246. package/dist/presentation/complexity.d.ts.map +1 -1
  247. package/dist/presentation/complexity.js +25 -19
  248. package/dist/presentation/complexity.js.map +1 -1
  249. package/dist/presentation/queries-cli/exports.d.ts.map +1 -1
  250. package/dist/presentation/queries-cli/exports.js +15 -15
  251. package/dist/presentation/queries-cli/exports.js.map +1 -1
  252. package/dist/presentation/queries-cli/impact.d.ts.map +1 -1
  253. package/dist/presentation/queries-cli/impact.js +29 -19
  254. package/dist/presentation/queries-cli/impact.js.map +1 -1
  255. package/dist/types.d.ts +182 -7
  256. package/dist/types.d.ts.map +1 -1
  257. package/grammars/tree-sitter-bash.wasm +0 -0
  258. package/grammars/tree-sitter-c.wasm +0 -0
  259. package/grammars/tree-sitter-cpp.wasm +0 -0
  260. package/grammars/tree-sitter-dart.wasm +0 -0
  261. package/grammars/tree-sitter-elixir.wasm +0 -0
  262. package/grammars/tree-sitter-haskell.wasm +0 -0
  263. package/grammars/tree-sitter-kotlin.wasm +0 -0
  264. package/grammars/tree-sitter-lua.wasm +0 -0
  265. package/grammars/tree-sitter-ocaml.wasm +0 -0
  266. package/grammars/tree-sitter-scala.wasm +0 -0
  267. package/grammars/tree-sitter-swift.wasm +0 -0
  268. package/grammars/tree-sitter-zig.wasm +0 -0
  269. package/package.json +19 -7
  270. package/src/ast-analysis/engine.ts +147 -138
  271. package/src/ast-analysis/visitors/ast-store-visitor.ts +15 -2
  272. package/src/ast-analysis/visitors/complexity-visitor.ts +11 -11
  273. package/src/db/connection.ts +90 -59
  274. package/src/db/index.ts +1 -0
  275. package/src/db/migrations.ts +36 -32
  276. package/src/domain/analysis/context.ts +73 -75
  277. package/src/domain/analysis/dependencies.ts +78 -68
  278. package/src/domain/analysis/exports.ts +45 -34
  279. package/src/domain/analysis/fn-impact.ts +67 -64
  280. package/src/domain/analysis/module-map.ts +103 -8
  281. package/src/domain/analysis/query-helpers.ts +35 -0
  282. package/src/domain/graph/builder/helpers.ts +12 -6
  283. package/src/domain/graph/builder/incremental.ts +3 -2
  284. package/src/domain/graph/builder/pipeline.ts +71 -3
  285. package/src/domain/graph/builder/stages/build-edges.ts +10 -75
  286. package/src/domain/graph/builder/stages/build-structure.ts +9 -7
  287. package/src/domain/graph/builder/stages/collect-files.ts +2 -2
  288. package/src/domain/graph/builder/stages/detect-changes.ts +7 -2
  289. package/src/domain/graph/builder/stages/finalize.ts +159 -125
  290. package/src/domain/graph/builder/stages/insert-nodes.ts +32 -21
  291. package/src/domain/graph/builder/stages/resolve-imports.ts +3 -2
  292. package/src/domain/graph/resolve.ts +34 -46
  293. package/src/domain/graph/watcher.ts +12 -14
  294. package/src/domain/parser.ts +222 -97
  295. package/src/domain/search/search/cli-formatter.ts +121 -94
  296. package/src/extractors/bash.ts +97 -0
  297. package/src/extractors/c.ts +212 -0
  298. package/src/extractors/cpp.ts +298 -0
  299. package/src/extractors/csharp.ts +53 -56
  300. package/src/extractors/dart.ts +304 -0
  301. package/src/extractors/elixir.ts +251 -0
  302. package/src/extractors/go.ts +152 -134
  303. package/src/extractors/haskell.ts +235 -0
  304. package/src/extractors/hcl.ts +6 -6
  305. package/src/extractors/helpers.ts +93 -1
  306. package/src/extractors/index.ts +12 -0
  307. package/src/extractors/java.ts +43 -48
  308. package/src/extractors/javascript.ts +328 -281
  309. package/src/extractors/kotlin.ts +293 -0
  310. package/src/extractors/lua.ts +169 -0
  311. package/src/extractors/ocaml.ts +259 -0
  312. package/src/extractors/php.ts +46 -40
  313. package/src/extractors/python.ts +81 -104
  314. package/src/extractors/ruby.ts +6 -13
  315. package/src/extractors/rust.ts +65 -85
  316. package/src/extractors/scala.ts +285 -0
  317. package/src/extractors/swift.ts +293 -0
  318. package/src/extractors/zig.ts +294 -0
  319. package/src/features/ast.ts +10 -25
  320. package/src/features/audit.ts +24 -20
  321. package/src/features/branch-compare.ts +51 -4
  322. package/src/features/cfg.ts +113 -65
  323. package/src/features/check.ts +90 -74
  324. package/src/features/complexity-query.ts +181 -163
  325. package/src/features/complexity.ts +64 -1
  326. package/src/features/dataflow.ts +462 -217
  327. package/src/features/graph-enrichment.ts +161 -117
  328. package/src/features/sequence.ts +27 -4
  329. package/src/features/structure-query.ts +43 -4
  330. package/src/features/structure.ts +50 -22
  331. package/src/graph/algorithms/leiden/adapter.ts +126 -71
  332. package/src/graph/algorithms/leiden/index.ts +67 -28
  333. package/src/graph/algorithms/leiden/optimiser.ts +114 -105
  334. package/src/graph/algorithms/leiden/partition.ts +131 -98
  335. package/src/graph/model.ts +19 -7
  336. package/src/infrastructure/config.ts +60 -58
  337. package/src/infrastructure/registry.ts +17 -14
  338. package/src/mcp/server.ts +46 -37
  339. package/src/presentation/audit.ts +72 -67
  340. package/src/presentation/branch-compare.ts +54 -50
  341. package/src/presentation/check.ts +34 -34
  342. package/src/presentation/colors.ts +2 -0
  343. package/src/presentation/complexity.ts +39 -33
  344. package/src/presentation/queries-cli/exports.ts +17 -17
  345. package/src/presentation/queries-cli/impact.ts +30 -22
  346. package/src/types.ts +195 -7
@@ -1 +1 @@
1
- {"version":3,"file":"cli-formatter.js","sourceRoot":"","sources":["../../../../src/domain/search/search/cli-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-formatter.js","sourceRoot":"","sources":["../../../../src/domain/search/search/cli-formatter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { ExtractorOutput, TreeSitterTree } from '../types.js';
2
+ /**
3
+ * Extract symbols from Bash/Shell files.
4
+ */
5
+ export declare function extractBashSymbols(tree: TreeSitterTree, _filePath: string): ExtractorOutput;
6
+ //# sourceMappingURL=bash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../src/extractors/bash.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,eAAe,EAAkB,cAAc,EAAE,MAAM,aAAa,CAAC;AAGzF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAY3F"}
@@ -0,0 +1,91 @@
1
+ import { nodeEndLine } from './helpers.js';
2
+ /**
3
+ * Extract symbols from Bash/Shell files.
4
+ */
5
+ export function extractBashSymbols(tree, _filePath) {
6
+ const ctx = {
7
+ definitions: [],
8
+ calls: [],
9
+ imports: [],
10
+ classes: [],
11
+ exports: [],
12
+ typeMap: new Map(),
13
+ };
14
+ walkBashNode(tree.rootNode, ctx);
15
+ return ctx;
16
+ }
17
+ function walkBashNode(node, ctx) {
18
+ switch (node.type) {
19
+ case 'function_definition':
20
+ handleBashFunctionDef(node, ctx);
21
+ break;
22
+ case 'command':
23
+ handleBashCommand(node, ctx);
24
+ break;
25
+ }
26
+ for (let i = 0; i < node.childCount; i++) {
27
+ const child = node.child(i);
28
+ if (child)
29
+ walkBashNode(child, ctx);
30
+ }
31
+ }
32
+ // ── Walk-path per-node-type handlers ────────────────────────────────────────
33
+ function handleBashFunctionDef(node, ctx) {
34
+ const nameNode = node.childForFieldName('name');
35
+ if (!nameNode)
36
+ return;
37
+ ctx.definitions.push({
38
+ name: nameNode.text,
39
+ kind: 'function',
40
+ line: node.startPosition.row + 1,
41
+ endLine: nodeEndLine(node),
42
+ });
43
+ }
44
+ function handleBashCommand(node, ctx) {
45
+ // First child is command_name
46
+ let commandNameNode = null;
47
+ for (let i = 0; i < node.childCount; i++) {
48
+ const child = node.child(i);
49
+ if (child && child.type === 'command_name') {
50
+ commandNameNode = child;
51
+ break;
52
+ }
53
+ }
54
+ if (!commandNameNode)
55
+ return;
56
+ const cmdText = commandNameNode.text;
57
+ // "source" or "." commands are imports
58
+ if (cmdText === 'source' || cmdText === '.') {
59
+ // Second argument is the source path
60
+ let argNode = null;
61
+ let foundCmd = false;
62
+ for (let i = 0; i < node.childCount; i++) {
63
+ const child = node.child(i);
64
+ if (!child)
65
+ continue;
66
+ if (child.type === 'command_name') {
67
+ foundCmd = true;
68
+ continue;
69
+ }
70
+ if (foundCmd && child.type !== 'command_name') {
71
+ argNode = child;
72
+ break;
73
+ }
74
+ }
75
+ if (argNode) {
76
+ const source = argNode.text;
77
+ const lastName = source.split('/').pop() ?? source;
78
+ ctx.imports.push({
79
+ source,
80
+ names: [lastName],
81
+ line: node.startPosition.row + 1,
82
+ bashSource: true,
83
+ });
84
+ }
85
+ return;
86
+ }
87
+ // Regular command call
88
+ const call = { name: cmdText, line: node.startPosition.row + 1 };
89
+ ctx.calls.push(call);
90
+ }
91
+ //# sourceMappingURL=bash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bash.js","sourceRoot":"","sources":["../../src/extractors/bash.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAoB,EAAE,SAAiB;IACxE,MAAM,GAAG,GAAoB;QAC3B,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,IAAI,GAAG,EAAE;KACnB,CAAC;IAEF,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACjC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,YAAY,CAAC,IAAoB,EAAE,GAAoB;IAC9D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,qBAAqB;YACxB,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,SAAS;YACZ,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7B,MAAM;IACV,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E,SAAS,qBAAqB,CAAC,IAAoB,EAAE,GAAoB;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;QACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;QAChC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAoB,EAAE,GAAoB;IACnE,8BAA8B;IAC9B,IAAI,eAAe,GAA0B,IAAI,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC3C,eAAe,GAAG,KAAK,CAAC;YACxB,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,CAAC,eAAe;QAAE,OAAO;IAE7B,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC;IAErC,uCAAuC;IACvC,IAAI,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QAC5C,qCAAqC;QACrC,IAAI,OAAO,GAA0B,IAAI,CAAC;QAC1C,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAClC,QAAQ,GAAG,IAAI,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC9C,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC;YACnD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;gBACf,MAAM;gBACN,KAAK,EAAE,CAAC,QAAQ,CAAC;gBACjB,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;gBAChC,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QACD,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,MAAM,IAAI,GAAS,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;IACvE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ExtractorOutput, TreeSitterTree } from '../types.js';
2
+ /**
3
+ * Extract symbols from C files.
4
+ */
5
+ export declare function extractCSymbols(tree: TreeSitterTree, _filePath: string): ExtractorOutput;
6
+ //# sourceMappingURL=c.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c.d.ts","sourceRoot":"","sources":["../../src/extractors/c.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAGf,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAYxF"}
@@ -0,0 +1,204 @@
1
+ import { findChild, nodeEndLine } from './helpers.js';
2
+ /**
3
+ * Extract symbols from C files.
4
+ */
5
+ export function extractCSymbols(tree, _filePath) {
6
+ const ctx = {
7
+ definitions: [],
8
+ calls: [],
9
+ imports: [],
10
+ classes: [],
11
+ exports: [],
12
+ typeMap: new Map(),
13
+ };
14
+ walkCNode(tree.rootNode, ctx);
15
+ return ctx;
16
+ }
17
+ function walkCNode(node, ctx) {
18
+ switch (node.type) {
19
+ case 'function_definition':
20
+ handleCFunctionDef(node, ctx);
21
+ break;
22
+ case 'struct_specifier':
23
+ handleCStructSpecifier(node, ctx);
24
+ break;
25
+ case 'enum_specifier':
26
+ handleCEnumSpecifier(node, ctx);
27
+ break;
28
+ case 'type_definition':
29
+ handleCTypedef(node, ctx);
30
+ break;
31
+ case 'preproc_include':
32
+ handleCInclude(node, ctx);
33
+ break;
34
+ case 'call_expression':
35
+ handleCCallExpression(node, ctx);
36
+ break;
37
+ }
38
+ for (let i = 0; i < node.childCount; i++) {
39
+ const child = node.child(i);
40
+ if (child)
41
+ walkCNode(child, ctx);
42
+ }
43
+ }
44
+ // ── Walk-path per-node-type handlers ────────────────────────────────────────
45
+ function handleCFunctionDef(node, ctx) {
46
+ // declarator > function_declarator > declarator(identifier)
47
+ const declarator = node.childForFieldName('declarator');
48
+ if (!declarator)
49
+ return;
50
+ const funcDeclarator = declarator.type === 'function_declarator'
51
+ ? declarator
52
+ : findChild(declarator, 'function_declarator');
53
+ if (!funcDeclarator)
54
+ return;
55
+ const nameNode = funcDeclarator.childForFieldName('declarator');
56
+ if (!nameNode)
57
+ return;
58
+ const name = nameNode.type === 'identifier' ? nameNode.text : nameNode.text;
59
+ const params = extractCParameters(funcDeclarator.childForFieldName('parameters'));
60
+ ctx.definitions.push({
61
+ name,
62
+ kind: 'function',
63
+ line: node.startPosition.row + 1,
64
+ endLine: nodeEndLine(node),
65
+ children: params.length > 0 ? params : undefined,
66
+ });
67
+ }
68
+ function handleCStructSpecifier(node, ctx) {
69
+ const nameNode = node.childForFieldName('name');
70
+ if (!nameNode)
71
+ return;
72
+ const children = extractStructFields(node);
73
+ ctx.definitions.push({
74
+ name: nameNode.text,
75
+ kind: 'struct',
76
+ line: node.startPosition.row + 1,
77
+ endLine: nodeEndLine(node),
78
+ children: children.length > 0 ? children : undefined,
79
+ });
80
+ }
81
+ function handleCEnumSpecifier(node, ctx) {
82
+ const nameNode = node.childForFieldName('name');
83
+ if (!nameNode)
84
+ return;
85
+ const children = extractEnumEntries(node);
86
+ ctx.definitions.push({
87
+ name: nameNode.text,
88
+ kind: 'enum',
89
+ line: node.startPosition.row + 1,
90
+ endLine: nodeEndLine(node),
91
+ children: children.length > 0 ? children : undefined,
92
+ });
93
+ }
94
+ function handleCTypedef(node, ctx) {
95
+ // The typedef name is the last type_identifier, identifier, or primitive_type child
96
+ let name;
97
+ for (let i = node.childCount - 1; i >= 0; i--) {
98
+ const child = node.child(i);
99
+ if (child &&
100
+ (child.type === 'type_identifier' ||
101
+ child.type === 'identifier' ||
102
+ child.type === 'primitive_type')) {
103
+ name = child.text;
104
+ break;
105
+ }
106
+ }
107
+ if (!name)
108
+ return;
109
+ ctx.definitions.push({
110
+ name,
111
+ kind: 'type',
112
+ line: node.startPosition.row + 1,
113
+ endLine: nodeEndLine(node),
114
+ });
115
+ }
116
+ function handleCInclude(node, ctx) {
117
+ const pathNode = node.childForFieldName('path');
118
+ if (!pathNode)
119
+ return;
120
+ // Strip quotes or angle brackets
121
+ const raw = pathNode.text;
122
+ const source = raw.replace(/^["<]|[">]$/g, '');
123
+ const lastName = source.split('/').pop() ?? source;
124
+ ctx.imports.push({
125
+ source,
126
+ names: [lastName],
127
+ line: node.startPosition.row + 1,
128
+ cInclude: true,
129
+ });
130
+ }
131
+ function handleCCallExpression(node, ctx) {
132
+ const funcNode = node.childForFieldName('function');
133
+ if (!funcNode)
134
+ return;
135
+ const call = { name: '', line: node.startPosition.row + 1 };
136
+ if (funcNode.type === 'field_expression') {
137
+ const field = funcNode.childForFieldName('field');
138
+ const argument = funcNode.childForFieldName('argument');
139
+ if (field)
140
+ call.name = field.text;
141
+ if (argument)
142
+ call.receiver = argument.text;
143
+ }
144
+ else {
145
+ call.name = funcNode.text;
146
+ }
147
+ if (call.name)
148
+ ctx.calls.push(call);
149
+ }
150
+ // ── Child extraction helpers ────────────────────────────────────────────────
151
+ function extractCParameters(paramListNode) {
152
+ const params = [];
153
+ if (!paramListNode)
154
+ return params;
155
+ for (let i = 0; i < paramListNode.childCount; i++) {
156
+ const param = paramListNode.child(i);
157
+ if (!param || param.type !== 'parameter_declaration')
158
+ continue;
159
+ const nameNode = param.childForFieldName('declarator');
160
+ if (nameNode) {
161
+ const name = nameNode.type === 'identifier'
162
+ ? nameNode.text
163
+ : (findChild(nameNode, 'identifier')?.text ?? nameNode.text);
164
+ params.push({ name, kind: 'parameter', line: param.startPosition.row + 1 });
165
+ }
166
+ }
167
+ return params;
168
+ }
169
+ function extractStructFields(structNode) {
170
+ const fields = [];
171
+ const body = findChild(structNode, 'field_declaration_list');
172
+ if (!body)
173
+ return fields;
174
+ for (let i = 0; i < body.childCount; i++) {
175
+ const member = body.child(i);
176
+ if (!member || member.type !== 'field_declaration')
177
+ continue;
178
+ const nameNode = member.childForFieldName('declarator');
179
+ if (nameNode) {
180
+ const name = nameNode.type === 'identifier'
181
+ ? nameNode.text
182
+ : (findChild(nameNode, 'identifier')?.text ?? nameNode.text);
183
+ fields.push({ name, kind: 'property', line: member.startPosition.row + 1 });
184
+ }
185
+ }
186
+ return fields;
187
+ }
188
+ function extractEnumEntries(enumNode) {
189
+ const entries = [];
190
+ const body = findChild(enumNode, 'enumerator_list');
191
+ if (!body)
192
+ return entries;
193
+ for (let i = 0; i < body.childCount; i++) {
194
+ const member = body.child(i);
195
+ if (!member || member.type !== 'enumerator')
196
+ continue;
197
+ const nameNode = member.childForFieldName('name');
198
+ if (nameNode) {
199
+ entries.push({ name: nameNode.text, kind: 'constant', line: member.startPosition.row + 1 });
200
+ }
201
+ }
202
+ return entries;
203
+ }
204
+ //# sourceMappingURL=c.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"c.js","sourceRoot":"","sources":["../../src/extractors/c.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEtD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAoB,EAAE,SAAiB;IACrE,MAAM,GAAG,GAAoB;QAC3B,WAAW,EAAE,EAAE;QACf,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,IAAI,GAAG,EAAE;KACnB,CAAC;IAEF,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC9B,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,SAAS,CAAC,IAAoB,EAAE,GAAoB;IAC3D,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,qBAAqB;YACxB,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC9B,MAAM;QACR,KAAK,kBAAkB;YACrB,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAClC,MAAM;QACR,KAAK,gBAAgB;YACnB,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAChC,MAAM;QACR,KAAK,iBAAiB;YACpB,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1B,MAAM;QACR,KAAK,iBAAiB;YACpB,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC1B,MAAM;QACR,KAAK,iBAAiB;YACpB,qBAAqB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACjC,MAAM;IACV,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,KAAK;YAAE,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E,SAAS,kBAAkB,CAAC,IAAoB,EAAE,GAAoB;IACpE,4DAA4D;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU;QAAE,OAAO;IACxB,MAAM,cAAc,GAClB,UAAU,CAAC,IAAI,KAAK,qBAAqB;QACvC,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IACnD,IAAI,CAAC,cAAc;QAAE,OAAO;IAC5B,MAAM,QAAQ,GAAG,cAAc,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAChE,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;IAE5E,MAAM,MAAM,GAAG,kBAAkB,CAAC,cAAc,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IAClF,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;QACnB,IAAI;QACJ,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;QAChC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;KACjD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAoB,EAAE,GAAoB;IACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;QACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;QAChC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;QAC1B,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;KACrD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAoB,EAAE,GAAoB;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1C,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;QACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;QAChC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;QAC1B,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;KACrD,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,IAAoB,EAAE,GAAoB;IAChE,oFAAoF;IACpF,IAAI,IAAwB,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,IACE,KAAK;YACL,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB;gBAC/B,KAAK,CAAC,IAAI,KAAK,YAAY;gBAC3B,KAAK,CAAC,IAAI,KAAK,gBAAgB,CAAC,EAClC,CAAC;YACD,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YAClB,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;QACnB,IAAI;QACJ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;QAChC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,IAAoB,EAAE,GAAoB;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,iCAAiC;IACjC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC;IACnD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QACf,MAAM;QACN,KAAK,EAAE,CAAC,QAAQ,CAAC;QACjB,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;QAChC,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAoB,EAAE,GAAoB;IACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,MAAM,IAAI,GAAS,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;IAClE,IAAI,QAAQ,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACxD,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QAClC,IAAI,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IACD,IAAI,IAAI,CAAC,IAAI;QAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,+EAA+E;AAE/E,SAAS,kBAAkB,CAAC,aAAoC;IAC9D,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,IAAI,CAAC,aAAa;QAAE,OAAO,MAAM,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB;YAAE,SAAS;QAC/D,MAAM,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,GACR,QAAQ,CAAC,IAAI,KAAK,YAAY;gBAC5B,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACf,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA0B;IACrD,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC;IAC7D,IAAI,CAAC,IAAI;QAAE,OAAO,MAAM,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB;YAAE,SAAS;QAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,IAAI,GACR,QAAQ,CAAC,IAAI,KAAK,YAAY;gBAC5B,CAAC,CAAC,QAAQ,CAAC,IAAI;gBACf,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAwB;IAClD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,SAAS,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IACpD,IAAI,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY;YAAE,SAAS;QACtD,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ExtractorOutput, TreeSitterTree } from '../types.js';
2
+ /**
3
+ * Extract symbols from C++ files.
4
+ */
5
+ export declare function extractCppSymbols(tree: TreeSitterTree, _filePath: string): ExtractorOutput;
6
+ //# sourceMappingURL=cpp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpp.d.ts","sourceRoot":"","sources":["../../src/extractors/cpp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,eAAe,EAGf,cAAc,EACf,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CAY1F"}
@@ -0,0 +1,283 @@
1
+ import { extractModifierVisibility, findChild, nodeEndLine } from './helpers.js';
2
+ /**
3
+ * Extract symbols from C++ files.
4
+ */
5
+ export function extractCppSymbols(tree, _filePath) {
6
+ const ctx = {
7
+ definitions: [],
8
+ calls: [],
9
+ imports: [],
10
+ classes: [],
11
+ exports: [],
12
+ typeMap: new Map(),
13
+ };
14
+ walkCppNode(tree.rootNode, ctx);
15
+ return ctx;
16
+ }
17
+ function walkCppNode(node, ctx) {
18
+ switch (node.type) {
19
+ case 'function_definition':
20
+ handleCppFunctionDef(node, ctx);
21
+ break;
22
+ case 'class_specifier':
23
+ handleCppClassSpecifier(node, ctx);
24
+ break;
25
+ case 'struct_specifier':
26
+ handleCppStructSpecifier(node, ctx);
27
+ break;
28
+ case 'enum_specifier':
29
+ handleCppEnumSpecifier(node, ctx);
30
+ break;
31
+ case 'namespace_definition':
32
+ handleCppNamespaceDef(node, ctx);
33
+ break;
34
+ case 'type_definition':
35
+ handleCppTypedef(node, ctx);
36
+ break;
37
+ case 'preproc_include':
38
+ handleCppInclude(node, ctx);
39
+ break;
40
+ case 'call_expression':
41
+ handleCppCallExpression(node, ctx);
42
+ break;
43
+ }
44
+ for (let i = 0; i < node.childCount; i++) {
45
+ const child = node.child(i);
46
+ if (child)
47
+ walkCppNode(child, ctx);
48
+ }
49
+ }
50
+ // ── Walk-path per-node-type handlers ────────────────────────────────────────
51
+ function handleCppFunctionDef(node, ctx) {
52
+ const declarator = node.childForFieldName('declarator');
53
+ if (!declarator)
54
+ return;
55
+ const funcDeclarator = declarator.type === 'function_declarator'
56
+ ? declarator
57
+ : findChild(declarator, 'function_declarator');
58
+ if (!funcDeclarator)
59
+ return;
60
+ const nameNode = funcDeclarator.childForFieldName('declarator');
61
+ if (!nameNode)
62
+ return;
63
+ const name = nameNode.text;
64
+ // If this function is inside a class/struct field_declaration_list, emit as method
65
+ const parentClass = findCppParentClass(node);
66
+ const fullName = parentClass ? `${parentClass}.${name}` : name;
67
+ const kind = parentClass ? 'method' : 'function';
68
+ const params = extractCppParameters(funcDeclarator.childForFieldName('parameters'));
69
+ ctx.definitions.push({
70
+ name: fullName,
71
+ kind,
72
+ line: node.startPosition.row + 1,
73
+ endLine: nodeEndLine(node),
74
+ children: params.length > 0 ? params : undefined,
75
+ visibility: parentClass ? extractModifierVisibility(node) : undefined,
76
+ });
77
+ }
78
+ function handleCppClassSpecifier(node, ctx) {
79
+ const nameNode = node.childForFieldName('name');
80
+ if (!nameNode)
81
+ return;
82
+ const children = extractCppClassFields(node);
83
+ ctx.definitions.push({
84
+ name: nameNode.text,
85
+ kind: 'class',
86
+ line: node.startPosition.row + 1,
87
+ endLine: nodeEndLine(node),
88
+ children: children.length > 0 ? children : undefined,
89
+ });
90
+ // Inheritance via base_class_clause
91
+ const baseClause = findChild(node, 'base_class_clause');
92
+ if (baseClause) {
93
+ for (let i = 0; i < baseClause.childCount; i++) {
94
+ const child = baseClause.child(i);
95
+ if (child && (child.type === 'type_identifier' || child.type === 'qualified_identifier')) {
96
+ ctx.classes.push({
97
+ name: nameNode.text,
98
+ extends: child.text,
99
+ line: node.startPosition.row + 1,
100
+ });
101
+ }
102
+ }
103
+ }
104
+ }
105
+ function handleCppStructSpecifier(node, ctx) {
106
+ const nameNode = node.childForFieldName('name');
107
+ if (!nameNode)
108
+ return;
109
+ const children = extractCppClassFields(node);
110
+ ctx.definitions.push({
111
+ name: nameNode.text,
112
+ kind: 'struct',
113
+ line: node.startPosition.row + 1,
114
+ endLine: nodeEndLine(node),
115
+ children: children.length > 0 ? children : undefined,
116
+ });
117
+ const baseClause = findChild(node, 'base_class_clause');
118
+ if (baseClause) {
119
+ for (let i = 0; i < baseClause.childCount; i++) {
120
+ const child = baseClause.child(i);
121
+ if (child && (child.type === 'type_identifier' || child.type === 'qualified_identifier')) {
122
+ ctx.classes.push({
123
+ name: nameNode.text,
124
+ extends: child.text,
125
+ line: node.startPosition.row + 1,
126
+ });
127
+ }
128
+ }
129
+ }
130
+ }
131
+ function handleCppEnumSpecifier(node, ctx) {
132
+ const nameNode = node.childForFieldName('name');
133
+ if (!nameNode)
134
+ return;
135
+ const children = extractCppEnumEntries(node);
136
+ ctx.definitions.push({
137
+ name: nameNode.text,
138
+ kind: 'enum',
139
+ line: node.startPosition.row + 1,
140
+ endLine: nodeEndLine(node),
141
+ children: children.length > 0 ? children : undefined,
142
+ });
143
+ }
144
+ function handleCppNamespaceDef(node, ctx) {
145
+ const nameNode = node.childForFieldName('name');
146
+ if (!nameNode)
147
+ return;
148
+ ctx.definitions.push({
149
+ name: nameNode.text,
150
+ kind: 'namespace',
151
+ line: node.startPosition.row + 1,
152
+ endLine: nodeEndLine(node),
153
+ });
154
+ }
155
+ function handleCppTypedef(node, ctx) {
156
+ let name;
157
+ for (let i = node.childCount - 1; i >= 0; i--) {
158
+ const child = node.child(i);
159
+ if (child &&
160
+ (child.type === 'type_identifier' ||
161
+ child.type === 'identifier' ||
162
+ child.type === 'primitive_type')) {
163
+ name = child.text;
164
+ break;
165
+ }
166
+ }
167
+ if (!name)
168
+ return;
169
+ ctx.definitions.push({
170
+ name,
171
+ kind: 'type',
172
+ line: node.startPosition.row + 1,
173
+ endLine: nodeEndLine(node),
174
+ });
175
+ }
176
+ function handleCppInclude(node, ctx) {
177
+ const pathNode = node.childForFieldName('path');
178
+ if (!pathNode)
179
+ return;
180
+ const raw = pathNode.text;
181
+ const source = raw.replace(/^["<]|[">]$/g, '');
182
+ const lastName = source.split('/').pop() ?? source;
183
+ ctx.imports.push({
184
+ source,
185
+ names: [lastName],
186
+ line: node.startPosition.row + 1,
187
+ cInclude: true,
188
+ });
189
+ }
190
+ function handleCppCallExpression(node, ctx) {
191
+ const funcNode = node.childForFieldName('function');
192
+ if (!funcNode)
193
+ return;
194
+ const call = { name: '', line: node.startPosition.row + 1 };
195
+ if (funcNode.type === 'field_expression') {
196
+ const field = funcNode.childForFieldName('field');
197
+ const argument = funcNode.childForFieldName('argument');
198
+ if (field)
199
+ call.name = field.text;
200
+ if (argument)
201
+ call.receiver = argument.text;
202
+ }
203
+ else {
204
+ call.name = funcNode.text;
205
+ }
206
+ if (call.name)
207
+ ctx.calls.push(call);
208
+ }
209
+ // ── Utility helpers ─────────────────────────────────────────────────────────
210
+ function findCppParentClass(node) {
211
+ let current = node.parent;
212
+ while (current) {
213
+ if (current.type === 'field_declaration_list') {
214
+ const classNode = current.parent;
215
+ if (classNode &&
216
+ (classNode.type === 'class_specifier' || classNode.type === 'struct_specifier')) {
217
+ const nameNode = classNode.childForFieldName('name');
218
+ return nameNode ? nameNode.text : null;
219
+ }
220
+ }
221
+ current = current.parent;
222
+ }
223
+ return null;
224
+ }
225
+ function extractCppParameters(paramListNode) {
226
+ const params = [];
227
+ if (!paramListNode)
228
+ return params;
229
+ for (let i = 0; i < paramListNode.childCount; i++) {
230
+ const param = paramListNode.child(i);
231
+ if (!param || param.type !== 'parameter_declaration')
232
+ continue;
233
+ const nameNode = param.childForFieldName('declarator');
234
+ if (nameNode) {
235
+ const name = nameNode.type === 'identifier'
236
+ ? nameNode.text
237
+ : (findChild(nameNode, 'identifier')?.text ?? nameNode.text);
238
+ params.push({ name, kind: 'parameter', line: param.startPosition.row + 1 });
239
+ }
240
+ }
241
+ return params;
242
+ }
243
+ function extractCppClassFields(classNode) {
244
+ const fields = [];
245
+ const body = classNode.childForFieldName('body') || findChild(classNode, 'field_declaration_list');
246
+ if (!body)
247
+ return fields;
248
+ for (let i = 0; i < body.childCount; i++) {
249
+ const member = body.child(i);
250
+ if (!member || member.type !== 'field_declaration')
251
+ continue;
252
+ const nameNode = member.childForFieldName('declarator');
253
+ if (nameNode) {
254
+ const name = nameNode.type === 'identifier'
255
+ ? nameNode.text
256
+ : (findChild(nameNode, 'identifier')?.text ?? nameNode.text);
257
+ fields.push({
258
+ name,
259
+ kind: 'property',
260
+ line: member.startPosition.row + 1,
261
+ visibility: extractModifierVisibility(member),
262
+ });
263
+ }
264
+ }
265
+ return fields;
266
+ }
267
+ function extractCppEnumEntries(enumNode) {
268
+ const entries = [];
269
+ const body = findChild(enumNode, 'enumerator_list');
270
+ if (!body)
271
+ return entries;
272
+ for (let i = 0; i < body.childCount; i++) {
273
+ const member = body.child(i);
274
+ if (!member || member.type !== 'enumerator')
275
+ continue;
276
+ const nameNode = member.childForFieldName('name');
277
+ if (nameNode) {
278
+ entries.push({ name: nameNode.text, kind: 'constant', line: member.startPosition.row + 1 });
279
+ }
280
+ }
281
+ return entries;
282
+ }
283
+ //# sourceMappingURL=cpp.js.map