@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.
- package/lib/dist/db/queries.d.ts +39 -0
- package/lib/dist/db/queries.d.ts.map +1 -1
- package/lib/dist/db/queries.js +45 -0
- package/lib/dist/db/queries.js.map +1 -1
- package/lib/dist/extraction/frameworks/dysflow-export.d.ts +37 -0
- package/lib/dist/extraction/frameworks/dysflow-export.d.ts.map +1 -0
- package/lib/dist/extraction/frameworks/dysflow-export.js +121 -0
- package/lib/dist/extraction/frameworks/dysflow-export.js.map +1 -0
- package/lib/dist/extraction/frameworks/index.d.ts +20 -0
- package/lib/dist/extraction/frameworks/index.d.ts.map +1 -0
- package/lib/dist/extraction/frameworks/index.js +24 -0
- package/lib/dist/extraction/frameworks/index.js.map +1 -0
- package/lib/dist/extraction/index.d.ts.map +1 -1
- package/lib/dist/extraction/index.js +25 -5
- package/lib/dist/extraction/index.js.map +1 -1
- package/lib/dist/extraction/parse-pool.d.ts +10 -0
- package/lib/dist/extraction/parse-pool.d.ts.map +1 -1
- package/lib/dist/extraction/parse-pool.js +2 -0
- package/lib/dist/extraction/parse-pool.js.map +1 -1
- package/lib/dist/extraction/parse-worker.js +6 -2
- package/lib/dist/extraction/parse-worker.js.map +1 -1
- package/lib/dist/extraction/tree-sitter.d.ts +9 -1
- package/lib/dist/extraction/tree-sitter.d.ts.map +1 -1
- package/lib/dist/extraction/tree-sitter.js +58 -5
- package/lib/dist/extraction/tree-sitter.js.map +1 -1
- package/lib/dist/extraction/vba/call-sweep.d.ts +43 -0
- package/lib/dist/extraction/vba/call-sweep.d.ts.map +1 -1
- package/lib/dist/extraction/vba/call-sweep.js +155 -66
- package/lib/dist/extraction/vba/call-sweep.js.map +1 -1
- package/lib/dist/extraction/vba/calls.d.ts.map +1 -1
- package/lib/dist/extraction/vba/calls.js +6 -0
- package/lib/dist/extraction/vba/calls.js.map +1 -1
- package/lib/dist/extraction/vba/context.d.ts +109 -1
- package/lib/dist/extraction/vba/context.d.ts.map +1 -1
- package/lib/dist/extraction/vba/context.js +155 -2
- package/lib/dist/extraction/vba/context.js.map +1 -1
- package/lib/dist/extraction/vba/controls.d.ts.map +1 -1
- package/lib/dist/extraction/vba/controls.js +77 -0
- package/lib/dist/extraction/vba/controls.js.map +1 -1
- package/lib/dist/extraction/vba/declarations.d.ts +38 -2
- package/lib/dist/extraction/vba/declarations.d.ts.map +1 -1
- package/lib/dist/extraction/vba/declarations.js +217 -129
- package/lib/dist/extraction/vba/declarations.js.map +1 -1
- package/lib/dist/extraction/vba/dims.d.ts +35 -1
- package/lib/dist/extraction/vba/dims.d.ts.map +1 -1
- package/lib/dist/extraction/vba/dims.js +185 -109
- package/lib/dist/extraction/vba/dims.js.map +1 -1
- package/lib/dist/extraction/vba/enums-consts.d.ts +47 -7
- package/lib/dist/extraction/vba/enums-consts.d.ts.map +1 -1
- package/lib/dist/extraction/vba/enums-consts.js +212 -139
- package/lib/dist/extraction/vba/enums-consts.js.map +1 -1
- package/lib/dist/extraction/vba/event-synth.d.ts +3 -0
- package/lib/dist/extraction/vba/event-synth.d.ts.map +1 -0
- package/lib/dist/extraction/vba/event-synth.js +176 -0
- package/lib/dist/extraction/vba/event-synth.js.map +1 -0
- package/lib/dist/extraction/vba/events.d.ts +16 -0
- package/lib/dist/extraction/vba/events.d.ts.map +1 -0
- package/lib/dist/extraction/vba/events.js +90 -0
- package/lib/dist/extraction/vba/events.js.map +1 -0
- package/lib/dist/extraction/vba/implements.d.ts +16 -0
- package/lib/dist/extraction/vba/implements.d.ts.map +1 -1
- package/lib/dist/extraction/vba/implements.js +43 -12
- package/lib/dist/extraction/vba/implements.js.map +1 -1
- package/lib/dist/extraction/vba/procedures.d.ts +20 -0
- package/lib/dist/extraction/vba/procedures.d.ts.map +1 -1
- package/lib/dist/extraction/vba/procedures.js +48 -13
- package/lib/dist/extraction/vba/procedures.js.map +1 -1
- package/lib/dist/extraction/vba/rules.d.ts +125 -0
- package/lib/dist/extraction/vba/rules.d.ts.map +1 -0
- package/lib/dist/extraction/vba/rules.js +49 -0
- package/lib/dist/extraction/vba/rules.js.map +1 -0
- package/lib/dist/extraction/vba/text-utils.d.ts +0 -6
- package/lib/dist/extraction/vba/text-utils.d.ts.map +1 -1
- package/lib/dist/extraction/vba/text-utils.js +9 -6
- package/lib/dist/extraction/vba/text-utils.js.map +1 -1
- package/lib/dist/extraction/vba-extractor.d.ts +77 -1
- package/lib/dist/extraction/vba-extractor.d.ts.map +1 -1
- package/lib/dist/extraction/vba-extractor.js +177 -15
- package/lib/dist/extraction/vba-extractor.js.map +1 -1
- package/lib/dist/extraction/vba-form-extractor.d.ts +26 -114
- package/lib/dist/extraction/vba-form-extractor.d.ts.map +1 -1
- package/lib/dist/extraction/vba-form-extractor.js +293 -297
- package/lib/dist/extraction/vba-form-extractor.js.map +1 -1
- package/lib/dist/extraction/vba-preprocess.d.ts +11 -1
- package/lib/dist/extraction/vba-preprocess.d.ts.map +1 -1
- package/lib/dist/extraction/vba-preprocess.js +45 -16
- package/lib/dist/extraction/vba-preprocess.js.map +1 -1
- package/lib/dist/extraction/vba-timing.d.ts +38 -0
- package/lib/dist/extraction/vba-timing.d.ts.map +1 -0
- package/lib/dist/extraction/vba-timing.js +203 -0
- package/lib/dist/extraction/vba-timing.js.map +1 -0
- package/lib/dist/index.d.ts.map +1 -1
- package/lib/dist/index.js +26 -0
- package/lib/dist/index.js.map +1 -1
- package/lib/dist/project-config.d.ts +31 -0
- package/lib/dist/project-config.d.ts.map +1 -1
- package/lib/dist/project-config.js +75 -22
- package/lib/dist/project-config.js.map +1 -1
- package/lib/dist/resolution/frameworks/index.d.ts.map +1 -1
- package/lib/dist/resolution/frameworks/index.js +7 -0
- package/lib/dist/resolution/frameworks/index.js.map +1 -1
- package/lib/dist/resolution/index.d.ts +7 -0
- package/lib/dist/resolution/index.d.ts.map +1 -1
- package/lib/dist/resolution/index.js +155 -11
- package/lib/dist/resolution/index.js.map +1 -1
- package/lib/dist/resolution/name-matcher.d.ts +6 -0
- package/lib/dist/resolution/name-matcher.d.ts.map +1 -1
- package/lib/dist/resolution/name-matcher.js +81 -0
- package/lib/dist/resolution/name-matcher.js.map +1 -1
- package/lib/dist/resolution/vba-access-object-name.d.ts +7 -0
- package/lib/dist/resolution/vba-access-object-name.d.ts.map +1 -0
- package/lib/dist/resolution/vba-access-object-name.js +15 -0
- package/lib/dist/resolution/vba-access-object-name.js.map +1 -0
- package/lib/node_modules/.modules.yaml +1 -1
- package/lib/node_modules/.pnpm-workspace-state-v1.json +1 -1
- package/lib/package.json +2 -1
- package/package.json +1 -1
|
@@ -1,9 +1,52 @@
|
|
|
1
1
|
import { VbaExtractorContext, VbaClassifier } from './context';
|
|
2
|
+
import { VbaExtractionRule } from './rules';
|
|
3
|
+
/**
|
|
4
|
+
* Issue #153: the declarative rule table for the calls/SQL concern.
|
|
5
|
+
*
|
|
6
|
+
* Of the call-sweep's full machinery, only the per-line *patterns*
|
|
7
|
+
* fit the declarative shape. The procedural scanners
|
|
8
|
+
* (`scanRaiseEvents`, `scanCallSites`, `scanMeControlReferences`,
|
|
9
|
+
* `scanSqlInLine`, `scanDoCmdOpenCalls`, `scanDoCmdOpenQuery`,
|
|
10
|
+
* `scanFormsBang`, `sweepTempVars`, statement/qualified call
|
|
11
|
+
* detection) walk the masked line scanning for call shapes that
|
|
12
|
+
* don't reduce to a single regex — they stay inside the factory's
|
|
13
|
+
* `classifyLine` (acknowledged in the Issue #153 spec: "The
|
|
14
|
+
* inter-line state machines (procedure stack, with stack,
|
|
15
|
+
* sqlVariables) NEED a class, not a pure rule.").
|
|
16
|
+
*
|
|
17
|
+
* Four rules, all driven by the masked line (the call site / Set
|
|
18
|
+
* patterns must not match inside string literals):
|
|
19
|
+
*
|
|
20
|
+
* - `set-new` — `Set <var> = New <Type>[.<Inner>]`; registers the
|
|
21
|
+
* receiver in `localVarTypeMap` and emits a
|
|
22
|
+
* `vba-set-new` `references` edge.
|
|
23
|
+
* - `set-call` — `Set <var> = <Factory>(...)`; types the receiver
|
|
24
|
+
* from a same-file function's project-class return
|
|
25
|
+
* type so a later `x.Method` resolves to the
|
|
26
|
+
* factory's class. Emits a `vba-factory-return`
|
|
27
|
+
* `references` edge.
|
|
28
|
+
* - `with-start` — `With <receiver>`; normalizes the receiver and
|
|
29
|
+
* pushes it onto `ctx.vbaWithStack` (replaces the
|
|
30
|
+
* pre-#153 per-factory closure variable).
|
|
31
|
+
* - `with-end` — `End With`; pops the matching `ctx.vbaWithStack`
|
|
32
|
+
* entry.
|
|
33
|
+
*
|
|
34
|
+
* The `set-new` rule's emit function is a "pure" (match, ctx, line)
|
|
35
|
+
* consumer — it reads/writes only `ctx` and the unmasked/ masked
|
|
36
|
+
* line, with no closure references. Same for the other three.
|
|
37
|
+
*/
|
|
38
|
+
export declare const RULES: readonly VbaExtractionRule<unknown>[];
|
|
2
39
|
/**
|
|
3
40
|
* Issue #83: factory for the calls/SQL classifier. The factory takes the
|
|
4
41
|
* pre-split `lines` array (so `trackSqlVariableAssignment` can do its
|
|
5
42
|
* multi-line look-ahead for `&`-accumulate semantics) and closes over the
|
|
6
43
|
* per-file state the legacy `sweepCallsAndSql` declared locally.
|
|
44
|
+
*
|
|
45
|
+
* Issue #153: the per-line pattern matching has been extracted into
|
|
46
|
+
* the `RULES` table. The factory body is now a thin shell that
|
|
47
|
+
* dispatches `RULES` and runs the procedural scanners (call sites,
|
|
48
|
+
* raise events, SQL, DoCmd, TempVars, etc.) that don't reduce to a
|
|
49
|
+
* single regex.
|
|
7
50
|
*/
|
|
8
51
|
export declare function createCallsAndSqlClassifier(lines: readonly string[]): VbaClassifier;
|
|
9
52
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-sweep.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/call-sweep.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAY,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"call-sweep.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/call-sweep.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAY,aAAa,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAyB,iBAAiB,EAAE,MAAM,SAAS,CAAC;AA0CnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,KAAK,EAAE,SAAS,iBAAiB,CAAC,OAAO,CAAC,EAkFtD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,aAAa,CAwPf;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAO5E"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RULES = void 0;
|
|
3
4
|
exports.createCallsAndSqlClassifier = createCallsAndSqlClassifier;
|
|
4
5
|
exports.sweepCallsAndSql = sweepCallsAndSql;
|
|
5
6
|
/**
|
|
@@ -11,6 +12,7 @@ exports.sweepCallsAndSql = sweepCallsAndSql;
|
|
|
11
12
|
*/
|
|
12
13
|
const constants_1 = require("./constants");
|
|
13
14
|
const text_utils_1 = require("./text-utils");
|
|
15
|
+
const rules_1 = require("./rules");
|
|
14
16
|
const calls_1 = require("./calls");
|
|
15
17
|
const controls_1 = require("./controls");
|
|
16
18
|
const docmd_1 = require("./docmd");
|
|
@@ -36,11 +38,135 @@ const SET_CALL_RE = /\bSet\s+(\p{L}[\p{L}\p{N}_]*)\s*=\s*(\p{L}[\p{L}\p{N}_]*)\s
|
|
|
36
38
|
/** Issue #43: track the receiver for `With <expr>` / `End With` blocks. */
|
|
37
39
|
const WITH_START_RE = /^\s*With\b\s+(.+?)\s*$/iu;
|
|
38
40
|
const WITH_END_RE = /^\s*End\s+With\b/iu;
|
|
41
|
+
/**
|
|
42
|
+
* Issue #153: the declarative rule table for the calls/SQL concern.
|
|
43
|
+
*
|
|
44
|
+
* Of the call-sweep's full machinery, only the per-line *patterns*
|
|
45
|
+
* fit the declarative shape. The procedural scanners
|
|
46
|
+
* (`scanRaiseEvents`, `scanCallSites`, `scanMeControlReferences`,
|
|
47
|
+
* `scanSqlInLine`, `scanDoCmdOpenCalls`, `scanDoCmdOpenQuery`,
|
|
48
|
+
* `scanFormsBang`, `sweepTempVars`, statement/qualified call
|
|
49
|
+
* detection) walk the masked line scanning for call shapes that
|
|
50
|
+
* don't reduce to a single regex — they stay inside the factory's
|
|
51
|
+
* `classifyLine` (acknowledged in the Issue #153 spec: "The
|
|
52
|
+
* inter-line state machines (procedure stack, with stack,
|
|
53
|
+
* sqlVariables) NEED a class, not a pure rule.").
|
|
54
|
+
*
|
|
55
|
+
* Four rules, all driven by the masked line (the call site / Set
|
|
56
|
+
* patterns must not match inside string literals):
|
|
57
|
+
*
|
|
58
|
+
* - `set-new` — `Set <var> = New <Type>[.<Inner>]`; registers the
|
|
59
|
+
* receiver in `localVarTypeMap` and emits a
|
|
60
|
+
* `vba-set-new` `references` edge.
|
|
61
|
+
* - `set-call` — `Set <var> = <Factory>(...)`; types the receiver
|
|
62
|
+
* from a same-file function's project-class return
|
|
63
|
+
* type so a later `x.Method` resolves to the
|
|
64
|
+
* factory's class. Emits a `vba-factory-return`
|
|
65
|
+
* `references` edge.
|
|
66
|
+
* - `with-start` — `With <receiver>`; normalizes the receiver and
|
|
67
|
+
* pushes it onto `ctx.vbaWithStack` (replaces the
|
|
68
|
+
* pre-#153 per-factory closure variable).
|
|
69
|
+
* - `with-end` — `End With`; pops the matching `ctx.vbaWithStack`
|
|
70
|
+
* entry.
|
|
71
|
+
*
|
|
72
|
+
* The `set-new` rule's emit function is a "pure" (match, ctx, line)
|
|
73
|
+
* consumer — it reads/writes only `ctx` and the unmasked/ masked
|
|
74
|
+
* line, with no closure references. Same for the other three.
|
|
75
|
+
*/
|
|
76
|
+
exports.RULES = [
|
|
77
|
+
(0, rules_1.defineRule)({
|
|
78
|
+
id: 'set-new',
|
|
79
|
+
description: 'Match `Set <var> = New <Type>[.<Inner>]` (masked line, inside-procedure); register the receiver in `localVarTypeMap` and emit a `vba-set-new` `references` edge to the outer type.',
|
|
80
|
+
pattern: SET_NEW_RE,
|
|
81
|
+
scan: 'masked',
|
|
82
|
+
requires: 'inside-procedure',
|
|
83
|
+
emit: (m, ctx, _line, lineNum) => {
|
|
84
|
+
const varName = m[1] ?? '';
|
|
85
|
+
const outerType = m[2] ?? '';
|
|
86
|
+
const innerType = m[3] ?? '';
|
|
87
|
+
if (!varName || !outerType)
|
|
88
|
+
return null;
|
|
89
|
+
// Skip primitives defensively — consistent with the Dim sweep guard.
|
|
90
|
+
if (constants_1.PRIMITIVE_TYPES.has(outerType.toLowerCase()))
|
|
91
|
+
return null;
|
|
92
|
+
ctx.localVarTypeMap.set(varName.toLowerCase(), {
|
|
93
|
+
outer: outerType,
|
|
94
|
+
// Mirror `Dim x As Foo.Bar`: qualified `Set rs = New
|
|
95
|
+
// DAO.Recordset` registers `qualified: true` so the PR #61
|
|
96
|
+
// gate keeps downstream `rs.Method` calls silent.
|
|
97
|
+
qualified: !!innerType,
|
|
98
|
+
assignedWithSet: true,
|
|
99
|
+
variableName: varName,
|
|
100
|
+
});
|
|
101
|
+
ctx.emitReference(outerType, lineNum, 0, 'vba-set-new');
|
|
102
|
+
return { varName, outerType };
|
|
103
|
+
},
|
|
104
|
+
}),
|
|
105
|
+
(0, rules_1.defineRule)({
|
|
106
|
+
id: 'set-call',
|
|
107
|
+
description: 'Match `Set <var> = <Factory>(...)` (masked line, inside-procedure); type the receiver from a same-file function\'s project-class return type (looked up in `ctx.functionReturnTypes`) so a later `x.Method` resolves to the factory\'s class. Yields to an explicit `Dim x As <ProjectClass>` — the declaration is the authoritative type.',
|
|
108
|
+
pattern: SET_CALL_RE,
|
|
109
|
+
scan: 'masked',
|
|
110
|
+
requires: 'inside-procedure',
|
|
111
|
+
emit: (m, ctx, _line, lineNum) => {
|
|
112
|
+
const varName = m[1] ?? '';
|
|
113
|
+
const factory = (m[2] ?? '').toLowerCase();
|
|
114
|
+
const retType = factory ? ctx.functionReturnTypes.get(factory) : undefined;
|
|
115
|
+
if (!varName || !retType)
|
|
116
|
+
return null;
|
|
117
|
+
const existing = ctx.localVarTypeMap.get(varName.toLowerCase());
|
|
118
|
+
const existingIsProjectClass = !!existing &&
|
|
119
|
+
!existing.qualified &&
|
|
120
|
+
!constants_1.PRIMITIVE_TYPES.has(existing.outer.toLowerCase());
|
|
121
|
+
if (existingIsProjectClass)
|
|
122
|
+
return null;
|
|
123
|
+
ctx.localVarTypeMap.set(varName.toLowerCase(), {
|
|
124
|
+
outer: retType,
|
|
125
|
+
qualified: false,
|
|
126
|
+
assignedWithSet: true,
|
|
127
|
+
variableName: varName,
|
|
128
|
+
});
|
|
129
|
+
ctx.emitReference(retType, lineNum, 0, 'vba-factory-return');
|
|
130
|
+
return { varName, retType };
|
|
131
|
+
},
|
|
132
|
+
}),
|
|
133
|
+
(0, rules_1.defineRule)({
|
|
134
|
+
id: 'with-start',
|
|
135
|
+
description: 'Match `With <receiver>` (masked line, inside-procedure); normalize the receiver expression and push it onto `ctx.vbaWithStack` so a subsequent `.Member` statement-form call routes through the With-member path.',
|
|
136
|
+
pattern: WITH_START_RE,
|
|
137
|
+
scan: 'masked',
|
|
138
|
+
requires: 'inside-procedure',
|
|
139
|
+
emit: (m, ctx) => {
|
|
140
|
+
const receiver = (0, calls_1.normalizeWithReceiver)(m[1] ?? '');
|
|
141
|
+
if (!receiver)
|
|
142
|
+
return null;
|
|
143
|
+
ctx.vbaWithStack.push(receiver);
|
|
144
|
+
return { receiver };
|
|
145
|
+
},
|
|
146
|
+
}),
|
|
147
|
+
(0, rules_1.defineRule)({
|
|
148
|
+
id: 'with-end',
|
|
149
|
+
description: 'Match `End With` (inside-procedure); pop the matching entry from `ctx.vbaWithStack`.',
|
|
150
|
+
pattern: WITH_END_RE,
|
|
151
|
+
scan: 'masked',
|
|
152
|
+
requires: 'inside-procedure',
|
|
153
|
+
emit: (_m, ctx) => {
|
|
154
|
+
ctx.vbaWithStack.pop();
|
|
155
|
+
return { kind: 'with-end' };
|
|
156
|
+
},
|
|
157
|
+
}),
|
|
158
|
+
];
|
|
39
159
|
/**
|
|
40
160
|
* Issue #83: factory for the calls/SQL classifier. The factory takes the
|
|
41
161
|
* pre-split `lines` array (so `trackSqlVariableAssignment` can do its
|
|
42
162
|
* multi-line look-ahead for `&`-accumulate semantics) and closes over the
|
|
43
163
|
* per-file state the legacy `sweepCallsAndSql` declared locally.
|
|
164
|
+
*
|
|
165
|
+
* Issue #153: the per-line pattern matching has been extracted into
|
|
166
|
+
* the `RULES` table. The factory body is now a thin shell that
|
|
167
|
+
* dispatches `RULES` and runs the procedural scanners (call sites,
|
|
168
|
+
* raise events, SQL, DoCmd, TempVars, etc.) that don't reduce to a
|
|
169
|
+
* single regex.
|
|
44
170
|
*/
|
|
45
171
|
function createCallsAndSqlClassifier(lines) {
|
|
46
172
|
const procedureStartLines = new Set();
|
|
@@ -48,7 +174,6 @@ function createCallsAndSqlClassifier(lines) {
|
|
|
48
174
|
// Walk the source once, emitting call edges and SQL edges per line and
|
|
49
175
|
// tracking the current procedure stack.
|
|
50
176
|
const stack = [];
|
|
51
|
-
const withReceiverStack = [];
|
|
52
177
|
const sqlVariables = new Map();
|
|
53
178
|
// C2 fix: track each procedure's `endLine` (the line containing the
|
|
54
179
|
// matching `End Sub`/`End Function`/`End Property`) keyed by its
|
|
@@ -104,18 +229,30 @@ function createCallsAndSqlClassifier(lines) {
|
|
|
104
229
|
// mistakenly treated as call sites. SQL scanning still uses the original
|
|
105
230
|
// line because SQL lives INSIDE string literals.
|
|
106
231
|
const callScanLine = (0, text_utils_1.maskStringContent)(line);
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
232
|
+
// Issue #153: dispatch the declarative RULES table on the
|
|
233
|
+
// masked line. The four per-line patterns (set-new, set-call,
|
|
234
|
+
// with-start, with-end) all need the masked line because their
|
|
235
|
+
// match shapes (`Set`, `With`) are noise inside string
|
|
236
|
+
// literals. The dispatcher walks `RULES` and calls each rule's
|
|
237
|
+
// `emit` when its `pattern.exec` matches. Each rule's
|
|
238
|
+
// `requires` precondition is honoured here — `inside-procedure`
|
|
239
|
+
// rules only fire when the call-sweep's per-instance proc stack
|
|
240
|
+
// is non-empty (matching the legacy cascade's `if (stack.length
|
|
241
|
+
// > 0)` gate).
|
|
242
|
+
for (const rule of exports.RULES) {
|
|
243
|
+
if (rule.requires === 'inside-procedure' && stack.length === 0)
|
|
244
|
+
continue;
|
|
245
|
+
const m = (0, rules_1.matchRule)(rule.pattern, callScanLine);
|
|
246
|
+
if (!m)
|
|
247
|
+
continue;
|
|
248
|
+
const result = rule.emit(m, ctx, callScanLine, lineNum);
|
|
249
|
+
if (result !== null && result !== undefined) {
|
|
250
|
+
this.count += rule.count ? rule.count(result) : 1;
|
|
118
251
|
}
|
|
252
|
+
// `with-end` is short-circuited: a line that's `End With` is
|
|
253
|
+
// not also a `Set x = New ...`, so break the loop.
|
|
254
|
+
if (rule.id === 'with-end')
|
|
255
|
+
break;
|
|
119
256
|
}
|
|
120
257
|
// Don't scan call sites on the line that declares the procedure — it
|
|
121
258
|
// would match the proc name itself in `Sub Outer()`.
|
|
@@ -140,59 +277,10 @@ function createCallsAndSqlClassifier(lines) {
|
|
|
140
277
|
// actual call after `Then`/`Else`/`:` is not shadowed by the leading
|
|
141
278
|
// keyword.
|
|
142
279
|
if (stack.length > 0 && !procedureStartLines.has(lineNum)) {
|
|
143
|
-
//
|
|
144
|
-
//
|
|
145
|
-
//
|
|
146
|
-
|
|
147
|
-
if (setNew) {
|
|
148
|
-
const varName = setNew[1] ?? '';
|
|
149
|
-
const outerType = setNew[2] ?? '';
|
|
150
|
-
const innerType = setNew[3] ?? '';
|
|
151
|
-
if (varName && outerType) {
|
|
152
|
-
// Skip primitives defensively — consistent with the Dim sweep guard.
|
|
153
|
-
if (!constants_1.PRIMITIVE_TYPES.has(outerType.toLowerCase())) {
|
|
154
|
-
ctx.localVarTypeMap.set(varName.toLowerCase(), {
|
|
155
|
-
outer: outerType,
|
|
156
|
-
// Mirror `Dim x As Foo.Bar`: qualified `Set rs = New
|
|
157
|
-
// DAO.Recordset` registers `qualified: true` so the PR #61
|
|
158
|
-
// gate keeps downstream `rs.Method` calls silent.
|
|
159
|
-
qualified: !!innerType,
|
|
160
|
-
assignedWithSet: true,
|
|
161
|
-
variableName: varName,
|
|
162
|
-
});
|
|
163
|
-
ctx.emitReference(outerType, lineNum, 0, 'vba-set-new');
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
else {
|
|
168
|
-
// Factory-return inference: `Set x = <Factory>(...)`. Type x from a
|
|
169
|
-
// same-file function's project-class return type so a later
|
|
170
|
-
// `x.Method` resolves to the factory's class. Overrides a generic
|
|
171
|
-
// `Dim x As Object/Variant` (or an untyped x), but yields to an
|
|
172
|
-
// explicit `Dim x As <ProjectClass>` — the declaration is the
|
|
173
|
-
// authoritative type. Runs after SET_NEW (which owns the `New` form).
|
|
174
|
-
const setCall = SET_CALL_RE.exec(callScanLine);
|
|
175
|
-
if (setCall) {
|
|
176
|
-
const varName = setCall[1] ?? '';
|
|
177
|
-
const factory = (setCall[2] ?? '').toLowerCase();
|
|
178
|
-
const retType = factory ? ctx.functionReturnTypes.get(factory) : undefined;
|
|
179
|
-
if (varName && retType) {
|
|
180
|
-
const existing = ctx.localVarTypeMap.get(varName.toLowerCase());
|
|
181
|
-
const existingIsProjectClass = !!existing &&
|
|
182
|
-
!existing.qualified &&
|
|
183
|
-
!constants_1.PRIMITIVE_TYPES.has(existing.outer.toLowerCase());
|
|
184
|
-
if (!existingIsProjectClass) {
|
|
185
|
-
ctx.localVarTypeMap.set(varName.toLowerCase(), {
|
|
186
|
-
outer: retType,
|
|
187
|
-
qualified: false,
|
|
188
|
-
assignedWithSet: true,
|
|
189
|
-
variableName: varName,
|
|
190
|
-
});
|
|
191
|
-
ctx.emitReference(retType, lineNum, 0, 'vba-factory-return');
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
280
|
+
// Note: `Set x = New ...` and `Set x = <Factory>(...)` are now
|
|
281
|
+
// dispatched by the RULES table above. The factory body below
|
|
282
|
+
// focuses on the procedural call-site scans that don't
|
|
283
|
+
// reduce to a single regex.
|
|
196
284
|
const clauseLines = (0, calls_1.splitSingleLineIfClauses)(callScanLine);
|
|
197
285
|
for (const clauseLine of clauseLines) {
|
|
198
286
|
const stmtCall = (0, calls_1.detectStatementCall)(clauseLine);
|
|
@@ -239,7 +327,7 @@ function createCallsAndSqlClassifier(lines) {
|
|
|
239
327
|
(0, calls_1.emitQualifiedStatementCallEdge)(ctx, caller, qualStmt.receiver, qualStmt.member, lineNum);
|
|
240
328
|
}
|
|
241
329
|
}
|
|
242
|
-
const withReceiver =
|
|
330
|
+
const withReceiver = ctx.vbaWithStack[ctx.vbaWithStack.length - 1];
|
|
243
331
|
if (withReceiver) {
|
|
244
332
|
const withCall = (0, calls_1.detectWithMemberCall)(clauseLine);
|
|
245
333
|
if (withCall && ctx.isLocalProjectClassVar(withReceiver)) {
|
|
@@ -310,6 +398,7 @@ function createCallsAndSqlClassifier(lines) {
|
|
|
310
398
|
if (!initialized) {
|
|
311
399
|
ctx.procStack.length = 0;
|
|
312
400
|
ctx.currentProcKey = 'module';
|
|
401
|
+
ctx.vbaWithStack.length = 0;
|
|
313
402
|
initialized = true;
|
|
314
403
|
}
|
|
315
404
|
return originalClassify.call(this, line, i, ctx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call-sweep.js","sourceRoot":"","sources":["../../../src/extraction/vba/call-sweep.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"call-sweep.js","sourceRoot":"","sources":["../../../src/extraction/vba/call-sweep.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/calls.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAe1D,wBAAgB,eAAe,CAC7B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,
|
|
1
|
+
{"version":3,"file":"calls.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/calls.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAe1D,wBAAgB,eAAe,CAC7B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CA0BN;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAmJN;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAgC/D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4B/D;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAcT;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,GACX;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAuC7C;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CA2CN;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBjE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAoB5E"}
|
|
@@ -36,6 +36,12 @@ function scanRaiseEvents(ctx, line, from, lineNum) {
|
|
|
36
36
|
const eventNode = ctx.localEvents.get(eventName.toLowerCase());
|
|
37
37
|
if (!eventNode)
|
|
38
38
|
continue;
|
|
39
|
+
// Issue #152: bump the per-event fanout counter BEFORE pushing the
|
|
40
|
+
// edge. The orchestrator's `applyRaiseFanoutGate` reads this map to
|
|
41
|
+
// decide which event nodes to flag `metadata.highFanout: true` and
|
|
42
|
+
// which `raises-event` edges to drop. Counting in the same walk is
|
|
43
|
+
// free — one Map.get / Map.set per raise site.
|
|
44
|
+
ctx.raiseEventCounts.set(eventNode.id, (ctx.raiseEventCounts.get(eventNode.id) ?? 0) + 1);
|
|
39
45
|
ctx.edges.push({
|
|
40
46
|
source: ctx.findOrCreateFunctionNodeId(from),
|
|
41
47
|
target: eventNode.id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../src/extraction/vba/calls.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"calls.js","sourceRoot":"","sources":["../../../src/extraction/vba/calls.ts"],"names":[],"mappings":"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"}
|
|
@@ -143,8 +143,58 @@ export declare class VbaExtractorContext {
|
|
|
143
143
|
* of every procedure whose `End` marker the sweep has not yet seen.
|
|
144
144
|
*/
|
|
145
145
|
procStack: number[];
|
|
146
|
+
/**
|
|
147
|
+
* Issue #153: per-extraction state for the events/types/declares
|
|
148
|
+
* classifier's `Type <Name> ... End Type` block tracking. The
|
|
149
|
+
* `currentTypeBlock` is set when a `type-start` rule fires and
|
|
150
|
+
* cleared when the matching `type-end` rule fires. Lives on `ctx`
|
|
151
|
+
* (instead of the factory's closure) so the declarative RULES
|
|
152
|
+
* table's `emit` functions can read/write it without taking a
|
|
153
|
+
* closure-captured mutable reference. `null` means "outside any
|
|
154
|
+
* type block right now". Reset implicitly per-extraction (a fresh
|
|
155
|
+
* `VbaExtractorContext` is constructed every `extract()` call).
|
|
156
|
+
*/
|
|
157
|
+
vbaDeclTypeBlock: {
|
|
158
|
+
id: string;
|
|
159
|
+
name: string;
|
|
160
|
+
} | null;
|
|
161
|
+
/**
|
|
162
|
+
* Issue #153: per-extraction state for the enum/consts classifier's
|
|
163
|
+
* `Enum <Name> ... End Enum` block tracking. Same shape and
|
|
164
|
+
* rationale as `vbaDeclTypeBlock`: lives on `ctx` so the
|
|
165
|
+
* declarative RULES table's `emit` functions can read/write it
|
|
166
|
+
* without taking a closure-captured mutable reference.
|
|
167
|
+
* `null` means "outside any enum block right now".
|
|
168
|
+
*/
|
|
169
|
+
vbaEnumBlock: {
|
|
170
|
+
id: string;
|
|
171
|
+
name: string;
|
|
172
|
+
} | null;
|
|
173
|
+
/**
|
|
174
|
+
* Issue #153: per-extraction state for the calls/SQL classifier's
|
|
175
|
+
* `With <receiver> ... End With` block tracking. The with-receiver
|
|
176
|
+
* stack mirrors the textual nesting of `With` blocks inside a
|
|
177
|
+
* procedure body — the top of the stack is the active receiver
|
|
178
|
+
* for `.Member` and `.Member(args)` statement-form calls. Reset
|
|
179
|
+
* implicitly per-extraction (a fresh `VbaExtractorContext` is
|
|
180
|
+
* constructed every `extract()` call). Replaces the per-factory
|
|
181
|
+
* closure variable that lived in `sweepCallsAndSql` before the
|
|
182
|
+
* Issue #153 RULES-table refactor.
|
|
183
|
+
*/
|
|
184
|
+
vbaWithStack: string[];
|
|
146
185
|
/** Local event name (lowercase) → event node for `RaiseEvent` edge emission. */
|
|
147
186
|
localEvents: Map<string, Node>;
|
|
187
|
+
/**
|
|
188
|
+
* Issue #152: per-event counter for `RaiseEvent <EventName>` sites. Keyed
|
|
189
|
+
* by event node id (so two different events that share a name across
|
|
190
|
+
* files don't collide — the gate is per-file). The count is incremented
|
|
191
|
+
* in `scanRaiseEvents` BEFORE the edge is pushed, so the count equals
|
|
192
|
+
* the number of raise sites regardless of the gate decision downstream.
|
|
193
|
+
* The orchestrator's fanout-gate pass reads this map to decide which
|
|
194
|
+
* event nodes to flag `metadata.highFanout: true` and which `raises-event`
|
|
195
|
+
* edges to drop.
|
|
196
|
+
*/
|
|
197
|
+
raiseEventCounts: Map<string, number>;
|
|
148
198
|
/**
|
|
149
199
|
* Same-file function/property return types, keyed by lowercase proc name →
|
|
150
200
|
* declared return type. ONLY non-primitive (project-class) return types are
|
|
@@ -156,7 +206,34 @@ export declare class VbaExtractorContext {
|
|
|
156
206
|
* time) — that stays the resolver's frontier.
|
|
157
207
|
*/
|
|
158
208
|
functionReturnTypes: Map<string, string>;
|
|
209
|
+
/**
|
|
210
|
+
* Issue #156: per-stage timings, lazily allocated ONLY when
|
|
211
|
+
* `CODEGRAPH_VBA_TIMING=1|2` is set. The default path (env var unset)
|
|
212
|
+
* keeps this `null` so `recordStage` is a single null-check and we
|
|
213
|
+
* pay zero Map-allocation cost in the hot path. Stage names are
|
|
214
|
+
* dot-separated: `preprocess.stripVbaComments`,
|
|
215
|
+
* `preprocess.cc.lexer+parser`, `walk.procedures`, `walk.main`,
|
|
216
|
+
* `classifier.<name>`. Counters are in milliseconds (float).
|
|
217
|
+
*/
|
|
218
|
+
timings: Map<string, number> | null;
|
|
219
|
+
/**
|
|
220
|
+
* Issue #156: how many times each classifier's `classifyLine` was
|
|
221
|
+
* invoked. Only allocated together with `timings` so the default path
|
|
222
|
+
* pays no cost.
|
|
223
|
+
*/
|
|
224
|
+
classifierInvokeCounts: Map<string, number> | null;
|
|
159
225
|
constructor(filePath: string);
|
|
226
|
+
/**
|
|
227
|
+
* Issue #156: ensure the timings Maps exist. Called once per
|
|
228
|
+
* `extract()` by the orchestrator right after it reads the env var.
|
|
229
|
+
* No-op when already allocated.
|
|
230
|
+
*/
|
|
231
|
+
ensureTimings(): void;
|
|
232
|
+
/**
|
|
233
|
+
* Issue #156: add `ms` to the stage named `name`. No-op when
|
|
234
|
+
* `timings` is null (default path).
|
|
235
|
+
*/
|
|
236
|
+
recordStage(name: string, ms: number): void;
|
|
160
237
|
/**
|
|
161
238
|
* Emit a `contains` edge from the (lazily-created) module/class node to
|
|
162
239
|
* `targetId`. Mirrors the pending-source pattern the procedure and
|
|
@@ -193,6 +270,27 @@ export declare class VbaExtractorContext {
|
|
|
193
270
|
resolveReceiverType(receiverName: string): string;
|
|
194
271
|
findOrCreateFunctionNodeId(proc: ProcInfo): string;
|
|
195
272
|
findFunctionNodeByName(name: string): Node | undefined;
|
|
273
|
+
/**
|
|
274
|
+
* Issue #152: apply the per-file `RaiseEvent` fanout gate. For every
|
|
275
|
+
* event whose `raiseEventCounts` value exceeds `maxFanout`:
|
|
276
|
+
* 1. Stamp the event node's `metadata.highFanout = true` and
|
|
277
|
+
* `metadata.raiseCount = <count>` so consumers (codegraph_explore,
|
|
278
|
+
* vba-event-tracer) can recognize a high-fanout event.
|
|
279
|
+
* 2. Drop every `raises-event` edge targeting that event id from
|
|
280
|
+
* `edges`. The event node itself stays — declaration site, handler
|
|
281
|
+
* linkage via `subscribes-event`, and metadata are all preserved.
|
|
282
|
+
*
|
|
283
|
+
* Events with `<= maxFanout` raise sites are untouched (no flag, edges
|
|
284
|
+
* stay). When `maxFanout` is undefined, the gate is disabled and the
|
|
285
|
+
* method is a no-op. Mirrors the upstream `EVENT_FANOUT_CAP` discipline
|
|
286
|
+
* in `src/resolution/callback-synthesizer.ts:43` (this side suppresses
|
|
287
|
+
* the producer side, the upstream side suppresses the synthesized
|
|
288
|
+
* cross-file dispatcher/handler edges).
|
|
289
|
+
*
|
|
290
|
+
* Returns the number of `raises-event` edges dropped (zero when the
|
|
291
|
+
* gate is disabled or no event exceeds the cap — useful for tests).
|
|
292
|
+
*/
|
|
293
|
+
applyRaiseFanoutGate(maxFanout: number | undefined): number;
|
|
196
294
|
/**
|
|
197
295
|
* Emit a `references` edge from the file's module/class node to a synthetic
|
|
198
296
|
* node named `targetName`. Used by Dim, WithEvents, Set-New, and SQL sweeps.
|
|
@@ -206,8 +304,18 @@ export declare class VbaExtractorContext {
|
|
|
206
304
|
* TempVars sweep already emits (`emitTempVarReference`). Omitted for
|
|
207
305
|
* structural references (Dim/WithEvents/Set-New) where the direction is not
|
|
208
306
|
* meaningful.
|
|
307
|
+
*
|
|
308
|
+
* `extras` (optional): additional metadata fields to merge into the
|
|
309
|
+
* emitted edge's `metadata` object. Used by the WithEvents sweep to
|
|
310
|
+
* stamp `variableName` (issue #150) so the post-extraction
|
|
311
|
+
* event-handler synthesis pass can find the `m_<var>_<event>`
|
|
312
|
+
* handler Sub even after `resolveVbaReferenceStubs` CASCADE-deletes
|
|
313
|
+
* the companion `subscribes-event` edge along with the synthetic
|
|
314
|
+
* class stub. Fields here are merged AFTER the standard
|
|
315
|
+
* `{ synthesizedBy [, access] }` shape, so callers can override
|
|
316
|
+
* (rarely useful) but not accidentally drop the stamp.
|
|
209
317
|
*/
|
|
210
|
-
emitReference(targetName: string, lineNum: number, column: number, synthesizedBy: string, access?: 'read' | 'write'): void;
|
|
318
|
+
emitReference(targetName: string, lineNum: number, column: number, synthesizedBy: string, access?: 'read' | 'write', extras?: Record<string, unknown>): void;
|
|
211
319
|
/**
|
|
212
320
|
* Issue #52: shared lookup helper for `scanDoCmdOpenCalls` and
|
|
213
321
|
* `scanDoCmdOpenQuery`. The current scope is the procedure whose
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,eAAe,EACf,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,UAAU,CAAC;IACtC,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;IAC5D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC1E;;;OAGG;IACH,QAAQ,CAAC,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAC3C;AAED,qBAAa,mBAAmB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAM;IACnB,KAAK,EAAE,IAAI,EAAE,CAAM;IACnB,MAAM,EAAE,eAAe,EAAE,CAAM;IAC/B,oBAAoB,EAAE,mBAAmB,EAAE,CAAM;IACjD,iBAAiB,EAAE,IAAI,GAAG,IAAI,CAAQ;IAE7C;;;;;;;;;OASG;IACI,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE7C;;;;;OAKG;IACI,UAAU,0BAAiC;IAElD;;;;;;OAMG;IACI,UAAU,EAAE,QAAQ,EAAE,CAAM;IAEnC;;;OAGG;IACI,kBAAkB,oBAA2B;IAEpD;;;;OAIG;IACI,uBAAuB,oBAA2B;IAEzD,gFAAgF;IACzE,0BAA0B,EAAE,IAAI,EAAE,CAAM;IAE/C,2EAA2E;IACpE,eAAe,sBAA6B;IAC5C,UAAU,cAAqB;IAC/B,oBAAoB,cAAqB;IAEhD;;;;;OAKG;IACI,iBAAiB,sBAA6B;IAE9C,iBAAiB,cAAqB;IAE7C;;;;;OAKG;IACI,mBAAmB,cAAqB;IAE/C;;;;;;OAMG;IACI,eAAe;eACb,MAAM;mBACF,OAAO;qBACL,OAAO;uBACL,MAAM;0BACH,OAAO;OACtB;IAEL;;;;;;OAMG;IACI,cAAc,EAAE,GAAG,CAAC,QAAQ,GAAG,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAa;IAE/E;;;;;OAKG;IACI,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAY;IAEpD;;;;;OAKG;IACI,SAAS,EAAE,MAAM,EAAE,CAAM;IAEhC,gFAAgF;IACzE,WAAW,oBAA2B;IAE7C;;;;;;;;;OASG;IACI,mBAAmB,sBAA6B;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/context.ts"],"names":[],"mappings":"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"}
|