@lcap/nasl-language-server-core 4.1.0-rc.7 → 4.1.0-rc.9

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 (107) hide show
  1. package/out/checker.d.ts +1 -1
  2. package/out/checker.d.ts.map +1 -1
  3. package/out/checker.js +87 -121
  4. package/out/checker.js.map +1 -1
  5. package/out/index.d.ts +2 -2
  6. package/out/index.d.ts.map +1 -1
  7. package/out/index.js +4 -3
  8. package/out/index.js.map +1 -1
  9. package/out/reference-manager/builtin-q-name.d.ts +1 -2
  10. package/out/reference-manager/builtin-q-name.d.ts.map +1 -1
  11. package/out/reference-manager/builtin-q-name.js +1 -5
  12. package/out/reference-manager/builtin-q-name.js.map +1 -1
  13. package/out/reference-manager/collect-q-name.d.ts.map +1 -1
  14. package/out/reference-manager/collect-q-name.js +8 -7
  15. package/out/reference-manager/collect-q-name.js.map +1 -1
  16. package/out/reference-manager/helper.d.ts +1 -1
  17. package/out/reference-manager/helper.d.ts.map +1 -1
  18. package/out/reference-manager/helper.js +11 -1
  19. package/out/reference-manager/helper.js.map +1 -1
  20. package/out/reference-manager/reference-manager.d.ts +64 -7
  21. package/out/reference-manager/reference-manager.d.ts.map +1 -1
  22. package/out/reference-manager/reference-manager.js +198 -56
  23. package/out/reference-manager/reference-manager.js.map +1 -1
  24. package/out/reference-manager/remove-q-name.js +8 -8
  25. package/out/reference-manager/remove-q-name.js.map +1 -1
  26. package/out/reference-manager/rename-q-name.d.ts.map +1 -1
  27. package/out/reference-manager/rename-q-name.js +6 -6
  28. package/out/reference-manager/rename-q-name.js.map +1 -1
  29. package/out/reference-manager/update-nasl-fragment.d.ts +0 -1
  30. package/out/reference-manager/update-nasl-fragment.d.ts.map +1 -1
  31. package/out/reference-manager/update-nasl-fragment.js +2 -33
  32. package/out/reference-manager/update-nasl-fragment.js.map +1 -1
  33. package/out/typer/component-def-manager/utils.js +1 -1
  34. package/out/typer/component-def-manager/utils.js.map +1 -1
  35. package/out/typer/dispatch-all.d.ts +10 -3
  36. package/out/typer/dispatch-all.d.ts.map +1 -1
  37. package/out/typer/dispatch-all.js +44 -7
  38. package/out/typer/dispatch-all.js.map +1 -1
  39. package/out/typer/dispatch-call.d.ts +14 -0
  40. package/out/typer/dispatch-call.d.ts.map +1 -0
  41. package/out/typer/dispatch-call.js +637 -0
  42. package/out/typer/dispatch-call.js.map +1 -0
  43. package/out/typer/dispatch-def.d.ts +9 -3
  44. package/out/typer/dispatch-def.d.ts.map +1 -1
  45. package/out/typer/dispatch-def.js +101 -91
  46. package/out/typer/dispatch-def.js.map +1 -1
  47. package/out/typer/dispatch-expr.d.ts +3 -15
  48. package/out/typer/dispatch-expr.d.ts.map +1 -1
  49. package/out/typer/dispatch-expr.js +94 -677
  50. package/out/typer/dispatch-expr.js.map +1 -1
  51. package/out/typer/dispatch-process.d.ts.map +1 -1
  52. package/out/typer/dispatch-process.js +28 -11
  53. package/out/typer/dispatch-process.js.map +1 -1
  54. package/out/typer/dispatch-stmt.d.ts.map +1 -1
  55. package/out/typer/dispatch-stmt.js +39 -38
  56. package/out/typer/dispatch-stmt.js.map +1 -1
  57. package/out/typer/dispatch-view.d.ts.map +1 -1
  58. package/out/typer/dispatch-view.js +22 -16
  59. package/out/typer/dispatch-view.js.map +1 -1
  60. package/out/typer/get-oql-files.d.ts +13 -0
  61. package/out/typer/get-oql-files.d.ts.map +1 -0
  62. package/out/typer/get-oql-files.js +136 -0
  63. package/out/typer/get-oql-files.js.map +1 -0
  64. package/out/typer/helper.d.ts +2 -2
  65. package/out/typer/helper.d.ts.map +1 -1
  66. package/out/typer/helper.js +5 -5
  67. package/out/typer/helper.js.map +1 -1
  68. package/out/typer/incremental-update.d.ts +0 -12
  69. package/out/typer/incremental-update.d.ts.map +1 -1
  70. package/out/typer/incremental-update.js +99 -193
  71. package/out/typer/incremental-update.js.map +1 -1
  72. package/out/typer/index.d.ts +6 -4
  73. package/out/typer/index.d.ts.map +1 -1
  74. package/out/typer/index.js +9 -10
  75. package/out/typer/index.js.map +1 -1
  76. package/out/typer/subster.d.ts +0 -1
  77. package/out/typer/subster.d.ts.map +1 -1
  78. package/out/typer/subster.js +3 -23
  79. package/out/typer/subster.js.map +1 -1
  80. package/out/typer/topo-sort.d.ts +4 -4
  81. package/out/typer/topo-sort.d.ts.map +1 -1
  82. package/out/typer/topo-sort.js +5 -1
  83. package/out/typer/topo-sort.js.map +1 -1
  84. package/out/typer/type-manager.d.ts +2 -2
  85. package/out/typer/type-manager.d.ts.map +1 -1
  86. package/out/typer/type-manager.js +32 -9
  87. package/out/typer/type-manager.js.map +1 -1
  88. package/out/typer/type-predicate.d.ts +6 -1
  89. package/out/typer/type-predicate.d.ts.map +1 -1
  90. package/out/typer/type-predicate.js +22 -4
  91. package/out/typer/type-predicate.js.map +1 -1
  92. package/out/typer/typer.d.ts +27 -6
  93. package/out/typer/typer.d.ts.map +1 -1
  94. package/out/typer/typer.js +69 -18
  95. package/out/typer/typer.js.map +1 -1
  96. package/out/typer/unifier.d.ts +1 -1
  97. package/out/typer/unifier.d.ts.map +1 -1
  98. package/out/typer/unifier.js +48 -69
  99. package/out/typer/unifier.js.map +1 -1
  100. package/out/utils/string.d.ts.map +1 -1
  101. package/out/utils/string.js +1 -0
  102. package/out/utils/string.js.map +1 -1
  103. package/package.json +5 -5
  104. package/out/typer/nasl-predicate.d.ts +0 -8
  105. package/out/typer/nasl-predicate.d.ts.map +0 -1
  106. package/out/typer/nasl-predicate.js +0 -25
  107. package/out/typer/nasl-predicate.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.handleEntityAutoRef = exports.easyGetOldQName = exports.ReferenceManager = void 0;
