@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
|
@@ -46,6 +46,39 @@ export interface ProjectConfig {
|
|
|
46
46
|
* `true`.
|
|
47
47
|
*/
|
|
48
48
|
dysflowExport?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Extra receiver names that execute SQL, so table references inside the
|
|
51
|
+
* SQL they run are still found (#244). Two entry forms are accepted:
|
|
52
|
+
*
|
|
53
|
+
* - a bare identifier fragment — `"getdb"` reaches `getdb()`,
|
|
54
|
+
* `getdbHPS()` and `getdbExpedientes()`;
|
|
55
|
+
* - an explicit `receiver.method` pair — `"cnn.Execute"`.
|
|
56
|
+
*
|
|
57
|
+
* Raw regular expressions are deliberately NOT accepted: these patterns
|
|
58
|
+
* run against every line of every VBA file, where a user-supplied regex
|
|
59
|
+
* is a catastrophic-backtracking hazard. Entries EXTEND the built-in
|
|
60
|
+
* list (`db`, `getdb`, `CurrentDb`, `DBEngine`, the DAO `QueryDef`
|
|
61
|
+
* receivers, `DoCmd.RunSQL` and the ADO pair) — they never replace it.
|
|
62
|
+
* A non-array value, or an entry that is not one of the two forms,
|
|
63
|
+
* warns and is ignored.
|
|
64
|
+
*/
|
|
65
|
+
sqlWrappers?: string[];
|
|
66
|
+
/**
|
|
67
|
+
* Issue #261 — extra module-level variable names this project uses as its
|
|
68
|
+
* error channel: the field a failing procedure writes and its caller
|
|
69
|
+
* reads, which is how an error message actually travels in an Access
|
|
70
|
+
* codebase of this shape (VBA's own mechanism unwinds one frame and is
|
|
71
|
+
* used for that, not for the message).
|
|
72
|
+
*
|
|
73
|
+
* Bare VBA identifiers only, matched as WHOLE names — `"lastFailure"`
|
|
74
|
+
* flags `lastFailure` and never `lastFailureCount`. Raw regular
|
|
75
|
+
* expressions are deliberately NOT accepted, for the same reason
|
|
76
|
+
* `sqlWrappers` refuses them: these names are tested against every
|
|
77
|
+
* identifier of every line of every VBA file. Entries EXTEND the built-in
|
|
78
|
+
* list (`m_Error`, `p_Error`, `g_Error`, `Error`) — they never replace
|
|
79
|
+
* it. A non-array value, or a non-identifier entry, warns and is ignored.
|
|
80
|
+
*/
|
|
81
|
+
errorChannel?: string[];
|
|
49
82
|
};
|
|
50
83
|
/**
|
|
51
84
|
* Gitignore-style patterns for first-party source to force INTO the index even
|
|
@@ -62,11 +95,19 @@ export interface ProjectConfig {
|
|
|
62
95
|
*/
|
|
63
96
|
include?: string[];
|
|
64
97
|
}
|
|
65
|
-
|
|
98
|
+
/**
|
|
99
|
+
* Parsed, validated view of the `vba` block. Named (rather than repeated
|
|
100
|
+
* inline at each of its five use sites) so adding a knob — `sqlWrappers` in
|
|
101
|
+
* #244 — is one edit instead of five that can silently drift apart.
|
|
102
|
+
*/
|
|
103
|
+
export interface VbaConfig {
|
|
66
104
|
targets?: Record<string, boolean>;
|
|
67
105
|
maxRaiseFanout?: number;
|
|
68
106
|
dysflowExport?: boolean;
|
|
69
|
-
|
|
107
|
+
sqlWrappers?: string[];
|
|
108
|
+
errorChannel?: string[];
|
|
109
|
+
}
|
|
110
|
+
export declare function loadVbaConfig(rootDir: string): VbaConfig;
|
|
70
111
|
/**
|
|
71
112
|
* Load the validated `vba.dysflowExport` flag for a project, mtime-cached
|
|
72
113
|
* (issue #154). Returns `true` when the flag is absent — the default keeps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMnC,oFAAoF;AACpF,eAAO,MAAM,uBAAuB,mBAAmB,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE;QACJ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC;;;;;;;;;WASG;QACH,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB;;;;;;;;WAQG;QACH,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB;;;;;;;;;;;;;;;WAeG;QACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB;;;;;;;;;;;;;;WAcG;QACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAkaD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAExD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGhE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAEhF;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAEpE;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAE7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAE7D;AAED,uFAAuF;AACvF,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAqCrF"}
|
|
@@ -69,6 +69,7 @@ exports.addIncludeIgnoredPatterns = addIncludeIgnoredPatterns;
|
|
|
69
69
|
const fs = __importStar(require("fs"));
|
|
70
70
|
const path = __importStar(require("path"));
|
|
71
71
|
const grammars_1 = require("./extraction/grammars");
|
|
72
|
+
const error_channel_1 = require("./extraction/vba/error-channel");
|
|
72
73
|
const errors_1 = require("./errors");
|
|
73
74
|
const directory_1 = require("./directory");
|
|
74
75
|
/** Filename of the project-scoped config, resolved relative to the project root. */
|
|
@@ -231,6 +232,13 @@ function extractExclude(parsed, file) {
|
|
|
231
232
|
}
|
|
232
233
|
return out;
|
|
233
234
|
}
|
|
235
|
+
/**
|
|
236
|
+
* The ONLY two shapes a `vba.sqlWrappers` entry may take (#244): a bare
|
|
237
|
+
* identifier fragment (`getdb`) or a `receiver.method` pair (`cnn.Execute`).
|
|
238
|
+
* Anything else — a raw regex above all — is rejected at load time, so the
|
|
239
|
+
* per-line scanner never sees a pattern it did not build itself.
|
|
240
|
+
*/
|
|
241
|
+
const SQL_WRAPPER_ENTRY_RE = /^\p{L}[\p{L}\p{N}_]*(?:\.\p{L}[\p{L}\p{N}_]*)?$/u;
|
|
234
242
|
function extractVbaTargets(parsed, file) {
|
|
235
243
|
const vba = parsed.vba;
|
|
236
244
|
if (vba === undefined)
|
|
@@ -278,7 +286,59 @@ function extractVbaTargets(parsed, file) {
|
|
|
278
286
|
out.dysflowExport = dysflowExport;
|
|
279
287
|
}
|
|
280
288
|
}
|
|
281
|
-
|
|
289
|
+
// Issue #244 — extra SQL execution-site receivers. Same warn-and-ignore
|
|
290
|
+
// shape as `maxRaiseFanout`: a wrong type never throws, it just leaves the
|
|
291
|
+
// built-in wrapper list in force.
|
|
292
|
+
const sqlWrappers = vba.sqlWrappers;
|
|
293
|
+
if (sqlWrappers !== undefined) {
|
|
294
|
+
if (!Array.isArray(sqlWrappers)) {
|
|
295
|
+
(0, errors_1.logWarn)(`Ignoring "vba.sqlWrappers" in ${exports.PROJECT_CONFIG_FILENAME}: value must be an array of strings`, { file });
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
const wrappersOut = [];
|
|
299
|
+
for (const raw of sqlWrappers) {
|
|
300
|
+
const entry = typeof raw === 'string' ? raw.trim() : '';
|
|
301
|
+
if (!entry || !SQL_WRAPPER_ENTRY_RE.test(entry)) {
|
|
302
|
+
(0, errors_1.logWarn)(`Ignoring an invalid "vba.sqlWrappers" entry in ${exports.PROJECT_CONFIG_FILENAME}: every entry must be an identifier prefix ("getdb") or a "receiver.method" pair ("cnn.Execute")`, { file });
|
|
303
|
+
continue;
|
|
304
|
+
}
|
|
305
|
+
wrappersOut.push(entry);
|
|
306
|
+
}
|
|
307
|
+
if (wrappersOut.length > 0)
|
|
308
|
+
out.sqlWrappers = wrappersOut;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
// Issue #261 — extra error-channel variable names. Same warn-and-ignore
|
|
312
|
+
// shape as `sqlWrappers`, and the same "no user regex" rule: an entry is a
|
|
313
|
+
// bare VBA identifier, tested as a whole name against every identifier of
|
|
314
|
+
// every line. A wrong type never throws, it just leaves the built-in
|
|
315
|
+
// channel list in force.
|
|
316
|
+
const errorChannel = vba.errorChannel;
|
|
317
|
+
if (errorChannel !== undefined) {
|
|
318
|
+
if (!Array.isArray(errorChannel)) {
|
|
319
|
+
(0, errors_1.logWarn)(`Ignoring "vba.errorChannel" in ${exports.PROJECT_CONFIG_FILENAME}: value must be an array of strings`, { file });
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
const channelOut = [];
|
|
323
|
+
for (const raw of errorChannel) {
|
|
324
|
+
const entry = typeof raw === 'string' ? raw.trim() : '';
|
|
325
|
+
if (!entry || !error_channel_1.ERROR_CHANNEL_ENTRY_RE.test(entry)) {
|
|
326
|
+
(0, errors_1.logWarn)(`Ignoring an invalid "vba.errorChannel" entry in ${exports.PROJECT_CONFIG_FILENAME}: every entry must be a bare variable name ("m_Error")`, { file });
|
|
327
|
+
continue;
|
|
328
|
+
}
|
|
329
|
+
channelOut.push(entry);
|
|
330
|
+
}
|
|
331
|
+
if (channelOut.length > 0)
|
|
332
|
+
out.errorChannel = channelOut;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
return out.targets !== undefined
|
|
336
|
+
|| out.maxRaiseFanout !== undefined
|
|
337
|
+
|| out.dysflowExport !== undefined
|
|
338
|
+
|| out.sqlWrappers !== undefined
|
|
339
|
+
|| out.errorChannel !== undefined
|
|
340
|
+
? out
|
|
341
|
+
: undefined;
|
|
282
342
|
}
|
|
283
343
|
/**
|
|
284
344
|
* Validate the `include` patterns: an array of non-empty gitignore-style strings
|
|
@@ -361,7 +421,27 @@ function loadParsedConfig(rootDir) {
|
|
|
361
421
|
const mergedDysflowExport = fileConfig.vba?.dysflowExport !== undefined
|
|
362
422
|
? fileConfig.vba?.dysflowExport
|
|
363
423
|
: localConfig.vba?.dysflowExport;
|
|
364
|
-
|
|
424
|
+
// `sqlWrappers` is a list, so both sides UNION (the pattern `includeIgnored`
|
|
425
|
+
// / `exclude` already use) rather than one overriding the other — a local
|
|
426
|
+
// config naming one project accessor must not erase the committed list.
|
|
427
|
+
const mergedSqlWrappers = localConfig.vba?.sqlWrappers || fileConfig.vba?.sqlWrappers
|
|
428
|
+
? [...new Set([
|
|
429
|
+
...(localConfig.vba?.sqlWrappers ?? []),
|
|
430
|
+
...(fileConfig.vba?.sqlWrappers ?? []),
|
|
431
|
+
])]
|
|
432
|
+
: undefined;
|
|
433
|
+
// `errorChannel` is a list too, so it UNIONs on the same grounds (#261).
|
|
434
|
+
const mergedErrorChannel = localConfig.vba?.errorChannel || fileConfig.vba?.errorChannel
|
|
435
|
+
? [...new Set([
|
|
436
|
+
...(localConfig.vba?.errorChannel ?? []),
|
|
437
|
+
...(fileConfig.vba?.errorChannel ?? []),
|
|
438
|
+
])]
|
|
439
|
+
: undefined;
|
|
440
|
+
if (mergedTargets
|
|
441
|
+
|| mergedMaxRaiseFanout !== undefined
|
|
442
|
+
|| mergedDysflowExport !== undefined
|
|
443
|
+
|| mergedSqlWrappers !== undefined
|
|
444
|
+
|| mergedErrorChannel !== undefined) {
|
|
365
445
|
vba = {};
|
|
366
446
|
if (mergedTargets)
|
|
367
447
|
vba.targets = mergedTargets;
|
|
@@ -369,6 +449,10 @@ function loadParsedConfig(rootDir) {
|
|
|
369
449
|
vba.maxRaiseFanout = mergedMaxRaiseFanout;
|
|
370
450
|
if (mergedDysflowExport !== undefined)
|
|
371
451
|
vba.dysflowExport = mergedDysflowExport;
|
|
452
|
+
if (mergedSqlWrappers !== undefined)
|
|
453
|
+
vba.sqlWrappers = mergedSqlWrappers;
|
|
454
|
+
if (mergedErrorChannel !== undefined)
|
|
455
|
+
vba.errorChannel = mergedErrorChannel;
|
|
372
456
|
}
|
|
373
457
|
const config = {
|
|
374
458
|
extensions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-config.js","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"project-config.js","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -302,10 +302,55 @@ export declare class ReferenceResolver {
|
|
|
302
302
|
* (enum, class, interface, struct, type_alias). Exactly one match →
|
|
303
303
|
* repoint; zero or 2+ → decline (leave the stub as-is).
|
|
304
304
|
*
|
|
305
|
-
* Duplicate `(source, target,
|
|
306
|
-
*
|
|
305
|
+
* Duplicate `(source, target, kind)` rows after repointing are collapsed the
|
|
306
|
+
* same way `resolveVbaCallStubs` handles F1 duplicates.
|
|
307
|
+
*
|
|
308
|
+
* Issue #257: `type_of` edges are repointed alongside `references` ones.
|
|
309
|
+
* They share the stub by construction (`emitTypeOf` and `emitReference` both
|
|
310
|
+
* go through `ensureSynthTypeNode`), and the stub is DELETED at the end of
|
|
311
|
+
* each iteration — with `ON DELETE CASCADE` on both endpoint columns, an
|
|
312
|
+
* un-repointed `type_of` edge would be silently destroyed rather than
|
|
313
|
+
* resolved. The de-duplication key carries the edge kind so a module's
|
|
314
|
+
* `references` edge and its parameter's `type_of` edge onto the same type
|
|
315
|
+
* cannot collapse into each other.
|
|
307
316
|
*/
|
|
308
317
|
resolveVbaReferenceStubs(): number;
|
|
318
|
+
/**
|
|
319
|
+
* Promote Access ERD table declarations to canonical and repoint the
|
|
320
|
+
* SQL-derived placeholders onto them (#257, half B).
|
|
321
|
+
*
|
|
322
|
+
* Two extractors already synthesize a `class` placeholder for every table
|
|
323
|
+
* name they see in SQL text (`vba-sql-table` from in-code SQL,
|
|
324
|
+
* `sql-query-table` from a saved query), each keyed on the REFERENCING file.
|
|
325
|
+
* `AccessErdExtractor` emits its own table node keyed on the ERD document.
|
|
326
|
+
* Left alone, `TbAnexos` from the ERD and `TbAnexos` from a `SELECT` in a
|
|
327
|
+
* `.cls` are two unrelated nodes — the fields land on one, the references on
|
|
328
|
+
* the other, and the whole feature buys nothing.
|
|
329
|
+
*
|
|
330
|
+
* This pass is the convergence step, and it reuses the mechanism
|
|
331
|
+
* `resolveVbaCallStubs` already proved: repoint the incoming edges onto the
|
|
332
|
+
* canonical node, collapse would-be duplicates, delete the emptied
|
|
333
|
+
* placeholder, and stamp `metadata.repointDecision` on every edge it touched
|
|
334
|
+
* so the outcome is auditable (same vocabulary as `docs/vba-stub-repoint-
|
|
335
|
+
* decision.md`).
|
|
336
|
+
*
|
|
337
|
+
* Three deliberate declines:
|
|
338
|
+
* - **No ERD declares this name** → leave the placeholder exactly as it is.
|
|
339
|
+
* That is the no-ERD project, and its behavior must not change at all.
|
|
340
|
+
* - **Two ERD files declare the same name** (two backends, same table) →
|
|
341
|
+
* `declined-ambiguous`. Repoint nothing and keep both declarations; which
|
|
342
|
+
* backend a bare `SELECT` meant is not something to guess.
|
|
343
|
+
* - **The placeholder still has other edges** → keep the node. Only a
|
|
344
|
+
* placeholder whose every edge has moved is deleted.
|
|
345
|
+
*
|
|
346
|
+
* Runs BEFORE `resolveVbaReferenceStubs` so this explicit, decision-stamping
|
|
347
|
+
* pass owns the outcome rather than the generic stub resolver silently
|
|
348
|
+
* arriving at half of it. Idempotent: a repointed placeholder is gone, so a
|
|
349
|
+
* second pass finds nothing to do.
|
|
350
|
+
*
|
|
351
|
+
* @returns the number of edges repointed onto an ERD table node.
|
|
352
|
+
*/
|
|
353
|
+
resolveAccessErdTableNodes(): number;
|
|
309
354
|
/**
|
|
310
355
|
* Resolve a single VBA call-stub node to its real target, or `null` when
|
|
311
356
|
* unresolvable/ambiguous. See `resolveVbaCallStubs` for the two-step
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolution/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAkB,mBAAmB,EAAE,IAAI,EAAqB,MAAM,UAAU,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,WAAW,EACX,gBAAgB,EAIjB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolution/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -59,6 +59,7 @@ const lru_cache_1 = require("./lru-cache");
|
|
|
59
59
|
const vba_runtime_objects_1 = require("./vba-runtime-objects");
|
|
60
60
|
const vba_access_object_name_1 = require("./vba-access-object-name");
|
|
61
61
|
const tree_sitter_helpers_1 = require("../extraction/tree-sitter-helpers");
|
|
62
|
+
const filesystem_statements_1 = require("../extraction/vba/filesystem-statements");
|
|
62
63
|
/** Node kinds that can declare supertypes (extends/implements). */
|
|
63
64
|
const SUPERTYPE_BEARING_KINDS = new Set([
|
|
64
65
|
'class', 'struct', 'interface', 'trait', 'protocol', 'enum',
|
|
@@ -755,6 +756,11 @@ class ReferenceResolver {
|
|
|
755
756
|
* Resolve a single reference
|
|
756
757
|
*/
|
|
757
758
|
resolveOne(ref) {
|
|
759
|
+
// Exact VBA filesystem statements are runtime syntax, even when a project
|
|
760
|
+
// declares a same-named Kill/Open/Close procedure. Never offer these refs
|
|
761
|
+
// to normal symbol matching; persistence classifies the same exact shape.
|
|
762
|
+
if ((0, filesystem_statements_1.isExactVbaFilesystemStatementReference)(ref))
|
|
763
|
+
return null;
|
|
758
764
|
// Skip built-in/external references
|
|
759
765
|
if (this.isBuiltInOrExternal(ref)) {
|
|
760
766
|
return null;
|
|
@@ -773,6 +779,19 @@ class ReferenceResolver {
|
|
|
773
779
|
if (ref.metadata?.synthesizedBy === 'vba-me-control' && ref.metadata?.siblingPath) {
|
|
774
780
|
return (0, name_matcher_1.matchVbaMeControl)(ref, this.context);
|
|
775
781
|
}
|
|
782
|
+
// Issue #251: module-level variable reads/writes are file-scoped for
|
|
783
|
+
// the same reason. A miss must stay a miss rather than binding some
|
|
784
|
+
// other module's identically-named private variable.
|
|
785
|
+
if (ref.metadata?.synthesizedBy === 'vba-module-var') {
|
|
786
|
+
return (0, name_matcher_1.matchVbaModuleVariable)(ref, this.context);
|
|
787
|
+
}
|
|
788
|
+
// Issue #253: a saved-query name binds to a `query` node or to nothing.
|
|
789
|
+
// No fallthrough: a miss must stay a `failed` reference rather than
|
|
790
|
+
// becoming a fabricated table placeholder or binding some same-named
|
|
791
|
+
// class, which is the confidently-wrong outcome this gate exists to stop.
|
|
792
|
+
if (ref.metadata?.synthesizedBy === 'vba-query-name') {
|
|
793
|
+
return (0, name_matcher_1.matchVbaQueryName)(ref, this.context);
|
|
794
|
+
}
|
|
776
795
|
// CFML component paths in inheritance (#1152): `extends="coldbox.system.web.
|
|
777
796
|
// Controller"` names the supertype by its dot-separated path (or `extends=
|
|
778
797
|
// "../base"` by relative file path) — the graph indexes the class under its
|
|
@@ -1055,11 +1074,34 @@ class ReferenceResolver {
|
|
|
1055
1074
|
eventName: ref.original.metadata?.eventName,
|
|
1056
1075
|
}
|
|
1057
1076
|
: {}),
|
|
1077
|
+
// Issue #251: keep the read/write direction on the resolved
|
|
1078
|
+
// edge so "who WRITES this global" stays answerable after
|
|
1079
|
+
// resolution, the same way the control sweep's `access` does.
|
|
1080
|
+
...(ref.original.metadata?.synthesizedBy === 'vba-module-var'
|
|
1081
|
+
? {
|
|
1082
|
+
synthesizedBy: 'vba-module-var',
|
|
1083
|
+
access: ref.original.metadata.access,
|
|
1084
|
+
// Issue #261: and keep the error-channel flag, so the
|
|
1085
|
+
// propagation chain stays identifiable AFTER resolution —
|
|
1086
|
+
// an edge that lost it would leave the answer to "how does
|
|
1087
|
+
// this error reach the user" only in the unresolved table.
|
|
1088
|
+
// Absent (never `false`) when this is ordinary module state.
|
|
1089
|
+
...(ref.original.metadata.errorChannel
|
|
1090
|
+
? { errorChannel: true }
|
|
1091
|
+
: {}),
|
|
1092
|
+
}
|
|
1093
|
+
: {}),
|
|
1058
1094
|
...(ref.original.metadata?.synthesizedBy === 'vba-me-control'
|
|
1059
1095
|
? {
|
|
1060
1096
|
synthesizedBy: 'vba-me-control',
|
|
1061
1097
|
siblingPath: ref.original.metadata.siblingPath,
|
|
1062
1098
|
access: ref.original.metadata.access,
|
|
1099
|
+
// Issue #249: only set when the code-behind's filename and
|
|
1100
|
+
// its `Attribute VB_Name` disagree, so the resulting edge
|
|
1101
|
+
// says why it bound instead of hiding the mismatch.
|
|
1102
|
+
...(ref.original.metadata.bindingSource
|
|
1103
|
+
? { bindingSource: ref.original.metadata.bindingSource }
|
|
1104
|
+
: {}),
|
|
1063
1105
|
}
|
|
1064
1106
|
: {}),
|
|
1065
1107
|
},
|
|
@@ -2007,8 +2049,17 @@ class ReferenceResolver {
|
|
|
2007
2049
|
* (enum, class, interface, struct, type_alias). Exactly one match →
|
|
2008
2050
|
* repoint; zero or 2+ → decline (leave the stub as-is).
|
|
2009
2051
|
*
|
|
2010
|
-
* Duplicate `(source, target,
|
|
2011
|
-
*
|
|
2052
|
+
* Duplicate `(source, target, kind)` rows after repointing are collapsed the
|
|
2053
|
+
* same way `resolveVbaCallStubs` handles F1 duplicates.
|
|
2054
|
+
*
|
|
2055
|
+
* Issue #257: `type_of` edges are repointed alongside `references` ones.
|
|
2056
|
+
* They share the stub by construction (`emitTypeOf` and `emitReference` both
|
|
2057
|
+
* go through `ensureSynthTypeNode`), and the stub is DELETED at the end of
|
|
2058
|
+
* each iteration — with `ON DELETE CASCADE` on both endpoint columns, an
|
|
2059
|
+
* un-repointed `type_of` edge would be silently destroyed rather than
|
|
2060
|
+
* resolved. The de-duplication key carries the edge kind so a module's
|
|
2061
|
+
* `references` edge and its parameter's `type_of` edge onto the same type
|
|
2062
|
+
* cannot collapse into each other.
|
|
2012
2063
|
*/
|
|
2013
2064
|
resolveVbaReferenceStubs() {
|
|
2014
2065
|
const stubs = this.queries.getVbaReferenceStubs();
|
|
@@ -2029,13 +2080,16 @@ class ReferenceResolver {
|
|
|
2029
2080
|
if (candidates.length !== 1)
|
|
2030
2081
|
continue; // 0 or 2+ → decline
|
|
2031
2082
|
const real = candidates[0];
|
|
2032
|
-
const incoming = this.queries.getIncomingEdges(stub.id, [
|
|
2083
|
+
const incoming = this.queries.getIncomingEdges(stub.id, [
|
|
2084
|
+
'references',
|
|
2085
|
+
'type_of',
|
|
2086
|
+
]);
|
|
2033
2087
|
for (const edge of incoming) {
|
|
2034
2088
|
if (edge.id === undefined)
|
|
2035
2089
|
continue;
|
|
2036
|
-
const tupleKey = `${edge.source}\0${real.id}`;
|
|
2090
|
+
const tupleKey = `${edge.source}\0${real.id}\0${edge.kind}`;
|
|
2037
2091
|
if (seenTuples.has(tupleKey) ||
|
|
2038
|
-
this.queries.edgeExists(edge.source, real.id,
|
|
2092
|
+
this.queries.edgeExists(edge.source, real.id, edge.kind)) {
|
|
2039
2093
|
this.queries.deleteEdgeById(edge.id);
|
|
2040
2094
|
continue;
|
|
2041
2095
|
}
|
|
@@ -2049,6 +2103,107 @@ class ReferenceResolver {
|
|
|
2049
2103
|
}
|
|
2050
2104
|
return repointedCount;
|
|
2051
2105
|
}
|
|
2106
|
+
/**
|
|
2107
|
+
* Promote Access ERD table declarations to canonical and repoint the
|
|
2108
|
+
* SQL-derived placeholders onto them (#257, half B).
|
|
2109
|
+
*
|
|
2110
|
+
* Two extractors already synthesize a `class` placeholder for every table
|
|
2111
|
+
* name they see in SQL text (`vba-sql-table` from in-code SQL,
|
|
2112
|
+
* `sql-query-table` from a saved query), each keyed on the REFERENCING file.
|
|
2113
|
+
* `AccessErdExtractor` emits its own table node keyed on the ERD document.
|
|
2114
|
+
* Left alone, `TbAnexos` from the ERD and `TbAnexos` from a `SELECT` in a
|
|
2115
|
+
* `.cls` are two unrelated nodes — the fields land on one, the references on
|
|
2116
|
+
* the other, and the whole feature buys nothing.
|
|
2117
|
+
*
|
|
2118
|
+
* This pass is the convergence step, and it reuses the mechanism
|
|
2119
|
+
* `resolveVbaCallStubs` already proved: repoint the incoming edges onto the
|
|
2120
|
+
* canonical node, collapse would-be duplicates, delete the emptied
|
|
2121
|
+
* placeholder, and stamp `metadata.repointDecision` on every edge it touched
|
|
2122
|
+
* so the outcome is auditable (same vocabulary as `docs/vba-stub-repoint-
|
|
2123
|
+
* decision.md`).
|
|
2124
|
+
*
|
|
2125
|
+
* Three deliberate declines:
|
|
2126
|
+
* - **No ERD declares this name** → leave the placeholder exactly as it is.
|
|
2127
|
+
* That is the no-ERD project, and its behavior must not change at all.
|
|
2128
|
+
* - **Two ERD files declare the same name** (two backends, same table) →
|
|
2129
|
+
* `declined-ambiguous`. Repoint nothing and keep both declarations; which
|
|
2130
|
+
* backend a bare `SELECT` meant is not something to guess.
|
|
2131
|
+
* - **The placeholder still has other edges** → keep the node. Only a
|
|
2132
|
+
* placeholder whose every edge has moved is deleted.
|
|
2133
|
+
*
|
|
2134
|
+
* Runs BEFORE `resolveVbaReferenceStubs` so this explicit, decision-stamping
|
|
2135
|
+
* pass owns the outcome rather than the generic stub resolver silently
|
|
2136
|
+
* arriving at half of it. Idempotent: a repointed placeholder is gone, so a
|
|
2137
|
+
* second pass finds nothing to do.
|
|
2138
|
+
*
|
|
2139
|
+
* @returns the number of edges repointed onto an ERD table node.
|
|
2140
|
+
*/
|
|
2141
|
+
resolveAccessErdTableNodes() {
|
|
2142
|
+
const erdTables = this.queries.getAccessErdTableNodes();
|
|
2143
|
+
if (erdTables.length === 0)
|
|
2144
|
+
return 0; // no ERD in this project — no-op
|
|
2145
|
+
// name (lower-cased) → the single ERD declaration, or `null` when two or
|
|
2146
|
+
// more ERD documents declare that name.
|
|
2147
|
+
const byName = new Map();
|
|
2148
|
+
for (const table of erdTables) {
|
|
2149
|
+
const key = table.name.toLowerCase();
|
|
2150
|
+
byName.set(key, byName.has(key) ? null : table);
|
|
2151
|
+
}
|
|
2152
|
+
const erdIds = new Set(erdTables.map((t) => t.id));
|
|
2153
|
+
const seenTuples = new Set();
|
|
2154
|
+
let repointedCount = 0;
|
|
2155
|
+
for (const placeholder of this.queries.getSqlTablePlaceholders()) {
|
|
2156
|
+
if (erdIds.has(placeholder.id))
|
|
2157
|
+
continue; // an ERD node is never a placeholder
|
|
2158
|
+
const key = placeholder.name.toLowerCase();
|
|
2159
|
+
if (!byName.has(key))
|
|
2160
|
+
continue; // no declaration for this table — unchanged
|
|
2161
|
+
const target = byName.get(key) ?? null;
|
|
2162
|
+
// Only the SQL-derived table references move. A placeholder may also be
|
|
2163
|
+
// the target of an unrelated `references` edge (a same-named VBA type,
|
|
2164
|
+
// say); repointing that onto a table would be a confident wrong answer.
|
|
2165
|
+
const incoming = this.queries
|
|
2166
|
+
.getIncomingEdges(placeholder.id, ['references'])
|
|
2167
|
+
.filter((e) => {
|
|
2168
|
+
const by = e.metadata?.synthesizedBy;
|
|
2169
|
+
return by === 'vba-sql-table' || by === 'sql-query-table';
|
|
2170
|
+
});
|
|
2171
|
+
if (!target) {
|
|
2172
|
+
// Ambiguous: stamp the decision, move nothing, keep every node.
|
|
2173
|
+
for (const edge of incoming) {
|
|
2174
|
+
if (edge.id === undefined)
|
|
2175
|
+
continue;
|
|
2176
|
+
const meta = { ...(edge.metadata ?? {}), repointDecision: 'declined-ambiguous' };
|
|
2177
|
+
this.queries.repointEdgeTarget(edge.id, edge.target, JSON.stringify(meta));
|
|
2178
|
+
}
|
|
2179
|
+
continue;
|
|
2180
|
+
}
|
|
2181
|
+
for (const edge of incoming) {
|
|
2182
|
+
if (edge.id === undefined)
|
|
2183
|
+
continue;
|
|
2184
|
+
const tupleKey = `${edge.source}\0${target.id}`;
|
|
2185
|
+
if (seenTuples.has(tupleKey) ||
|
|
2186
|
+
this.queries.edgeExists(edge.source, target.id, 'references')) {
|
|
2187
|
+
// The same module referencing the table twice would otherwise leave
|
|
2188
|
+
// two identical rows and double-count the caller.
|
|
2189
|
+
this.queries.deleteEdgeById(edge.id);
|
|
2190
|
+
continue;
|
|
2191
|
+
}
|
|
2192
|
+
seenTuples.add(tupleKey);
|
|
2193
|
+
const meta = { ...(edge.metadata ?? {}), repointDecision: 'reponted-to-real' };
|
|
2194
|
+
this.queries.repointEdgeTarget(edge.id, target.id, JSON.stringify(meta));
|
|
2195
|
+
repointedCount++;
|
|
2196
|
+
}
|
|
2197
|
+
// Delete the placeholder only once NOTHING points at it and it points at
|
|
2198
|
+
// nothing — it carries only a name, so an emptied one is pure noise, but
|
|
2199
|
+
// a still-connected one is somebody else's node.
|
|
2200
|
+
if (this.queries.getIncomingEdges(placeholder.id).length === 0 &&
|
|
2201
|
+
this.queries.getOutgoingEdges(placeholder.id).length === 0) {
|
|
2202
|
+
this.queries.deleteNode(placeholder.id);
|
|
2203
|
+
}
|
|
2204
|
+
}
|
|
2205
|
+
return repointedCount;
|
|
2206
|
+
}
|
|
2052
2207
|
/**
|
|
2053
2208
|
* Resolve a single VBA call-stub node to its real target, or `null` when
|
|
2054
2209
|
* unresolvable/ambiguous. See `resolveVbaCallStubs` for the two-step
|