@colbymchenry/codegraph-darwin-x64 0.9.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/lib/dist/bin/codegraph.d.ts +1 -0
  2. package/lib/dist/bin/codegraph.d.ts.map +1 -1
  3. package/lib/dist/bin/codegraph.js +246 -3
  4. package/lib/dist/bin/codegraph.js.map +1 -1
  5. package/lib/dist/context/index.d.ts.map +1 -1
  6. package/lib/dist/context/index.js +7 -0
  7. package/lib/dist/context/index.js.map +1 -1
  8. package/lib/dist/db/index.d.ts.map +1 -1
  9. package/lib/dist/db/index.js +2 -1
  10. package/lib/dist/db/index.js.map +1 -1
  11. package/lib/dist/db/migrations.d.ts +1 -1
  12. package/lib/dist/db/migrations.d.ts.map +1 -1
  13. package/lib/dist/db/migrations.js +10 -1
  14. package/lib/dist/db/migrations.js.map +1 -1
  15. package/lib/dist/db/queries.d.ts +43 -0
  16. package/lib/dist/db/queries.d.ts.map +1 -1
  17. package/lib/dist/db/queries.js +103 -7
  18. package/lib/dist/db/queries.js.map +1 -1
  19. package/lib/dist/db/schema.sql +1 -0
  20. package/lib/dist/db/sqlite-adapter.d.ts +7 -0
  21. package/lib/dist/db/sqlite-adapter.d.ts.map +1 -1
  22. package/lib/dist/db/sqlite-adapter.js +3 -0
  23. package/lib/dist/db/sqlite-adapter.js.map +1 -1
  24. package/lib/dist/directory.d.ts +34 -2
  25. package/lib/dist/directory.d.ts.map +1 -1
  26. package/lib/dist/directory.js +129 -35
  27. package/lib/dist/directory.js.map +1 -1
  28. package/lib/dist/extraction/astro-extractor.d.ts +79 -0
  29. package/lib/dist/extraction/astro-extractor.d.ts.map +1 -0
  30. package/lib/dist/extraction/astro-extractor.js +320 -0
  31. package/lib/dist/extraction/astro-extractor.js.map +1 -0
  32. package/lib/dist/extraction/extraction-version.d.ts +25 -0
  33. package/lib/dist/extraction/extraction-version.d.ts.map +1 -0
  34. package/lib/dist/extraction/extraction-version.js +28 -0
  35. package/lib/dist/extraction/extraction-version.js.map +1 -0
  36. package/lib/dist/extraction/function-ref.d.ts +118 -0
  37. package/lib/dist/extraction/function-ref.d.ts.map +1 -0
  38. package/lib/dist/extraction/function-ref.js +727 -0
  39. package/lib/dist/extraction/function-ref.js.map +1 -0
  40. package/lib/dist/extraction/generated-detection.d.ts.map +1 -1
  41. package/lib/dist/extraction/generated-detection.js +3 -0
  42. package/lib/dist/extraction/generated-detection.js.map +1 -1
  43. package/lib/dist/extraction/grammars.d.ts +7 -1
  44. package/lib/dist/extraction/grammars.d.ts.map +1 -1
  45. package/lib/dist/extraction/grammars.js +52 -4
  46. package/lib/dist/extraction/grammars.js.map +1 -1
  47. package/lib/dist/extraction/index.d.ts +34 -0
  48. package/lib/dist/extraction/index.d.ts.map +1 -1
  49. package/lib/dist/extraction/index.js +346 -62
  50. package/lib/dist/extraction/index.js.map +1 -1
  51. package/lib/dist/extraction/languages/c-cpp.d.ts +8 -0
  52. package/lib/dist/extraction/languages/c-cpp.d.ts.map +1 -1
  53. package/lib/dist/extraction/languages/c-cpp.js +87 -28
  54. package/lib/dist/extraction/languages/c-cpp.js.map +1 -1
  55. package/lib/dist/extraction/languages/csharp.d.ts +22 -0
  56. package/lib/dist/extraction/languages/csharp.d.ts.map +1 -1
  57. package/lib/dist/extraction/languages/csharp.js +84 -2
  58. package/lib/dist/extraction/languages/csharp.js.map +1 -1
  59. package/lib/dist/extraction/languages/dart.d.ts.map +1 -1
  60. package/lib/dist/extraction/languages/dart.js +161 -1
  61. package/lib/dist/extraction/languages/dart.js.map +1 -1
  62. package/lib/dist/extraction/languages/go.d.ts.map +1 -1
  63. package/lib/dist/extraction/languages/go.js +43 -2
  64. package/lib/dist/extraction/languages/go.js.map +1 -1
  65. package/lib/dist/extraction/languages/index.d.ts.map +1 -1
  66. package/lib/dist/extraction/languages/index.js +2 -0
  67. package/lib/dist/extraction/languages/index.js.map +1 -1
  68. package/lib/dist/extraction/languages/java.d.ts.map +1 -1
  69. package/lib/dist/extraction/languages/java.js +42 -1
  70. package/lib/dist/extraction/languages/java.js.map +1 -1
  71. package/lib/dist/extraction/languages/javascript.d.ts.map +1 -1
  72. package/lib/dist/extraction/languages/javascript.js +16 -0
  73. package/lib/dist/extraction/languages/javascript.js.map +1 -1
  74. package/lib/dist/extraction/languages/kotlin.d.ts.map +1 -1
  75. package/lib/dist/extraction/languages/kotlin.js +69 -0
  76. package/lib/dist/extraction/languages/kotlin.js.map +1 -1
  77. package/lib/dist/extraction/languages/objc.d.ts.map +1 -1
  78. package/lib/dist/extraction/languages/objc.js +42 -0
  79. package/lib/dist/extraction/languages/objc.js.map +1 -1
  80. package/lib/dist/extraction/languages/pascal.d.ts.map +1 -1
  81. package/lib/dist/extraction/languages/pascal.js +11 -0
  82. package/lib/dist/extraction/languages/pascal.js.map +1 -1
  83. package/lib/dist/extraction/languages/php.d.ts.map +1 -1
  84. package/lib/dist/extraction/languages/php.js +90 -1
  85. package/lib/dist/extraction/languages/php.js.map +1 -1
  86. package/lib/dist/extraction/languages/r.d.ts +3 -0
  87. package/lib/dist/extraction/languages/r.d.ts.map +1 -0
  88. package/lib/dist/extraction/languages/r.js +314 -0
  89. package/lib/dist/extraction/languages/r.js.map +1 -0
  90. package/lib/dist/extraction/languages/ruby.d.ts.map +1 -1
  91. package/lib/dist/extraction/languages/ruby.js +35 -0
  92. package/lib/dist/extraction/languages/ruby.js.map +1 -1
  93. package/lib/dist/extraction/languages/rust.d.ts.map +1 -1
  94. package/lib/dist/extraction/languages/rust.js +35 -2
  95. package/lib/dist/extraction/languages/rust.js.map +1 -1
  96. package/lib/dist/extraction/languages/scala.d.ts.map +1 -1
  97. package/lib/dist/extraction/languages/scala.js +61 -1
  98. package/lib/dist/extraction/languages/scala.js.map +1 -1
  99. package/lib/dist/extraction/languages/swift.d.ts.map +1 -1
  100. package/lib/dist/extraction/languages/swift.js +61 -0
  101. package/lib/dist/extraction/languages/swift.js.map +1 -1
  102. package/lib/dist/extraction/languages/typescript.d.ts +13 -0
  103. package/lib/dist/extraction/languages/typescript.d.ts.map +1 -1
  104. package/lib/dist/extraction/languages/typescript.js +38 -0
  105. package/lib/dist/extraction/languages/typescript.js.map +1 -1
  106. package/lib/dist/extraction/liquid-extractor.d.ts +7 -0
  107. package/lib/dist/extraction/liquid-extractor.d.ts.map +1 -1
  108. package/lib/dist/extraction/liquid-extractor.js +53 -9
  109. package/lib/dist/extraction/liquid-extractor.js.map +1 -1
  110. package/lib/dist/extraction/razor-extractor.d.ts +42 -0
  111. package/lib/dist/extraction/razor-extractor.d.ts.map +1 -0
  112. package/lib/dist/extraction/razor-extractor.js +285 -0
  113. package/lib/dist/extraction/razor-extractor.js.map +1 -0
  114. package/lib/dist/extraction/svelte-extractor.d.ts.map +1 -1
  115. package/lib/dist/extraction/svelte-extractor.js +6 -3
  116. package/lib/dist/extraction/svelte-extractor.js.map +1 -1
  117. package/lib/dist/extraction/tree-sitter-helpers.d.ts.map +1 -1
  118. package/lib/dist/extraction/tree-sitter-helpers.js +59 -10
  119. package/lib/dist/extraction/tree-sitter-helpers.js.map +1 -1
  120. package/lib/dist/extraction/tree-sitter-types.d.ts +33 -0
  121. package/lib/dist/extraction/tree-sitter-types.d.ts.map +1 -1
  122. package/lib/dist/extraction/tree-sitter.d.ts +211 -0
  123. package/lib/dist/extraction/tree-sitter.d.ts.map +1 -1
  124. package/lib/dist/extraction/tree-sitter.js +1681 -49
  125. package/lib/dist/extraction/tree-sitter.js.map +1 -1
  126. package/lib/dist/extraction/vue-extractor.d.ts +15 -0
  127. package/lib/dist/extraction/vue-extractor.d.ts.map +1 -1
  128. package/lib/dist/extraction/vue-extractor.js +94 -3
  129. package/lib/dist/extraction/vue-extractor.js.map +1 -1
  130. package/lib/dist/extraction/wasm/tree-sitter-c_sharp.wasm +0 -0
  131. package/lib/dist/extraction/wasm/tree-sitter-r.wasm +0 -0
  132. package/lib/dist/graph/queries.d.ts.map +1 -1
  133. package/lib/dist/graph/queries.js +13 -40
  134. package/lib/dist/graph/queries.js.map +1 -1
  135. package/lib/dist/graph/traversal.d.ts.map +1 -1
  136. package/lib/dist/graph/traversal.js +16 -4
  137. package/lib/dist/graph/traversal.js.map +1 -1
  138. package/lib/dist/index.d.ts +34 -2
  139. package/lib/dist/index.d.ts.map +1 -1
  140. package/lib/dist/index.js +90 -8
  141. package/lib/dist/index.js.map +1 -1
  142. package/lib/dist/installer/index.d.ts.map +1 -1
  143. package/lib/dist/installer/index.js +52 -2
  144. package/lib/dist/installer/index.js.map +1 -1
  145. package/lib/dist/installer/instructions-template.d.ts +34 -11
  146. package/lib/dist/installer/instructions-template.d.ts.map +1 -1
  147. package/lib/dist/installer/instructions-template.js +44 -12
  148. package/lib/dist/installer/instructions-template.js.map +1 -1
  149. package/lib/dist/installer/targets/claude.d.ts.map +1 -1
  150. package/lib/dist/installer/targets/claude.js +6 -10
  151. package/lib/dist/installer/targets/claude.js.map +1 -1
  152. package/lib/dist/installer/targets/codex.js +4 -6
  153. package/lib/dist/installer/targets/codex.js.map +1 -1
  154. package/lib/dist/installer/targets/gemini.js +4 -6
  155. package/lib/dist/installer/targets/gemini.js.map +1 -1
  156. package/lib/dist/installer/targets/opencode.d.ts +9 -1
  157. package/lib/dist/installer/targets/opencode.d.ts.map +1 -1
  158. package/lib/dist/installer/targets/opencode.js +91 -40
  159. package/lib/dist/installer/targets/opencode.js.map +1 -1
  160. package/lib/dist/installer/targets/shared.d.ts +14 -0
  161. package/lib/dist/installer/targets/shared.d.ts.map +1 -1
  162. package/lib/dist/installer/targets/shared.js +16 -0
  163. package/lib/dist/installer/targets/shared.js.map +1 -1
  164. package/lib/dist/mcp/daemon.d.ts +60 -1
  165. package/lib/dist/mcp/daemon.d.ts.map +1 -1
  166. package/lib/dist/mcp/daemon.js +221 -8
  167. package/lib/dist/mcp/daemon.js.map +1 -1
  168. package/lib/dist/mcp/dynamic-boundaries.d.ts +41 -0
  169. package/lib/dist/mcp/dynamic-boundaries.d.ts.map +1 -0
  170. package/lib/dist/mcp/dynamic-boundaries.js +359 -0
  171. package/lib/dist/mcp/dynamic-boundaries.js.map +1 -0
  172. package/lib/dist/mcp/index.d.ts.map +1 -1
  173. package/lib/dist/mcp/index.js +18 -9
  174. package/lib/dist/mcp/index.js.map +1 -1
  175. package/lib/dist/mcp/ppid-watchdog.d.ts +44 -0
  176. package/lib/dist/mcp/ppid-watchdog.d.ts.map +1 -0
  177. package/lib/dist/mcp/ppid-watchdog.js +27 -0
  178. package/lib/dist/mcp/ppid-watchdog.js.map +1 -0
  179. package/lib/dist/mcp/proxy.d.ts +6 -0
  180. package/lib/dist/mcp/proxy.d.ts.map +1 -1
  181. package/lib/dist/mcp/proxy.js +153 -24
  182. package/lib/dist/mcp/proxy.js.map +1 -1
  183. package/lib/dist/mcp/server-instructions.d.ts +12 -1
  184. package/lib/dist/mcp/server-instructions.d.ts.map +1 -1
  185. package/lib/dist/mcp/server-instructions.js +43 -16
  186. package/lib/dist/mcp/server-instructions.js.map +1 -1
  187. package/lib/dist/mcp/session.d.ts +2 -0
  188. package/lib/dist/mcp/session.d.ts.map +1 -1
  189. package/lib/dist/mcp/session.js +49 -2
  190. package/lib/dist/mcp/session.js.map +1 -1
  191. package/lib/dist/mcp/stdin-teardown.d.ts +27 -0
  192. package/lib/dist/mcp/stdin-teardown.d.ts.map +1 -0
  193. package/lib/dist/mcp/stdin-teardown.js +49 -0
  194. package/lib/dist/mcp/stdin-teardown.js.map +1 -0
  195. package/lib/dist/mcp/tools.d.ts +71 -0
  196. package/lib/dist/mcp/tools.d.ts.map +1 -1
  197. package/lib/dist/mcp/tools.js +703 -85
  198. package/lib/dist/mcp/tools.js.map +1 -1
  199. package/lib/dist/mcp/transport.d.ts.map +1 -1
  200. package/lib/dist/mcp/transport.js +18 -2
  201. package/lib/dist/mcp/transport.js.map +1 -1
  202. package/lib/dist/resolution/callback-synthesizer.d.ts +3 -3
  203. package/lib/dist/resolution/callback-synthesizer.d.ts.map +1 -1
  204. package/lib/dist/resolution/callback-synthesizer.js +549 -21
  205. package/lib/dist/resolution/callback-synthesizer.js.map +1 -1
  206. package/lib/dist/resolution/frameworks/astro.d.ts +9 -0
  207. package/lib/dist/resolution/frameworks/astro.d.ts.map +1 -0
  208. package/lib/dist/resolution/frameworks/astro.js +169 -0
  209. package/lib/dist/resolution/frameworks/astro.js.map +1 -0
  210. package/lib/dist/resolution/frameworks/expo-modules.d.ts.map +1 -1
  211. package/lib/dist/resolution/frameworks/expo-modules.js +6 -1
  212. package/lib/dist/resolution/frameworks/expo-modules.js.map +1 -1
  213. package/lib/dist/resolution/frameworks/index.d.ts +1 -0
  214. package/lib/dist/resolution/frameworks/index.d.ts.map +1 -1
  215. package/lib/dist/resolution/frameworks/index.js +5 -1
  216. package/lib/dist/resolution/frameworks/index.js.map +1 -1
  217. package/lib/dist/resolution/frameworks/java.js +6 -1
  218. package/lib/dist/resolution/frameworks/java.js.map +1 -1
  219. package/lib/dist/resolution/frameworks/python.d.ts.map +1 -1
  220. package/lib/dist/resolution/frameworks/python.js +7 -3
  221. package/lib/dist/resolution/frameworks/python.js.map +1 -1
  222. package/lib/dist/resolution/frameworks/react-native.d.ts.map +1 -1
  223. package/lib/dist/resolution/frameworks/react-native.js +53 -3
  224. package/lib/dist/resolution/frameworks/react-native.js.map +1 -1
  225. package/lib/dist/resolution/frameworks/react.d.ts.map +1 -1
  226. package/lib/dist/resolution/frameworks/react.js +15 -3
  227. package/lib/dist/resolution/frameworks/react.js.map +1 -1
  228. package/lib/dist/resolution/frameworks/svelte.js +5 -1
  229. package/lib/dist/resolution/frameworks/svelte.js.map +1 -1
  230. package/lib/dist/resolution/frameworks/vue.js +24 -27
  231. package/lib/dist/resolution/frameworks/vue.js.map +1 -1
  232. package/lib/dist/resolution/import-resolver.d.ts +10 -0
  233. package/lib/dist/resolution/import-resolver.d.ts.map +1 -1
  234. package/lib/dist/resolution/import-resolver.js +564 -2
  235. package/lib/dist/resolution/import-resolver.js.map +1 -1
  236. package/lib/dist/resolution/index.d.ts +80 -0
  237. package/lib/dist/resolution/index.d.ts.map +1 -1
  238. package/lib/dist/resolution/index.js +457 -7
  239. package/lib/dist/resolution/index.js.map +1 -1
  240. package/lib/dist/resolution/name-matcher.d.ts +61 -0
  241. package/lib/dist/resolution/name-matcher.d.ts.map +1 -1
  242. package/lib/dist/resolution/name-matcher.js +590 -14
  243. package/lib/dist/resolution/name-matcher.js.map +1 -1
  244. package/lib/dist/resolution/types.d.ts +27 -3
  245. package/lib/dist/resolution/types.d.ts.map +1 -1
  246. package/lib/dist/resolution/workspace-packages.d.ts +48 -0
  247. package/lib/dist/resolution/workspace-packages.d.ts.map +1 -0
  248. package/lib/dist/resolution/workspace-packages.js +208 -0
  249. package/lib/dist/resolution/workspace-packages.js.map +1 -0
  250. package/lib/dist/search/query-utils.d.ts +17 -1
  251. package/lib/dist/search/query-utils.d.ts.map +1 -1
  252. package/lib/dist/search/query-utils.js +79 -10
  253. package/lib/dist/search/query-utils.js.map +1 -1
  254. package/lib/dist/sync/watcher.d.ts +124 -32
  255. package/lib/dist/sync/watcher.d.ts.map +1 -1
  256. package/lib/dist/sync/watcher.js +326 -111
  257. package/lib/dist/sync/watcher.js.map +1 -1
  258. package/lib/dist/telemetry/index.d.ts +146 -0
  259. package/lib/dist/telemetry/index.d.ts.map +1 -0
  260. package/lib/dist/telemetry/index.js +544 -0
  261. package/lib/dist/telemetry/index.js.map +1 -0
  262. package/lib/dist/types.d.ts +17 -2
  263. package/lib/dist/types.d.ts.map +1 -1
  264. package/lib/dist/types.js +3 -0
  265. package/lib/dist/types.js.map +1 -1
  266. package/lib/dist/upgrade/index.d.ts +132 -0
  267. package/lib/dist/upgrade/index.d.ts.map +1 -0
  268. package/lib/dist/upgrade/index.js +462 -0
  269. package/lib/dist/upgrade/index.js.map +1 -0
  270. package/lib/dist/utils.d.ts +30 -24
  271. package/lib/dist/utils.d.ts.map +1 -1
  272. package/lib/dist/utils.js +64 -48
  273. package/lib/dist/utils.js.map +1 -1
  274. package/lib/node_modules/.package-lock.json +1 -29
  275. package/lib/package.json +1 -2
  276. package/package.json +1 -1
  277. package/lib/node_modules/chokidar/LICENSE +0 -21
  278. package/lib/node_modules/chokidar/README.md +0 -305
  279. package/lib/node_modules/chokidar/esm/handler.d.ts +0 -90
  280. package/lib/node_modules/chokidar/esm/handler.js +0 -629
  281. package/lib/node_modules/chokidar/esm/index.d.ts +0 -215
  282. package/lib/node_modules/chokidar/esm/index.js +0 -798
  283. package/lib/node_modules/chokidar/esm/package.json +0 -1
  284. package/lib/node_modules/chokidar/handler.d.ts +0 -90
  285. package/lib/node_modules/chokidar/handler.js +0 -635
  286. package/lib/node_modules/chokidar/index.d.ts +0 -215
  287. package/lib/node_modules/chokidar/index.js +0 -804
  288. package/lib/node_modules/chokidar/package.json +0 -69
  289. package/lib/node_modules/readdirp/LICENSE +0 -21
  290. package/lib/node_modules/readdirp/README.md +0 -120
  291. package/lib/node_modules/readdirp/esm/index.d.ts +0 -108
  292. package/lib/node_modules/readdirp/esm/index.js +0 -257
  293. package/lib/node_modules/readdirp/esm/package.json +0 -1
  294. package/lib/node_modules/readdirp/index.d.ts +0 -108
  295. package/lib/node_modules/readdirp/index.js +0 -263
  296. package/lib/node_modules/readdirp/package.json +0 -70
