@aroman22/codegraph-vba-darwin-arm64 1.6.1 → 1.6.3
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/migrations.d.ts +1 -1
- package/lib/dist/db/migrations.d.ts.map +1 -1
- package/lib/dist/db/migrations.js +14 -1
- package/lib/dist/db/migrations.js.map +1 -1
- package/lib/dist/db/queries.d.ts.map +1 -1
- package/lib/dist/db/queries.js +8 -2
- package/lib/dist/db/queries.js.map +1 -1
- package/lib/dist/db/schema.sql +1 -0
- package/lib/dist/extraction/grammars.d.ts +32 -0
- package/lib/dist/extraction/grammars.d.ts.map +1 -1
- package/lib/dist/extraction/grammars.js +61 -0
- package/lib/dist/extraction/grammars.js.map +1 -1
- package/lib/dist/extraction/tree-sitter.d.ts.map +1 -1
- package/lib/dist/extraction/tree-sitter.js +24 -0
- package/lib/dist/extraction/tree-sitter.js.map +1 -1
- package/lib/dist/extraction/vba/call-sweep.d.ts +13 -1
- package/lib/dist/extraction/vba/call-sweep.d.ts.map +1 -1
- package/lib/dist/extraction/vba/call-sweep.js +229 -151
- package/lib/dist/extraction/vba/call-sweep.js.map +1 -1
- package/lib/dist/extraction/vba/context.d.ts +52 -2
- package/lib/dist/extraction/vba/context.d.ts.map +1 -1
- package/lib/dist/extraction/vba/context.js +29 -2
- package/lib/dist/extraction/vba/context.js.map +1 -1
- package/lib/dist/extraction/vba/declarations.d.ts +10 -1
- package/lib/dist/extraction/vba/declarations.d.ts.map +1 -1
- package/lib/dist/extraction/vba/declarations.js +141 -123
- package/lib/dist/extraction/vba/declarations.js.map +1 -1
- package/lib/dist/extraction/vba/dims.d.ts +9 -1
- package/lib/dist/extraction/vba/dims.d.ts.map +1 -1
- package/lib/dist/extraction/vba/dims.js +125 -109
- package/lib/dist/extraction/vba/dims.js.map +1 -1
- package/lib/dist/extraction/vba/enums-consts.d.ts +13 -10
- package/lib/dist/extraction/vba/enums-consts.d.ts.map +1 -1
- package/lib/dist/extraction/vba/enums-consts.js +153 -131
- package/lib/dist/extraction/vba/enums-consts.js.map +1 -1
- package/lib/dist/extraction/vba/implements.d.ts +9 -1
- package/lib/dist/extraction/vba/implements.d.ts.map +1 -1
- package/lib/dist/extraction/vba/implements.js +56 -40
- package/lib/dist/extraction/vba/implements.js.map +1 -1
- package/lib/dist/extraction/vba/procedures.d.ts +13 -1
- package/lib/dist/extraction/vba/procedures.d.ts.map +1 -1
- package/lib/dist/extraction/vba/procedures.js +238 -186
- package/lib/dist/extraction/vba/procedures.js.map +1 -1
- package/lib/dist/extraction/vba/sql-wrapper.d.ts.map +1 -1
- package/lib/dist/extraction/vba/sql-wrapper.js +20 -3
- package/lib/dist/extraction/vba/sql-wrapper.js.map +1 -1
- package/lib/dist/extraction/vba-extractor.d.ts.map +1 -1
- package/lib/dist/extraction/vba-extractor.js +47 -38
- package/lib/dist/extraction/vba-extractor.js.map +1 -1
- package/lib/dist/extraction/vba-form-extractor.d.ts.map +1 -1
- package/lib/dist/extraction/vba-form-extractor.js +6 -1
- package/lib/dist/extraction/vba-form-extractor.js.map +1 -1
- package/lib/dist/extraction/vba-preprocess.d.ts.map +1 -1
- package/lib/dist/extraction/vba-preprocess.js +23 -2
- package/lib/dist/extraction/vba-preprocess.js.map +1 -1
- package/lib/dist/extraction/vba-test-manifest-extractor.d.ts +26 -0
- package/lib/dist/extraction/vba-test-manifest-extractor.d.ts.map +1 -0
- package/lib/dist/extraction/vba-test-manifest-extractor.js +173 -0
- package/lib/dist/extraction/vba-test-manifest-extractor.js.map +1 -0
- package/lib/dist/extraction/vba-test-sequence-extractor.d.ts +29 -0
- package/lib/dist/extraction/vba-test-sequence-extractor.d.ts.map +1 -0
- package/lib/dist/extraction/vba-test-sequence-extractor.js +180 -0
- package/lib/dist/extraction/vba-test-sequence-extractor.js.map +1 -0
- package/lib/dist/installer/index.js +2 -2
- package/lib/dist/mcp/server-instructions.d.ts +1 -1
- package/lib/dist/mcp/server-instructions.d.ts.map +1 -1
- package/lib/dist/mcp/server-instructions.js +5 -0
- package/lib/dist/mcp/server-instructions.js.map +1 -1
- package/lib/dist/resolution/index.d.ts.map +1 -1
- package/lib/dist/resolution/index.js +30 -0
- package/lib/dist/resolution/index.js.map +1 -1
- package/lib/dist/resolution/types.d.ts +7 -0
- package/lib/dist/resolution/types.d.ts.map +1 -1
- package/lib/dist/upgrade/index.d.ts +1 -1
- package/lib/dist/upgrade/index.d.ts.map +1 -1
- package/lib/dist/upgrade/index.js +1 -1
- package/lib/dist/upgrade/index.js.map +1 -1
- package/lib/node_modules/.modules.yaml +1 -1
- package/lib/node_modules/.pnpm/lock.yaml +4 -0
- package/lib/node_modules/.pnpm-workspace-state-v1.json +1 -1
- package/lib/package.json +8 -2
- package/package.json +1 -1
|
@@ -28,6 +28,14 @@ class VbaExtractorContext {
|
|
|
28
28
|
* Let Foo`, and `Property Set Foo` all share the name `Foo`.
|
|
29
29
|
*/
|
|
30
30
|
localProcs = new Map();
|
|
31
|
+
/**
|
|
32
|
+
* Issue #83: flat list of every `ProcInfo` produced by the procedures
|
|
33
|
+
* classifier, in declaration order. Mirrors the array the legacy
|
|
34
|
+
* `sweepProcedures` returned; the orchestrator reads it after the single
|
|
35
|
+
* walker pass to (a) decide `hasAnySymbols`, and (b) check for a
|
|
36
|
+
* `New` initializer to set `hasClassInitializer` on the class node.
|
|
37
|
+
*/
|
|
38
|
+
procedures = [];
|
|
31
39
|
/**
|
|
32
40
|
* Cache: procedure name → first matching function node emitted for that
|
|
33
41
|
* name (audit S2 — O(1) same-file call resolution).
|
|
@@ -92,6 +100,17 @@ class VbaExtractorContext {
|
|
|
92
100
|
procStack = [];
|
|
93
101
|
/** Local event name (lowercase) → event node for `RaiseEvent` edge emission. */
|
|
94
102
|
localEvents = new Map();
|
|
103
|
+
/**
|
|
104
|
+
* Same-file function/property return types, keyed by lowercase proc name →
|
|
105
|
+
* declared return type. ONLY non-primitive (project-class) return types are
|
|
106
|
+
* stored. Populated by `sweepProcedures` (which runs before the call sweep);
|
|
107
|
+
* consumed by the call sweep's `Set x = Factory(...)` handling to type the
|
|
108
|
+
* assigned local var so a later `x.Method` qualified call resolves to the
|
|
109
|
+
* factory's class instead of a dead-end `x.Method` stub. Cross-file
|
|
110
|
+
* factories are not covered here (no return type is visible at extraction
|
|
111
|
+
* time) — that stays the resolver's frontier.
|
|
112
|
+
*/
|
|
113
|
+
functionReturnTypes = new Map();
|
|
95
114
|
constructor(filePath) {
|
|
96
115
|
this.filePath = filePath;
|
|
97
116
|
}
|
|
@@ -195,8 +214,16 @@ class VbaExtractorContext {
|
|
|
195
214
|
* node named `targetName`. Used by Dim, WithEvents, Set-New, and SQL sweeps.
|
|
196
215
|
* Fix 5: the synthetic node id is keyed on (filePath, kind, name) WITHOUT
|
|
197
216
|
* lineNum so the same type/table referenced on N lines produces ONE node.
|
|
217
|
+
*
|
|
218
|
+
* `access` (optional): when a caller can classify the reference as a data
|
|
219
|
+
* read or write — SQL table references derive it from the statement verb —
|
|
220
|
+
* it is stamped onto `edge.metadata.access` so consumers can answer "who
|
|
221
|
+
* WRITES table X" vs "who READS table X". Mirrors the read/write tagging the
|
|
222
|
+
* TempVars sweep already emits (`emitTempVarReference`). Omitted for
|
|
223
|
+
* structural references (Dim/WithEvents/Set-New) where the direction is not
|
|
224
|
+
* meaningful.
|
|
198
225
|
*/
|
|
199
|
-
emitReference(targetName, lineNum, column, synthesizedBy) {
|
|
226
|
+
emitReference(targetName, lineNum, column, synthesizedBy, access) {
|
|
200
227
|
if (!targetName)
|
|
201
228
|
return;
|
|
202
229
|
const targetId = (0, tree_sitter_helpers_1.generateNodeId)(this.filePath, 'class', // placeholder kind; cross-file resolution will re-type at lookup
|
|
@@ -225,7 +252,7 @@ class VbaExtractorContext {
|
|
|
225
252
|
target: targetId,
|
|
226
253
|
kind: 'references',
|
|
227
254
|
provenance: 'heuristic',
|
|
228
|
-
metadata: { synthesizedBy },
|
|
255
|
+
metadata: access ? { synthesizedBy, access } : { synthesizedBy },
|
|
229
256
|
line: lineNum,
|
|
230
257
|
column,
|
|
231
258
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/extraction/vba/context.ts"],"names":[],"mappings":";;;AAmBA,gEAAwD;AACxD,2CAA8C;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/extraction/vba/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
-
import { VbaExtractorContext } from './context';
|
|
1
|
+
import { VbaExtractorContext, VbaClassifier } from './context';
|
|
2
|
+
/**
|
|
3
|
+
* Issue #83: factory for the events/types/declares classifier. Closure
|
|
4
|
+
* state: `currentType` (the open `Type ... End Type` block).
|
|
5
|
+
*/
|
|
6
|
+
export declare function createEventsTypesDeclaresClassifier(): VbaClassifier;
|
|
7
|
+
/**
|
|
8
|
+
* Backward-compat wrapper (see procedures.ts). Returns the classifier's
|
|
9
|
+
* `count` so the orchestrator can decide `hasAnySymbols`.
|
|
10
|
+
*/
|
|
2
11
|
export declare function sweepEventsTypesAndDeclares(ctx: VbaExtractorContext, src: string): number;
|
|
3
12
|
//# sourceMappingURL=declarations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarations.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/declarations.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"declarations.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/declarations.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAqB/D;;;GAGG;AACH,wBAAgB,mCAAmC,IAAI,aAAa,CA0InE;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAOzF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createEventsTypesDeclaresClassifier = createEventsTypesDeclaresClassifier;
|
|
3
4
|
exports.sweepEventsTypesAndDeclares = sweepEventsTypesAndDeclares;
|
|
4
5
|
const tree_sitter_helpers_1 = require("../tree-sitter-helpers");
|
|
5
6
|
const text_utils_1 = require("./text-utils");
|
|
@@ -13,142 +14,159 @@ const TYPE_END_RE = /^\s*End\s+Type\b/iu;
|
|
|
13
14
|
const TYPE_MEMBER_RE = /^\s*(\p{L}[\p{L}\p{N}_]*)\s*(?:\([^)]*\))?\s+As\s+(.+?)\s*$/iu;
|
|
14
15
|
/** `[visibility] Declare [PtrSafe] Sub|Function <Name> Lib "dll" [Alias "x"] ...` */
|
|
15
16
|
const DLL_DECLARE_RE = /^\s*((?:Public|Private)\s+)?Declare\s+(PtrSafe\s+)?(Sub|Function)\s+(\p{L}[\p{L}\p{N}_]*)\s+Lib\s+"([^"]+)"(?:\s+Alias\s+"([^"]+)")?/iu;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Issue #83: factory for the events/types/declares classifier. Closure
|
|
19
|
+
* state: `currentType` (the open `Type ... End Type` block).
|
|
20
|
+
*/
|
|
21
|
+
function createEventsTypesDeclaresClassifier() {
|
|
19
22
|
let currentType = null;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
23
|
+
const cls = {
|
|
24
|
+
name: 'eventsTypesDeclares',
|
|
25
|
+
count: 0,
|
|
26
|
+
classifyLine(line, i, ctx) {
|
|
27
|
+
const lineNum = i + 1;
|
|
28
|
+
if (currentType) {
|
|
29
|
+
if (TYPE_END_RE.test(line)) {
|
|
30
|
+
currentType = null;
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const member = TYPE_MEMBER_RE.exec(line);
|
|
34
|
+
if (member) {
|
|
35
|
+
const memberName = member[1] ?? '';
|
|
36
|
+
const memberType = (member[2] ?? '').trim();
|
|
37
|
+
if (!memberName)
|
|
38
|
+
return;
|
|
39
|
+
const memberId = (0, tree_sitter_helpers_1.generateNodeId)(ctx.filePath, 'type_member', memberName, lineNum);
|
|
40
|
+
ctx.nodes.push({
|
|
41
|
+
id: memberId,
|
|
42
|
+
kind: 'type_member',
|
|
43
|
+
name: memberName,
|
|
44
|
+
qualifiedName: `${currentType.name}.${memberName}`,
|
|
45
|
+
filePath: ctx.filePath,
|
|
46
|
+
language: 'vba',
|
|
47
|
+
startLine: lineNum,
|
|
48
|
+
endLine: lineNum,
|
|
49
|
+
startColumn: 0,
|
|
50
|
+
endColumn: line.length,
|
|
51
|
+
metadata: { memberType },
|
|
52
|
+
updatedAt: Date.now(),
|
|
53
|
+
});
|
|
54
|
+
ctx.edges.push({
|
|
55
|
+
source: currentType.id,
|
|
56
|
+
target: memberId,
|
|
57
|
+
kind: 'type-member',
|
|
58
|
+
provenance: 'parser',
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
const eventDecl = EVENT_DECL_RE.exec(line);
|
|
64
|
+
if (eventDecl) {
|
|
65
|
+
const visibility = (0, text_utils_1.foldVisibility)(eventDecl[1] ?? '');
|
|
66
|
+
const name = eventDecl[2] ?? '';
|
|
67
|
+
if (!name)
|
|
68
|
+
return;
|
|
69
|
+
const eventId = (0, tree_sitter_helpers_1.generateNodeId)(ctx.filePath, 'event', name, lineNum);
|
|
70
|
+
const eventNode = {
|
|
71
|
+
id: eventId,
|
|
72
|
+
kind: 'event',
|
|
73
|
+
name,
|
|
74
|
+
signature: line.trim(),
|
|
75
|
+
qualifiedName: ctx.classNamePrefix ? `${ctx.classNamePrefix}.${name}` : name,
|
|
76
|
+
filePath: ctx.filePath,
|
|
77
|
+
language: 'vba',
|
|
78
|
+
startLine: lineNum,
|
|
79
|
+
endLine: lineNum,
|
|
80
|
+
startColumn: 0,
|
|
81
|
+
endColumn: line.length,
|
|
82
|
+
visibility,
|
|
83
|
+
updatedAt: Date.now(),
|
|
84
|
+
};
|
|
85
|
+
ctx.nodes.push(eventNode);
|
|
86
|
+
ctx.localEvents.set(name.toLowerCase(), eventNode);
|
|
87
|
+
ctx.pushContainsFromModule(eventId);
|
|
88
|
+
this.count++;
|
|
89
|
+
return;
|
|
27
90
|
}
|
|
28
|
-
const
|
|
29
|
-
if (
|
|
30
|
-
const
|
|
31
|
-
const
|
|
32
|
-
if (!
|
|
33
|
-
|
|
34
|
-
const
|
|
91
|
+
const typeStart = TYPE_START_RE.exec(line);
|
|
92
|
+
if (typeStart) {
|
|
93
|
+
const visibility = (0, text_utils_1.foldVisibility)(typeStart[1] ?? '');
|
|
94
|
+
const name = typeStart[2] ?? '';
|
|
95
|
+
if (!name)
|
|
96
|
+
return;
|
|
97
|
+
const typeId = (0, tree_sitter_helpers_1.generateNodeId)(ctx.filePath, 'type', name, lineNum);
|
|
35
98
|
ctx.nodes.push({
|
|
36
|
-
id:
|
|
37
|
-
kind: '
|
|
38
|
-
name
|
|
39
|
-
qualifiedName: `${
|
|
99
|
+
id: typeId,
|
|
100
|
+
kind: 'type',
|
|
101
|
+
name,
|
|
102
|
+
qualifiedName: ctx.classNamePrefix ? `${ctx.classNamePrefix}.${name}` : name,
|
|
40
103
|
filePath: ctx.filePath,
|
|
41
104
|
language: 'vba',
|
|
42
105
|
startLine: lineNum,
|
|
43
106
|
endLine: lineNum,
|
|
44
107
|
startColumn: 0,
|
|
45
108
|
endColumn: line.length,
|
|
46
|
-
|
|
109
|
+
visibility,
|
|
47
110
|
updatedAt: Date.now(),
|
|
48
111
|
});
|
|
49
|
-
ctx.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
provenance: 'parser',
|
|
54
|
-
});
|
|
112
|
+
ctx.pushContainsFromModule(typeId);
|
|
113
|
+
currentType = { id: typeId, name };
|
|
114
|
+
this.count++;
|
|
115
|
+
return;
|
|
55
116
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
id: typeId,
|
|
95
|
-
kind: 'type',
|
|
96
|
-
name,
|
|
97
|
-
qualifiedName: ctx.classNamePrefix ? `${ctx.classNamePrefix}.${name}` : name,
|
|
98
|
-
filePath: ctx.filePath,
|
|
99
|
-
language: 'vba',
|
|
100
|
-
startLine: lineNum,
|
|
101
|
-
endLine: lineNum,
|
|
102
|
-
startColumn: 0,
|
|
103
|
-
endColumn: line.length,
|
|
104
|
-
visibility,
|
|
105
|
-
updatedAt: Date.now(),
|
|
106
|
-
});
|
|
107
|
-
ctx.pushContainsFromModule(typeId);
|
|
108
|
-
currentType = { id: typeId, name };
|
|
109
|
-
count++;
|
|
110
|
-
continue;
|
|
111
|
-
}
|
|
112
|
-
const declaration = DLL_DECLARE_RE.exec(line);
|
|
113
|
-
if (declaration) {
|
|
114
|
-
const visibility = (0, text_utils_1.foldVisibility)(declaration[1] ?? '');
|
|
115
|
-
const ptrSafe = !!declaration[2];
|
|
116
|
-
const declareKind = (declaration[3] ?? '').toLowerCase();
|
|
117
|
-
const name = declaration[4] ?? '';
|
|
118
|
-
const dll = declaration[5] ?? '';
|
|
119
|
-
const aliasName = declaration[6] ?? undefined;
|
|
120
|
-
if (!name)
|
|
121
|
-
continue;
|
|
122
|
-
const declareId = (0, tree_sitter_helpers_1.generateNodeId)(ctx.filePath, 'declare', name, lineNum);
|
|
123
|
-
const declareNode = {
|
|
124
|
-
id: declareId,
|
|
125
|
-
kind: 'declare',
|
|
126
|
-
name,
|
|
127
|
-
qualifiedName: ctx.classNamePrefix ? `${ctx.classNamePrefix}.${name}` : name,
|
|
128
|
-
filePath: ctx.filePath,
|
|
129
|
-
language: 'vba',
|
|
130
|
-
startLine: lineNum,
|
|
131
|
-
endLine: lineNum,
|
|
132
|
-
startColumn: 0,
|
|
133
|
-
endColumn: line.length,
|
|
134
|
-
visibility,
|
|
135
|
-
metadata: {
|
|
136
|
-
isDeclare: true,
|
|
137
|
-
dll,
|
|
138
|
-
declareKind,
|
|
139
|
-
ptrSafe,
|
|
140
|
-
...(aliasName ? { aliasName } : {}),
|
|
141
|
-
},
|
|
142
|
-
updatedAt: Date.now(),
|
|
143
|
-
};
|
|
144
|
-
ctx.nodes.push(declareNode);
|
|
145
|
-
if (!ctx.functionNodeByName.has(name)) {
|
|
146
|
-
ctx.functionNodeByName.set(name, declareNode);
|
|
117
|
+
const declaration = DLL_DECLARE_RE.exec(line);
|
|
118
|
+
if (declaration) {
|
|
119
|
+
const visibility = (0, text_utils_1.foldVisibility)(declaration[1] ?? '');
|
|
120
|
+
const ptrSafe = !!declaration[2];
|
|
121
|
+
const declareKind = (declaration[3] ?? '').toLowerCase();
|
|
122
|
+
const name = declaration[4] ?? '';
|
|
123
|
+
const dll = declaration[5] ?? '';
|
|
124
|
+
const aliasName = declaration[6] ?? undefined;
|
|
125
|
+
if (!name)
|
|
126
|
+
return;
|
|
127
|
+
const declareId = (0, tree_sitter_helpers_1.generateNodeId)(ctx.filePath, 'declare', name, lineNum);
|
|
128
|
+
const declareNode = {
|
|
129
|
+
id: declareId,
|
|
130
|
+
kind: 'declare',
|
|
131
|
+
name,
|
|
132
|
+
qualifiedName: ctx.classNamePrefix ? `${ctx.classNamePrefix}.${name}` : name,
|
|
133
|
+
filePath: ctx.filePath,
|
|
134
|
+
language: 'vba',
|
|
135
|
+
startLine: lineNum,
|
|
136
|
+
endLine: lineNum,
|
|
137
|
+
startColumn: 0,
|
|
138
|
+
endColumn: line.length,
|
|
139
|
+
visibility,
|
|
140
|
+
metadata: {
|
|
141
|
+
isDeclare: true,
|
|
142
|
+
dll,
|
|
143
|
+
declareKind,
|
|
144
|
+
ptrSafe,
|
|
145
|
+
...(aliasName ? { aliasName } : {}),
|
|
146
|
+
},
|
|
147
|
+
updatedAt: Date.now(),
|
|
148
|
+
};
|
|
149
|
+
ctx.nodes.push(declareNode);
|
|
150
|
+
if (!ctx.functionNodeByName.has(name)) {
|
|
151
|
+
ctx.functionNodeByName.set(name, declareNode);
|
|
152
|
+
}
|
|
153
|
+
ctx.pushContainsFromModule(declareId);
|
|
154
|
+
this.count++;
|
|
147
155
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
156
|
+
},
|
|
157
|
+
};
|
|
158
|
+
return cls;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Backward-compat wrapper (see procedures.ts). Returns the classifier's
|
|
162
|
+
* `count` so the orchestrator can decide `hasAnySymbols`.
|
|
163
|
+
*/
|
|
164
|
+
function sweepEventsTypesAndDeclares(ctx, src) {
|
|
165
|
+
const cls = createEventsTypesDeclaresClassifier();
|
|
166
|
+
const lines = src.split('\n');
|
|
167
|
+
for (let i = 0; i < lines.length; i++) {
|
|
168
|
+
cls.classifyLine(lines[i] ?? '', i, ctx);
|
|
151
169
|
}
|
|
152
|
-
return count;
|
|
170
|
+
return cls.count;
|
|
153
171
|
}
|
|
154
172
|
//# sourceMappingURL=declarations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../../src/extraction/vba/declarations.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../../src/extraction/vba/declarations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
-
import { VbaExtractorContext } from './context';
|
|
1
|
+
import { VbaExtractorContext, VbaClassifier } from './context';
|
|
2
|
+
/**
|
|
3
|
+
* Issue #83: factory for the Dim / WithEvents classifier. Stateless per-line.
|
|
4
|
+
*/
|
|
5
|
+
export declare function createDimsClassifier(): VbaClassifier;
|
|
6
|
+
/**
|
|
7
|
+
* Backward-compat wrapper (see procedures.ts). Returns the classifier's
|
|
8
|
+
* `count` so the orchestrator can decide `hasAnySymbols`.
|
|
9
|
+
*/
|
|
2
10
|
export declare function sweepDimsAndWithEvents(ctx: VbaExtractorContext, src: string): number;
|
|
3
11
|
//# sourceMappingURL=dims.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dims.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/dims.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"dims.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/dims.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAqE/D;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,aAAa,CA4HpD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAOpF"}
|