@aroman22/codegraph-vba-darwin-arm64 1.6.3 → 1.7.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 (33) hide show
  1. package/lib/dist/extraction/vba/call-sweep.d.ts.map +1 -1
  2. package/lib/dist/extraction/vba/call-sweep.js +49 -1
  3. package/lib/dist/extraction/vba/call-sweep.js.map +1 -1
  4. package/lib/dist/extraction/vba/calls.d.ts +6 -2
  5. package/lib/dist/extraction/vba/calls.d.ts.map +1 -1
  6. package/lib/dist/extraction/vba/calls.js +55 -7
  7. package/lib/dist/extraction/vba/calls.js.map +1 -1
  8. package/lib/dist/extraction/vba/controls.d.ts +17 -0
  9. package/lib/dist/extraction/vba/controls.d.ts.map +1 -1
  10. package/lib/dist/extraction/vba/controls.js +40 -2
  11. package/lib/dist/extraction/vba/controls.js.map +1 -1
  12. package/lib/dist/extraction/vba/docmd.js +1 -1
  13. package/lib/dist/extraction/vba/docmd.js.map +1 -1
  14. package/lib/dist/mcp/server-instructions.d.ts +1 -1
  15. package/lib/dist/mcp/server-instructions.d.ts.map +1 -1
  16. package/lib/dist/mcp/server-instructions.js +2 -0
  17. package/lib/dist/mcp/server-instructions.js.map +1 -1
  18. package/lib/dist/resolution/index.d.ts +12 -0
  19. package/lib/dist/resolution/index.d.ts.map +1 -1
  20. package/lib/dist/resolution/index.js +58 -20
  21. package/lib/dist/resolution/index.js.map +1 -1
  22. package/lib/dist/resolution/vba-runtime-objects.d.ts +40 -0
  23. package/lib/dist/resolution/vba-runtime-objects.d.ts.map +1 -0
  24. package/lib/dist/resolution/vba-runtime-objects.js +68 -0
  25. package/lib/dist/resolution/vba-runtime-objects.js.map +1 -0
  26. package/lib/dist/types.d.ts +33 -1
  27. package/lib/dist/types.d.ts.map +1 -1
  28. package/lib/dist/types.js +37 -0
  29. package/lib/dist/types.js.map +1 -1
  30. package/lib/node_modules/.modules.yaml +1 -1
  31. package/lib/node_modules/.pnpm-workspace-state-v1.json +1 -1
  32. package/lib/package.json +1 -1
  33. package/package.json +1 -1
@@ -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;AA0CzE;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,aAAa,CA4Of;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAO5E"}
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;AA0CzE;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,aAAa,CAiSf;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,mBAAmB,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAO5E"}
@@ -198,7 +198,29 @@ function createCallsAndSqlClassifier(lines) {
198
198
  const stmtCall = (0, calls_1.detectStatementCall)(clauseLine);
199
199
  if (stmtCall) {
200
200
  const caller = stack[stack.length - 1];
201
- (0, calls_1.emitStatementCallEdge)(ctx, caller, stmtCall, lineNum);
201
+ // Returns true when a same-file calls edge was emitted; false
202
+ // when the call was silenced (blacklist / runtime receiver /
203
+ // unresolvable same-file target).
204
+ const emitted = (0, calls_1.emitStatementCallEdge)(ctx, caller, stmtCall, lineNum);
205
+ // Round-3 (issue #108): if the statement-form Sub call did
206
+ // NOT resolve, surface it as an `unqualified-ident` unresolved
207
+ // reference. The const-first disambiguation rule (FR-3.1)
208
+ // ensures Const reads do not pollute the call bucket — when
209
+ // `stmtCall` resolves to a known Const, we still surface it as
210
+ // `unqualified-ident` (NOT `call`) because that's the
211
+ // unambiguous shape of a bare-ident read.
212
+ if (!emitted && stmtCall !== caller.name) {
213
+ ctx.unresolvedReferences.push({
214
+ fromNodeId: ctx.findOrCreateFunctionNodeId(caller),
215
+ referenceName: stmtCall,
216
+ referenceKind: 'unqualified-ident',
217
+ line: lineNum,
218
+ column: 0,
219
+ filePath: ctx.filePath,
220
+ language: 'vba',
221
+ metadata: { synthesizedBy: 'vba-statement-call-unresolved' },
222
+ });
223
+ }
202
224
  }
203
225
  // Fix 7 + Fix 2 + Issue #40: qualified statement-form calls
204
226
  // (`Receiver.Member args`) — the dominant cross-object call shape.
@@ -206,6 +228,14 @@ function createCallsAndSqlClassifier(lines) {
206
228
  if (qualStmt) {
207
229
  const caller = stack[stack.length - 1];
208
230
  if (ctx.shouldProcessQualifiedCall(qualStmt.receiver)) {
231
+ // Returns true when a `calls` edge was emitted to a synthetic
232
+ // stub node; false when the receiver is not eligible
233
+ // (primitive / DAO-qualified / runtime). Round-3 (issue
234
+ // #108): when the synthetic-stub path skips, the parent
235
+ // caller still needs to see an `unresolved_refs` row so the
236
+ // SQL filter `WHERE reference_kind = 'qualified-call'`
237
+ // surfaces these from `(caller, qualified, line)` tuples the
238
+ // resolver couldn't bind.
209
239
  (0, calls_1.emitQualifiedStatementCallEdge)(ctx, caller, qualStmt.receiver, qualStmt.member, lineNum);
210
240
  }
211
241
  }
@@ -216,6 +246,24 @@ function createCallsAndSqlClassifier(lines) {
216
246
  const caller = stack[stack.length - 1];
217
247
  (0, calls_1.emitQualifiedStatementCallEdge)(ctx, caller, withReceiver, withCall.member, lineNum);
218
248
  }
249
+ else if (withCall) {
250
+ // Round-3 (FR-2.5): `.Member` inside a `With` block where the
251
+ // receiver is NOT a project-class local (e.g. a runtime /
252
+ // DAO-qualified `With rs` where `rs` is `DAO.Recordset`).
253
+ // surface the call as `member-with` so the SQL filter can
254
+ // detect these by shape.
255
+ const caller = stack[stack.length - 1];
256
+ ctx.unresolvedReferences.push({
257
+ fromNodeId: ctx.findOrCreateFunctionNodeId(caller),
258
+ referenceName: `${withReceiver}.${withCall.member}`,
259
+ referenceKind: 'member-with',
260
+ line: lineNum,
261
+ column: 0,
262
+ filePath: ctx.filePath,
263
+ language: 'vba',
264
+ metadata: { synthesizedBy: 'vba-with-member-unresolved' },
265
+ });
266
+ }
219
267
  }
220
268
  }