@@ -0,0 +1,285 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RazorExtractor = void 0;
4
+ const tree_sitter_helpers_1 = require("./tree-sitter-helpers");
5
+ const tree_sitter_1 = require("./tree-sitter");
6
+ const grammars_1 = require("./grammars");
7
+ /**
8
+ * RazorExtractor — extracts code relationships from ASP.NET Razor (`.cshtml`)
9
+ * and Blazor (`.razor`) markup.
10
+ *
11
+ * Markup-driven code-behind, view-models, components, and DTOs are referenced
12
+ * only from markup the engine otherwise doesn't parse, so they look like nothing
13
+ * depends on them. This extractor links the markup → the C# types it names:
14
+ *
15
+ * - `@model Foo` / `@inherits Bar<Foo>` → the view-model / base type (.cshtml + .razor)
16
+ * - `@inject IService svc` → the injected service type
17
+ * - `@typeof(MainLayout)` → the referenced type
18
+ * - `<MyComponent .../>` (Blazor only) → the component class (.razor or `.cs : ComponentBase`)
19
+ * - `<Grid TItem="CatalogItem">` → the generic type argument
20
+ *
21
+ * Risk mitigations (see docs/design/template-markup-parser.md):
22
+ * - Only PascalCase (`[A-Z]`-initial) tags are treated as components — HTML
23
+ * elements are lowercase, so they never match. Known Blazor framework
24
+ * components are skipped (they aren't in-repo, so a ref would just dangle).
25
+ * - Exactly ONE `component` node per file; component tags become `references`
26
+ * EDGES, never nodes — no per-tag node explosion.
27
+ * - Emitted refs are ordinary by-name `references` resolved by the name-matcher;
28
+ * `razor` shares the `dotnet` language family with `csharp` (name-matcher.ts)
29
+ * so the cross-family gate doesn't drop them.
30
+ * - `.cshtml`/`.razor` are registered in grammars.ts so they're indexed.
31
+ *
32
+ * Out of scope (data-flow / low-value): `asp-for`/`th:field` property-string
33
+ * bindings; the C# inside `@code { }` / `@{ }` blocks (noisy regex on embedded C#).
34
+ */
35
+ /**
36
+ * Blazor framework-provided components — invoked by the runtime, not defined
37
+ * in-repo, so a reference to them would never resolve. Skip to avoid dangling refs.
38
+ */
39
+ const BLAZOR_BUILTIN_COMPONENTS = new Set([
40
+ 'Router', 'Found', 'NotFound', 'RouteView', 'AuthorizeRouteView', 'LayoutView',
41
+ 'CascadingValue', 'CascadingAuthenticationState', 'AuthorizeView', 'Authorized',
42
+ 'NotAuthorized', 'Authorizing', 'EditForm', 'DataAnnotationsValidator',
43
+ 'ValidationSummary', 'ValidationMessage', 'InputText', 'InputNumber',
44
+ 'InputCheckbox', 'InputSelect', 'InputDate', 'InputTextArea', 'InputRadio',
45
+ 'InputRadioGroup', 'InputFile', 'PageTitle', 'HeadContent', 'HeadOutlet',
46
+ 'Virtualize', 'DynamicComponent', 'ErrorBoundary', 'SectionContent',
47
+ 'SectionOutlet', 'FocusOnNavigate', 'NavLink', 'Microsoft',
48
+ ]);
49
+ class RazorExtractor {
50
+ filePath;
51
+ source;
52
+ nodes = [];
53
+ edges = [];
54
+ unresolvedReferences = [];
55
+ errors = [];
56
+ constructor(filePath, source) {
57
+ this.filePath = filePath;
58
+ this.source = source;
59
+ }
60
+ extract() {
61
+ const startTime = Date.now();
62
+ try {
63
+ const componentId = this.createComponentNode().id;
64
+ this.extractDirectives(componentId);
65
+ // Blazor component tags only — `.cshtml` uses HTML + tag helpers, not
66
+ // PascalCase component elements.
67
+ if (this.filePath.toLowerCase().endsWith('.razor')) {
68
+ this.extractComponentTags(componentId);
69
+ }
70
+ // Delegate the C# in `@code { }` / `@functions { }` / `@{ }` blocks to the
71
+ // C# tree-sitter extractor (the Blazor analog of Svelte's <script> block) —
72
+ // this is where component logic uses services/DTOs, so it covers the types
73
+ // referenced only from component code.
74
+ this.processCodeBlocks(componentId);
75
+ }
76
+ catch (error) {
77
+ this.errors.push({
78
+ message: `Razor extraction error: ${error instanceof Error ? error.message : String(error)}`,
79
+ severity: 'error',
80
+ code: 'parse_error',
81
+ });
82
+ }
83
+ return {
84
+ nodes: this.nodes,
85
+ edges: this.edges,
86
+ unresolvedReferences: this.unresolvedReferences,
87
+ errors: this.errors,
88
+ durationMs: Date.now() - startTime,
89
+ };
90
+ }
91
+ createComponentNode() {
92
+ const lines = this.source.split('\n');
93
+ const fileName = this.filePath.split(/[/\\]/).pop() || this.filePath;
94
+ const componentName = fileName.replace(/\.(razor|cshtml)$/i, '');
95
+ const node = {
96
+ id: (0, tree_sitter_helpers_1.generateNodeId)(this.filePath, 'component', componentName, 1),
97
+ kind: 'component',
98
+ name: componentName,
99
+ qualifiedName: `${this.filePath}::${componentName}`,
100
+ filePath: this.filePath,
101
+ language: 'razor',
102
+ startLine: 1,
103
+ endLine: lines.length,
104
+ startColumn: 0,
105
+ endColumn: lines[lines.length - 1]?.length || 0,
106
+ isExported: true,
107
+ updatedAt: Date.now(),
108
+ };
109
+ this.nodes.push(node);
110
+ return node;
111
+ }
112
+ /** Last `.`-segment (`App.ViewModels.RegisterModel` → `RegisterModel`). */
113
+ lastSegment(s) {
114
+ const i = s.lastIndexOf('.');
115
+ return i >= 0 ? s.slice(i + 1) : s;
116
+ }
117
+ /**
118
+ * Split a type expression into the capitalized type names it contains — base
119
+ * type plus any generic arguments (`Bar<Foo, Baz>` → `Bar`, `Foo`, `Baz`),
120
+ * each reduced to its last namespace segment. Lowercase/keyword tokens drop out.
121
+ */
122
+ typeNames(expr) {
123
+ const out = [];
124
+ for (const raw of expr.split(/[<>,\s]+/)) {
125
+ const seg = this.lastSegment(raw.trim());
126
+ if (/^[A-Z][A-Za-z0-9_]*$/.test(seg))
127
+ out.push(seg);
128
+ }
129
+ return out;
130
+ }
131
+ pushRef(componentId, name, line, column) {
132
+ this.unresolvedReferences.push({
133
+ fromNodeId: componentId,
134
+ referenceName: name,
135
+ referenceKind: 'references',
136
+ line,
137
+ column,
138
+ filePath: this.filePath,
139
+ language: 'razor',
140
+ });
141
+ }
142
+ extractDirectives(componentId) {
143
+ const lines = this.source.split('\n');
144
+ for (let i = 0; i < lines.length; i++) {
145
+ const line = lines[i];
146
+ // `@model Foo` / `@inherits Bar<Foo>` — directive followed by a type.
147
+ const dir = line.match(/^\s*@(?:model|inherits)\s+([A-Za-z_][\w.]*(?:\s*<[^>]+>)?)/);
148
+ if (dir)
149
+ for (const t of this.typeNames(dir[1]))
150
+ this.pushRef(componentId, t, i + 1, 0);
151
+ // `@inject IService name` — the type is the first token, a name follows.
152
+ const inj = line.match(/^\s*@inject\s+([A-Za-z_][\w.]*(?:\s*<[^>]+>)?)\s+[A-Za-z_]/);
153
+ if (inj)
154
+ for (const t of this.typeNames(inj[1]))
155
+ this.pushRef(componentId, t, i + 1, 0);
156
+ // `@typeof(X)` anywhere on the line.
157
+ for (const m of line.matchAll(/@typeof\(\s*([A-Za-z_][\w.]*)\s*\)/g)) {
158
+ const seg = this.lastSegment(m[1]);
159
+ if (/^[A-Z]/.test(seg))
160
+ this.pushRef(componentId, seg, i + 1, m.index ?? 0);
161
+ }
162
+ }
163
+ }
164
+ extractComponentTags(componentId) {
165
+ const lines = this.source.split('\n');
166
+ // PascalCase opening / self-closing tags. Closing tags (`</Foo>`) start with
167
+ // `</` and are skipped. HTML elements are lowercase → never match.
168
+ const tagRe = /<([A-Z][A-Za-z0-9_]*)\b([^>]*)>/g;
169
+ for (let i = 0; i < lines.length; i++) {
170
+ const line = lines[i];
171
+ let m;
172
+ while ((m = tagRe.exec(line)) !== null) {
173
+ const name = m[1];
174
+ if (BLAZOR_BUILTIN_COMPONENTS.has(name))
175
+ continue;
176
+ this.pushRef(componentId, name, i + 1, m.index + 1);
177
+ // Generic component type arg: `<Grid TItem="CatalogItem">`.
178
+ for (const t of (m[2] || '').matchAll(/\bT[A-Za-z]*\s*=\s*"([A-Za-z_][\w.]*)"/g)) {
179
+ const seg = this.lastSegment(t[1]);
180
+ if (/^[A-Z]/.test(seg))
181
+ this.pushRef(componentId, seg, i + 1, 0);
182
+ }
183
+ }
184
+ }
185
+ }
186
+ /**
187
+ * Find the matching `}` for the `{` at `openIdx`, skipping string literals and
188
+ * comments so a brace inside `"{"` / `// }` doesn't throw off the count.
189
+ * Returns the index of the closing brace, or -1 if unbalanced.
190
+ */
191
+ matchBrace(src, openIdx) {
192
+ let depth = 0;
193
+ for (let i = openIdx; i < src.length; i++) {
194
+ const ch = src[i];
195
+ if (ch === '"' || ch === "'") {
196
+ const quote = ch;
197
+ i++;
198
+ while (i < src.length && src[i] !== quote) {
199
+ if (src[i] === '\\')
200
+ i++;
201
+ i++;
202
+ }
203
+ continue;
204
+ }
205
+ if (ch === '/' && src[i + 1] === '/') {
206
+ while (i < src.length && src[i] !== '\n')
207
+ i++;
208
+ continue;
209
+ }
210
+ if (ch === '/' && src[i + 1] === '*') {
211
+ i += 2;
212
+ while (i < src.length && !(src[i] === '*' && src[i + 1] === '/'))
213
+ i++;
214
+ i++;
215
+ continue;
216
+ }
217
+ if (ch === '{')
218
+ depth++;
219
+ else if (ch === '}') {
220
+ depth--;
221
+ if (depth === 0)
222
+ return i;
223
+ }
224
+ }
225
+ return -1;
226
+ }
227
+ /** `@code { … }` / `@functions { … }` (Blazor) and `@{ … }` (Razor) C# blocks. */
228
+ extractCodeBlocks() {
229
+ const blocks = [];
230
+ const re = /@(?:code|functions)\b\s*\{|@\{/g;
231
+ let m;
232
+ while ((m = re.exec(this.source)) !== null) {
233
+ const openIdx = this.source.indexOf('{', m.index);
234
+ if (openIdx < 0)
235
+ continue;
236
+ const close = this.matchBrace(this.source, openIdx);
237
+ if (close < 0)
238
+ continue;
239
+ const content = this.source.slice(openIdx + 1, close);
240
+ // newlines before the content's first char → 0-indexed line of content start
241
+ const lineOffset = (this.source.slice(0, openIdx + 1).match(/\n/g) || []).length;
242
+ blocks.push({ content, lineOffset });
243
+ re.lastIndex = close;
244
+ }
245
+ return blocks;
246
+ }
247
+ /**
248
+ * Delegate each `@code`/`@functions`/`@{` block's C# to the tree-sitter C#
249
+ * extractor and attribute the block's external references (service/DTO calls,
250
+ * `new X()`, type uses) to the component. The block is wrapped in a synthetic
251
+ * class so tree-sitter parses the component's fields/methods in a class context
252
+ * (a Blazor `@code` body compiles into the component's partial class). We keep
253
+ * only the dependency references — coverage just needs the edges to external
254
+ * types, not per-member nodes. Degrades gracefully if the C# grammar isn't loaded.
255
+ */
256
+ processCodeBlocks(componentId) {
257
+ if (!(0, grammars_1.isLanguageSupported)('csharp'))
258
+ return;
259
+ for (const block of this.extractCodeBlocks()) {
260
+ if (!block.content.trim())
261
+ continue;
262
+ let result;
263
+ try {
264
+ result = new tree_sitter_1.TreeSitterExtractor(this.filePath, `class __RazorCode__ {\n${block.content}\n}`, 'csharp').extract();
265
+ }
266
+ catch {
267
+ continue; // grammar not loaded / parse failure — skip this block
268
+ }
269
+ // The synthetic wrapper adds one line before the block content; map ref
270
+ // lines back to the .razor file (display only — coverage is line-agnostic).
271
+ for (const ref of result.unresolvedReferences) {
272
+ this.unresolvedReferences.push({
273
+ ...ref,
274
+ fromNodeId: componentId,
275
+ line: ref.line + block.lineOffset - 1,
276
+ column: ref.column,
277
+ filePath: this.filePath,
278
+ language: 'razor',
279
+ });
280
+ }
281
+ }
282
+ }
283
+ }
284
+ exports.RazorExtractor = RazorExtractor;
285
+ //# sourceMappingURL=razor-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"razor-extractor.js","sourceRoot":"","sources":["../../src/extraction/razor-extractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"svelte-extractor.d.ts","sourceRoot":"","sources":["../../src/extraction/svelte-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAkD,MAAM,UAAU,CAAC;AAWxG;;;;;;;;;;;GAWG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,MAAM,CAAyB;gBAE3B,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK5C;;OAEG;IACH,OAAO,IAAI,gBAAgB;IAyC3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6C3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4D1B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAqD5B;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;CAmClC"}
1
+ {"version":3,"file":"svelte-extractor.d.ts","sourceRoot":"","sources":["../../src/extraction/svelte-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAkD,MAAM,UAAU,CAAC;AAWxG;;;;;;;;;;;GAWG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,oBAAoB,CAA6B;IACzD,OAAO,CAAC,MAAM,CAAyB;gBAE3B,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK5C;;OAEG;IACH,OAAO,IAAI,gBAAgB;IAyC3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgD3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4D1B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAqD5B;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;CAmClC"}
@@ -106,13 +106,16 @@ class SvelteExtractor {
106
106
  const isTypeScript = /lang\s*=\s*["'](ts|typescript)["']/.test(attrs);
107
107
  // Detect module script
108
108
  const isModule = /context\s*=\s*["']module["']/.test(attrs);
109
- // Calculate start line of the script content (line after <script>)
109
+ // Calculate the 0-indexed line where the content begins. The content
110
+ // starts right after the opening tag's `>` — its leading `\n` is part
111
+ // of the content, so relative line 1 sits ON the tag's closing line
112
+ // (adding 1 here double-counted the embedded newline and shifted every
113
+ // script-block symbol down a line).
110
114
  const beforeScript = this.source.substring(0, match.index);
111
115
  const scriptTagLine = (beforeScript.match(/\n/g) || []).length;
112
- // The content starts on the line after the opening <script> tag
113
116
  const openingTag = match[0].substring(0, match[0].indexOf('>') + 1);
114
117
  const openingTagLines = (openingTag.match(/\n/g) || []).length;
115
- const contentStartLine = scriptTagLine + openingTagLines + 1; // 0-indexed line
118
+ const contentStartLine = scriptTagLine + openingTagLines; // 0-indexed line
116
119
  blocks.push({
117
120
  content,
118
121
  startLine: contentStartLine,
@@ -1 +1 @@
1
- {"version":3,"file":"svelte-extractor.js","sourceRoot":"","sources":["../../src/extraction/svelte-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svelte-extractor.js","sourceRoot":"","sources":["../../src/extraction/svelte-extractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tree-sitter-helpers.d.ts","sourceRoot":"","sources":["../../src/extraction/tree-sitter-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAEtF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA+B1F"}
1
+ {"version":3,"file":"tree-sitter-helpers.d.ts","sourceRoot":"","sources":["../../src/extraction/tree-sitter-helpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,MAAM,CAOR;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAEtF;AA+CD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgC1F"}
@@ -70,11 +70,67 @@ function getNodeText(node, source) {
70
70
  function getChildByField(node, fieldName) {
71
71
  return node.childForFieldName(fieldName);
72
72
  }
73
+ /**
74
+ * Node types that *wrap* a declaration so a leading comment is a sibling of the
75
+ * wrapper, not of the emitted (inner) declaration node. CodeGraph emits the
76
+ * inner node, so before looking for its preceding comment we climb out through
77
+ * these. Examples: `export class X {}` (export_statement), `@dec\ndef f()`
78
+ * (decorated_definition), `const f = () => {}` (lexical_declaration →
79
+ * variable_declarator). Each wraps exactly one declaration, so climbing can't
80
+ * mis-attribute a comment to a sibling. (#780)
81
+ */
82
+ const DOCSTRING_WRAPPER_TYPES = new Set([
83
+ 'export_statement', // JS/TS: export class/function/const ...
84
+ 'decorated_definition', // Python: @decorator over def/class
85
+ 'lexical_declaration', // JS/TS: const/let x = () => {}
86
+ 'variable_declaration', // JS/TS: var x = ...
87
+ 'variable_declarator', // JS/TS: the `x = () => {}` inside the declaration
88
+ 'ambient_declaration', // TS: declare ...
89
+ ]);
90
+ /**
91
+ * Strip comment-syntax markers from a raw comment so the stored docstring is
92
+ * just the prose. Covers the marker styles across every supported language:
93
+ * C-family line and block comments and their doc variants, Rust/Swift/Kotlin
94
+ * triple-slash and bang doc lines, hash lines (Python/Ruby/shell), Lua/Luau
95
+ * line and long-bracket comments, and Pascal brace and paren-star comments.
96
+ * (#780)
97
+ *
98
+ * Paired block delimiters are stripped only when the comment OPENS with one,
99
+ * so a line comment that merely happens to END with a closing delimiter is
100
+ * never truncated. The per-line markers are anchored at line start, so
101
+ * they're safe to apply to any comment.
102
+ */
103
+ function cleanCommentMarkers(comment) {
104
+ let c = comment.trim();
105
+ if (c.startsWith('/*'))
106
+ c = c.replace(/^\/\*+!?/, '').replace(/\*+\/$/, '');
107
+ else if (c.startsWith('--['))
108
+ c = c.replace(/^--\[=*\[/, '').replace(/\]=*\]$/, '');
109
+ else if (c.startsWith('(*'))
110
+ c = c.replace(/^\(\*/, '').replace(/\*\)$/, '');
111
+ else if (c.startsWith('{'))
112
+ c = c.replace(/^\{/, '').replace(/\}$/, '');
113
+ return c
114
+ .replace(/^\/\/[/!]?\s?/gm, '') // // , and Rust/Swift doc lines /// //!
115
+ .replace(/^--\s?/gm, '') // Lua/Luau line comments
116
+ .replace(/^#\s?/gm, '') // Python/Ruby/shell line comments
117
+ .replace(/^\s*\*\s?/gm, '') // block-comment continuation (* foo)
118
+ .trim();
119
+ }
73
120
  /**
74
121
  * Get the docstring/comment preceding a node
75
122
  */
76
123
  function getPrecedingDocstring(node, source) {
77
- let sibling = node.previousNamedSibling;
124
+ // Climb out of any wrapper(s) so a comment preceding the WHOLE construct
125
+ // (export-, decorator-, or const-arrow-wrapped) is reachable as a sibling.
126
+ // The emitted node's own `previousNamedSibling` is empty (export/const) or a
127
+ // decorator (Python) in those cases, so without this the docstring was
128
+ // dropped. (#780)
129
+ let anchor = node;
130
+ while (anchor.parent && DOCSTRING_WRAPPER_TYPES.has(anchor.parent.type)) {
131
+ anchor = anchor.parent;
132
+ }
133
+ let sibling = anchor.previousNamedSibling;
78
134
  const comments = [];
79
135
  while (sibling) {
80
136
  if (sibling.type === 'comment' ||
@@ -90,14 +146,7 @@ function getPrecedingDocstring(node, source) {
90
146
  }
91
147
  if (comments.length === 0)
92
148
  return undefined;
93
- // Clean up comment markers
94
- return comments
95
- .map((c) => c
96
- .replace(/^\/\*\*?|\*\/$/g, '')
97
- .replace(/^\/\/\s?/gm, '')
98
- .replace(/^\s*\*\s?/gm, '')
99
- .trim())
100
- .join('\n')
101
- .trim();
149
+ // Strip each comment's syntax markers (language-aware), then join.
150
+ return comments.map(cleanCommentMarkers).join('\n').trim();
102
151
  }
103
152
  //# sourceMappingURL=tree-sitter-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree-sitter-helpers.js","sourceRoot":"","sources":["../../src/extraction/tree-sitter-helpers.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYH,wCAYC;AAKD,kCAEC;AAKD,0CAEC;AAKD,sDA+BC;AAvED,+CAAiC;AAGjC;;;;;GAKG;AACH,SAAgB,cAAc,CAC5B,QAAgB,EAChB,IAAc,EACd,IAAY,EACZ,IAAY;IAEZ,MAAM,IAAI,GAAG,MAAM;SAChB,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,GAAG,QAAQ,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;SAC7C,MAAM,CAAC,KAAK,CAAC;SACb,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpB,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,IAAgB,EAAE,MAAc;IAC1D,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAgB,EAAE,SAAiB;IACjE,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,IAAgB,EAAE,MAAc;IACpE,IAAI,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC;IACxC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,OAAO,OAAO,EAAE,CAAC;QACf,IACE,OAAO,CAAC,IAAI,KAAK,SAAS;YAC1B,OAAO,CAAC,IAAI,KAAK,cAAc;YAC/B,OAAO,CAAC,IAAI,KAAK,eAAe;YAChC,OAAO,CAAC,IAAI,KAAK,uBAAuB,EACxC,CAAC;YACD,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;YAC/C,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,MAAM;QACR,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE5C,2BAA2B;IAC3B,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC;SACE,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;SAC9B,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;SACzB,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,IAAI,EAAE,CACV;SACA,IAAI,CAAC,IAAI,CAAC;SACV,IAAI,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"tree-sitter-helpers.js","sourceRoot":"","sources":["../../src/extraction/tree-sitter-helpers.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,15 @@ export interface ExtractorContext {
69
69
  * language-specific details like signatures, visibility, and imports.
70
70
  */
71
71
  export interface LanguageExtractor {
72
+ /**
73
+ * Optional source transform applied immediately before the grammar parses the
74
+ * file. Used to work around grammar gaps that would otherwise corrupt the
75
+ * parse tree (e.g. C# blanks conditional-compilation directive lines the
76
+ * grammar mis-parses inside enum bodies). MUST preserve byte offsets (replace
77
+ * removed text with spaces, keep newlines) so node positions and getNodeText
78
+ * stay correct; the returned string is used for both parsing and extraction.
79
+ */
80
+ preParse?: (source: string) => string;
72
81
  /** Node types that represent functions */
73
82
  functionTypes: string[];
74
83
  /** Node types that represent classes */
@@ -119,6 +128,14 @@ export interface LanguageExtractor {
119
128
  isStatic?: (node: SyntaxNode) => boolean;
120
129
  /** Check if variable declaration is a constant (const vs let/var) */
121
130
  isConst?: (node: SyntaxNode) => boolean;
131
+ /**
132
+ * Extract extra symbol-level modifier keywords to persist on the node's
133
+ * `decorators` list (e.g. Kotlin `expect`/`actual` multiplatform markers).
134
+ * Called generically for every created node; return undefined/[] when none.
135
+ * Used by the resolver to link `expect` declarations to their `actual`
136
+ * implementations across source sets.
137
+ */
138
+ extractModifiers?: (node: SyntaxNode) => string[] | undefined;
122
139
  /** Additional node types to treat as class declarations (e.g. Dart: 'mixin_declaration') */
123
140
  extraClassNodeTypes?: string[];
124
141
  /** Whether methods can be top-level without enclosing class (Go: true) */
@@ -135,6 +152,14 @@ export interface LanguageExtractor {
135
152
  * for multiple concepts (e.g. Swift uses class_declaration for classes, structs, and enums).
136
153
  */
137
154
  classifyClassNode?: (node: SyntaxNode) => 'class' | 'struct' | 'enum' | 'interface' | 'trait';
155
+ /**
156
+ * Classify a methodTypes node when the grammar reuses one node type for
157
+ * both callable and data members (#808): TS/JS class FIELDS
158
+ * (`public_field_definition` / `field_definition`) are methods only when
159
+ * their value is callable (`onClick = () => {}`); a plain field
160
+ * (`public fonts: Fonts;`, `count = 0`) is a property. Default: 'method'.
161
+ */
162
+ classifyMethodNode?: (node: SyntaxNode) => 'method' | 'property';
138
163
  /**
139
164
  * Resolve the body node for a function/method/class when it's not a child field.
140
165
  * (e.g. Dart puts function_body as a sibling, not a child.)
@@ -156,6 +181,14 @@ export interface LanguageExtractor {
156
181
  * When present, the receiver type is included in the qualified name for better searchability.
157
182
  */
158
183
  getReceiverType?: (node: SyntaxNode, source: string) => string | undefined;
184
+ /**
185
+ * Extract a function/method's normalized return type name (bare class name,
186
+ * smart-pointer pointee unwrapped), stored on the node as `returnType`. Used
187
+ * by C/C++ so resolution can infer a chained receiver's type from what the
188
+ * inner call returns (`Foo::instance().bar()` → resolve `bar` on `Foo`,
189
+ * issue #645). Return undefined for primitives / void / constructors.
190
+ */
191
+ getReturnType?: (node: SyntaxNode, source: string) => string | undefined;
159
192
  /**
160
193
  * Resolve the actual node kind for a type alias declaration.
161
194
  * Used by Go where `type_spec` is the named declaration wrapper for structs/interfaces:
@@ -1 +1 @@
1
- {"version":3,"file":"tree-sitter-types.d.ts","sourceRoot":"","sources":["../../src/extraction/tree-sitter-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree-sitter-types.d.ts","sourceRoot":"","sources":["../../src/extraction/tree-sitter-types.ts"],"names":[],"mappings":"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"}