@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.
- package/lib/dist/bin/codegraph.js +13 -7
- package/lib/dist/bin/codegraph.js.map +1 -1
- package/lib/dist/bin/daemon-release.d.ts +7 -0
- package/lib/dist/bin/daemon-release.d.ts.map +1 -0
- package/lib/dist/bin/daemon-release.js +18 -0
- package/lib/dist/bin/daemon-release.js.map +1 -0
- package/lib/dist/db/queries.d.ts +30 -0
- package/lib/dist/db/queries.d.ts.map +1 -1
- package/lib/dist/db/queries.js +51 -1
- package/lib/dist/db/queries.js.map +1 -1
- package/lib/dist/extraction/access-erd-extractor.d.ts +57 -0
- package/lib/dist/extraction/access-erd-extractor.d.ts.map +1 -0
- package/lib/dist/extraction/access-erd-extractor.js +389 -0
- package/lib/dist/extraction/access-erd-extractor.js.map +1 -0
- package/lib/dist/extraction/extraction-version.d.ts +1 -1
- package/lib/dist/extraction/extraction-version.js +1 -1
- package/lib/dist/extraction/grammars.d.ts +20 -0
- package/lib/dist/extraction/grammars.d.ts.map +1 -1
- package/lib/dist/extraction/grammars.js +34 -0
- package/lib/dist/extraction/grammars.js.map +1 -1
- package/lib/dist/extraction/index.d.ts +1 -0
- package/lib/dist/extraction/index.d.ts.map +1 -1
- package/lib/dist/extraction/index.js +371 -351
- package/lib/dist/extraction/index.js.map +1 -1
- package/lib/dist/extraction/parse-pool.d.ts +8 -3
- package/lib/dist/extraction/parse-pool.d.ts.map +1 -1
- package/lib/dist/extraction/parse-pool.js +1 -2
- package/lib/dist/extraction/parse-pool.js.map +1 -1
- package/lib/dist/extraction/parse-worker.js +7 -6
- package/lib/dist/extraction/parse-worker.js.map +1 -1
- package/lib/dist/extraction/sql-query-extractor.d.ts +16 -14
- package/lib/dist/extraction/sql-query-extractor.d.ts.map +1 -1
- package/lib/dist/extraction/sql-query-extractor.js +43 -31
- package/lib/dist/extraction/sql-query-extractor.js.map +1 -1
- package/lib/dist/extraction/sql-table-scan.d.ts +184 -0
- package/lib/dist/extraction/sql-table-scan.d.ts.map +1 -0
- package/lib/dist/extraction/sql-table-scan.js +288 -0
- package/lib/dist/extraction/sql-table-scan.js.map +1 -0
- package/lib/dist/extraction/tree-sitter.d.ts +10 -1
- package/lib/dist/extraction/tree-sitter.d.ts.map +1 -1
- package/lib/dist/extraction/tree-sitter.js +34 -3
- package/lib/dist/extraction/tree-sitter.js.map +1 -1
- package/lib/dist/extraction/vba/call-sweep.d.ts +2 -7
- package/lib/dist/extraction/vba/call-sweep.d.ts.map +1 -1
- package/lib/dist/extraction/vba/call-sweep.js +144 -90
- package/lib/dist/extraction/vba/call-sweep.js.map +1 -1
- package/lib/dist/extraction/vba/calls.d.ts +24 -4
- package/lib/dist/extraction/vba/calls.d.ts.map +1 -1
- package/lib/dist/extraction/vba/calls.js +42 -12
- package/lib/dist/extraction/vba/calls.js.map +1 -1
- package/lib/dist/extraction/vba/constants.d.ts +7 -14
- package/lib/dist/extraction/vba/constants.d.ts.map +1 -1
- package/lib/dist/extraction/vba/constants.js +8 -36
- package/lib/dist/extraction/vba/constants.js.map +1 -1
- package/lib/dist/extraction/vba/context.d.ts +443 -7
- package/lib/dist/extraction/vba/context.d.ts.map +1 -1
- package/lib/dist/extraction/vba/context.js +325 -29
- package/lib/dist/extraction/vba/context.js.map +1 -1
- package/lib/dist/extraction/vba/controls.d.ts +18 -1
- package/lib/dist/extraction/vba/controls.d.ts.map +1 -1
- package/lib/dist/extraction/vba/controls.js +99 -27
- package/lib/dist/extraction/vba/controls.js.map +1 -1
- package/lib/dist/extraction/vba/declarations.d.ts +1 -6
- package/lib/dist/extraction/vba/declarations.d.ts.map +1 -1
- package/lib/dist/extraction/vba/declarations.js +5 -39
- package/lib/dist/extraction/vba/declarations.js.map +1 -1
- package/lib/dist/extraction/vba/dims.d.ts +11 -7
- package/lib/dist/extraction/vba/dims.d.ts.map +1 -1
- package/lib/dist/extraction/vba/dims.js +265 -29
- package/lib/dist/extraction/vba/dims.js.map +1 -1
- package/lib/dist/extraction/vba/docmd.d.ts +29 -2
- package/lib/dist/extraction/vba/docmd.d.ts.map +1 -1
- package/lib/dist/extraction/vba/docmd.js +297 -18
- package/lib/dist/extraction/vba/docmd.js.map +1 -1
- package/lib/dist/extraction/vba/enums-consts.d.ts +7 -14
- package/lib/dist/extraction/vba/enums-consts.d.ts.map +1 -1
- package/lib/dist/extraction/vba/enums-consts.js +11 -45
- package/lib/dist/extraction/vba/enums-consts.js.map +1 -1
- package/lib/dist/extraction/vba/error-channel.d.ts +57 -0
- package/lib/dist/extraction/vba/error-channel.d.ts.map +1 -0
- package/lib/dist/extraction/vba/error-channel.js +128 -0
- package/lib/dist/extraction/vba/error-channel.js.map +1 -0
- package/lib/dist/extraction/vba/errors.d.ts +64 -0
- package/lib/dist/extraction/vba/errors.d.ts.map +1 -0
- package/lib/dist/extraction/vba/errors.js +775 -0
- package/lib/dist/extraction/vba/errors.js.map +1 -0
- package/lib/dist/extraction/vba/filesystem-statements.d.ts +23 -0
- package/lib/dist/extraction/vba/filesystem-statements.d.ts.map +1 -0
- package/lib/dist/extraction/vba/filesystem-statements.js +70 -0
- package/lib/dist/extraction/vba/filesystem-statements.js.map +1 -0
- package/lib/dist/extraction/vba/implements.d.ts +1 -6
- package/lib/dist/extraction/vba/implements.d.ts.map +1 -1
- package/lib/dist/extraction/vba/implements.js +1 -22
- package/lib/dist/extraction/vba/implements.js.map +1 -1
- package/lib/dist/extraction/vba/labels.d.ts +26 -0
- package/lib/dist/extraction/vba/labels.d.ts.map +1 -0
- package/lib/dist/extraction/vba/labels.js +180 -0
- package/lib/dist/extraction/vba/labels.js.map +1 -0
- package/lib/dist/extraction/vba/module-vars.d.ts +36 -0
- package/lib/dist/extraction/vba/module-vars.d.ts.map +1 -0
- package/lib/dist/extraction/vba/module-vars.js +145 -0
- package/lib/dist/extraction/vba/module-vars.js.map +1 -0
- package/lib/dist/extraction/vba/options.d.ts +88 -0
- package/lib/dist/extraction/vba/options.d.ts.map +1 -0
- package/lib/dist/extraction/vba/options.js +39 -0
- package/lib/dist/extraction/vba/options.js.map +1 -0
- package/lib/dist/extraction/vba/parameters.d.ts +35 -0
- package/lib/dist/extraction/vba/parameters.d.ts.map +1 -0
- package/lib/dist/extraction/vba/parameters.js +110 -0
- package/lib/dist/extraction/vba/parameters.js.map +1 -0
- package/lib/dist/extraction/vba/procedures.d.ts +1 -9
- package/lib/dist/extraction/vba/procedures.d.ts.map +1 -1
- package/lib/dist/extraction/vba/procedures.js +174 -112
- package/lib/dist/extraction/vba/procedures.js.map +1 -1
- package/lib/dist/extraction/vba/rules.d.ts +10 -5
- package/lib/dist/extraction/vba/rules.d.ts.map +1 -1
- package/lib/dist/extraction/vba/rules.js +19 -0
- package/lib/dist/extraction/vba/rules.js.map +1 -1
- package/lib/dist/extraction/vba/runtime-objects.d.ts +59 -0
- package/lib/dist/extraction/vba/runtime-objects.d.ts.map +1 -0
- package/lib/dist/extraction/vba/runtime-objects.js +106 -0
- package/lib/dist/extraction/vba/runtime-objects.js.map +1 -0
- package/lib/dist/extraction/vba/signature.d.ts +57 -0
- package/lib/dist/extraction/vba/signature.d.ts.map +1 -0
- package/lib/dist/extraction/vba/signature.js +164 -0
- package/lib/dist/extraction/vba/signature.js.map +1 -0
- package/lib/dist/extraction/vba/sql-wrapper.d.ts +76 -3
- package/lib/dist/extraction/vba/sql-wrapper.d.ts.map +1 -1
- package/lib/dist/extraction/vba/sql-wrapper.js +725 -151
- package/lib/dist/extraction/vba/sql-wrapper.js.map +1 -1
- package/lib/dist/extraction/vba/tempvars.d.ts.map +1 -1
- package/lib/dist/extraction/vba/tempvars.js +4 -0
- package/lib/dist/extraction/vba/tempvars.js.map +1 -1
- package/lib/dist/extraction/vba/text-utils.d.ts +62 -2
- package/lib/dist/extraction/vba/text-utils.d.ts.map +1 -1
- package/lib/dist/extraction/vba/text-utils.js +84 -6
- package/lib/dist/extraction/vba/text-utils.js.map +1 -1
- package/lib/dist/extraction/vba-extractor.d.ts +18 -1
- package/lib/dist/extraction/vba-extractor.d.ts.map +1 -1
- package/lib/dist/extraction/vba-extractor.js +111 -16
- package/lib/dist/extraction/vba-extractor.js.map +1 -1
- package/lib/dist/extraction/vba-form-extractor.d.ts +28 -14
- package/lib/dist/extraction/vba-form-extractor.d.ts.map +1 -1
- package/lib/dist/extraction/vba-form-extractor.js +56 -21
- package/lib/dist/extraction/vba-form-extractor.js.map +1 -1
- package/lib/dist/extraction/vba-preprocess.d.ts +89 -3
- package/lib/dist/extraction/vba-preprocess.d.ts.map +1 -1
- package/lib/dist/extraction/vba-preprocess.js +221 -57
- package/lib/dist/extraction/vba-preprocess.js.map +1 -1
- package/lib/dist/extraction/vba-source.d.ts +0 -10
- package/lib/dist/extraction/vba-source.d.ts.map +1 -1
- package/lib/dist/extraction/vba-source.js +0 -13
- package/lib/dist/extraction/vba-source.js.map +1 -1
- package/lib/dist/extraction/vba-test-manifest-extractor.d.ts +0 -6
- package/lib/dist/extraction/vba-test-manifest-extractor.d.ts.map +1 -1
- package/lib/dist/extraction/vba-test-manifest-extractor.js +0 -1
- package/lib/dist/extraction/vba-test-manifest-extractor.js.map +1 -1
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +9 -0
- package/lib/dist/index.js.map +1 -1
- package/lib/dist/mcp/daemon-manager.d.ts.map +1 -1
- package/lib/dist/mcp/daemon-manager.js +7 -3
- package/lib/dist/mcp/daemon-manager.js.map +1 -1
- package/lib/dist/mcp/daemon-paths.d.ts +6 -0
- package/lib/dist/mcp/daemon-paths.d.ts.map +1 -1
- package/lib/dist/mcp/daemon-paths.js +15 -0
- package/lib/dist/mcp/daemon-paths.js.map +1 -1
- package/lib/dist/mcp/daemon-registry.d.ts +82 -7
- package/lib/dist/mcp/daemon-registry.d.ts.map +1 -1
- package/lib/dist/mcp/daemon-registry.js +557 -45
- package/lib/dist/mcp/daemon-registry.js.map +1 -1
- package/lib/dist/mcp/daemon-watchdog.d.ts +12 -0
- package/lib/dist/mcp/daemon-watchdog.d.ts.map +1 -1
- package/lib/dist/mcp/daemon-watchdog.js +37 -7
- package/lib/dist/mcp/daemon-watchdog.js.map +1 -1
- package/lib/dist/mcp/daemon.d.ts +20 -1
- package/lib/dist/mcp/daemon.d.ts.map +1 -1
- package/lib/dist/mcp/daemon.js +123 -30
- package/lib/dist/mcp/daemon.js.map +1 -1
- package/lib/dist/mcp/index.d.ts.map +1 -1
- package/lib/dist/mcp/index.js +13 -2
- package/lib/dist/mcp/index.js.map +1 -1
- package/lib/dist/mcp/proxy.d.ts +32 -0
- package/lib/dist/mcp/proxy.d.ts.map +1 -1
- package/lib/dist/mcp/proxy.js +163 -31
- package/lib/dist/mcp/proxy.js.map +1 -1
- package/lib/dist/mcp/tools.d.ts.map +1 -1
- package/lib/dist/mcp/tools.js +29 -1
- package/lib/dist/mcp/tools.js.map +1 -1
- package/lib/dist/project-config.d.ts +43 -2
- package/lib/dist/project-config.d.ts.map +1 -1
- package/lib/dist/project-config.js +86 -2
- package/lib/dist/project-config.js.map +1 -1
- package/lib/dist/resolution/index.d.ts +47 -2
- package/lib/dist/resolution/index.d.ts.map +1 -1
- package/lib/dist/resolution/index.js +160 -5
- package/lib/dist/resolution/index.js.map +1 -1
- package/lib/dist/resolution/name-matcher.d.ts +25 -0
- package/lib/dist/resolution/name-matcher.d.ts.map +1 -1
- package/lib/dist/resolution/name-matcher.js +59 -0
- package/lib/dist/resolution/name-matcher.js.map +1 -1
- package/lib/dist/resolution/vba-runtime-objects.d.ts +11 -11
- package/lib/dist/resolution/vba-runtime-objects.d.ts.map +1 -1
- package/lib/dist/resolution/vba-runtime-objects.js +18 -38
- package/lib/dist/resolution/vba-runtime-objects.js.map +1 -1
- package/lib/dist/types.d.ts +13 -5
- package/lib/dist/types.d.ts.map +1 -1
- package/lib/dist/types.js +17 -0
- package/lib/dist/types.js.map +1 -1
- package/lib/node_modules/.modules.yaml +1 -1
- package/lib/node_modules/.pnpm-workspace-state-v1.json +1 -1
- package/lib/package.json +4 -1
- 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,
|
|
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":";;AAkHA,
|
|
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
|
|
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 +=
|
|
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 +=
|
|
55
|
+
result += filler + filler; // doubled-quote escape masked (2 chars)
|
|
46
56
|
i += 2;
|
|
47
57
|
}
|
|
48
58
|
else if (c === '"') {
|
|
49
|
-
result +=
|
|
59
|
+
result += filler; // closing quote masked
|
|
50
60
|
i++;
|
|
51
61
|
break;
|
|
52
62
|
}
|
|
53
63
|
else {
|
|
54
|
-
result +=
|
|
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":";;AAeA,wCAEC;
|
|
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;
|
|
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
|
|
137
|
-
*
|
|
138
|
-
*
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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
|
-
//
|
|
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
|
|
333
|
-
|
|
334
|
-
|
|
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 =
|
|
337
|
-
|
|
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;
|