221
269
  // B4 (hueco 6): `DoCmd.OpenForm "FormName"` modelling — the literal
@@ -1 +1 @@
1
- {"version":3,"file":"call-sweep.js","sourceRoot":"","sources":["../../../src/extraction/vba/call-sweep.ts"],"names":[],"mappings":";;AAyDA,kEA8OC;AAOD,4CAOC;AArTD;;;;;;GAMG;AACH,2CAAyE;AACzE,6CAAiD;AAEjD,mCAUiB;AACjB,yCAAoE;AACpE,mCAAiE;AACjE,yCAA2C;AAC3C,+CAA0E;AAE1E;;;;;GAKG;AACH,MAAM,UAAU,GACd,+FAA+F,CAAC;AAElG;;;;;;;;GAQG;AACH,MAAM,WAAW,GACf,wEAAwE,CAAC;AAE3E,2EAA2E;AAC3E,MAAM,aAAa,GAAG,0BAA0B,CAAC;AACjD,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAEzC;;;;;GAKG;AACH,SAAgB,2BAA2B,CACzC,KAAwB;IAExB,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7C,uEAAuE;IACvE,wCAAwC;IACxC,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,oEAAoE;IACpE,iEAAiE;IACjE,+DAA+D;IAC/D,gEAAgE;IAChE,+BAA+B;IAC/B,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE/C,MAAM,GAAG,GAAkB;QACzB,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,CAAC;QACR,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG;YACvB,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;YAEtB,MAAM,SAAS,GAAG,mBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,SAAS,EAAE,CAAC;gBACd,kDAAkD;gBAClD,6DAA6D;gBAC7D,2DAA2D;gBAC3D,0BAA0B;gBAC1B,MAAM,aAAa,GAAG,OAAO,CAAC;gBAC9B,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAClC,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;gBAE3C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,MAAM,EAAE,CAAC;oBACX,iEAAiE;oBACjE,gEAAgE;oBAChE,oEAAoE;oBACpE,qEAAqE;oBACrE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;oBACtE,IAAI,IAAI;wBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBACD,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACjC,gEAAgE;gBAChE,+DAA+D;gBAC/D,mEAAmE;gBACnE,iEAAiE;gBACjE,qBAAqB;YACvB,CAAC;iBAAM,IAAI,4BAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;gBAC5B,yDAAyD;gBACzD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gBACpB,GAAG,CAAC,cAAc;oBAChB,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;wBACtB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;wBACjD,CAAC,CAAC,QAAQ,CAAC;gBACf,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;YAED,wEAAwE;YACxE,yEAAyE;YACzE,0EAA0E;YAC1E,iDAAiD;YACjD,MAAM,YAAY,GAAG,IAAA,8BAAiB,EAAC,IAAI,CAAC,CAAC;YAE7C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;gBACvD,iBAAiB,CAAC,GAAG,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnD,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,QAAQ,GAAG,IAAA,6BAAqB,EAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC3D,IAAI,QAAQ;wBAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC/C,OAAO;gBACT,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,qDAAqD;YACrD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;gBAC7C,IAAA,uBAAe,EAAC,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;gBACzD,IAAA,qBAAa,EAAC,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YACzD,CAAC;YAED,qEAAqE;YACrE,gEAAgE;YAChE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1D,IAAA,kCAAuB,EAAC,GAAG,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,EAAE,OAAO,CAAC,CAAC;YAChF,CAAC;YAED,0EAA0E;YAC1E,0EAA0E;YAC1E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAA,wCAA0B,EAAC,KAAiB,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;gBAC/D,IAAA,2BAAa,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC;YACtE,CAAC;YAED,0EAA0E;YAC1E,uEAAuE;YACvE,qEAAqE;YACrE,WAAW;YACX,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,gEAAgE;gBAChE,iEAAiE;gBACjE,qDAAqD;gBACrD,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC7C,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAClC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAClC,IAAI,OAAO,IAAI,SAAS,EAAE,CAAC;wBACzB,qEAAqE;wBACrE,IAAI,CAAC,2BAAe,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;4BAClD,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;gCAC7C,KAAK,EAAE,SAAS;gCAChB,qDAAqD;gCACrD,2DAA2D;gCAC3D,kDAAkD;gCAClD,SAAS,EAAE,CAAC,CAAC,SAAS;gCACtB,eAAe,EAAE,IAAI;gCACrB,YAAY,EAAE,OAAO;6BACtB,CAAC,CAAC;4BACH,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC;wBAC1D,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,oEAAoE;oBACpE,4DAA4D;oBAC5D,kEAAkE;oBAClE,gEAAgE;oBAChE,8DAA8D;oBAC9D,sEAAsE;oBACtE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC/C,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBACjC,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;wBACjD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC3E,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;4BACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;4BAChE,MAAM,sBAAsB,GAC1B,CAAC,CAAC,QAAQ;gCACV,CAAC,QAAQ,CAAC,SAAS;gCACnB,CAAC,2BAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;4BACrD,IAAI,CAAC,sBAAsB,EAAE,CAAC;gCAC5B,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;oCAC7C,KAAK,EAAE,OAAO;oCACd,SAAS,EAAE,KAAK;oCAChB,eAAe,EAAE,IAAI;oCACrB,YAAY,EAAE,OAAO;iCACtB,CAAC,CAAC;gCACH,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC;4BAC/D,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,MAAM,WAAW,GAAG,IAAA,gCAAwB,EAAC,YAAY,CAAC,CAAC;gBAC3D,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;oBACrC,MAAM,QAAQ,GAAG,IAAA,2BAAmB,EAAC,UAAU,CAAC,CAAC;oBACjD,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;wBACxC,IAAA,6BAAqB,EAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACxD,CAAC;oBAED,4DAA4D;oBAC5D,mEAAmE;oBACnE,MAAM,QAAQ,GAAG,IAAA,oCAA4B,EAAC,UAAU,CAAC,CAAC;oBAC1D,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;wBACxC,IAAI,GAAG,CAAC,0BAA0B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACtD,IAAA,sCAA8B,EAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;wBAC3F,CAAC;oBACH,CAAC;oBAED,MAAM,YAAY,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACrE,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM,QAAQ,GAAG,IAAA,4BAAoB,EAAC,UAAU,CAAC,CAAC;wBAClD,IAAI,QAAQ,IAAI,GAAG,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC;4BACzD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;4BACxC,IAAA,sCAA8B,EAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;wBACtF,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,oEAAoE;gBACpE,gEAAgE;gBAChE,8DAA8D;gBAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;gBACzC,qEAAqE;gBACrE,4CAA4C;gBAC5C,IAAA,0BAAkB,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAChD,IAAA,0BAAkB,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAChD,uEAAuE;gBACvE,qEAAqE;gBACrE,eAAe;gBACf,IAAA,wBAAa,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;gBAE3C,mEAAmE;gBACnE,oDAAoD;gBACpD,IAAA,wBAAa,EAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,GAAG;YACV,uEAAuE;YACvE,sEAAsE;YACtE,iEAAiE;YACjE,qDAAqD;YACrD,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;oBAAE,SAAS;gBACpC,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC1C,IAAI,GAAG,KAAK,SAAS;oBAAE,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC;YACzC,CAAC;QACH,CAAC;KACF,CAAC;IAEF,wEAAwE;IACxE,yEAAyE;IACzE,sEAAsE;IACtE,yEAAyE;IACzE,0EAA0E;IAC1E,oEAAoE;IACpE,kBAAkB;IAClB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,MAAM,gBAAgB,GAAG,GAAG,CAAC,YAAY,CAAC;IAC1C,GAAG,CAAC,YAAY,GAAG,UAAU,IAAI,EAAE,CAAC,EAAE,GAAG;QACvC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YACzB,GAAG,CAAC,cAAc,GAAG,QAAQ,CAAC;YAC9B,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QACD,OAAO,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,GAAwB,EAAE,GAAW;IACpE,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3C,CAAC;IACD,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"call-sweep.js","sourceRoot":"","sources":["../../../src/extraction/vba/call-sweep.ts"],"names":[],"mappings":"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"}
@@ -20,9 +20,13 @@ export declare function splitSingleLineIfClauses(line: string): string[];
20
20
  export declare function detectStatementCall(line: string): string | null;
21
21
  /**
22
22
  * H1: emit a same-file `calls` edge for a statement-form Sub call to the
23
- * already-emitted function node named `procName`.
23
+ * already-emitted function node named `procName`. Returns `true` when a
24
+ * `calls` edge was pushed, `false` when the call was silenced
25
+ * (blacklist / runtime / self-call / unresolvable). Round-3 (issue
26
+ * #108) needs that boolean so the call sweep can fall through to push
27
+ * an `unqualified-ident` unresolved reference.
24
28
  */
25
- export declare function emitStatementCallEdge(ctx: VbaExtractorContext, caller: ProcInfo, procName: string, lineNum: number): void;
29
+ export declare function emitStatementCallEdge(ctx: VbaExtractorContext, caller: ProcInfo, procName: string, lineNum: number): boolean;
26
30
  /**
27
31
  * Fix 7: detect a qualified statement-form call — `Receiver.Member <args>`
28
32
  * where `Receiver.Member` is NOT followed by `(`. Distinct from the paren
@@ -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,CAiBN;AAED,wBAAgB,aAAa,CAC3B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAsGN;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;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,mBAAmB,EACxB,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,IAAI,CAaN;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"}
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,CAiBN;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"}
@@ -78,8 +78,23 @@ function scanCallSites(ctx, line, from, lineNum) {
78
78
  if (!member) {
79
79
  // Bare `Name(...)` — same-file resolution.
80
80
  const localFuncNode = ctx.findFunctionNodeByName(receiver);
81
- if (!localFuncNode)
81
+ if (!localFuncNode) {
82
+ // Round-3 (FR-2.1, issue #108): the call-sweep path used to
83
+ // silent-skip here, leaving the paren-form unresolvable call
84
+ // invisible in `unresolved_refs`. Surface it as `'call'` so the
85
+ // SQL filter `WHERE reference_kind = 'call'` reaches it.
86
+ ctx.unresolvedReferences.push({
87
+ fromNodeId: ctx.findOrCreateFunctionNodeId(from),
88
+ referenceName: receiver,
89
+ referenceKind: 'call',
90
+ line: lineNum,
91
+ column: col,
92
+ filePath: ctx.filePath,
93
+ language: 'vba',
94
+ metadata: { synthesizedBy: 'vba-paren-call-unresolved' },
95
+ });
82
96
  continue;
97
+ }
83
98
  ctx.edges.push({
84
99
  source: ctx.findOrCreateFunctionNodeId(from),
85
100
  target: localFuncNode.id,
@@ -91,8 +106,23 @@ function scanCallSites(ctx, line, from, lineNum) {
91
106
  else {
92
107
  // Qualified `Receiver.Member(...)` — synthesize the call target only
93
108
  // for project-class local variables or undeclared module candidates.
94
- if (!ctx.shouldProcessQualifiedCall(receiver))
109
+ if (!ctx.shouldProcessQualifiedCall(receiver)) {
110
+ // Round-3 (FR-2.2): receiver is a declared primitive or
111
+ // runtime-blacklisted. Surface the qualified call as
112
+ // `'qualified-call'` so the SQL filter still sees these from
113
+ // `(caller, qualified, line)` tuples the resolver can't bind.
114
+ ctx.unresolvedReferences.push({
115
+ fromNodeId: ctx.findOrCreateFunctionNodeId(from),
116
+ referenceName: `${receiver}.${member}`,
117
+ referenceKind: 'qualified-call',
118
+ line: lineNum,
119
+ column: col,
120
+ filePath: ctx.filePath,
121
+ language: 'vba',
122
+ metadata: { synthesizedBy: 'vba-qualified-call-unresolved' },
123
+ });
95
124
  continue;
125
+ }
96
126
  // #12a: `receiverType` resolves to the real class name when
97
127
  // `receiver` is a declared project-class local var; otherwise it's the
98
128
  // raw `receiver` text unchanged (e.g. `.bas`-qualified module calls).
@@ -104,6 +134,19 @@ function scanCallSites(ctx, line, from, lineNum) {
104
134
  // `modUtils.Foo(1)` are unaffected (`modUtils` is not a local var).
105
135
  const recvEntry = ctx.localVarTypeMap.get(receiver.toLowerCase());
106
136
  if (recvEntry && constants_1.PRIMITIVE_TYPES.has(recvEntry.outer.toLowerCase())) {
137
+ // Match the round-3 surfaced row so the SQL filter has the
138
+ // receiver/member string even when the stub emission was
139
+ // suppressed.
140
+ ctx.unresolvedReferences.push({
141
+ fromNodeId: ctx.findOrCreateFunctionNodeId(from),
142
+ referenceName: `${receiver}.${member}`,
143
+ referenceKind: 'qualified-call',
144
+ line: lineNum,
145
+ column: col,
146
+ filePath: ctx.filePath,
147
+ language: 'vba',
148
+ metadata: { synthesizedBy: 'vba-qualified-call-unresolved' },
149
+ });
107
150
  continue;
108
151
  }
109
152
  const receiverType = ctx.resolveReceiverType(receiver);
@@ -242,18 +285,22 @@ function detectStatementCall(line) {
242
285
  }
243
286
  /**
244
287
  * H1: emit a same-file `calls` edge for a statement-form Sub call to the
245
- * already-emitted function node named `procName`.
288
+ * already-emitted function node named `procName`. Returns `true` when a
289
+ * `calls` edge was pushed, `false` when the call was silenced
290
+ * (blacklist / runtime / self-call / unresolvable). Round-3 (issue
291
+ * #108) needs that boolean so the call sweep can fall through to push
292
+ * an `unqualified-ident` unresolved reference.
246
293
  */
247
294
  function emitStatementCallEdge(ctx, caller, procName, lineNum) {
248
295
  if (procName === caller.name)
249
- return; // skip self-call
296
+ return false; // skip self-call
250
297
  if (constants_1.CALL_KEYWORD_BLACKLIST.has(procName))
251
- return;
298
+ return false;
252
299
  if (constants_1.RUNTIME_RECEIVER_BLACKLIST.has(procName))
253
- return;
300
+ return false;
254
301
  const target = ctx.findFunctionNodeByName(procName);
255
302
  if (!target)
256
- return;
303
+ return false;
257
304
  ctx.edges.push({
258
305
  source: ctx.findOrCreateFunctionNodeId(caller),
259
306
  target: target.id,
@@ -261,6 +308,7 @@ function emitStatementCallEdge(ctx, caller, procName, lineNum) {
261
308
  line: lineNum,
262
309
  column: 0,
263
310
  });
311
+ return true;
264
312
  }
265
313
  /**
266
314
  * Fix 7: detect a qualified statement-form call — `Receiver.Member <args>`
@@ -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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"}
@@ -11,6 +11,15 @@ import { VbaExtractorContext, ProcInfo } from './context';
11
11
  * `metadata.synthesizedBy: 'vba-me-control'`. Operates on the masked
12
12
  * `callScanLine`. The +3 column offset skips the 3-char `Me.` / `Me!`
13
13
  * prefix (both are 3 chars).
14
+ *
15
+ * Round-3 (issue #108): the `referenceKind` is keyed off the operator
16
+ * (`.` vs `!`) at the match position. The same-line `=` heuristic
17
+ * distinguishes reads from assignments: `x = Me.Name` → `property-get`,
18
+ * `Me.Name = "X"` → `property-set`. Cross-line property-set is out of
19
+ * scope; the `=` rule is satisfied when the assignment appears on the
20
+ * SAME line at any position AFTER the matched control name (allowing
21
+ * trailing `.Caption = value` chained assignments too — they still
22
+ * flow a write into the captured control identifier).
14
23
  */
15
24
  export declare function scanMeControlReferences(ctx: VbaExtractorContext, line: string, from: ProcInfo, lineNum: number): void;
16
25
  /**
@@ -19,6 +28,14 @@ export declare function scanMeControlReferences(ctx: VbaExtractorContext, line:
19
28
  * emit ONE UnresolvedReference per match with `metadata.synthesizedBy
20
29
  * = 'vba-forms-bang'`. Operates on the ORIGINAL (unmasked) line. The form
21
30
  * identifier is unwrapped of surrounding `"` quotes and `[…]` brackets.
31
+ *
32
+ * Round-3 (issue #108): cross-form bang is always a property access
33
+ * (VBA semantics: there's no bang-call). The reference name is the FORM
34
+ * module — the resolver matches it against the indexed `Form_*` nodes
35
+ * downstream — so the kind is `'bang-get'` regardless of the read/write
36
+ * direction. A direct cross-form bang assignment
37
+ * (`Forms!FormX!Ctl = value`) is rare; round-3 emits `'bang-get'`
38
+ * uniformly and the resolvers do not care about access direction here.
22
39
  */
23
40
  export declare function scanFormsBang(ctx: VbaExtractorContext, line: string, from: ProcInfo, lineNum: number): void;
24
41
  //# sourceMappingURL=controls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/controls.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AA2B1D;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAiBN;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CA0BN"}
1
+ {"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../../../src/extraction/vba/controls.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AA2B1D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CAsCN;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,MAAM,GACd,IAAI,CA0BN"}
@@ -30,6 +30,15 @@ const FORMS_BANG_RE = /\b(?:Forms!(\p{L}[\p{L}\p{N}_]*|\[[^\]]+\])(?![.\w])|Form
30
30
  * `metadata.synthesizedBy: 'vba-me-control'`. Operates on the masked
31
31
  * `callScanLine`. The +3 column offset skips the 3-char `Me.` / `Me!`
32
32
  * prefix (both are 3 chars).
33
+ *
34
+ * Round-3 (issue #108): the `referenceKind` is keyed off the operator
35
+ * (`.` vs `!`) at the match position. The same-line `=` heuristic
36
+ * distinguishes reads from assignments: `x = Me.Name` → `property-get`,
37
+ * `Me.Name = "X"` → `property-set`. Cross-line property-set is out of
38
+ * scope; the `=` rule is satisfied when the assignment appears on the
39
+ * SAME line at any position AFTER the matched control name (allowing
40
+ * trailing `.Caption = value` chained assignments too — they still
41
+ * flow a write into the captured control identifier).
33
42
  */
34
43
  function scanMeControlReferences(ctx, line, from, lineNum) {
35
44
  ME_CONTROL_RE.lastIndex = 0;
@@ -38,10 +47,31 @@ function scanMeControlReferences(ctx, line, from, lineNum) {
38
47
  const controlName = m[1] ?? '';
39
48
  if (!controlName)
40
49
  continue;
50
+ // Round-3: operator is the char at `m.index + 2` (skipping the `Me`).
51
+ // Both `.` and `!` are 1 char so the captured name starts at `m.index + 3`.
52
+ const operator = line.charAt(m.index + 2); // '.' | '!'
53
+ const isBang = operator === '!';
54
+ // Same-line get vs set heuristic: anything past the captured control
55
+ // name on this line. Cover the `=` form (`Me.Name = "X"`) and ignore
56
+ // a previous-line `=`. The `= charAt(...)` short-circuits on the first
57
+ // non-whitespace; that matches VBA `Me.Name =` and tolerates intervening
58
+ // spaces. We do NOT match `==` (VBA has no `==`), and `=` inside a RHS
59
+ // expression on the SAME line is a false positive that's tolerable —
60
+ // round-4 can add a paren-depth check if needed.
61
+ const after = line.slice(m.index + 3 + controlName.length);
62
+ const eqIdx = after.indexOf('=');
63
+ const isAssign = eqIdx >= 0;
64
+ const referenceKind = isBang
65
+ ? isAssign
66
+ ? 'bang-set'
67
+ : 'bang-get'
68
+ : isAssign
69
+ ? 'property-set'
70
+ : 'property-get';
41
71
  ctx.unresolvedReferences.push({
42
72
  fromNodeId: ctx.findOrCreateFunctionNodeId(from),
43
73
  referenceName: controlName,
44
- referenceKind: 'references',
74
+ referenceKind,
45
75
  line: lineNum,
46
76
  column: m.index + 3, // +3 to skip the `Me.` / `Me!` prefix
47
77
  filePath: ctx.filePath,
@@ -56,6 +86,14 @@ function scanMeControlReferences(ctx, line, from, lineNum) {
56
86
  * emit ONE UnresolvedReference per match with `metadata.synthesizedBy
57
87
  * = 'vba-forms-bang'`. Operates on the ORIGINAL (unmasked) line. The form
58
88
  * identifier is unwrapped of surrounding `"` quotes and `[…]` brackets.
89
+ *
90
+ * Round-3 (issue #108): cross-form bang is always a property access
91
+ * (VBA semantics: there's no bang-call). The reference name is the FORM
92
+ * module — the resolver matches it against the indexed `Form_*` nodes
93
+ * downstream — so the kind is `'bang-get'` regardless of the read/write
94
+ * direction. A direct cross-form bang assignment
95
+ * (`Forms!FormX!Ctl = value`) is rare; round-3 emits `'bang-get'`
96
+ * uniformly and the resolvers do not care about access direction here.
59
97
  */
60
98
  function scanFormsBang(ctx, line, from, lineNum) {
61
99
  FORMS_BANG_RE.lastIndex = 0;
@@ -77,7 +115,7 @@ function scanFormsBang(ctx, line, from, lineNum) {
77
115
  ctx.unresolvedReferences.push({
78
116
  fromNodeId: ctx.findOrCreateFunctionNodeId(from),
79
117
  referenceName: formName,
80
- referenceKind: 'references',
118
+ referenceKind: 'bang-get',
81
119
  line: lineNum,
82
120
  column: m.index, // start of the `Forms` keyword
83
121
  filePath: ctx.filePath,
@@ -1 +1 @@
1
- {"version":3,"file":"controls.js","sourceRoot":"","sources":["../../../src/extraction/vba/controls.ts"],"names":[],"mappings":";;AAwCA,0DAsBC;AASD,sCA+BC;AA9FD;;;;;;;GAOG;AACH,MAAM,aAAa,GAAG,iCAAiC,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,MAAM,aAAa,GACjB,uKAAuK,CAAC;AAE1K;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,GAAwB,EACxB,IAAY,EACZ,IAAc,EACd,OAAe;IAEf,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW;YAAE,SAAS;QAC3B,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC5B,UAAU,EAAE,GAAG,CAAC,0BAA0B,CAAC,IAAI,CAAC;YAChD,aAAa,EAAE,WAAW;YAC1B,aAAa,EAAE,YAAY;YAC3B,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,sCAAsC;YAC3D,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAC3B,GAAwB,EACxB,IAAY,EACZ,IAAc,EACd,OAAe;IAEf,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/C,kEAAkE;QAClE,4DAA4D;QAC5D,mEAAmE;QACnE,kEAAkE;QAClE,4BAA4B;QAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,QAAQ,GAAG,GAAG;aACjB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAG,0CAA0C;aAClE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,6CAA6C;QACzE,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC;YAC5B,UAAU,EAAE,GAAG,CAAC,0BAA0B,CAAC,IAAI,CAAC;YAChD,aAAa,EAAE,QAAQ;YACvB,aAAa,EAAE,YAAY;YAC3B,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,+BAA+B;YAChD,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"controls.js","sourceRoot":"","sources":["../../../src/extraction/vba/controls.ts"],"names":[],"mappings":"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"}
@@ -167,7 +167,7 @@ function scanDoCmdOpenQuery(ctx, line, caller, lineNum) {
167
167
  ctx.unresolvedReferences.push({
168
168
  fromNodeId: ctx.findOrCreateFunctionNodeId(caller),
169
169
  referenceName: targetName,
170
- referenceKind: 'references',
170
+ referenceKind: 'dao-query',
171
171
  line: lineNum,
172
172
  column: m.index,
173
173
  filePath: ctx.filePath,
@@ -1 +1 @@
1
- {"version":3,"file":"docmd.js","sourceRoot":"","sources":["../../../src/extraction/vba/docmd.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docmd.js","sourceRoot":"","sources":["../../../src/extraction/vba/docmd.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@
17
17
  * tools (node/search/callers/…) stay defined and are re-enablable via
18
18
  * CODEGRAPH_MCP_TOOLS, but they are NOT listed to agents, so don't name them.
19
19
  */
20
- export declare const SERVER_INSTRUCTIONS = "# Codegraph \u2014 code intelligence over an indexed knowledge graph\n\nCodegraph is a SQLite knowledge graph of every symbol, edge, and file in\nthe workspace \u2014 pre-computed structure you would otherwise re-derive by\nreading files (cached intelligence: thousands of parse/trace decisions you\ndon't pay to re-reason each run). Reads are sub-millisecond; the index lags\nwrites by ~1s through the file watcher. Reach for it BEFORE *and* while\nwriting or editing code \u2014 not just for questions: one call returns the\nverbatim source PLUS who calls it and what it affects, so you edit with the\nblast radius in view. More accurate context, in far fewer tokens and\nround-trips than reading files yourself.\n\n## One tool: codegraph_explore \u2014 use it instead of reading files\n\nThere is a single tool, `codegraph_explore`, and it is Read-equivalent. It\ntakes either a natural-language question or a bag of symbol/file names and\nreturns the **verbatim, line-numbered source** of the relevant symbols\ngrouped by file \u2014 the same `<n>\\t<line>` shape `Read` gives you, safe to\n`Edit` from \u2014 PLUS the call path among them (including dynamic-dispatch hops\nlike callbacks, React re-render, and JSX children that grep can't follow) and\na blast-radius summary of what depends on them.\n\nWhether you're answering \"how does X work\" or implementing a change (fixing a\nbug, adding a feature), call `codegraph_explore` before you Read. ONE call\nusually answers the whole question. Codegraph IS the pre-built search index \u2014\nso running your own grep + read loop, or delegating the lookup to a separate\nfile-reading sub-task/agent, repeats work codegraph already did and costs more\nfor the same answer. A direct codegraph answer is typically one to a few\ncalls; a grep/read exploration is dozens.\n\n## How to query\n\n- **Almost any question \u2014 \"how does X work\", architecture, a bug, \"what/where is X\", or surveying an area** \u2192 `codegraph_explore` with a natural-language question or the relevant names. ONE capped call returns the verbatim source grouped by file; most often the ONLY call you need.\n- **\"How does X reach/become Y? / the flow / the path from X to Y\"** \u2192 `codegraph_explore`, naming the symbols that span the flow (e.g. `mutateElement renderScene`) \u2014 it surfaces the call path among them, riding dynamic-dispatch hops, and returns their source.\n- **Reading or editing a file/symbol you can name** \u2192 put its name or file path in the `codegraph_explore` query \u2014 it returns that current line-numbered source (safe to `Edit` from) with the call path and blast radius attached, so you don't Read it separately. For an overloaded name it returns every matching definition's body in one call.\n- **Need more?** Call `codegraph_explore` again with more specific names \u2014 treat the source it returns as already Read.\n\n## Anti-patterns\n\n- **Trust codegraph's results \u2014 don't re-verify them with grep.** They come from a full AST parse; re-checking with grep is slower, less accurate, and wastes context.\n- **Don't grep or Read first** to find or understand indexed code \u2014 ONE `codegraph_explore` returns the relevant symbols' source together in a single round-trip. Reach for raw `Read`/`Grep` only to confirm a specific detail codegraph didn't cover, or for what codegraph doesn't index (configs, docs).\n- **Don't reconstruct a flow by hand** \u2014 name the endpoints in one `codegraph_explore` and it surfaces the path between them, dynamic-dispatch hops included.\n- **After editing, check the staleness banner.** When a tool response starts with \"\u26A0\uFE0F Some files referenced below were edited since the last index sync\u2026\", the listed files are pending re-index \u2014 Read those specific files for accurate content. Every file NOT in that banner is fresh, so still trust codegraph. A different, rarer banner \u2014 \"\u26A0\uFE0F CodeGraph auto-sync is DISABLED\u2026\" \u2014 means live watching stopped entirely (the whole index is frozen, not just a few files); until it's resolved, Read files directly to confirm anything that may have changed.\n\n## Limitations\n\n- If a tool reports a project isn't indexed (no `.codegraph/`), stop calling codegraph tools for that project for the rest of the session and use your built-in tools there instead. Indexing is the user's decision \u2014 mention they can run `codegraph init` if it comes up, but don't run it yourself.\n- Index lags file writes by ~1 second.\n- Cross-file resolution is best-effort name matching; ambiguous calls may return multiple candidates.\n- No live correctness validation \u2014 that's still the TypeScript compiler / test suite / linter's job. Codegraph supplements those with structural context they don't have.\n\n## Supported Languages\n\nThe indexer recognizes a fixed set of languages; if you ask about symbols in a\nfile with an unsupported extension, codegraph will report the project isn't\nindexed for that file and you should fall back to Read/Grep. The fork-specific\naddition beyond upstream codegraph is **VBA / Access** (Dysflow export\nformat):\n\n- **VBA / Access** - Dysflow exports Access/VBA source as `.bas`/`.cls`/\n `.form.txt`/`.report.txt`. Codegraph extracts `.bas`/`.cls` as `module`/\n `class`/`function` nodes with `calls`/`implements`/`references` edges\n (procedural-level; regex-based, not full AST). Cross-module calls, qualified\n `Dim As`, `WithEvents`, and SQL table references inside string literals\n emit synthesized edges tagged `metadata.synthesizedBy` (`vba-name-resolution`,\n `vba-withevents`, `vba-sql-table`). `.form.txt` and `.report.txt` are\n extracted as a `module` plus one `property` per Access control - **no**\n `function`/`sub`/`class` nodes come from form files; the canonical code\n lives in the sibling `.cls`, parsed by the same extractor on that file.\n Dysflow test manifests (`tests.*.json`) link each registered `Test_*`\n procedure to its manifest with a `references` edge tagged\n `vba-test-manifest` carrying the test name + tags, so `getCallers` of a\n production symbol reaches its covering test atoms with the manifest and tags\n to run.\n Pass `projectPath` to a codegraph index that includes VBA files.\n";
20
+ export declare const SERVER_INSTRUCTIONS = "# Codegraph \u2014 code intelligence over an indexed knowledge graph\n\nCodegraph is a SQLite knowledge graph of every symbol, edge, and file in\nthe workspace \u2014 pre-computed structure you would otherwise re-derive by\nreading files (cached intelligence: thousands of parse/trace decisions you\ndon't pay to re-reason each run). Reads are sub-millisecond; the index lags\nwrites by ~1s through the file watcher. Reach for it BEFORE *and* while\nwriting or editing code \u2014 not just for questions: one call returns the\nverbatim source PLUS who calls it and what it affects, so you edit with the\nblast radius in view. More accurate context, in far fewer tokens and\nround-trips than reading files yourself.\n\n## One tool: codegraph_explore \u2014 use it instead of reading files\n\nThere is a single tool, `codegraph_explore`, and it is Read-equivalent. It\ntakes either a natural-language question or a bag of symbol/file names and\nreturns the **verbatim, line-numbered source** of the relevant symbols\ngrouped by file \u2014 the same `<n>\\t<line>` shape `Read` gives you, safe to\n`Edit` from \u2014 PLUS the call path among them (including dynamic-dispatch hops\nlike callbacks, React re-render, and JSX children that grep can't follow) and\na blast-radius summary of what depends on them.\n\nWhether you're answering \"how does X work\" or implementing a change (fixing a\nbug, adding a feature), call `codegraph_explore` before you Read. ONE call\nusually answers the whole question. Codegraph IS the pre-built search index \u2014\nso running your own grep + read loop, or delegating the lookup to a separate\nfile-reading sub-task/agent, repeats work codegraph already did and costs more\nfor the same answer. A direct codegraph answer is typically one to a few\ncalls; a grep/read exploration is dozens.\n\n## How to query\n\n- **Almost any question \u2014 \"how does X work\", architecture, a bug, \"what/where is X\", or surveying an area** \u2192 `codegraph_explore` with a natural-language question or the relevant names. ONE capped call returns the verbatim source grouped by file; most often the ONLY call you need.\n- **\"How does X reach/become Y? / the flow / the path from X to Y\"** \u2192 `codegraph_explore`, naming the symbols that span the flow (e.g. `mutateElement renderScene`) \u2014 it surfaces the call path among them, riding dynamic-dispatch hops, and returns their source.\n- **Reading or editing a file/symbol you can name** \u2192 put its name or file path in the `codegraph_explore` query \u2014 it returns that current line-numbered source (safe to `Edit` from) with the call path and blast radius attached, so you don't Read it separately. For an overloaded name it returns every matching definition's body in one call.\n- **Need more?** Call `codegraph_explore` again with more specific names \u2014 treat the source it returns as already Read.\n\n## Anti-patterns\n\n- **Trust codegraph's results \u2014 don't re-verify them with grep.** They come from a full AST parse; re-checking with grep is slower, less accurate, and wastes context.\n- **Don't grep or Read first** to find or understand indexed code \u2014 ONE `codegraph_explore` returns the relevant symbols' source together in a single round-trip. Reach for raw `Read`/`Grep` only to confirm a specific detail codegraph didn't cover, or for what codegraph doesn't index (configs, docs).\n- **Don't reconstruct a flow by hand** \u2014 name the endpoints in one `codegraph_explore` and it surfaces the path between them, dynamic-dispatch hops included.\n- **After editing, check the staleness banner.** When a tool response starts with \"\u26A0\uFE0F Some files referenced below were edited since the last index sync\u2026\", the listed files are pending re-index \u2014 Read those specific files for accurate content. Every file NOT in that banner is fresh, so still trust codegraph. A different, rarer banner \u2014 \"\u26A0\uFE0F CodeGraph auto-sync is DISABLED\u2026\" \u2014 means live watching stopped entirely (the whole index is frozen, not just a few files); until it's resolved, Read files directly to confirm anything that may have changed.\n\n## Limitations\n\n- If a tool reports a project isn't indexed (no `.codegraph/`), stop calling codegraph tools for that project for the rest of the session and use your built-in tools there instead. Indexing is the user's decision \u2014 mention they can run `codegraph init` if it comes up, but don't run it yourself.\n- Index lags file writes by ~1 second.\n- Cross-file resolution is best-effort name matching; ambiguous calls may return multiple candidates.\n- No live correctness validation \u2014 that's still the TypeScript compiler / test suite / linter's job. Codegraph supplements those with structural context they don't have.\n\n## Supported Languages\n\nThe indexer recognizes a fixed set of languages; if you ask about symbols in a\nfile with an unsupported extension, codegraph will report the project isn't\nindexed for that file and you should fall back to Read/Grep. The fork-specific\naddition beyond upstream codegraph is **VBA / Access** (Dysflow export\nformat):\n\n- **VBA / Access** - Dysflow exports Access/VBA source as `.bas`/`.cls`/\n `.form.txt`/`.report.txt`. Codegraph extracts `.bas`/`.cls` as `module`/\n `class`/`function` nodes with `calls`/`implements`/`references` edges\n (procedural-level; regex-based, not full AST). Cross-module calls, qualified\n `Dim As`, `WithEvents`, and SQL table references inside string literals\n emit synthesized edges tagged `metadata.synthesizedBy` (`vba-name-resolution`,\n `vba-withevents`, `vba-sql-table`). `.form.txt` and `.report.txt` are\n extracted as a `module` plus one `property` per Access control - **no**\n `function`/`sub`/`class` nodes come from form files; the canonical code\n lives in the sibling `.cls`, parsed by the same extractor on that file.\n Dysflow test manifests (`tests.*.json`) link each registered `Test_*`\n procedure to its manifest with a `references` edge tagged\n `vba-test-manifest` carrying the test name + tags, so `getCallers` of a\n production symbol reaches its covering test atoms with the manifest and tags\n to run.\n Pass `projectPath` to a codegraph index that includes VBA files.\n- **VBA unresolved refs carry syntactic shape** (v1.7+). `unresolved_refs.reference_kind` is no longer the literal string `\"references\"` \u2014 it reports what the syntactic shape actually was. Values: `call` (paren-form or statement-form call site), `qualified-call` (`obj.Foo(...)` with runtime receiver), `property-get` / `property-set` (`Me.Name`, `obj.Prop = value`), `bang-get` / `bang-set` (`Me!SubCtl`, `obj!Field = value`), `unqualified-ident` (bare identifier like `HayErrorEnRiesgo` in an `If` condition), `member-with` (`.Member` inside a `With` block), `dao-query` (`DoCmd.OpenQuery \"X\"` argument). The legacy value `references` is retained on any path the round did not reclassify, so older SQL filters that key on it keep working. To find real missing callees, filter `WHERE reference_kind IN ('call','qualified-call','unqualified-ident','member-with','bang-get')` \u2014 that set has <10% false positives (DAO-field accesses, form-property reads, and bang refs no longer pollute the bucket).\n- **Post-extraction stub resolver** (v1.7+). Edges with `metadata.synthesizedBy='vba-name-resolution'` start life pointing at a synthetic function node; the resolver at `src/resolution/index.ts:resolveVbaCallStubs` (invoked from `indexAll` and `sync`) walks them and repoints each `target` to the real `nodes.id` when one exists. Runtime-object calls (`DAO.*`, `fso.*`, `ListBox.*`, `Collection.*`, `err.*`, `VBA.*`, `Application.*`, `Screen.*`, `DoCmd.*`, `CurrentDb.*`, `Forms`, `Reports`, `Debug`, `Modules`, `References`, `CommandBars`, `SysCmd`, `CreateObject`, `GetObject`, `Fields`) are explicitly declined \u2014 they remain `stub:true` because they can never link to user code. Shadow user classes (e.g. a user class actually named `DAO` with an `Execute` method) are preserved and linked normally. Every stub edge carries `metadata.repointDecision` with one of `reponted-to-real`, `declined-runtime`, `declined-ambiguous`, `declined-not-found`, so consumers can tell apart a runtime-object decline from a genuinely-missing callee at the SQL layer.\n";
21
21
  /**
22
22
  * Instructions variant sent when the server's own root has NO codegraph index.
23
23
  *
@@ -1 +1 @@
1
- {"version":3,"file":"server-instructions.d.ts","sourceRoot":"","sources":["../../src/mcp/server-instructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB,woMA2E/B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iCAAiC,4pCAmB7C,CAAC"}
1
+ {"version":3,"file":"server-instructions.d.ts","sourceRoot":"","sources":["../../src/mcp/server-instructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB,gqQA6E/B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iCAAiC,4pCAmB7C,CAAC"}
@@ -95,6 +95,8 @@ format):
95
95
  production symbol reaches its covering test atoms with the manifest and tags
96
96
  to run.
97
97
  Pass \`projectPath\` to a codegraph index that includes VBA files.
98
+ - **VBA unresolved refs carry syntactic shape** (v1.7+). \`unresolved_refs.reference_kind\` is no longer the literal string \`"references"\` — it reports what the syntactic shape actually was. Values: \`call\` (paren-form or statement-form call site), \`qualified-call\` (\`obj.Foo(...)\` with runtime receiver), \`property-get\` / \`property-set\` (\`Me.Name\`, \`obj.Prop = value\`), \`bang-get\` / \`bang-set\` (\`Me!SubCtl\`, \`obj!Field = value\`), \`unqualified-ident\` (bare identifier like \`HayErrorEnRiesgo\` in an \`If\` condition), \`member-with\` (\`.Member\` inside a \`With\` block), \`dao-query\` (\`DoCmd.OpenQuery "X"\` argument). The legacy value \`references\` is retained on any path the round did not reclassify, so older SQL filters that key on it keep working. To find real missing callees, filter \`WHERE reference_kind IN ('call','qualified-call','unqualified-ident','member-with','bang-get')\` — that set has <10% false positives (DAO-field accesses, form-property reads, and bang refs no longer pollute the bucket).
99
+ - **Post-extraction stub resolver** (v1.7+). Edges with \`metadata.synthesizedBy='vba-name-resolution'\` start life pointing at a synthetic function node; the resolver at \`src/resolution/index.ts:resolveVbaCallStubs\` (invoked from \`indexAll\` and \`sync\`) walks them and repoints each \`target\` to the real \`nodes.id\` when one exists. Runtime-object calls (\`DAO.*\`, \`fso.*\`, \`ListBox.*\`, \`Collection.*\`, \`err.*\`, \`VBA.*\`, \`Application.*\`, \`Screen.*\`, \`DoCmd.*\`, \`CurrentDb.*\`, \`Forms\`, \`Reports\`, \`Debug\`, \`Modules\`, \`References\`, \`CommandBars\`, \`SysCmd\`, \`CreateObject\`, \`GetObject\`, \`Fields\`) are explicitly declined — they remain \`stub:true\` because they can never link to user code. Shadow user classes (e.g. a user class actually named \`DAO\` with an \`Execute\` method) are preserved and linked normally. Every stub edge carries \`metadata.repointDecision\` with one of \`reponted-to-real\`, \`declined-runtime\`, \`declined-ambiguous\`, \`declined-not-found\`, so consumers can tell apart a runtime-object decline from a genuinely-missing callee at the SQL layer.
98
100
  `;
99
101
  /**
100
102
  * Instructions variant sent when the server's own root has NO codegraph index.
@@ -1 +1 @@
1
- {"version":3,"file":"server-instructions.js","sourceRoot":"","sources":["../../src/mcp/server-instructions.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACU,QAAA,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2ElC,CAAC;AAEF;;;;;;;;;;;GAWG;AACU,QAAA,iCAAiC,GAAG;;;;;;;;;;;;;;;;;;;CAmBhD,CAAC"}
1
+ {"version":3,"file":"server-instructions.js","sourceRoot":"","sources":["../../src/mcp/server-instructions.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACU,QAAA,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6ElC,CAAC;AAEF;;;;;;;;;;;GAWG;AACU,QAAA,iCAAiC,GAAG;;;;;;;;;;;;;;;;;;;CAmBhD,CAAC"}
@@ -7,6 +7,18 @@ import { UnresolvedReference, Edge } from '../types';
7
7
  import { QueryBuilder } from '../db/queries';
8
8
  import { UnresolvedRef, ResolvedRef, ResolutionResult } from './types';
9
9
  import { type MaybeYield } from './cooperative-yield';
10
+ /**
11
+ * Outcome of resolving a single VBA call-stub (issue #110). Recorded on the
12
+ * stub's incoming `calls` edge as `metadata.repointDecision` for
13
+ * observability so a consumer can tell a runtime-object decline apart from a
14
+ * genuinely-missing callee:
15
+ * - `reponted-to-real` — a real user target was found; edge repointed (stub:false).
16
+ * - `declined-runtime` — receiver is a runtime object with no user shadow; kept stub:true.
17
+ * - `declined-ambiguous` — 2+ real candidates; can't safely pick one; kept stub:true.
18
+ * - `declined-not-found` — no real target and not a runtime object (genuine miss); kept stub:true.
19
+ * (The `reponted-to-real` spelling is the wire value consumers already key on.)
20
+ */
21
+ export type RepointDecision = 'reponted-to-real' | 'declined-runtime' | 'declined-ambiguous' | 'declined-not-found';
10
22
  export * from './types';
11
23
  /**
12
24
  * Reference Resolver
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolution/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAkB,mBAAmB,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,WAAW,EACX,gBAAgB,EAIjB,MAAM,SAAS,CAAC;AAKjB,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AA6CrE,cAAc,SAAS,CAAC;AAkIxB;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,UAAU,CAA2B;IAM7C,OAAO,CAAC,iBAAiB,CAAuB;IAKhD,OAAO,CAAC,sBAAsB,CAAuB;IAIrD,OAAO,CAAC,gBAAgB,CAA+B;IAIvD,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,kBAAkB,CAAoC;IAC9D,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,cAAc,CAAoC;IAC1D,OAAO,CAAC,gBAAgB,CAA2B;IASnD,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,UAAU,CAA4B;IAC9C,OAAO,CAAC,YAAY,CAAS;IAI7B,OAAO,CAAC,cAAc,CAA0C;IAEhE,OAAO,CAAC,QAAQ,CAA0C;IAE1D,OAAO,CAAC,iBAAiB,CAAmD;gBAEhE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAuBtD;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;;;;;;OAOG;IACH,cAAc,IAAI,MAAM;IAqBxB;;;;;OAKG;IACH,UAAU,IAAI,IAAI;IAYlB;;;;;;;OAOG;IACG,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB5D;;OAEG;IACH,WAAW,IAAI,IAAI;IAgBnB,kFAAkF;IAClF,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAgNrB;;OAEG;IACH,UAAU,CACR,cAAc,EAAE,mBAAmB,EAAE,EACrC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,gBAAgB;IA6DnB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAmE3B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,GAAG,IAAI;IAmLlD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE;IA4F5C;;OAEG;IACH,iBAAiB,CACf,cAAc,EAAE,mBAAmB,EAAE,EACrC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACpD,gBAAgB;IA4CnB;;;;;;;;OAQG;IACG,6BAA6B,CAAC,IAAI,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkC3F;;;;;;;;;;;;OAYG;IACG,iCAAiC,IAAI,OAAO,CAAC,MAAM,CAAC;IAsC1D;;;;;;;;;;;;OAYG;YACW,oBAAoB;IA2ClC;;;;OAIG;IACG,wBAAwB,CAC5B,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,EACrD,SAAS,GAAE,MAAa,GACvB,OAAO,CAAC,gBAAgB,CAAC;IA6H5B;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAIjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6G3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAK7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAK7B;;;;;;;;;;;OAWG;IACH;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAsBtB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAezB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,wBAAwB;IAuEhC;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;IAwC9B;;;;;;;;;OASG;IACG,6BAA6B,IAAI,OAAO,CAAC,MAAM,CAAC;IAsGtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,mBAAmB,IAAI,MAAM;IAyD7B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,wBAAwB,IAAI,MAAM;IAiDlC;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAuDhC,OAAO,CAAC,YAAY;IASpB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,qBAAqB;CAO9B;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,iBAAiB,CAI5F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resolution/index.ts"],"names":[],"mappings":"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"}