3
+ exports.handleEntityAutoRef = exports.ReferenceManager = void 0;
4
4
  const nasl_concepts_1 = require("@lcap/nasl-concepts");
5
5
  const mnemonist_1 = require("mnemonist");
6
6
  const fp_macros_1 = require("../utils/fp-macros");
@@ -123,6 +123,164 @@ class ReferenceManager {
123
123
  this.lQNameRefs = new Map();
124
124
  // 当前文件节点
125
125
  this.curFileNode = undefined;
126
+ /**
127
+ * Local scope variable bindings snapshot.
128
+ * For every syntax node that can introduce new variables (Logic, SubLogic, ForEach, AnonymousFunction, etc.),
129
+ * we store the list of variable-like nodes (Variable | Param | Return | Logic) allocated directly by that node.
130
+ * Shadowed variables are recorded independently (simply appended to the array) so that downstream phases
131
+ * can reconstruct a scope chain without re-running the typer.
132
+ */
133
+ this.localSymBindings = new WeakMap();
134
+ this.setLocalSymBindings = (scope, vars) => {
135
+ if (!scope)
136
+ return;
137
+ // store a shallow copy to avoid accidental external mutation
138
+ this.localSymBindings.set(scope, vars.slice());
139
+ };
140
+ /** @warning 基础接口:仅返回自身引入的 局部符号,不包含父作用域和子作用域 */
141
+ this.getLocalSymBindings = (nd) => {
142
+ return this.localSymBindings.get(nd);
143
+ };
144
+ /**
145
+ * Remove all recorded local scope variable bindings under a file node.
146
+ * Used by incremental type checking to invalidate stale scope allocations.
147
+ */
148
+ this.clearLocalSymBindingsForFile = (file) => {
149
+ if (!file)
150
+ return;
151
+ file.traverseStrictChildren((nd) => {
152
+ this.localSymBindings.delete(nd);
153
+ });
154
+ // also clear the file node itself
155
+ this.localSymBindings.delete(file);
156
+ };
157
+ this.clearAllLocalSymBindings = () => {
158
+ // WeakMap cannot be iterated directly; recreate
159
+ this.localSymBindings = new WeakMap();
160
+ };
161
+ /**
162
+ * Get all variables visible from a given AST node by walking its parent chain
163
+ * and aggregating the per-node (scope-introducing) variable snapshots stored in
164
+ * localScopeVarBindings. Shadowing is honored by default: only the nearest
165
+ * declaration for each variable name is returned (nearest-first ordering).
166
+ *
167
+ * Implementation notes:
168
+ * - We intentionally DO NOT depend on the (ephemeral) lexicalVarStacks in SemEnv so
169
+ * this works post-typing (e.g. in reference / rename / hover providers) without
170
+ * re-running the typer.
171
+ * - Order:
172
+ * nearestFirst (default): inner scope variables first; when includeShadowed=false
173
+ * duplicates (shadowed outers) are skipped.
174
+ * outerFirst: reverse of nearestFirst, optionally de-duplicated (so shadow winners
175
+ * are the last occurrences if includeShadowed==true).
176
+ * - Performance: Typical parent depth is shallow; this is fast enough without caching.
177
+ * If needed later, add a WeakMap<BaseNode, Array<VarLike>> cache with invalidation
178
+ * in clearLocalSymBindingsForFile / clearAllLocalScopeVarBindings.
179
+ *
180
+ * @warning 获取当前作用域能看到的所有变量:含局部变量、前端全局变量,不含数据定义
181
+ */
182
+ this.getVisibleVars = (node, options) => {
183
+ if (!node)
184
+ return [];
185
+ const { includeShadowed = false, order = 'nearestFirst', predicate } = options || {};
186
+ // Helper: find nearest Frontend ancestor from a node (inclusive of ancestors) and return its variables
187
+ const getNearestFrontendVars = (start) => {
188
+ const fe = start?.getAncestorRaw?.('Frontend');
189
+ const arr = fe?.variables;
190
+ return Array.isArray(arr) ? arr : [];
191
+ };
192
+ const localSyms = this.getVisibleLocalSyms(node, options);
193
+ const localVars = localSyms.filter(service_1.isLocalVar);
194
+ const collected = Array.from(localVars);
195
+ const seen = new Set(localSyms.map(v => (0, get_q_name_1.getTokenQualifiedName)(v)));
196
+ const feVars = getNearestFrontendVars(node);
197
+ for (const v of feVars) {
198
+ const vQName = (0, get_q_name_1.getTokenQualifiedName)(v);
199
+ if (!vQName)
200
+ continue;
201
+ if (!includeShadowed) {
202
+ if (seen.has(vQName))
203
+ continue;
204
+ seen.add(vQName);
205
+ }
206
+ if (predicate && !predicate(v))
207
+ continue;
208
+ collected.push(v);
209
+ }
210
+ if (order === 'outerFirst') {
211
+ collected.reverse();
212
+ }
213
+ return collected;
214
+ };
215
+ /**
216
+ * Convenience: find the (nearest) visible variable with the given name.
217
+ */
218
+ this.getSpecificVisibleVar = (node, name) => {
219
+ if (!node || !name)
220
+ return undefined;
221
+ const isViewLike = (n) => n && (n.concept === 'View' || n.concept === 'BusinessComponent');
222
+ const getNearestFrontendVars = (start) => {
223
+ const fe = start?.getAncestorRaw?.('Frontend');
224
+ const arr = fe?.variables;
225
+ return Array.isArray(arr) ? arr : [];
226
+ };
227
+ for (let cur = node; cur; cur = cur.parentNode) {
228
+ const vars = this.localSymBindings.get(cur)?.filter(service_1.isLocalVar);
229
+ if (vars) {
230
+ for (const v of vars) {
231
+ if (v && v.name === name)
232
+ return v;
233
+ }
234
+ }
235
+ if (isViewLike(cur)) {
236
+ // Also check the frontend variables at the nearest view boundary
237
+ const feVars = getNearestFrontendVars(cur);
238
+ for (const v of feVars) {
239
+ if (v && v.name === name)
240
+ return v;
241
+ }
242
+ // Do not leak parent view variables
243
+ return undefined;
244
+ }
245
+ }
246
+ return undefined;
247
+ };
248
+ /** @warning 获取当前作用域能看到的所有局部符号:含变量、逻辑、数据定义等,不含前端全局变量,那个不是局部的 */
249
+ this.getVisibleLocalSyms = (node, options) => {
250
+ if (!node)
251
+ return [];
252
+ const { includeShadowed = false, order = 'nearestFirst', predicate } = options || {};
253
+ const collected = [];
254
+ const seen = new Set();
255
+ const isViewLike = (n) => n && (n.concept === 'View' || n.concept === 'BusinessComponent');
256
+ // Walk ancestor chain (including the node itself in case it is a scope owner)
257
+ for (let cur = node; cur; cur = cur.parentNode) {
258
+ // localSym 含有所有局部符号,这里暂时只过滤出变量
259
+ const vars = this.localSymBindings.get(cur);
260
+ if (vars && vars.length > 0) {
261
+ for (const v of vars) {
262
+ const vQName = (0, get_q_name_1.getTokenQualifiedName)(v);
263
+ if (!vQName)
264
+ continue;
265
+ if (!includeShadowed) {
266
+ if (seen.has(vQName))
267
+ continue; // already shadowed by nearer scope
268
+ seen.add(vQName);
269
+ }
270
+ if (predicate && !predicate(v))
271
+ continue;
272
+ collected.push(v);
273
+ }
274
+ }
275
+ if (isViewLike(cur)) {
276
+ break;
277
+ }
278
+ }
279
+ if (order === 'outerFirst') {
280
+ collected.reverse();
281
+ }
282
+ return collected;
283
+ };
126
284
  // 约 20 万节点 200ms
127
285
  this.slowBuildSymbolRefsForApp = (env, app) => {
128
286
  this.modeForCollect = "create" /* Operation.Create */;
@@ -145,17 +303,10 @@ class ReferenceManager {
145
303
  for (const i of app.interfaces) {
146
304
  allRefs.push(...this.collectRefs(env, i));
147
305
  }
148
- // 见下面
149
- // for (const frontendType of app.frontendTypes) {
150
- // allRefs.push(...this.collectRefs(env, frontendType));
151
- // }
306
+ // frontendTypes 和 processV2s 见下面
152
307
  for (const process of app.processes) {
153
308
  allRefs.push(...this.collectRefs(env, process));
154
309
  }
155
- // 见下面
156
- // for (const processV2 of app.processV2s) {
157
- // allRefs.push(...this.collectRefs(env, processV2));
158
- // }
159
310
  for (const role of app.roles) {
160
311
  allRefs.push(...this.collectRefs(env, role));
161
312
  }
@@ -295,7 +446,7 @@ class ReferenceManager {
295
446
  return qName ? this.gQNameDefs.get(qName) : undefined;
296
447
  };
297
448
  /**
298
- * 对外接口,指用户点击 "查找引用",只返回用户手动指定的引用
449
+ * @warning 对外接口,指用户点击 "查找引用",只返回用户手动指定的引用
299
450
  * @param __nd 要查找引用的定义
300
451
  * @returns 所有引用处
301
452
  */
@@ -305,14 +456,26 @@ class ReferenceManager {
305
456
  // 比如 OverriddenLogic 和对应的 Logic 名字一样,但引用挂在 Logic 上
306
457
  // 比如 实体对应的实体逻辑可能有多份内存地址,归结到现存的一份上
307
458
  // nd = this.gQNameDefs.get(getTokenQualifiedName(nd)!)!;
308
- // ==> 好像也不行,很多依赖库逻辑调用又挂了,这也不行,那也不行
459
+ // ==> 好像也不行,很多依赖库逻辑调用又挂了
460
+ const boundary = (0, helper_2.getBoundary)(nd);
309
461
  // 全局符号直接查找
310
462
  if ((0, symbol_type_1.isGlobalDef)(nd)) {
311
- res = mnemonist_1.set.union(res, this.getSymbolRefs(nd) ?? new Set());
463
+ res = this.getSymbolRefs(nd) ?? new Set();
464
+ // HACK: ZZR should fix it
465
+ const pConn = nd.getAncestorRaw('Connector');
466
+ if (pConn && boundary) {
467
+ // 那么它也就是个连接器下的局部符号
468
+ const qNameRefs = this.collectRefs(env, boundary); // 注意,从 boundary 开始就行,不是从 connector 开始
469
+ const ndQName = (0, get_q_name_1.getTokenQualifiedName)(nd);
470
+ for (const [ref, qName] of qNameRefs) {
471
+ qName === ndQName && res.add(ref);
472
+ }
473
+ return Array.from(res);
474
+ }
312
475
  }
313
476
  else {
477
+ console.log('YYY');
314
478
  // 局部符号需要即时获取
315
- const boundary = (0, misc_1.toRaw)((0, helper_2.getBoundary)(nd));
316
479
  // 从缓存中获取
317
480
  if (this.lastBoundary === boundary && this.isLocalCacheValid) {
318
481
  res = this.lQNameRefs.get((0, get_q_name_1.getTokenQualifiedName)(nd)) ?? new Set();
@@ -375,7 +538,8 @@ class ReferenceManager {
375
538
  const conn = nd.connector;
376
539
  const allLogics = [...conn.logics, ...conn.namespaces.flatMap(nsp => nsp.logics)];
377
540
  for (const l of allLogics) {
378
- res = mnemonist_1.set.union(res ?? new Set(), new Set(this.getReferences(env, l)));
541
+ // ConnectorLogic,发布态的连接器里外都有调用,真是里外不是人啊。
542
+ res = mnemonist_1.set.union(res, this.gSymbolRefs.get(l) ?? new Set());
379
543
  }
380
544
  }
381
545
  // 加上所有实体逻辑调用的引用(实体逻辑可看做无定义,但要修改调用处的 namespace:实体名是 namespace 的一部分)
@@ -394,17 +558,17 @@ class ReferenceManager {
394
558
  console.log(`${label}: ${endTime - startTime}ms`);
395
559
  }
396
560
  };
397
- // 给类似 FileNode 级别的定义建立局部索引
561
+ /**
562
+ * 给类似 FileNode 级别的定义建立局部引用记录
563
+ * @warning 不包括 ViewElement、BindEvent 相关的引用,那个在 @link addViewElementLogicRefs
564
+ */
398
565
  this.buildMinimalLocalQNameRefs = (env, __nd) => {
399
566
  this.modeForCollect = "create" /* Operation.Create */;
400
567
  const nd = (0, misc_1.toRaw)(__nd);
401
568
  let logicVars = new Array();
402
569
  let viewVars = new Array();
403
570
  let processVars = new Array();
404
- /**
405
- * @warning v4.1 开始,逻辑不在这里处理,在 veQNameRefs 那里处理
406
- */
407
- // let logics = new Array<DefConcept>();
571
+ /** @warning v4.1 开始,view logics 不在这里处理,在 @link veQNameRefs 那里处理 */
408
572
  let isViewLike = false;
409
573
  const boundary = (0, helper_2.getBoundary)(nd);
410
574
  if (!boundary) {
@@ -416,7 +580,6 @@ class ReferenceManager {
416
580
  if (ctxLogic && 'variables' in ctxLogic) {
417
581
  logicVars.push(...ctxLogic.variables?.map(misc_1.toRaw) ?? []);
418
582
  }
419
- // logics = getViewLikeLogics(nd).map(toRaw);
420
583
  isViewLike = true;
421
584
  }
422
585
  else if (boundary.concept === 'ProcessDefinitionV2') {
@@ -425,15 +588,11 @@ class ReferenceManager {
425
588
  if (ctxLogic && 'variables' in ctxLogic) {
426
589
  logicVars.push(...ctxLogic.variables?.map(misc_1.toRaw) ?? []);
427
590
  }
428
- // logics = getProcessLikeLogics(nd).map(toRaw);
429
591
  }
430
592
  else if ((0, service_1.isCallableNaslLogic)(boundary) || (0, service_1.isCallableNaslInterface)(boundary)) {
431
593
  logicVars = (0, nasl_concepts_1.getLogicVars)(nd).map(misc_1.toRaw);
432
594
  }
433
595
  let allVars = logicVars.concat(processVars).concat(viewVars);
434
- // should also get view element definitions
435
- if (isViewLike) {
436
- }
437
596
  // initialize local cache
438
597
  [...allVars, /** ...logics */].forEach(def => {
439
598
  const qName = (0, get_q_name_1.getTokenQualifiedName)(def);
@@ -582,7 +741,7 @@ class ReferenceManager {
582
741
  /**
583
742
  * @warning Only handle global symbols
584
743
  */
585
- this.handleRefOp = (env, mode, refNd, qName) => {
744
+ this.handleRefOp = (mode, refNd, qName) => {
586
745
  const def = this.gQNameDefs.get(qName);
587
746
  if (def) {
588
747
  switch (mode) {
@@ -691,9 +850,9 @@ class ReferenceManager {
691
850
  return;
692
851
  }
693
852
  const relEntityQName = `${relNsp}.${relEntity}`;
694
- this.handleRefOp(env, this.modeForCollect, nd, relEntityQName);
853
+ this.handleRefOp(this.modeForCollect, nd, relEntityQName);
695
854
  const relPropQName = (0, string_2.getPropQName)(`${relNsp}.${relEntity}`, `${relProperty}`, 'Entity');
696
- this.handleRefOp(env, this.modeForCollect, nd, relPropQName);
855
+ this.handleRefOp(this.modeForCollect, nd, relPropQName);
697
856
  };
698
857
  this.handleBusinessComponentRefs = (env, nd) => {
699
858
  const bsName = nd.tag.split('bs-')[1];
@@ -703,12 +862,12 @@ class ReferenceManager {
703
862
  if (!bsDef) {
704
863
  return;
705
864
  }
706
- this.handleRefOp(env, this.modeForCollect, nd, (0, get_q_name_1.getTokenQualifiedName)(bsDef));
865
+ this.handleRefOp(this.modeForCollect, nd, (0, get_q_name_1.getTokenQualifiedName)(bsDef));
707
866
  };
708
867
  this.handleBindRoles = (env, nd) => {
709
868
  for (const roleName of nd.bindRoles ?? nd.roles) {
710
869
  const qName = `${symbol_type_1.roleNsp}.${roleName}`;
711
- this.handleRefOp(env, this.modeForCollect, nd, qName);
870
+ this.handleRefOp(this.modeForCollect, nd, qName);
712
871
  }
713
872
  };
714
873
  this.handleAuthLogicRef = (env, nd) => {
@@ -730,11 +889,11 @@ class ReferenceManager {
730
889
  parent?.interfaceDependencies?.forEach(dep => {
731
890
  dep.interfaces.forEach(itfc => {
732
891
  if (itfc.concept === 'AuthInterface' && itfc.name === nd.calleeName) {
733
- // this.handleRefOp(env, this.modeForCollect!, nd, getTokenQualifiedName(itfc)!);
892
+ // this.handleRefOp(this.modeForCollect!, nd, getTokenQualifiedName(itfc)!);
734
893
  const authName = itfc.authLogic;
735
894
  parent?.authLogicsForCallInterface?.forEach(l => {
736
895
  if (l.name === authName) {
737
- this.handleRefOp(env, this.modeForCollect, nd, (0, get_q_name_1.getTokenQualifiedName)(l));
896
+ this.handleRefOp(this.modeForCollect, nd, (0, get_q_name_1.getTokenQualifiedName)(l));
738
897
  }
739
898
  });
740
899
  }
@@ -742,12 +901,12 @@ class ReferenceManager {
742
901
  });
743
902
  parent.interfaces?.forEach(itfc => {
744
903
  if (itfc.concept === 'AuthInterface' && itfc.name === nd.calleeName) {
745
- // this.handleRefOp(env, this.modeForCollect!, nd, getTokenQualifiedName(itfc)!);
746
- // this.handleRefOp(env, this.modeForCollect!, nd, getTokenQualifiedName(itfc)!);
904
+ // this.handleRefOp(this.modeForCollect!, nd, getTokenQualifiedName(itfc)!);
905
+ // this.handleRefOp(this.modeForCollect!, nd, getTokenQualifiedName(itfc)!);
747
906
  const authName = itfc.authLogic;
748
907
  parent?.authLogics?.forEach(l => {
749
908
  if (l.name === authName) {
750
- this.handleRefOp(env, this.modeForCollect, nd, (0, get_q_name_1.getTokenQualifiedName)(l));
909
+ this.handleRefOp(this.modeForCollect, nd, (0, get_q_name_1.getTokenQualifiedName)(l));
751
910
  }
752
911
  });
753
912
  }
@@ -761,13 +920,13 @@ class ReferenceManager {
761
920
  * 例如单例类型,这样只能用单例的 .parentNode,但是 parentNode 是一样的,如 Union<A | B>
762
921
  */
763
922
  /**
764
- * 收集子引用
765
923
  * @warning 外部尽量不要调用,请使用 addRefsForGlobalSym 或 removeGlobalSubRefs
766
924
  * @warning 此过程收集所有引用,包括全局符号和局部符号的,不会做过滤
925
+ *
767
926
  * @param env semantic environment
768
927
  * @param nd start node to collect sub refs
769
928
  * @param skipSubView whether skip the collection for sub views
770
- * @returns [ref, qName]
929
+ * @returns Array<[ref, qName]> 仅返回内存地址和 qName,具体是对哪个定义的引用,由后续流程处理(包括 shadow)
771
930
  */
772
931
  this.collectRefs = (env, nd, skipSubView = true) => {
773
932
  // 有的 nd 没实例化,上面没有 traverseStrictChildren 方法,比如 ApplyAnnotation 大哥
@@ -900,7 +1059,7 @@ class ReferenceManager {
900
1059
  // continue;
901
1060
  // }
902
1061
  // 删的时候似乎也不用管是不是局部的、全局的,虽然添加的时候要注意
903
- this.handleRefOp(env, "delete" /* Operation.Remove */, ref, qName);
1062
+ this.handleRefOp("delete" /* Operation.Remove */, ref, qName);
904
1063
  }
905
1064
  this.modeForCollect = null;
906
1065
  this.curFileNode = undefined;
@@ -919,7 +1078,7 @@ class ReferenceManager {
919
1078
  };
920
1079
  /**
921
1080
  * @warning Only handle global symbols
922
- * 仅收集全局符号的引用。外部优先调用此接口,不要直接调用 collectRefs
1081
+ * @warning 仅收集全局符号的引用。外部优先调用此接口,不要直接调用 collectRefs
923
1082
  * 不是说输入是 global symbol,而是说对于任何输入,只收集内部对 global symbol 的引用
924
1083
  * @param skipSubView 是否跳过子页面,增量场景调用较多,增量场景默认跳过
925
1084
  */
@@ -935,7 +1094,7 @@ class ReferenceManager {
935
1094
  if (localVars.includes(qName) || (0, helper_2.cheapTestLocalSymbol)(qName)) {
936
1095
  continue;
937
1096
  }
938
- this.handleRefOp(env, "create" /* Operation.Create */, ref, qName);
1097
+ this.handleRefOp("create" /* Operation.Create */, ref, qName);
939
1098
  }
940
1099
  this.modeForCollect = null;
941
1100
  this.curFileNode = undefined;
@@ -1244,7 +1403,6 @@ class ReferenceManager {
1244
1403
  }
1245
1404
  buildSymbolRefsForApp(env, app) {
1246
1405
  console.time('\x1b[44m\x1b[97m Reference manager: Build Symbol to Reference Map \x1b[0m');
1247
- // symbolGraph && this.buildSymbolRefsFromSymbolGraph(symbolGraph); // 方舟的,后面可能不好修 bug 和维护
1248
1406
  app && this.slowBuildSymbolRefsForApp(env, (0, misc_1.toRaw)(app));
1249
1407
  console.timeEnd('\x1b[44m\x1b[97m Reference manager: Build Symbol to Reference Map \x1b[0m');
1250
1408
  }
@@ -1286,22 +1444,6 @@ exports.ReferenceManager = ReferenceManager;
1286
1444
  // 获取语义类型
1287
1445
  // @ts-ignore
1288
1446
  const getSemTy = (nd, env) => env.getType(nd) ?? nd.typeAnnotation; // Fallback to typeAnnotation using type assertion
1289
- // 都用这个方法,安全些
1290
- // getPropQName moved to get-q-name.ts
1291
- const easyGetOldQName = (qName, oldName) => {
1292
- const lastDotIndex = qName.lastIndexOf('.');
1293
- if (lastDotIndex === -1) {
1294
- // If there's no '.', return oldName
1295
- return oldName;
1296
- }
1297
- else {
1298
- // Replace the part after the last '.' with oldName
1299
- return qName.substring(0, lastDotIndex + 1) + oldName;
1300
- }
1301
- // getOldQName('a.b.c', 'xyz'); // Output: 'a.b.xyz'
1302
- // getOldQName('c', 'xyz'); // Output: 'xyz'
1303
- };
1304
- exports.easyGetOldQName = easyGetOldQName;
1305
1447
  /*
1306
1448
  查找引用,特殊场景:
1307
1449
  - 页面的引用处只有 页面跳转
@@ -1 +1 @@
1
- {"version":3,"file":"reference-manager.js","sourceRoot":"","sources":["../../src/reference-manager/reference-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reference-manager.js","sourceRoot":"","sources":["../../src/reference-manager/reference-manager.ts"],"names":[],"mappings":"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"}