@aroman22/codegraph-vba-darwin-arm64 1.14.0 → 1.16.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 (213) hide show
  1. package/lib/dist/bin/codegraph.js +13 -7
  2. package/lib/dist/bin/codegraph.js.map +1 -1
  3. package/lib/dist/bin/daemon-release.d.ts +7 -0
  4. package/lib/dist/bin/daemon-release.d.ts.map +1 -0
  5. package/lib/dist/bin/daemon-release.js +18 -0
  6. package/lib/dist/bin/daemon-release.js.map +1 -0
  7. package/lib/dist/db/queries.d.ts +30 -0
  8. package/lib/dist/db/queries.d.ts.map +1 -1
  9. package/lib/dist/db/queries.js +51 -1
  10. package/lib/dist/db/queries.js.map +1 -1
  11. package/lib/dist/extraction/access-erd-extractor.d.ts +57 -0
  12. package/lib/dist/extraction/access-erd-extractor.d.ts.map +1 -0
  13. package/lib/dist/extraction/access-erd-extractor.js +389 -0
  14. package/lib/dist/extraction/access-erd-extractor.js.map +1 -0
  15. package/lib/dist/extraction/extraction-version.d.ts +1 -1
  16. package/lib/dist/extraction/extraction-version.js +1 -1
  17. package/lib/dist/extraction/grammars.d.ts +20 -0
  18. package/lib/dist/extraction/grammars.d.ts.map +1 -1
  19. package/lib/dist/extraction/grammars.js +34 -0
  20. package/lib/dist/extraction/grammars.js.map +1 -1
  21. package/lib/dist/extraction/index.d.ts +1 -0
  22. package/lib/dist/extraction/index.d.ts.map +1 -1
  23. package/lib/dist/extraction/index.js +371 -351
  24. package/lib/dist/extraction/index.js.map +1 -1
  25. package/lib/dist/extraction/parse-pool.d.ts +8 -3
  26. package/lib/dist/extraction/parse-pool.d.ts.map +1 -1
  27. package/lib/dist/extraction/parse-pool.js +1 -2
  28. package/lib/dist/extraction/parse-pool.js.map +1 -1
  29. package/lib/dist/extraction/parse-worker.js +7 -6
  30. package/lib/dist/extraction/parse-worker.js.map +1 -1
  31. package/lib/dist/extraction/sql-query-extractor.d.ts +16 -14
  32. package/lib/dist/extraction/sql-query-extractor.d.ts.map +1 -1
  33. package/lib/dist/extraction/sql-query-extractor.js +43 -31
  34. package/lib/dist/extraction/sql-query-extractor.js.map +1 -1
  35. package/lib/dist/extraction/sql-table-scan.d.ts +184 -0
  36. package/lib/dist/extraction/sql-table-scan.d.ts.map +1 -0
  37. package/lib/dist/extraction/sql-table-scan.js +288 -0
  38. package/lib/dist/extraction/sql-table-scan.js.map +1 -0
  39. package/lib/dist/extraction/tree-sitter.d.ts +10 -1
  40. package/lib/dist/extraction/tree-sitter.d.ts.map +1 -1
  41. package/lib/dist/extraction/tree-sitter.js +34 -3
  42. package/lib/dist/extraction/tree-sitter.js.map +1 -1
  43. package/lib/dist/extraction/vba/call-sweep.d.ts +2 -7
  44. package/lib/dist/extraction/vba/call-sweep.d.ts.map +1 -1
  45. package/lib/dist/extraction/vba/call-sweep.js +144 -90
  46. package/lib/dist/extraction/vba/call-sweep.js.map +1 -1
  47. package/lib/dist/extraction/vba/calls.d.ts +24 -4
  48. package/lib/dist/extraction/vba/calls.d.ts.map +1 -1
  49. package/lib/dist/extraction/vba/calls.js +42 -12
  50. package/lib/dist/extraction/vba/calls.js.map +1 -1
  51. package/lib/dist/extraction/vba/constants.d.ts +7 -14
  52. package/lib/dist/extraction/vba/constants.d.ts.map +1 -1
  53. package/lib/dist/extraction/vba/constants.js +8 -36
  54. package/lib/dist/extraction/vba/constants.js.map +1 -1
  55. package/lib/dist/extraction/vba/context.d.ts +443 -7
  56. package/lib/dist/extraction/vba/context.d.ts.map +1 -1
  57. package/lib/dist/extraction/vba/context.js +325 -29
  58. package/lib/dist/extraction/vba/context.js.map +1 -1
  59. package/lib/dist/extraction/vba/controls.d.ts +18 -1
  60. package/lib/dist/extraction/vba/controls.d.ts.map +1 -1
  61. package/lib/dist/extraction/vba/controls.js +99 -27
  62. package/lib/dist/extraction/vba/controls.js.map +1 -1
  63. package/lib/dist/extraction/vba/declarations.d.ts +1 -6
  64. package/lib/dist/extraction/vba/declarations.d.ts.map +1 -1
  65. package/lib/dist/extraction/vba/declarations.js +5 -39
  66. package/lib/dist/extraction/vba/declarations.js.map +1 -1
  67. package/lib/dist/extraction/vba/dims.d.ts +11 -7
  68. package/lib/dist/extraction/vba/dims.d.ts.map +1 -1
  69. package/lib/dist/extraction/vba/dims.js +265 -29
  70. package/lib/dist/extraction/vba/dims.js.map +1 -1
  71. package/lib/dist/extraction/vba/docmd.d.ts +29 -2
  72. package/lib/dist/extraction/vba/docmd.d.ts.map +1 -1
  73. package/lib/dist/extraction/vba/docmd.js +297 -18
  74. package/lib/dist/extraction/vba/docmd.js.map +1 -1
  75. package/lib/dist/extraction/vba/enums-consts.d.ts +7 -14
  76. package/lib/dist/extraction/vba/enums-consts.d.ts.map +1 -1
  77. package/lib/dist/extraction/vba/enums-consts.js +11 -45
  78. package/lib/dist/extraction/vba/enums-consts.js.map +1 -1
  79. package/lib/dist/extraction/vba/error-channel.d.ts +57 -0
  80. package/lib/dist/extraction/vba/error-channel.d.ts.map +1 -0
  81. package/lib/dist/extraction/vba/error-channel.js +128 -0
  82. package/lib/dist/extraction/vba/error-channel.js.map +1 -0
  83. package/lib/dist/extraction/vba/errors.d.ts +64 -0
  84. package/lib/dist/extraction/vba/errors.d.ts.map +1 -0
  85. package/lib/dist/extraction/vba/errors.js +775 -0
  86. package/lib/dist/extraction/vba/errors.js.map +1 -0
  87. package/lib/dist/extraction/vba/filesystem-statements.d.ts +23 -0
  88. package/lib/dist/extraction/vba/filesystem-statements.d.ts.map +1 -0
  89. package/lib/dist/extraction/vba/filesystem-statements.js +70 -0
  90. package/lib/dist/extraction/vba/filesystem-statements.js.map +1 -0
  91. package/lib/dist/extraction/vba/implements.d.ts +1 -6
  92. package/lib/dist/extraction/vba/implements.d.ts.map +1 -1
  93. package/lib/dist/extraction/vba/implements.js +1 -22
  94. package/lib/dist/extraction/vba/implements.js.map +1 -1
  95. package/lib/dist/extraction/vba/labels.d.ts +26 -0
  96. package/lib/dist/extraction/vba/labels.d.ts.map +1 -0
  97. package/lib/dist/extraction/vba/labels.js +180 -0
  98. package/lib/dist/extraction/vba/labels.js.map +1 -0
  99. package/lib/dist/extraction/vba/module-vars.d.ts +36 -0
  100. package/lib/dist/extraction/vba/module-vars.d.ts.map +1 -0
  101. package/lib/dist/extraction/vba/module-vars.js +145 -0
  102. package/lib/dist/extraction/vba/module-vars.js.map +1 -0
  103. package/lib/dist/extraction/vba/options.d.ts +88 -0
  104. package/lib/dist/extraction/vba/options.d.ts.map +1 -0
  105. package/lib/dist/extraction/vba/options.js +39 -0
  106. package/lib/dist/extraction/vba/options.js.map +1 -0
  107. package/lib/dist/extraction/vba/parameters.d.ts +35 -0
  108. package/lib/dist/extraction/vba/parameters.d.ts.map +1 -0
  109. package/lib/dist/extraction/vba/parameters.js +110 -0
  110. package/lib/dist/extraction/vba/parameters.js.map +1 -0
  111. package/lib/dist/extraction/vba/procedures.d.ts +1 -9
  112. package/lib/dist/extraction/vba/procedures.d.ts.map +1 -1
  113. package/lib/dist/extraction/vba/procedures.js +174 -112
  114. package/lib/dist/extraction/vba/procedures.js.map +1 -1
  115. package/lib/dist/extraction/vba/rules.d.ts +10 -5
  116. package/lib/dist/extraction/vba/rules.d.ts.map +1 -1
  117. package/lib/dist/extraction/vba/rules.js +19 -0
  118. package/lib/dist/extraction/vba/rules.js.map +1 -1
  119. package/lib/dist/extraction/vba/runtime-objects.d.ts +59 -0
  120. package/lib/dist/extraction/vba/runtime-objects.d.ts.map +1 -0
  121. package/lib/dist/extraction/vba/runtime-objects.js +106 -0
  122. package/lib/dist/extraction/vba/runtime-objects.js.map +1 -0
  123. package/lib/dist/extraction/vba/signature.d.ts +57 -0
  124. package/lib/dist/extraction/vba/signature.d.ts.map +1 -0
  125. package/lib/dist/extraction/vba/signature.js +164 -0
  126. package/lib/dist/extraction/vba/signature.js.map +1 -0
  127. package/lib/dist/extraction/vba/sql-wrapper.d.ts +76 -3
  128. package/lib/dist/extraction/vba/sql-wrapper.d.ts.map +1 -1
  129. package/lib/dist/extraction/vba/sql-wrapper.js +725 -151
  130. package/lib/dist/extraction/vba/sql-wrapper.js.map +1 -1
  131. package/lib/dist/extraction/vba/tempvars.d.ts.map +1 -1
  132. package/lib/dist/extraction/vba/tempvars.js +4 -0
  133. package/lib/dist/extraction/vba/tempvars.js.map +1 -1
  134. package/lib/dist/extraction/vba/text-utils.d.ts +62 -2
  135. package/lib/dist/extraction/vba/text-utils.d.ts.map +1 -1
  136. package/lib/dist/extraction/vba/text-utils.js +84 -6
  137. package/lib/dist/extraction/vba/text-utils.js.map +1 -1
  138. package/lib/dist/extraction/vba-extractor.d.ts +18 -1
  139. package/lib/dist/extraction/vba-extractor.d.ts.map +1 -1
  140. package/lib/dist/extraction/vba-extractor.js +111 -16
  141. package/lib/dist/extraction/vba-extractor.js.map +1 -1
  142. package/lib/dist/extraction/vba-form-extractor.d.ts +28 -14
  143. package/lib/dist/extraction/vba-form-extractor.d.ts.map +1 -1
  144. package/lib/dist/extraction/vba-form-extractor.js +56 -21
  145. package/lib/dist/extraction/vba-form-extractor.js.map +1 -1
  146. package/lib/dist/extraction/vba-preprocess.d.ts +89 -3
  147. package/lib/dist/extraction/vba-preprocess.d.ts.map +1 -1
  148. package/lib/dist/extraction/vba-preprocess.js +221 -57
  149. package/lib/dist/extraction/vba-preprocess.js.map +1 -1
  150. package/lib/dist/extraction/vba-source.d.ts +0 -10
  151. package/lib/dist/extraction/vba-source.d.ts.map +1 -1
  152. package/lib/dist/extraction/vba-source.js +0 -13
  153. package/lib/dist/extraction/vba-source.js.map +1 -1
  154. package/lib/dist/extraction/vba-test-manifest-extractor.d.ts +0 -6
  155. package/lib/dist/extraction/vba-test-manifest-extractor.d.ts.map +1 -1
  156. package/lib/dist/extraction/vba-test-manifest-extractor.js +0 -1
  157. package/lib/dist/extraction/vba-test-manifest-extractor.js.map +1 -1
  158. package/lib/dist/index.d.ts.map +1 -1
  159. package/lib/dist/index.js +9 -0
  160. package/lib/dist/index.js.map +1 -1
  161. package/lib/dist/mcp/daemon-manager.d.ts.map +1 -1
  162. package/lib/dist/mcp/daemon-manager.js +7 -3
  163. package/lib/dist/mcp/daemon-manager.js.map +1 -1
  164. package/lib/dist/mcp/daemon-paths.d.ts +6 -0
  165. package/lib/dist/mcp/daemon-paths.d.ts.map +1 -1
  166. package/lib/dist/mcp/daemon-paths.js +15 -0
  167. package/lib/dist/mcp/daemon-paths.js.map +1 -1
  168. package/lib/dist/mcp/daemon-registry.d.ts +82 -7
  169. package/lib/dist/mcp/daemon-registry.d.ts.map +1 -1
  170. package/lib/dist/mcp/daemon-registry.js +557 -45
  171. package/lib/dist/mcp/daemon-registry.js.map +1 -1
  172. package/lib/dist/mcp/daemon-watchdog.d.ts +12 -0
  173. package/lib/dist/mcp/daemon-watchdog.d.ts.map +1 -1
  174. package/lib/dist/mcp/daemon-watchdog.js +37 -7
  175. package/lib/dist/mcp/daemon-watchdog.js.map +1 -1
  176. package/lib/dist/mcp/daemon.d.ts +20 -1
  177. package/lib/dist/mcp/daemon.d.ts.map +1 -1
  178. package/lib/dist/mcp/daemon.js +123 -30
  179. package/lib/dist/mcp/daemon.js.map +1 -1
  180. package/lib/dist/mcp/index.d.ts.map +1 -1
  181. package/lib/dist/mcp/index.js +13 -2
  182. package/lib/dist/mcp/index.js.map +1 -1
  183. package/lib/dist/mcp/proxy.d.ts +32 -0
  184. package/lib/dist/mcp/proxy.d.ts.map +1 -1
  185. package/lib/dist/mcp/proxy.js +163 -31
  186. package/lib/dist/mcp/proxy.js.map +1 -1
  187. package/lib/dist/mcp/tools.d.ts.map +1 -1
  188. package/lib/dist/mcp/tools.js +29 -1
  189. package/lib/dist/mcp/tools.js.map +1 -1
  190. package/lib/dist/project-config.d.ts +43 -2
  191. package/lib/dist/project-config.d.ts.map +1 -1
  192. package/lib/dist/project-config.js +86 -2
  193. package/lib/dist/project-config.js.map +1 -1
  194. package/lib/dist/resolution/index.d.ts +47 -2
  195. package/lib/dist/resolution/index.d.ts.map +1 -1
  196. package/lib/dist/resolution/index.js +160 -5
  197. package/lib/dist/resolution/index.js.map +1 -1
  198. package/lib/dist/resolution/name-matcher.d.ts +25 -0
  199. package/lib/dist/resolution/name-matcher.d.ts.map +1 -1
  200. package/lib/dist/resolution/name-matcher.js +59 -0
  201. package/lib/dist/resolution/name-matcher.js.map +1 -1
  202. package/lib/dist/resolution/vba-runtime-objects.d.ts +11 -11
  203. package/lib/dist/resolution/vba-runtime-objects.d.ts.map +1 -1
  204. package/lib/dist/resolution/vba-runtime-objects.js +18 -38
  205. package/lib/dist/resolution/vba-runtime-objects.js.map +1 -1
  206. package/lib/dist/types.d.ts +13 -5
  207. package/lib/dist/types.d.ts.map +1 -1
  208. package/lib/dist/types.js +17 -0
  209. package/lib/dist/types.js.map +1 -1
  210. package/lib/node_modules/.modules.yaml +1 -1
  211. package/lib/node_modules/.pnpm-workspace-state-v1.json +1 -1
  212. package/lib/package.json +4 -1
  213. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"sql-wrapper.js","sourceRoot":"","sources":["../../../src/extraction/vba/sql-wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql-wrapper.js","sourceRoot":"","sources":["../../../src/extraction/vba/sql-wrapper.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tempvars.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/tempvars.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAmG1D;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,mBAAmB,EACxB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,QAAQ,GAAG,SAAS,GAC3B,IAAI,CAiCN"}
1
+ {"version":3,"file":"tempvars.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/tempvars.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAmG1D;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,mBAAmB,EACxB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,QAAQ,GAAG,SAAS,GAC3B,IAAI,CAmCN"}
@@ -117,6 +117,8 @@ function sweepTempVars(ctx, maskedLine, originalLine, lineNum, caller) {
117
117
  const parenRe = new RegExp(TEMP_VAR_PAREN_RE.source, TEMP_VAR_PAREN_RE.flags);
118
118
  let pm;
119
119
  while ((pm = parenRe.exec(originalLine)) !== null) {
120
+ if (maskedLine.slice(pm.index, pm.index + 8).toLowerCase() !== 'tempvars')
121
+ continue;
120
122
  const key = pm[1] ?? '';
121
123
  if (!key)
122
124
  continue;
@@ -129,6 +131,8 @@ function sweepTempVars(ctx, maskedLine, originalLine, lineNum, caller) {
129
131
  const addRe = new RegExp(TEMP_VAR_ADD_RE.source, TEMP_VAR_ADD_RE.flags);
130
132
  let am;
131
133
  while ((am = addRe.exec(originalLine)) !== null) {
134
+ if (maskedLine.slice(am.index, am.index + 8).toLowerCase() !== 'tempvars')
135
+ continue;
132
136
  const key = am[1] ?? '';
133
137
  if (!key)
134
138
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"tempvars.js","sourceRoot":"","sources":["../../../src/extraction/vba/tempvars.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tempvars.js","sourceRoot":"","sources":["../../../src/extraction/vba/tempvars.ts"],"names":[],"mappings":";;AAkHA,sCAyCC;AA3JD;;;;;GAKG;AACH,gEAAwD;AACxD,6CAAsD;AAGtD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,gBAAgB,GAAG,uCAAuC,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,oCAAoC,CAAC;AAE/D;;;;;;GAMG;AACH,MAAM,eAAe,GAAG,mCAAmC,CAAC;AAE5D;;;;;;;;;;;;GAYG;AACH,SAAS,oBAAoB,CAC3B,GAAwB,EACxB,MAA4B,EAC5B,GAAW,EACX,OAAe,EACf,MAAc,EACd,MAAwB;IAExB,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,IAAI,CAAC,GAAG;QAAE,OAAO;IACjB,MAAM,iBAAiB,GAAG,qBAAqB,GAAG,EAAE,CAAC;IACrD,MAAM,QAAQ,GAAG,IAAA,oCAAc,EAC7B,iBAAiB,EACjB,OAAO,EAAE,kEAAkE;IAC3E,GAAG,EACH,CAAC,CACF,CAAC;IACF,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YACb,EAAE,EAAE,QAAQ;YACZ,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,GAAG;YACT,aAAa,EAAE,GAAG;YAClB,QAAQ,EAAE,iBAAiB;YAC3B,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM;YAC9B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IACD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QACb,MAAM,EAAE,GAAG,CAAC,0BAA0B,CAAC,MAAM,CAAC;QAC9C,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,WAAW;QACvB,QAAQ,EAAE;YACR,aAAa,EAAE,aAAa;YAC5B,0DAA0D;YAC1D,MAAM;SACP;QACD,IAAI,EAAE,OAAO;QACb,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAC3B,GAAwB,EACxB,UAAkB,EAClB,YAAoB,EACpB,OAAe,EACf,MAA4B;IAE5B,6DAA6D;IAC7D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC3E,IAAI,EAA0B,CAAC;IAC/B,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/C,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,MAAM,GAAG,IAAA,mCAAsB,EAAC,UAAU,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACxE,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,MAAM,CAAC;QACX,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,iEAAiE;IACjE,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC9E,IAAI,EAA0B,CAAC;IAC/B,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU;YAAE,SAAS;QACpF,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,MAAM,GAAG,IAAA,mCAAsB,EAAC,YAAY,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1E,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,MAAM,CAAC;QACX,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAED,+CAA+C;IAC/C,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IACxE,IAAI,EAA0B,CAAC;IAC/B,OAAO,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAChD,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,UAAU;YAAE,SAAS;QACpF,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;AACH,CAAC"}
@@ -11,8 +11,17 @@ export declare function foldVisibility(raw: string): 'public' | 'private';
11
11
  * call-site patterns inside `"..."` spans are invisible to CALL_RE and
12
12
  * the statement-form detectors. Column positions are preserved (each
13
13
  * character is replaced 1-for-1) so any col-based metadata stays correct.
14
+ *
15
+ * Issue #265: `filler` selects the replacement character. The default `' '`
16
+ * is what every column-sensitive scanner wants — a masked literal reads as
17
+ * blank space. The statement-call detectors need the opposite: they must
18
+ * still be able to tell `MsgBox "x"` (an argument list, therefore
19
+ * unambiguously a call) from a bare `MsgBox` read, and a space-masked line
20
+ * collapses the two. Passing `'_'` keeps the literal *visible* as an opaque
21
+ * token while preserving both the 1-for-1 column mapping and the property
22
+ * that nothing inside the literal can be parsed as VBA syntax.
14
23
  */
15
- export declare function maskStringContent(line: string): string;
24
+ export declare function maskStringContent(line: string, filler?: string): string;
16
25
  /**
17
26
  * #13 helper: escape a variable name for safe interpolation into the
18
27
  * self-reference RegExp built by `trackSqlVariableAssignment`. VBA
@@ -26,7 +35,6 @@ export declare function parseConstDeclarations(body: string): Array<{
26
35
  asType: string;
27
36
  value: string | null;
28
37
  }>;
29
- export declare function splitOutsideVbaStrings(value: string, separator: string): string[];
30
38
  /**
31
39
  * Issue #50 helper: return true iff `line.charAt(fromIndex..)` (after the
32
40
  * matched TempVars site, including any trailing whitespace) holds an `=`
@@ -65,4 +73,56 @@ export declare function parseEventHandlerName(name: string): {
65
73
  controlName: string;
66
74
  eventName: string;
67
75
  } | null;
76
+ /**
77
+ * Issue #247 helper: parse a FORM-LEVEL Access event-handler Sub name.
78
+ *
79
+ * `parseEventHandlerName` above deliberately refuses `Form_*` because a
80
+ * form-level event fires on the form object, not on a control — routing it
81
+ * through the control path would synthesize a bogus `form-instance-control`
82
+ * node literally named `Form`. This helper is the other half of that
83
+ * decision: it recognises exactly the names the control parser rejects and
84
+ * hands them to the caller so they can be wired to the sibling
85
+ * `form-layout` / `report-layout` node instead.
86
+ *
87
+ * The owner segment must be exactly `Form` or `Report` (case-insensitive,
88
+ * matching VBA's case-insensitive identifiers), and the suffix must be a
89
+ * known Access event name. That second gate is what separates the real
90
+ * lifecycle handler `Form_Load` from an ordinary class method that merely
91
+ * happens to be called `Form_Helper`.
92
+ */
93
+ export declare function parseFormLevelEventHandlerName(name: string): {
94
+ ownerName: string;
95
+ eventName: string;
96
+ } | null;
97
+ /**
98
+ * Sibling layout extension implied by an Access code-behind prefix.
99
+ * `Form_*` binds to a `.form.txt`; `Report_*` binds to a `.report.txt`.
100
+ */
101
+ export type CodeBehindExt = '.form.txt' | '.report.txt';
102
+ /**
103
+ * Issue #249 helper: the `Form_` / `Report_` code-behind prefix carried by a
104
+ * module's RESOLVED `Attribute VB_Name`, used as the fallback when the file
105
+ * on disk does not carry the prefix in its basename.
106
+ *
107
+ * Both binding sites (the event-handler synthesis in `procedures.ts` and the
108
+ * `Me.<Control>` sweep in `controls.ts`) keep their own basename check as the
109
+ * fast path and consult this only on a basename miss, so the common case —
110
+ * a Dysflow export whose filename and `VB_Name` agree — is byte-for-byte
111
+ * unchanged.
112
+ *
113
+ * `classNamePrefix` is `null` for `.bas` modules and holds the resolved
114
+ * `VB_Name` (or the extension-stripped basename when the module carries no
115
+ * `VB_Name`) for `.cls` modules, so this fallback can only ever fire for a
116
+ * class module. That is deliberate: the guard that keeps a plain service
117
+ * class such as `InformeRiesgoPDFServicio.cls` — whose methods
118
+ * (`GenerarHTML_Principal`, `GetEstilosCSS_PDF`) look like event handlers to
119
+ * a naive `<X>_<Y>` split — from synthesizing hundreds of spurious
120
+ * `form-instance-control` stubs is that NEITHER its filename NOR its
121
+ * `VB_Name` starts with `Form_` / `Report_`. Widening the prefix test would
122
+ * reopen exactly that hole, so the test stays the same canonical Access
123
+ * naming convention; only the string it is applied to widens.
124
+ *
125
+ * The trailing `.+` is load-bearing: a bare `Form_` names no form.
126
+ */
127
+ export declare function codeBehindExtFromVbName(classNamePrefix: string | null): CodeBehindExt | null;
68
128
  //# sourceMappingURL=text-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-utils.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/text-utils.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEhE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA4BtD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,GACX,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAgB/D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CA0BjF;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAW/E;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgB1D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,GACX;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAWnD"}
1
+ {"version":3,"file":"text-utils.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/text-utils.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAEhE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY,GAAG,MAAM,CA4B5E;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,GACX,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAgB/D;AA8BD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAW/E;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAgB1D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,GACX;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAWnD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,GACX;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAWjD;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,aAAa,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,GAAG,IAAI,GAC7B,aAAa,GAAG,IAAI,CAKtB"}
@@ -4,10 +4,11 @@ exports.foldVisibility = foldVisibility;
4
4
  exports.maskStringContent = maskStringContent;
5
5
  exports.escapeRegExpLiteral = escapeRegExpLiteral;
6
6
  exports.parseConstDeclarations = parseConstDeclarations;
7
- exports.splitOutsideVbaStrings = splitOutsideVbaStrings;
8
7
  exports.detectAssignmentSuffix = detectAssignmentSuffix;
9
8
  exports.unwrapVbaStringLiteral = unwrapVbaStringLiteral;
10
9
  exports.parseEventHandlerName = parseEventHandlerName;
10
+ exports.parseFormLevelEventHandlerName = parseFormLevelEventHandlerName;
11
+ exports.codeBehindExtFromVbName = codeBehindExtFromVbName;
11
12
  /**
12
13
  * Pure text helpers shared across the VBA extraction passes. None of these
13
14
  * touch extractor state — they are deterministic string transforms lifted
@@ -30,28 +31,37 @@ function foldVisibility(raw) {
30
31
  * call-site patterns inside `"..."` spans are invisible to CALL_RE and
31
32
  * the statement-form detectors. Column positions are preserved (each
32
33
  * character is replaced 1-for-1) so any col-based metadata stays correct.
34
+ *
35
+ * Issue #265: `filler` selects the replacement character. The default `' '`
36
+ * is what every column-sensitive scanner wants — a masked literal reads as
37
+ * blank space. The statement-call detectors need the opposite: they must
38
+ * still be able to tell `MsgBox "x"` (an argument list, therefore
39
+ * unambiguously a call) from a bare `MsgBox` read, and a space-masked line
40
+ * collapses the two. Passing `'_'` keeps the literal *visible* as an opaque
41
+ * token while preserving both the 1-for-1 column mapping and the property
42
+ * that nothing inside the literal can be parsed as VBA syntax.
33
43
  */
34
- function maskStringContent(line) {
44
+ function maskStringContent(line, filler = ' ') {
35
45
  let result = '';
36
46
  let i = 0;
37
47
  while (i < line.length) {
38
48
  const ch = line[i];
39
49
  if (ch === '"') {
40
- result += ' '; // opening quote masked
50
+ result += filler; // opening quote masked
41
51
  i++;
42
52
  while (i < line.length) {
43
53
  const c = line[i];
44
54
  if (c === '"' && line[i + 1] === '"') {
45
- result += ' '; // doubled-quote escape masked (2 chars)
55
+ result += filler + filler; // doubled-quote escape masked (2 chars)
46
56
  i += 2;
47
57
  }
48
58
  else if (c === '"') {
49
- result += ' '; // closing quote masked
59
+ result += filler; // closing quote masked
50
60
  i++;
51
61
  break;
52
62
  }
53
63
  else {
54
- result += ' '; // string content → space
64
+ result += filler; // string content → filler
55
65
  i++;
56
66
  }
57
67
  }
@@ -197,4 +207,72 @@ function parseEventHandlerName(name) {
197
207
  return null;
198
208
  return { controlName, eventName };
199
209
  }
210
+ /**
211
+ * Issue #247 helper: parse a FORM-LEVEL Access event-handler Sub name.
212
+ *
213
+ * `parseEventHandlerName` above deliberately refuses `Form_*` because a
214
+ * form-level event fires on the form object, not on a control — routing it
215
+ * through the control path would synthesize a bogus `form-instance-control`
216
+ * node literally named `Form`. This helper is the other half of that
217
+ * decision: it recognises exactly the names the control parser rejects and
218
+ * hands them to the caller so they can be wired to the sibling
219
+ * `form-layout` / `report-layout` node instead.
220
+ *
221
+ * The owner segment must be exactly `Form` or `Report` (case-insensitive,
222
+ * matching VBA's case-insensitive identifiers), and the suffix must be a
223
+ * known Access event name. That second gate is what separates the real
224
+ * lifecycle handler `Form_Load` from an ordinary class method that merely
225
+ * happens to be called `Form_Helper`.
226
+ */
227
+ function parseFormLevelEventHandlerName(name) {
228
+ if (!name)
229
+ return null;
230
+ const lastUnderscore = name.lastIndexOf('_');
231
+ if (lastUnderscore <= 0)
232
+ return null; // no underscore OR starts with underscore
233
+ const ownerName = name.slice(0, lastUnderscore);
234
+ const eventName = name.slice(lastUnderscore + 1);
235
+ if (!eventName)
236
+ return null;
237
+ const owner = ownerName.toLowerCase();
238
+ if (owner !== 'form' && owner !== 'report')
239
+ return null;
240
+ if (!(0, events_1.isAccessEventName)(eventName))
241
+ return null;
242
+ return { ownerName, eventName };
243
+ }
244
+ /**
245
+ * Issue #249 helper: the `Form_` / `Report_` code-behind prefix carried by a
246
+ * module's RESOLVED `Attribute VB_Name`, used as the fallback when the file
247
+ * on disk does not carry the prefix in its basename.
248
+ *
249
+ * Both binding sites (the event-handler synthesis in `procedures.ts` and the
250
+ * `Me.<Control>` sweep in `controls.ts`) keep their own basename check as the
251
+ * fast path and consult this only on a basename miss, so the common case —
252
+ * a Dysflow export whose filename and `VB_Name` agree — is byte-for-byte
253
+ * unchanged.
254
+ *
255
+ * `classNamePrefix` is `null` for `.bas` modules and holds the resolved
256
+ * `VB_Name` (or the extension-stripped basename when the module carries no
257
+ * `VB_Name`) for `.cls` modules, so this fallback can only ever fire for a
258
+ * class module. That is deliberate: the guard that keeps a plain service
259
+ * class such as `InformeRiesgoPDFServicio.cls` — whose methods
260
+ * (`GenerarHTML_Principal`, `GetEstilosCSS_PDF`) look like event handlers to
261
+ * a naive `<X>_<Y>` split — from synthesizing hundreds of spurious
262
+ * `form-instance-control` stubs is that NEITHER its filename NOR its
263
+ * `VB_Name` starts with `Form_` / `Report_`. Widening the prefix test would
264
+ * reopen exactly that hole, so the test stays the same canonical Access
265
+ * naming convention; only the string it is applied to widens.
266
+ *
267
+ * The trailing `.+` is load-bearing: a bare `Form_` names no form.
268
+ */
269
+ function codeBehindExtFromVbName(classNamePrefix) {
270
+ if (!classNamePrefix)
271
+ return null;
272
+ if (/^Report_.+$/i.test(classNamePrefix))
273
+ return '.report.txt';
274
+ if (/^Form_.+$/i.test(classNamePrefix))
275
+ return '.form.txt';
276
+ return null;
277
+ }
200
278
  //# sourceMappingURL=text-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"text-utils.js","sourceRoot":"","sources":["../../../src/extraction/vba/text-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text-utils.js","sourceRoot":"","sources":["../../../src/extraction/vba/text-utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { ExtractionResult } from '../types';
2
+ import type { VbaExtractionOptions } from './vba/options';
2
3
  import type { VbaExtractionRule } from './vba/rules';
3
4
  /**
4
5
  * Issue #152: per-file fanout cap for `RaiseEvent <EventName>` edges. An
@@ -62,7 +63,6 @@ export declare class VbaExtractor {
62
63
  private filePath;
63
64
  private source;
64
65
  private ctx;
65
- private vbaTargets?;
66
66
  /**
67
67
  * Issue #152: per-file fanout cap for `RaiseEvent <EventName>` edges.
68
68
  * When a single event is raised more than this many times in one file,
@@ -72,6 +72,23 @@ export declare class VbaExtractor {
72
72
  * the orchestrator: callers that don't pass a value get the default.
73
73
  */
74
74
  private maxRaiseFanout;
75
+ /**
76
+ * Issue #243: the full options object, retained so classifiers that grow
77
+ * a new knob read it from one place instead of a new private field per
78
+ * knob. `targets`/`maxRaiseFanout` keep their dedicated fields because
79
+ * they are read on hot paths.
80
+ */
81
+ private options;
82
+ /**
83
+ * Issue #243 — the options-object form. Every in-repo call site uses this.
84
+ */
85
+ constructor(filePath: string, source: string, options?: VbaExtractionOptions);
86
+ /**
87
+ * @deprecated Pass a {@link VbaExtractionOptions} object instead:
88
+ * `new VbaExtractor(filePath, source, { targets, maxRaiseFanout })`.
89
+ * The positional 3rd/4th parameters are kept working for one release so
90
+ * out-of-repo callers are not broken by #243; they will be removed after.
91
+ */
75
92
  constructor(filePath: string, source: string, vbaTargets?: Record<string, boolean>, maxRaiseFanout?: number);
76
93
  extract(): ExtractionResult;
77
94
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"vba-extractor.d.ts","sourceRoot":"","sources":["../../src/extraction/vba-extractor.ts"],"names":[],"mappings":"AAuCA,OAAO,EAAQ,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAQlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAuBrD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC,CAQhF,CAAC;AAoBJ;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC,CAAmB,GAC/E;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAOlC;AAuBD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,UAAU,CAAC,CAA0B;IAC7C;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc,CAAqB;gBAGzC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,cAAc,GAAE,MAAiC;IASnD,OAAO,IAAI,gBAAgB;IAmL3B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,uBAAuB;CAkBhC"}
1
+ {"version":3,"file":"vba-extractor.d.ts","sourceRoot":"","sources":["../../src/extraction/vba-extractor.ts"],"names":[],"mappings":"AAuCA,OAAO,EAAQ,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAUlD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AA2BrD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC,CAShF,CAAC;AAoBJ;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC,CAAmB,GAC/E;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAOlC;AAgED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAsB;IACjC;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc,CAAqB;IAC3C;;;;;OAKG;IACH,OAAO,CAAC,OAAO,CAAuB;IAEtC;;OAEG;gBACS,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAC5E;;;;;OAKG;gBAED,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,cAAc,CAAC,EAAE,MAAM;IAwBzB,OAAO,IAAI,gBAAgB;IAoO3B;;;;;;OAMG;IACH,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,uBAAuB;CAkBhC"}
@@ -77,10 +77,13 @@ const path = __importStar(require("path"));
77
77
  const tree_sitter_helpers_1 = require("./tree-sitter-helpers");
78
78
  const vba_preprocess_1 = require("./vba-preprocess");
79
79
  const context_1 = require("./vba/context");
80
+ const sql_wrapper_1 = require("./vba/sql-wrapper");
81
+ const error_channel_1 = require("./vba/error-channel");
80
82
  const procedures_1 = require("./vba/procedures");
81
83
  const declarations_1 = require("./vba/declarations");
82
84
  const dims_1 = require("./vba/dims");
83
85
  const enums_consts_1 = require("./vba/enums-consts");
86
+ const errors_1 = require("./vba/errors");
84
87
  const implements_1 = require("./vba/implements");
85
88
  const call_sweep_1 = require("./vba/call-sweep");
86
89
  const vba_timing_1 = require("./vba-timing");
@@ -127,23 +130,24 @@ exports.VBA_RULE_TABLES = {
127
130
  declarations: declarations_1.RULES,
128
131
  dims: dims_1.RULES,
129
132
  'enums-consts': enums_consts_1.RULES,
133
+ errors: errors_1.RULES,
130
134
  'call-sweep': call_sweep_1.RULES,
131
135
  };
132
136
  /**
133
137
  * Issue #153: the canonical list of concern keys `VBA_RULE_TABLES`
134
138
  * must contain. Order matches the per-line dispatch order in
135
139
  * `extract()`: events/types/declares → implements → dims → enums/consts
136
- * → calls/sql. The procedures sweep is the only one that runs BEFORE
137
- * the main walk (so `ctx.localProcs` is populated for the call sweep
138
- * to consult) and is therefore referenced in `VBA_RULE_TABLES` but NOT
139
- * in this list — it is intentionally validated as a separate concern
140
- * because the pre-walk contract is different.
140
+ * → errors → calls/sql. The procedures sweep runs before the main walk so
141
+ * `ctx.localProcs` is populated for the call sweep, but its rule table
142
+ * has the same non-empty invariant as every per-line classifier.
141
143
  */
142
144
  const REQUIRED_DISPATCH_TABLES = [
145
+ 'procedures',
143
146
  'declarations',
144
147
  'implements',
145
148
  'dims',
146
149
  'enums-consts',
150
+ 'errors',
147
151
  'call-sweep',
148
152
  ];
149
153
  /**
@@ -189,11 +193,46 @@ function validateVbaRuleTables(tables = exports.VBA_RULE_TABLES) {
189
193
  `Each concern's RULES array must be non-empty.`);
190
194
  }
191
195
  })();
196
+ /**
197
+ * Issue #243 — normalize the `VbaExtractor` constructor's 3rd/4th arguments
198
+ * into a single {@link VbaExtractionOptions}.
199
+ *
200
+ * Two call shapes reach the implementation signature:
201
+ *
202
+ * - the current form: `new VbaExtractor(p, s, { targets, maxRaiseFanout })`
203
+ * - the `@deprecated` legacy form: `new VbaExtractor(p, s, targets, 50)`
204
+ *
205
+ * The runtime discriminator is the VALUE TYPES, not the key names. A legacy
206
+ * conditional-compilation targets map is a `Record<string, boolean>`, so every
207
+ * one of its values is a boolean. A `VbaExtractionOptions` never has a boolean
208
+ * value: `targets` is an object, `maxRaiseFanout` a number, `sqlWrappers` an
209
+ * array. So "every own value is a boolean" identifies the legacy form even
210
+ * when a project happens to name a `#Const` `targets` or `sqlWrappers`.
211
+ *
212
+ * The empty object `{}` satisfies "every value is a boolean" vacuously and is
213
+ * therefore read as a legacy empty targets map — which is exactly equivalent
214
+ * to empty options: an empty targets map and `undefined` both mean "no project
215
+ * conditional-compilation overrides" to `preprocessConditionalCompilation`,
216
+ * and an absent `maxRaiseFanout` falls back to `DEFAULT_MAX_RAISE_FANOUT`
217
+ * either way. The two readings cannot diverge.
218
+ *
219
+ * `legacyMaxRaiseFanout` only applies to the legacy form; the object form
220
+ * cannot be combined with a 4th positional argument (no overload allows it).
221
+ */
222
+ function normalizeVbaExtractorArgs(optionsOrTargets, legacyMaxRaiseFanout) {
223
+ const isLegacyTargets = Object.values(optionsOrTargets).every((v) => typeof v === 'boolean');
224
+ if (!isLegacyTargets)
225
+ return optionsOrTargets;
226
+ const targets = optionsOrTargets;
227
+ return {
228
+ targets: Object.keys(targets).length > 0 ? targets : undefined,
229
+ maxRaiseFanout: legacyMaxRaiseFanout,
230
+ };
231
+ }
192
232
  class VbaExtractor {
193
233
  filePath;
194
234
  source;
195
235
  ctx;
196
- vbaTargets;
197
236
  /**
198
237
  * Issue #152: per-file fanout cap for `RaiseEvent <EventName>` edges.
199
238
  * When a single event is raised more than this many times in one file,
@@ -203,12 +242,28 @@ class VbaExtractor {
203
242
  * the orchestrator: callers that don't pass a value get the default.
204
243
  */
205
244
  maxRaiseFanout;
206
- constructor(filePath, source, vbaTargets, maxRaiseFanout = exports.DEFAULT_MAX_RAISE_FANOUT) {
245
+ /**
246
+ * Issue #243: the full options object, retained so classifiers that grow
247
+ * a new knob read it from one place instead of a new private field per
248
+ * knob. `targets`/`maxRaiseFanout` keep their dedicated fields because
249
+ * they are read on hot paths.
250
+ */
251
+ options;
252
+ constructor(filePath, source, optionsOrTargets = {}, legacyMaxRaiseFanout) {
253
+ const options = normalizeVbaExtractorArgs(optionsOrTargets, legacyMaxRaiseFanout);
207
254
  this.filePath = filePath;
208
255
  this.source = source;
209
- this.vbaTargets = vbaTargets;
210
- this.maxRaiseFanout = maxRaiseFanout;
256
+ this.options = options;
257
+ this.maxRaiseFanout = options.maxRaiseFanout ?? exports.DEFAULT_MAX_RAISE_FANOUT;
211
258
  this.ctx = new context_1.VbaExtractorContext(filePath);
259
+ // Issue #244: compile the SQL execution-site matcher ONCE per extractor
260
+ // and park it on the context. `scanSqlInLine` reads it on every line, so
261
+ // this is the only place it may be built.
262
+ this.ctx.sqlWrappers = (0, sql_wrapper_1.compileSqlWrappers)(options.sqlWrappers);
263
+ // Issue #261: same contract for the error channel — compiled once here,
264
+ // read per identifier by `module-vars.ts` and per statement by
265
+ // `errors.ts`. Both consumers share this one object so they cannot fork.
266
+ this.ctx.errorChannel = (0, error_channel_1.compileErrorChannel)(options.errorChannel);
212
267
  }
213
268
  extract() {
214
269
  const startTime = Date.now();
@@ -241,7 +296,7 @@ class VbaExtractor {
241
296
  // re-uses the same `withStage` helper.
242
297
  const cleanComments = (0, vba_timing_1.withStage)(this.ctx, 'preprocess.stripVbaComments', () => (0, vba_preprocess_1.stripVbaComments)(this.source));
243
298
  const joined = (0, vba_timing_1.withStage)(this.ctx, 'preprocess.joinLineContinuations', () => (0, vba_preprocess_1.joinLineContinuations)(cleanComments));
244
- const uncommented = (0, vba_timing_1.withStage)(this.ctx, 'preprocess.conditionalCompilation', () => (0, vba_preprocess_1.preprocessConditionalCompilation)(joined, this.vbaTargets, this.ctx.timings));
299
+ const uncommented = (0, vba_timing_1.withStage)(this.ctx, 'preprocess.conditionalCompilation', () => (0, vba_preprocess_1.preprocessConditionalCompilation)(joined, this.options.targets, this.ctx.timings, this.ctx.errors, this.filePath));
245
300
  // Create the file node.
246
301
  this.ctx.nodes.push(this.createFileNode());
247
302
  // Resolve the file's "kind" — .cls → class, else module (including .bas
@@ -261,6 +316,11 @@ class VbaExtractor {
261
316
  .replace(/\.[^.]+$/, '');
262
317
  const className = isCls ? (vbName ?? fallbackName) : null;
263
318
  this.ctx.classNamePrefix = className;
319
+ // Issue #251: module-level `variable` nodes want a `<Module>.<name>`
320
+ // qualifiedName for BOTH file kinds, so they need the module name
321
+ // before the walk — `classNamePrefix` above is deliberately null for
322
+ // `.bas`. This is the same string `createModuleOrClassNode` uses.
323
+ this.ctx.moduleName = vbName ?? fallbackName;
264
324
  // Issue #83: split-then-walk. The preprocessed source is split into
265
325
  // lines ONCE into a shared `readonly string[]`. The procedures
266
326
  // classifier runs FIRST on the full file so `ctx.localProcs`,
@@ -279,6 +339,10 @@ class VbaExtractor {
279
339
  (0, implements_1.createImplementsClassifier)(),
280
340
  (0, dims_1.createDimsClassifier)(),
281
341
  (0, enums_consts_1.createEnumsConstsClassifier)(),
342
+ // Issue #259: runs BEFORE the call sweep on purpose. It emits nothing
343
+ // itself, but it resolves each procedure's handler region, and task E3
344
+ // flags the edges the call sweep emits from inside that region.
345
+ (0, errors_1.createErrorPolicyClassifier)(),
282
346
  (0, call_sweep_1.createCallsAndSqlClassifier)(lines),
283
347
  ];
284
348
  // Pre-walk: procedures only — populates the same-file function index
@@ -327,15 +391,33 @@ class VbaExtractor {
327
391
  edge.source = this.ctx.moduleOrClassNode.id;
328
392
  }
329
393
  this.ctx.pendingModuleOrClassSource.length = 0;
330
- // Sub New marker on the class node (REQ-CODE-3).
394
+ // Class lifecycle markers on the class node (REQ-CODE-3).
395
+ //
396
+ // Issue #248: the original check looked for a procedure named `New`.
397
+ // VBA class modules have no `Sub New` — that constructor spelling is
398
+ // VB.NET. An Access/VBA class runs `Private Sub Class_Initialize()` on
399
+ // instantiation and `Private Sub Class_Terminate()` on teardown, so the
400
+ // `New` check could never fire on real VBA source (0 occurrences across
401
+ // the 00_EXPEDIENTES / 00_GESTION_RIESGOS corpora, against 2 real
402
+ // `Class_Initialize` / `Class_Terminate` declarations).
403
+ //
404
+ // `New` is still accepted as a fallback so the historical behaviour is
405
+ // corrected rather than removed; it stays dead on genuine VBA input.
406
+ // Terminators get their own pair of fields — destructor presence is the
407
+ // other half of the same lifecycle question.
331
408
  if (isCls) {
332
- const hasNew = procs.some((p) => p.name === 'New');
333
- if (hasNew) {
334
- const md = (this.ctx.moduleOrClassNode.metadata ?? {});
409
+ const md = (this.ctx.moduleOrClassNode.metadata ?? {});
410
+ const initializer = procs.find((p) => p.name.toLowerCase() === 'class_initialize') ?? procs.find((p) => p.name.toLowerCase() === 'new');
411
+ if (initializer) {
335
412
  md.hasClassInitializer = true;
336
- md.initializerName = 'New';
337
- this.ctx.moduleOrClassNode.metadata = md;
413
+ md.initializerName = initializer.name;
414
+ }
415
+ const terminator = procs.find((p) => p.name.toLowerCase() === 'class_terminate');
416
+ if (terminator) {
417
+ md.hasClassTerminator = true;
418
+ md.terminatorName = terminator.name;
338
419
  }
420
+ this.ctx.moduleOrClassNode.metadata = md;
339
421
  }
340
422
  }
341
423
  }
@@ -347,6 +429,19 @@ class VbaExtractor {
347
429
  code: 'parse_error',
348
430
  });
349
431
  }
432
+ finally {
433
+ // Issue #213: a throw anywhere in the walks (or in the post-walk
434
+ // stages) leaves edges with `source: ''` in `ctx.edges` —
435
+ // placeholders that the success path drains once the module/class
436
+ // node exists. The catch alone does not run that drain, so the
437
+ // caller would receive a dangling edge pointing nowhere. Drop any
438
+ // edge still holding `source: ''` here so the returned result is
439
+ // always a coherent graph fragment, even on the throw path. On
440
+ // the success path this is a no-op because the drain at
441
+ // `:358-361` already cleared the placeholders.
442
+ this.ctx.edges = this.ctx.edges.filter((e) => e.source !== '');
443
+ this.ctx.pendingModuleOrClassSource.length = 0;
444
+ }
350
445
  const result = this.result(startTime);
351
446
  this.maybeEmitTimings(result, timingMode);
352
447
  return result;