@aroman22/codegraph-vba-darwin-arm64 1.9.0 → 1.11.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 (117) hide show
  1. package/lib/dist/db/queries.d.ts +39 -0
  2. package/lib/dist/db/queries.d.ts.map +1 -1
  3. package/lib/dist/db/queries.js +45 -0
  4. package/lib/dist/db/queries.js.map +1 -1
  5. package/lib/dist/extraction/frameworks/dysflow-export.d.ts +37 -0
  6. package/lib/dist/extraction/frameworks/dysflow-export.d.ts.map +1 -0
  7. package/lib/dist/extraction/frameworks/dysflow-export.js +121 -0
  8. package/lib/dist/extraction/frameworks/dysflow-export.js.map +1 -0
  9. package/lib/dist/extraction/frameworks/index.d.ts +20 -0
  10. package/lib/dist/extraction/frameworks/index.d.ts.map +1 -0
  11. package/lib/dist/extraction/frameworks/index.js +24 -0
  12. package/lib/dist/extraction/frameworks/index.js.map +1 -0
  13. package/lib/dist/extraction/index.d.ts.map +1 -1
  14. package/lib/dist/extraction/index.js +25 -5
  15. package/lib/dist/extraction/index.js.map +1 -1
  16. package/lib/dist/extraction/parse-pool.d.ts +10 -0
  17. package/lib/dist/extraction/parse-pool.d.ts.map +1 -1
  18. package/lib/dist/extraction/parse-pool.js +2 -0
  19. package/lib/dist/extraction/parse-pool.js.map +1 -1
  20. package/lib/dist/extraction/parse-worker.js +6 -2
  21. package/lib/dist/extraction/parse-worker.js.map +1 -1
  22. package/lib/dist/extraction/tree-sitter.d.ts +9 -1
  23. package/lib/dist/extraction/tree-sitter.d.ts.map +1 -1
  24. package/lib/dist/extraction/tree-sitter.js +58 -5
  25. package/lib/dist/extraction/tree-sitter.js.map +1 -1
  26. package/lib/dist/extraction/vba/call-sweep.d.ts +43 -0
  27. package/lib/dist/extraction/vba/call-sweep.d.ts.map +1 -1
  28. package/lib/dist/extraction/vba/call-sweep.js +155 -66
  29. package/lib/dist/extraction/vba/call-sweep.js.map +1 -1
  30. package/lib/dist/extraction/vba/calls.d.ts.map +1 -1
  31. package/lib/dist/extraction/vba/calls.js +6 -0
  32. package/lib/dist/extraction/vba/calls.js.map +1 -1
  33. package/lib/dist/extraction/vba/context.d.ts +109 -1
  34. package/lib/dist/extraction/vba/context.d.ts.map +1 -1
  35. package/lib/dist/extraction/vba/context.js +155 -2
  36. package/lib/dist/extraction/vba/context.js.map +1 -1
  37. package/lib/dist/extraction/vba/controls.d.ts.map +1 -1
  38. package/lib/dist/extraction/vba/controls.js +77 -0
  39. package/lib/dist/extraction/vba/controls.js.map +1 -1
  40. package/lib/dist/extraction/vba/declarations.d.ts +38 -2
  41. package/lib/dist/extraction/vba/declarations.d.ts.map +1 -1
  42. package/lib/dist/extraction/vba/declarations.js +217 -129
  43. package/lib/dist/extraction/vba/declarations.js.map +1 -1
  44. package/lib/dist/extraction/vba/dims.d.ts +35 -1
  45. package/lib/dist/extraction/vba/dims.d.ts.map +1 -1
  46. package/lib/dist/extraction/vba/dims.js +185 -109
  47. package/lib/dist/extraction/vba/dims.js.map +1 -1
  48. package/lib/dist/extraction/vba/enums-consts.d.ts +47 -7
  49. package/lib/dist/extraction/vba/enums-consts.d.ts.map +1 -1
  50. package/lib/dist/extraction/vba/enums-consts.js +212 -139
  51. package/lib/dist/extraction/vba/enums-consts.js.map +1 -1
  52. package/lib/dist/extraction/vba/event-synth.d.ts +3 -0
  53. package/lib/dist/extraction/vba/event-synth.d.ts.map +1 -0
  54. package/lib/dist/extraction/vba/event-synth.js +176 -0
  55. package/lib/dist/extraction/vba/event-synth.js.map +1 -0
  56. package/lib/dist/extraction/vba/events.d.ts +16 -0
  57. package/lib/dist/extraction/vba/events.d.ts.map +1 -0
  58. package/lib/dist/extraction/vba/events.js +90 -0
  59. package/lib/dist/extraction/vba/events.js.map +1 -0
  60. package/lib/dist/extraction/vba/implements.d.ts +16 -0
  61. package/lib/dist/extraction/vba/implements.d.ts.map +1 -1
  62. package/lib/dist/extraction/vba/implements.js +43 -12
  63. package/lib/dist/extraction/vba/implements.js.map +1 -1
  64. package/lib/dist/extraction/vba/procedures.d.ts +20 -0
  65. package/lib/dist/extraction/vba/procedures.d.ts.map +1 -1
  66. package/lib/dist/extraction/vba/procedures.js +48 -13
  67. package/lib/dist/extraction/vba/procedures.js.map +1 -1
  68. package/lib/dist/extraction/vba/rules.d.ts +125 -0
  69. package/lib/dist/extraction/vba/rules.d.ts.map +1 -0
  70. package/lib/dist/extraction/vba/rules.js +49 -0
  71. package/lib/dist/extraction/vba/rules.js.map +1 -0
  72. package/lib/dist/extraction/vba/text-utils.d.ts +0 -6
  73. package/lib/dist/extraction/vba/text-utils.d.ts.map +1 -1
  74. package/lib/dist/extraction/vba/text-utils.js +9 -6
  75. package/lib/dist/extraction/vba/text-utils.js.map +1 -1
  76. package/lib/dist/extraction/vba-extractor.d.ts +77 -1
  77. package/lib/dist/extraction/vba-extractor.d.ts.map +1 -1
  78. package/lib/dist/extraction/vba-extractor.js +177 -15
  79. package/lib/dist/extraction/vba-extractor.js.map +1 -1
  80. package/lib/dist/extraction/vba-form-extractor.d.ts +26 -114
  81. package/lib/dist/extraction/vba-form-extractor.d.ts.map +1 -1
  82. package/lib/dist/extraction/vba-form-extractor.js +293 -297
  83. package/lib/dist/extraction/vba-form-extractor.js.map +1 -1
  84. package/lib/dist/extraction/vba-preprocess.d.ts +11 -1
  85. package/lib/dist/extraction/vba-preprocess.d.ts.map +1 -1
  86. package/lib/dist/extraction/vba-preprocess.js +45 -16
  87. package/lib/dist/extraction/vba-preprocess.js.map +1 -1
  88. package/lib/dist/extraction/vba-timing.d.ts +38 -0
  89. package/lib/dist/extraction/vba-timing.d.ts.map +1 -0
  90. package/lib/dist/extraction/vba-timing.js +203 -0
  91. package/lib/dist/extraction/vba-timing.js.map +1 -0
  92. package/lib/dist/index.d.ts.map +1 -1
  93. package/lib/dist/index.js +26 -0
  94. package/lib/dist/index.js.map +1 -1
  95. package/lib/dist/project-config.d.ts +31 -0
  96. package/lib/dist/project-config.d.ts.map +1 -1
  97. package/lib/dist/project-config.js +75 -22
  98. package/lib/dist/project-config.js.map +1 -1
  99. package/lib/dist/resolution/frameworks/index.d.ts.map +1 -1
  100. package/lib/dist/resolution/frameworks/index.js +7 -0
  101. package/lib/dist/resolution/frameworks/index.js.map +1 -1
  102. package/lib/dist/resolution/index.d.ts +7 -0
  103. package/lib/dist/resolution/index.d.ts.map +1 -1
  104. package/lib/dist/resolution/index.js +155 -11
  105. package/lib/dist/resolution/index.js.map +1 -1
  106. package/lib/dist/resolution/name-matcher.d.ts +6 -0
  107. package/lib/dist/resolution/name-matcher.d.ts.map +1 -1
  108. package/lib/dist/resolution/name-matcher.js +81 -0
  109. package/lib/dist/resolution/name-matcher.js.map +1 -1
  110. package/lib/dist/resolution/vba-access-object-name.d.ts +7 -0
  111. package/lib/dist/resolution/vba-access-object-name.d.ts.map +1 -0
  112. package/lib/dist/resolution/vba-access-object-name.js +15 -0
  113. package/lib/dist/resolution/vba-access-object-name.js.map +1 -0
  114. package/lib/node_modules/.modules.yaml +1 -1
  115. package/lib/node_modules/.pnpm-workspace-state-v1.json +1 -1
  116. package/lib/package.json +2 -1
  117. package/package.json +1 -1
@@ -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,11 +1,87 @@
1
1
  import { ExtractionResult } from '../types';
2
+ import type { VbaExtractionRule } from './vba/rules';
3
+ /**
4
+ * Issue #152: per-file fanout cap for `RaiseEvent <EventName>` edges. An
5
+ * event raised from more than this many sites in a single file is
6
+ * flagged `metadata.highFanout: true` and ALL `raises-event` edges to it
7
+ * are dropped — the gate suppresses graph noise from events with generic
8
+ * names (`Change`, `Click`, `AfterUpdate`, …) that would otherwise
9
+ * produce hundreds of edges per file. Mirrors the upstream
10
+ * `EVENT_FANOUT_CAP` discipline in
11
+ * `src/resolution/callback-synthesizer.ts:43`. Configurable via
12
+ * `codegraph.json` → `vba.maxRaiseFanout`. Pass `Number.POSITIVE_INFINITY`
13
+ * (or any value `>=` the largest expected count) to disable the gate.
14
+ */
15
+ export declare const DEFAULT_MAX_RAISE_FANOUT = 50;
16
+ /**
17
+ * Issue #153: the orchestrator's aggregated view of every VBA
18
+ * classifier's declarative `RULES` table. Each entry is the
19
+ * `readonly VbaExtractionRule[]` constant exported by the
20
+ * corresponding classifier file. Exposed at module scope so:
21
+ *
22
+ * 1. Tests can pin the table shape and assert that the orchestrator
23
+ * still references each table (a deleted import would
24
+ * accidentally break a whole concern and the test would catch
25
+ * the missing reference).
26
+ * 2. Tooling can introspect every rule the orchestrator
27
+ * dispatches — useful for `codegraph stats` style UIs that
28
+ * show "what kinds of VBA symbols does codegraph know about".
29
+ * 3. The `validateVbaRuleTables` invariant runs on this aggregate
30
+ * so a refactor that empties one concern's `RULES` array
31
+ * (e.g. by deleting the `defineRule` calls during a partial
32
+ * migration) fails loudly at module load instead of silently
33
+ * dropping a whole concern.
34
+ *
35
+ * The keys are the FILE BASENAMES of the classifier modules (no
36
+ * `.ts` extension, kebab-case) — the same naming convention the
37
+ * per-classifier export comments use. Stable identifier for
38
+ * `validateVbaRuleTables` consumers.
39
+ */
40
+ export declare const VBA_RULE_TABLES: Readonly<Record<string, readonly VbaExtractionRule[]>>;
41
+ /**
42
+ * Issue #153: validate that every per-concern rule table the
43
+ * orchestrator dispatches is non-empty. Called once at module load
44
+ * (see the IIFE at the bottom of this file) so an accidentally-
45
+ * emptied `RULES` array fails loudly when the extractor is first
46
+ * imported, NOT at the first `extract()` call.
47
+ *
48
+ * The result is `{ ok, empty }`:
49
+ * - `ok: true` — every required table has at least one rule.
50
+ * - `ok: false` — at least one table is empty; `empty` lists the
51
+ * concern keys that need attention.
52
+ *
53
+ * The function accepts an optional `tables` argument so the unit
54
+ * test in `__tests__/extraction-vba-rule-table.test.ts` can verify
55
+ * the validator's contract independently of the live data.
56
+ */
57
+ export declare function validateVbaRuleTables(tables?: Readonly<Record<string, readonly VbaExtractionRule[]>>): {
58
+ ok: boolean;
59
+ empty: string[];
60
+ };
2
61
  export declare class VbaExtractor {
3
62
  private filePath;
4
63
  private source;
5
64
  private ctx;
6
65
  private vbaTargets?;
7
- constructor(filePath: string, source: string, vbaTargets?: Record<string, boolean>);
66
+ /**
67
+ * Issue #152: per-file fanout cap for `RaiseEvent <EventName>` edges.
68
+ * When a single event is raised more than this many times in one file,
69
+ * the event node is flagged `metadata.highFanout: true` and ALL
70
+ * `raises-event` edges to it are dropped. Pass `undefined` to disable
71
+ * the gate (the legacy, uncapped behaviour). The 50 default lives in
72
+ * the orchestrator: callers that don't pass a value get the default.
73
+ */
74
+ private maxRaiseFanout;
75
+ constructor(filePath: string, source: string, vbaTargets?: Record<string, boolean>, maxRaiseFanout?: number);
8
76
  extract(): ExtractionResult;
77
+ /**
78
+ * Issue #156: emit the per-file timing block (mode `1` or `2`) and
79
+ * — in mode `2` — append the running aggregate. No-op when
80
+ * `mode === 'off'`. In aggregate mode we flush after every extract()
81
+ * call so the line is visible per-file even without a graceful
82
+ * shutdown (crash-on-file-3 still shows files 1-3 in the aggregate).
83
+ */
84
+ private maybeEmitTimings;
9
85
  private result;
10
86
  private isFormOrReportFile;
11
87
  private createFileNode;
@@ -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;AAelD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,UAAU,CAAC,CAA0B;gBAEjC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOlF,OAAO,IAAI,gBAAgB;IAgI3B,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;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;AAkBD,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"}
@@ -33,7 +33,8 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.VbaExtractor = void 0;
36
+ exports.VbaExtractor = exports.VBA_RULE_TABLES = exports.DEFAULT_MAX_RAISE_FANOUT = void 0;
37
+ exports.validateVbaRuleTables = validateVbaRuleTables;
37
38
  /**
38
39
  * VbaExtractor — regex extractor for `.bas` / `.cls` / `.frm` / `.dsr` source.
39
40
  *
@@ -82,33 +83,160 @@ const dims_1 = require("./vba/dims");
82
83
  const enums_consts_1 = require("./vba/enums-consts");
83
84
  const implements_1 = require("./vba/implements");
84
85
  const call_sweep_1 = require("./vba/call-sweep");
86
+ const vba_timing_1 = require("./vba-timing");
87
+ /**
88
+ * Issue #152: per-file fanout cap for `RaiseEvent <EventName>` edges. An
89
+ * event raised from more than this many sites in a single file is
90
+ * flagged `metadata.highFanout: true` and ALL `raises-event` edges to it
91
+ * are dropped — the gate suppresses graph noise from events with generic
92
+ * names (`Change`, `Click`, `AfterUpdate`, …) that would otherwise
93
+ * produce hundreds of edges per file. Mirrors the upstream
94
+ * `EVENT_FANOUT_CAP` discipline in
95
+ * `src/resolution/callback-synthesizer.ts:43`. Configurable via
96
+ * `codegraph.json` → `vba.maxRaiseFanout`. Pass `Number.POSITIVE_INFINITY`
97
+ * (or any value `>=` the largest expected count) to disable the gate.
98
+ */
99
+ exports.DEFAULT_MAX_RAISE_FANOUT = 50;
100
+ /**
101
+ * Issue #153: the orchestrator's aggregated view of every VBA
102
+ * classifier's declarative `RULES` table. Each entry is the
103
+ * `readonly VbaExtractionRule[]` constant exported by the
104
+ * corresponding classifier file. Exposed at module scope so:
105
+ *
106
+ * 1. Tests can pin the table shape and assert that the orchestrator
107
+ * still references each table (a deleted import would
108
+ * accidentally break a whole concern and the test would catch
109
+ * the missing reference).
110
+ * 2. Tooling can introspect every rule the orchestrator
111
+ * dispatches — useful for `codegraph stats` style UIs that
112
+ * show "what kinds of VBA symbols does codegraph know about".
113
+ * 3. The `validateVbaRuleTables` invariant runs on this aggregate
114
+ * so a refactor that empties one concern's `RULES` array
115
+ * (e.g. by deleting the `defineRule` calls during a partial
116
+ * migration) fails loudly at module load instead of silently
117
+ * dropping a whole concern.
118
+ *
119
+ * The keys are the FILE BASENAMES of the classifier modules (no
120
+ * `.ts` extension, kebab-case) — the same naming convention the
121
+ * per-classifier export comments use. Stable identifier for
122
+ * `validateVbaRuleTables` consumers.
123
+ */
124
+ exports.VBA_RULE_TABLES = {
125
+ implements: implements_1.RULES,
126
+ procedures: procedures_1.RULES,
127
+ declarations: declarations_1.RULES,
128
+ dims: dims_1.RULES,
129
+ 'enums-consts': enums_consts_1.RULES,
130
+ 'call-sweep': call_sweep_1.RULES,
131
+ };
132
+ /**
133
+ * Issue #153: the canonical list of concern keys `VBA_RULE_TABLES`
134
+ * must contain. Order matches the per-line dispatch order in
135
+ * `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.
141
+ */
142
+ const REQUIRED_DISPATCH_TABLES = [
143
+ 'declarations',
144
+ 'implements',
145
+ 'dims',
146
+ 'enums-consts',
147
+ 'call-sweep',
148
+ ];
149
+ /**
150
+ * Issue #153: validate that every per-concern rule table the
151
+ * orchestrator dispatches is non-empty. Called once at module load
152
+ * (see the IIFE at the bottom of this file) so an accidentally-
153
+ * emptied `RULES` array fails loudly when the extractor is first
154
+ * imported, NOT at the first `extract()` call.
155
+ *
156
+ * The result is `{ ok, empty }`:
157
+ * - `ok: true` — every required table has at least one rule.
158
+ * - `ok: false` — at least one table is empty; `empty` lists the
159
+ * concern keys that need attention.
160
+ *
161
+ * The function accepts an optional `tables` argument so the unit
162
+ * test in `__tests__/extraction-vba-rule-table.test.ts` can verify
163
+ * the validator's contract independently of the live data.
164
+ */
165
+ function validateVbaRuleTables(tables = exports.VBA_RULE_TABLES) {
166
+ const empty = [];
167
+ for (const key of REQUIRED_DISPATCH_TABLES) {
168
+ const table = tables[key];
169
+ if (!table || table.length === 0)
170
+ empty.push(key);
171
+ }
172
+ return { ok: empty.length === 0, empty };
173
+ }
174
+ // Run the validator once at module load. The IIFE never throws — it
175
+ // just emits a console.error so the failure is visible in CI logs
176
+ // without aborting the import. The unit test
177
+ // `__tests__/extraction-vba-rule-table.test.ts` pins the
178
+ // `validateVbaRuleTables` contract independently.
179
+ (function runRuleTableInvariant() {
180
+ const result = validateVbaRuleTables();
181
+ if (!result.ok) {
182
+ // eslint-disable-next-line no-console
183
+ console.error(`[vba-extractor] VBA_RULE_TABLES is missing rules for: ${result.empty.join(', ')}. ` +
184
+ `Each concern's RULES array must be non-empty.`);
185
+ }
186
+ })();
85
187
  class VbaExtractor {
86
188
  filePath;
87
189
  source;
88
190
  ctx;
89
191
  vbaTargets;
90
- constructor(filePath, source, vbaTargets) {
192
+ /**
193
+ * Issue #152: per-file fanout cap for `RaiseEvent <EventName>` edges.
194
+ * When a single event is raised more than this many times in one file,
195
+ * the event node is flagged `metadata.highFanout: true` and ALL
196
+ * `raises-event` edges to it are dropped. Pass `undefined` to disable
197
+ * the gate (the legacy, uncapped behaviour). The 50 default lives in
198
+ * the orchestrator: callers that don't pass a value get the default.
199
+ */
200
+ maxRaiseFanout;
201
+ constructor(filePath, source, vbaTargets, maxRaiseFanout = exports.DEFAULT_MAX_RAISE_FANOUT) {
91
202
  this.filePath = filePath;
92
203
  this.source = source;
93
204
  this.vbaTargets = vbaTargets;
205
+ this.maxRaiseFanout = maxRaiseFanout;
94
206
  this.ctx = new context_1.VbaExtractorContext(filePath);
95
207
  }
96
208
  extract() {
97
209
  const startTime = Date.now();
210
+ // Issue #156: lazy-enable the timing instrumentation ONLY when the
211
+ // env var is set. The Maps stay `null` otherwise so the default path
212
+ // (every real user's `codegraph index` run) pays no Map-allocation
213
+ // cost and no `recordStage` call does any real work.
214
+ const timingMode = (0, vba_timing_1.readTimingMode)();
215
+ if (timingMode !== 'off') {
216
+ this.ctx.ensureTimings();
217
+ }
98
218
  try {
99
219
  // REQ-CODE-9: hand form/report files off to VbaFormExtractor. If
100
220
  // somehow routed here, emit just a file node and return.
101
221
  if (this.isFormOrReportFile()) {
102
222
  this.ctx.nodes.push(this.createFileNode());
103
- return this.result(startTime);
223
+ const result = this.result(startTime);
224
+ this.maybeEmitTimings(result, timingMode);
225
+ return result;
104
226
  }
105
227
  // Pre-process pipeline (per design): strip comments first to prevent
106
228
  // comments from blocking or causing false line continuations, then join
107
229
  // continuations, and blank inactive conditional-compilation branches.
108
230
  // Line count is preserved by all stages.
109
- const cleanComments = (0, vba_preprocess_1.stripVbaComments)(this.source);
110
- const joined = (0, vba_preprocess_1.joinLineContinuations)(cleanComments);
111
- const uncommented = (0, vba_preprocess_1.preprocessConditionalCompilation)(joined, this.vbaTargets);
231
+ //
232
+ // Issue #156: each stage is wrapped in a timing block that records
233
+ // into the context's `timings` Map. `preprocessConditionalCompilation`
234
+ // itself contains an internal lexer+parser pair; we sum that into a
235
+ // single `preprocess.cc.lexer+parser` stage via a thin wrapper that
236
+ // re-uses the same `withStage` helper.
237
+ const cleanComments = (0, vba_timing_1.withStage)(this.ctx, 'preprocess.stripVbaComments', () => (0, vba_preprocess_1.stripVbaComments)(this.source));
238
+ const joined = (0, vba_timing_1.withStage)(this.ctx, 'preprocess.joinLineContinuations', () => (0, vba_preprocess_1.joinLineContinuations)(cleanComments));
239
+ const uncommented = (0, vba_timing_1.withStage)(this.ctx, 'preprocess.conditionalCompilation', () => (0, vba_preprocess_1.preprocessConditionalCompilation)(joined, this.vbaTargets, this.ctx.timings));
112
240
  // Create the file node.
113
241
  this.ctx.nodes.push(this.createFileNode());
114
242
  // Resolve the file's "kind" — .cls → class, else module (including .bas
@@ -151,19 +279,33 @@ class VbaExtractor {
151
279
  // Pre-walk: procedures only — populates the same-file function index
152
280
  // (legacy behaviour: `sweepProcedures` ran first so the call sweep
153
281
  // could look up call targets by name).
154
- for (let i = 0; i < lines.length; i++) {
155
- proceduresCls.classifyLine(lines[i] ?? '', i, this.ctx);
156
- }
282
+ (0, vba_timing_1.withStage)(this.ctx, 'walk.procedures', () => {
283
+ for (let i = 0; i < lines.length; i++) {
284
+ (0, vba_timing_1.withClassifier)(this.ctx, proceduresCls, lines[i] ?? '', i);
285
+ }
286
+ });
157
287
  // Main walk: every other classifier sees every line in order.
158
- for (let i = 0; i < lines.length; i++) {
159
- const line = lines[i] ?? '';
160
- for (const c of classifiers) {
161
- c.classifyLine(line, i, this.ctx);
288
+ (0, vba_timing_1.withStage)(this.ctx, 'walk.main', () => {
289
+ for (let i = 0; i < lines.length; i++) {
290
+ const line = lines[i] ?? '';
291
+ for (const c of classifiers) {
292
+ (0, vba_timing_1.withClassifier)(this.ctx, c, line, i);
293
+ }
162
294
  }
163
- }
295
+ });
164
296
  // Finalize (calls-sql flushes proc-end line updates to function nodes).
165
297
  for (const c of classifiers)
166
298
  c.finalize?.(this.ctx);
299
+ // Issue #152: per-file fanout gate for `RaiseEvent <EventName>`
300
+ // edges. Events raised from more than `maxRaiseFanout` sites get
301
+ // the `metadata.highFanout` flag and ALL of their `raises-event`
302
+ // edges dropped. The gate is a no-op when `maxRaiseFanout` is
303
+ // undefined (the legacy, uncapped behaviour) and runs BEFORE the
304
+ // module/class node is created so `pendingModuleOrClassSource`
305
+ // re-attribution never sees the dropped edges.
306
+ if (this.maxRaiseFanout !== undefined) {
307
+ this.ctx.applyRaiseFanoutGate(this.maxRaiseFanout);
308
+ }
167
309
  const hasAnySymbols = proceduresCls.count > 0 || classifiers.some((c) => c.count > 0);
168
310
  const procs = this.ctx.procedures;
169
311
  // Create the module/class node ONLY when the file has actual symbols
@@ -200,11 +342,31 @@ class VbaExtractor {
200
342
  code: 'parse_error',
201
343
  });
202
344
  }
203
- return this.result(startTime);
345
+ const result = this.result(startTime);
346
+ this.maybeEmitTimings(result, timingMode);
347
+ return result;
204
348
  }
205
349
  // ---------------------------------------------------------------------------
206
350
  // Helpers
207
351
  // ---------------------------------------------------------------------------
352
+ /**
353
+ * Issue #156: emit the per-file timing block (mode `1` or `2`) and
354
+ * — in mode `2` — append the running aggregate. No-op when
355
+ * `mode === 'off'`. In aggregate mode we flush after every extract()
356
+ * call so the line is visible per-file even without a graceful
357
+ * shutdown (crash-on-file-3 still shows files 1-3 in the aggregate).
358
+ */
359
+ maybeEmitTimings(_result, mode) {
360
+ if (mode === 'off')
361
+ return;
362
+ if (mode === 'per-file' || mode === 'aggregate') {
363
+ (0, vba_timing_1.emitPerFileTimings)(this.ctx, this.filePath);
364
+ }
365
+ if (mode === 'aggregate') {
366
+ (0, vba_timing_1.recordAggregateTimings)(this.ctx, this.filePath);
367
+ (0, vba_timing_1.flushAggregate)();
368
+ }
369
+ }
208
370
  result(startTime) {
209
371
  return {
210
372
  nodes: this.ctx.nodes,
@@ -1 +1 @@
1
- {"version":3,"file":"vba-extractor.js","sourceRoot":"","sources":["../../src/extraction/vba-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vba-extractor.js","sourceRoot":"","sources":["../../src/extraction/vba-extractor.ts"],"names":[],"mappings":"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"}
@@ -30,15 +30,14 @@ export declare class VbaFormExtractor {
30
30
  private detectVbName;
31
31
  /**
32
32
  * Build the per-file node for a `.form.txt` / `.report.txt` source.
33
- * Emits `kind: 'form-layout'` (B2 hueco 4), replacing the historical
34
- * `kind: 'module'` so consumers can dispatch on a UI-specific kind.
33
+ * Emits `form-layout` for forms and `report-layout` for reports, replacing
34
+ * the historical `module` kind with a UI-specific layout kind.
35
35
  *
36
- * The deterministic id formula `generateNodeId(filePath, 'form-layout',
37
- * name, 1)` is preserved so cross-extractor stubs (e.g. event-handler
38
- * synthesis on the `.cls` side) can produce a matching id when needed
39
- * though the immediate use case is the `module` `form-layout`
40
- * rename. `metadata.containerKind` keeps the historical `'module'`
41
- * label as a back-compat marker; consumers should prefer `node.kind`.
36
+ * The deterministic id formula remains
37
+ * `generateNodeId(filePath, layoutKind, name, 1)`. Report ids intentionally
38
+ * use `report-layout` so real reports agree with DoCmd.OpenReport stubs.
39
+ * `metadata.containerKind` keeps the historical `module` label as a
40
+ * back-compat marker; consumers should prefer `node.kind`.
42
41
  */
43
42
  private createFormLayoutNode;
44
43
  /**
@@ -50,68 +49,20 @@ export declare class VbaFormExtractor {
50
49
  * Name = "txtFoo"
51
50
  * End
52
51
  *
53
- * We do not try to balance `Begin`/`End` blocks each `Begin <Type>` on
54
- * its own line is a control. Form/report files are shallow enough that
55
- * the extra `Begin`/`End` for the form's root block are matched but
56
- * filtered by the control-type blacklist (see below).
52
+ * The block walker balances every `Begin`/`End` pair, including untyped
53
+ * root blocks and non-control Form/Report/Section containers.
57
54
  */
58
55
  private static readonly BEGIN_RE;
59
- /**
60
- * `Name = "..."` attribute line — emits the Access control instance name
61
- * (e.g. `lblTitulo`, `ComandoAltaPM`). Capture group 1 is the name.
62
- * The Dysflow SaveAsText format always wraps the value in double quotes
63
- * — even when the name is a simple identifier — so we anchor on `"…"`
64
- * without trying to handle unquoted forms.
65
- */
66
- private static readonly NAME_RE;
67
- /**
68
- * Control type tokens that are NOT user-visible Access controls and must be
69
- * filtered out so they don't appear as `property` nodes.
70
- *
71
- * - `Form` — the form's own root `Begin Form` / `End` container.
72
- * - `Section` — Access section containers (Header / Detail / Footer).
73
- *
74
- * `Rectangle` and `Image` are real Access controls and must NOT appear here.
75
- */
76
- private static readonly NON_CONTROL_TYPES;
77
- /**
78
- * Maximum scan window for the `Name = "..."` attribute after a
79
- * `Begin <Type>` line. Real Dysflow exports have at most a handful of
80
- * whitespace-only lines and the `Name` line within the first 3–6 lines
81
- * of the block. 16 is a generous bound; if `Name` is missing within
82
- * that window, the control is treated as a nameless container and only
83
- * the legacy `property` node is emitted (preserves REQ-FORM-2 for
84
- * pre-Name `.form.txt` files exported by older Dysflow versions).
85
- */
86
- private static readonly NAME_SCAN_WINDOW;
87
- private sweepControls;
88
- /**
89
- * Scan ahead from a `Begin <Type>` line for the first `Name = "…"`
90
- * attribute. Returns the captured name and the line number where it
91
- * was found, or `{ name: '', nameLine: 0 }` when no Name is present
92
- * within the scan window (e.g. the `Begin Form` root block which has
93
- * `Caption = "..."` but no `Name`, or pre-Name legacy exports).
94
- *
95
- * Stops at the next `Begin` or `End` boundary so a misaligned scan
96
- * never crosses into a sibling control's attribute block.
97
- */
98
- private findControlName;
99
- /**
100
- * Issue #49 — `RecordSource = "..."` line regex. The Dysflow SaveAsText
101
- * format always wraps the value in double quotes; the inner `(?:[^"]|"")*`
102
- * body tolerates the doubled-quote escape (`""` → `"`) so the captured
103
- * group carries the literal text exactly as Access stores it.
104
- *
105
- * Anchored at the start of the line — properties in the SaveAsText
106
- * format are always indented but the attribute name is unambiguous, so
107
- * a leading whitespace-tolerant anchor is enough.
108
- */
109
- private static readonly RECORD_SOURCE_RE;
110
- /** Issue #49 — `RowSource = "..."` line regex. Mirrors `RECORD_SOURCE_RE`. */
111
- private static readonly ROW_SOURCE_RE;
112
- /** Issue #49 — `RowSourceType = "..."` line regex. Used by the control-block
113
- * scan to detect value-list controls whose RowSource is a literal list. */
114
- private static readonly ROW_SOURCE_TYPE_RE;
56
+ /** Access also serializes binary/GUID values as `Property = Begin ... End`. */
57
+ private static readonly PROPERTY_BLOCK_BEGIN_RE;
58
+ /** Quoted SaveAsText property captured inside the current block frame. */
59
+ private static readonly QUOTED_PROPERTY_RE;
60
+ private walkBlocks;
61
+ private enclosingSection;
62
+ private emitBlock;
63
+ private emitExpressionHandlers;
64
+ private emitExpressionHandler;
65
+ private emitSourceObjectReference;
115
66
  /**
116
67
  * Issue #49 — copy of `VbaExtractor.SQL_TABLE_RE`. Same source / flags:
117
68
  * captures the table name that follows `FROM`/`JOIN`/`INTO`/`UPDATE`,
@@ -152,6 +103,13 @@ export declare class VbaFormExtractor {
152
103
  * name — same dual-match `vba-sql-impact`'s `extractFormBindings` does).
153
104
  */
154
105
  private emitTableReference;
106
+ /**
107
+ * Link a bound control to its enclosing form/report's single bare table.
108
+ * Expressions and SQL/absent RecordSource values stay metadata-only: column
109
+ * lineage through expressions or SELECT projections cannot be inferred here
110
+ * without risking false graph edges.
111
+ */
112
+ private emitControlSourceReference;
155
113
  /**
156
114
  * Issue #49 — dispatch the value of a RecordSource/RowSource binding.
157
115
  * If SQL, run `SQL_TABLE_RE` over the value and emit one edge per
@@ -166,51 +124,5 @@ export declare class VbaFormExtractor {
166
124
  * `extractStringLiterals` helper uses for its emitted `text` field.
167
125
  */
168
126
  private emitBinding;
169
- /**
170
- * Issue #49 — sweep for the form-level `RecordSource` line. RecordSource
171
- * always attributes to the form-layout node (even if the line is
172
- * written inside a control's Begin block — defensive: in real
173
- * SaveAsText exports the form's RecordSource sits at the root, but
174
- * the agent's spec says "emit from the form-layout node" regardless).
175
- *
176
- * The sweep intentionally matches ONLY `RecordSource` here;
177
- * `RowSource` is handled by `sweepRowSources` so the per-binding
178
- * attribution logic (control vs. form-layout) stays in one place.
179
- */
180
- private sweepRecordSources;
181
- /**
182
- * Issue #49 — sweep for per-control `RowSource` lines. RowSource
183
- * attributes to the enclosing control's `form-instance-control` node
184
- * when one is in scope; if the line is found outside any control
185
- * Begin block (defensive — unusual in real exports), it falls back to
186
- * the form-layout node. The tag is always `'vba-row-source'` so
187
- * consumers can distinguish a control-level data binding from the
188
- * form-level RecordSource even when both happen to share the same
189
- * source node.
190
- *
191
- * Control-block tracking: a stack of `{ controlName, rowSourceType }`
192
- * entries mirrors the current scope as the sweep walks lines in order.
193
- * `Begin <Type>` pushes; `End` pops. `Begin Form` / `Begin Section`
194
- * push a non-control entry so a RowSource written at the form root
195
- * correctly falls through to the form-layout fallback.
196
- *
197
- * Value-list skip: when the CURRENT TOP scope's `RowSourceType` is
198
- * `"Value List"` (captured by the same scan-window as the control's
199
- * `Name`), the control's RowSource is a literal list and we skip the
200
- * emission — the data is in code, not a table.
201
- */
202
- private sweepRowSources;
203
- /**
204
- * Issue #49 — companion helper to `findControlName`: scan ahead from a
205
- * `Begin <Type>` line for the first `RowSourceType = "..."` attribute
206
- * within the same `NAME_SCAN_WINDOW` (so a missing attribute gracefully
207
- * no-ops instead of mis-attributing). Returns the captured value (e.g.
208
- * `"Value List"`, `"Table/Query"`) or `''` when absent.
209
- *
210
- * Stops at the next `Begin` or `End` boundary — same scan-window
211
- * discipline as `findControlName`, so a misaligned scan never crosses
212
- * into a sibling control's attribute block.
213
- */
214
- private findRowSourceType;
215
127
  }
216
128
  //# sourceMappingURL=vba-form-extractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vba-form-extractor.d.ts","sourceRoot":"","sources":["../../src/extraction/vba-form-extractor.ts"],"names":[],"mappings":"AAyCA,OAAO,EAGL,gBAAgB,EAGjB,MAAM,UAAU,CAAC;AAIlB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,oBAAoB,CAA6B;IACzD;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB,CAAqB;gBAElC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK5C,OAAO,IAAI,gBAAgB;IA4E3B,OAAO,CAAC,cAAc;IAiBtB;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,YAAY;IAuBpB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAA4C;IAE5E;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAmC;IAElE;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAGtC;IAEH;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAM;IAE9C,OAAO,CAAC,aAAa;IAiFrB;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;IAsCvB;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CACM;IAE9C,8EAA8E;IAC9E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACM;IAE3C;+EAC2E;IAC3E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CACF;IAExC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAC+E;IAEnH;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACsB;IAE3D,OAAO,CAAC,WAAW;IAInB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,kBAAkB;IAwC1B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,WAAW;IA4BnB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IAY1B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,eAAe;IAwEvB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,iBAAiB;CAkB1B"}
1
+ {"version":3,"file":"vba-form-extractor.d.ts","sourceRoot":"","sources":["../../src/extraction/vba-form-extractor.ts"],"names":[],"mappings":"AAuCA,OAAO,EAGL,gBAAgB,EAGjB,MAAM,UAAU,CAAC;AAelB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,MAAM,CAAyB;IACvC,OAAO,CAAC,oBAAoB,CAA6B;IACzD;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB,CAAqB;gBAElC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAK5C,OAAO,IAAI,gBAAgB;IAqE3B,OAAO,CAAC,cAAc;IAiBtB;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAKhC,OAAO,CAAC,YAAY;IAuBpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,oBAAoB;IAqB5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CACA;IAEhC,+EAA+E;IAC/E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CACD;IAE9C,0EAA0E;IAC1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CACY;IAEtD,OAAO,CAAC,UAAU;IAgGlB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,SAAS;IA8IjB,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,qBAAqB;IA0C7B,OAAO,CAAC,yBAAyB;IA0CjC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAC+E;IAEnH;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CACsB;IAE3D,OAAO,CAAC,WAAW;IAInB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,kBAAkB;IAyC1B;;;;;OAKG;IACH,OAAO,CAAC,0BAA0B;IA4BlC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,WAAW;CA2BpB"}