@lcap/nasl-language-server-core 4.4.0-beta.21 → 4.4.0-beta.23

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 (39) hide show
  1. package/out/checker.d.ts.map +1 -1
  2. package/out/checker.js +10 -2
  3. package/out/checker.js.map +1 -1
  4. package/out/reference-manager/symbol-type.d.ts.map +1 -1
  5. package/out/reference-manager/symbol-type.js +1 -0
  6. package/out/reference-manager/symbol-type.js.map +1 -1
  7. package/out/typer/dispatch-stmt.d.ts.map +1 -1
  8. package/out/typer/dispatch-stmt.js +8 -6
  9. package/out/typer/dispatch-stmt.js.map +1 -1
  10. package/out/typer/dispatch-view.d.ts.map +1 -1
  11. package/out/typer/dispatch-view.js +23 -8
  12. package/out/typer/dispatch-view.js.map +1 -1
  13. package/out/typer/incremental-update.d.ts +2 -2
  14. package/out/typer/incremental-update.d.ts.map +1 -1
  15. package/out/typer/incremental-update.js +74 -11
  16. package/out/typer/incremental-update.js.map +1 -1
  17. package/out/typer/subster.d.ts.map +1 -1
  18. package/out/typer/subster.js +63 -15
  19. package/out/typer/subster.js.map +1 -1
  20. package/out/typer/topo-sort.d.ts +37 -0
  21. package/out/typer/topo-sort.d.ts.map +1 -1
  22. package/out/typer/topo-sort.js +260 -1
  23. package/out/typer/topo-sort.js.map +1 -1
  24. package/out/typer/type-manager.d.ts +1 -0
  25. package/out/typer/type-manager.d.ts.map +1 -1
  26. package/out/typer/type-manager.js +11 -8
  27. package/out/typer/type-manager.js.map +1 -1
  28. package/out/typer/type-predicate.d.ts.map +1 -1
  29. package/out/typer/type-predicate.js +7 -1
  30. package/out/typer/type-predicate.js.map +1 -1
  31. package/out/typer/typer.d.ts +16 -1
  32. package/out/typer/typer.d.ts.map +1 -1
  33. package/out/typer/typer.js +31 -0
  34. package/out/typer/typer.js.map +1 -1
  35. package/out/typer/unifier.d.ts +2 -0
  36. package/out/typer/unifier.d.ts.map +1 -1
  37. package/out/typer/unifier.js +13 -7
  38. package/out/typer/unifier.js.map +1 -1
  39. package/package.json +5 -5
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildOneLevelCallGraph = exports.topoSortFns = exports.findErrMutRecFns = exports.getLogicCheckingOrder = void 0;
3
+ exports.buildOneLevelCallGraph = exports.topoSortBusinessComponentsByAst = exports.topoSortFns = exports.findErrMutRecFns = exports.getLogicCheckingOrder = void 0;
4
4
  const index_1 = require("./index");
5
5
  const nasl_utils_1 = require("@lcap/nasl-utils");
6
6
  const service_1 = require("@lcap/nasl-concepts/service");
7
7
  const helper_1 = require("../reference-manager/helper");
8
8
  const fp_macros_1 = require("../utils/fp-macros");
9
+ const traverse_util_1 = require("../utils/traverse-util");
9
10
  // 输入一组逻辑定义,根据调用关系、返回类型依赖关系,计算出逻辑的检查顺序
10
11
  // 目前只针对全局逻辑
11
12
  /**
@@ -211,6 +212,264 @@ function topoSortFns(m) {
211
212
  return result;
212
213
  }
213
214
  exports.topoSortFns = topoSortFns;
215
+ /**
216
+ * 在一组节点内做「打破首节点入边 + Kahn 拓扑排序」,若 Kahn 停滞则递归处理子环。
217
+ * 仅用于 topoSortBusinessComponentsByAst 内部的环 SCC 展开。
218
+ */
219
+ function breakCycleAndSort(ordered, sccSet, depMap) {
220
+ if (ordered.length <= 1) {
221
+ return [...ordered];
222
+ }
223
+ const restartNode = ordered[0];
224
+ // 计算 SCC 内部各节点的入度
225
+ const localInDeg = new Map();
226
+ for (const bc of ordered) {
227
+ localInDeg.set(bc, 0);
228
+ }
229
+ const nodeSet = new Set(ordered);
230
+ for (const bc of ordered) {
231
+ const neighbors = depMap.get(bc) ?? new Set();
232
+ neighbors.forEach((nbr) => {
233
+ if (nodeSet.has(nbr)) {
234
+ localInDeg.set(nbr, (localInDeg.get(nbr) ?? 0) + 1);
235
+ }
236
+ });
237
+ }
238
+ // 将重启节点入度置 0,打破环
239
+ localInDeg.set(restartNode, 0);
240
+ // Kahn 拓扑排序
241
+ const localQueue = [];
242
+ for (const bc of ordered) {
243
+ if (localInDeg.get(bc) === 0) {
244
+ localQueue.push(bc);
245
+ }
246
+ }
247
+ const localResult = [];
248
+ while (localQueue.length > 0) {
249
+ const cur = localQueue.shift();
250
+ localResult.push(cur);
251
+ const neighbors = depMap.get(cur) ?? new Set();
252
+ neighbors.forEach((nbr) => {
253
+ if (nodeSet.has(nbr)) {
254
+ const d = (localInDeg.get(nbr) ?? 0) - 1;
255
+ localInDeg.set(nbr, d);
256
+ if (d === 0) {
257
+ localQueue.push(nbr);
258
+ }
259
+ }
260
+ });
261
+ }
262
+ // 若 Kahn 停滞(存在子环),对未排出的节点递归处理,
263
+ // 并追加子环的重启节点,使其在子环内其余节点定型后获得第二次检查。
264
+ if (localResult.length < ordered.length) {
265
+ const processed = new Set(localResult);
266
+ const remaining = ordered.filter((bc) => !processed.has(bc));
267
+ const subSorted = breakCycleAndSort(remaining, sccSet, depMap);
268
+ localResult.push(...subSorted);
269
+ localResult.push(remaining[0]);
270
+ }
271
+ return localResult;
272
+ }
273
+ /**
274
+ * 对一组业务组件按「业务组件之间的引用关系」进行拓扑排序。
275
+ *
276
+ * 约定:
277
+ * - 若业务组件 A 的模板(`elements` 树)中包含标签 `bs-B`,
278
+ * 则认为 A 依赖于业务组件 B,在排序结果中 B 会出现在 A 之前。
279
+ *
280
+ * 实现说明:
281
+ * - 仅依赖 AST 自身信息(`elements` + `ViewElement.tag`),不依赖引用表或类型检查结果,
282
+ * 因此既可用于首屏检查,也可用于增量检查阶段。
283
+ *
284
+ * 环的处理策略:
285
+ * - 使用 Tarjan 算法识别强连通分量(SCC),再对 SCC 缩点后的 DAG 做 Kahn 拓扑排序。
286
+ * - 对于非环 SCC(单个节点且无自环),按输入顺序输出一次。
287
+ * - 对于环 SCC(多个节点互相依赖,或单节点自环):
288
+ * 1. 选取环中按输入顺序的首个节点作为"重启节点";
289
+ * 2. 将重启节点的入度置 0 以打破环,在 SCC 内部做局部 Kahn 拓扑排序;
290
+ * 3. 若 Kahn 停滞(存在子环),对未排出的节点递归应用同样的策略,
291
+ * 并追加子环的重启节点使其获得第二次检查;
292
+ * 4. 最终在末尾追加顶层重启节点。
293
+ * 这样环内各层循环依赖的首节点都能在依赖就绪后获得重新检查。
294
+ *
295
+ * 示例(→ 表示依赖):
296
+ * - 无环:A → B,输入 [A, B] → 输出 [B, A]
297
+ * - 2 节点环:A ↔ B,输入 [A, B] → 输出 [A, B, A]
298
+ * - 3 节点环:A → B → C → A,输入 [A, B, C] → 输出 [A, C, B, A]
299
+ * (打破 A 入边后 DAG 为 C 先于 B,A 末尾重跑 → 全部正确解析)
300
+ * - 含子环:A → B → C → A 且 C → D → E → B,输入 [A, B, C, D, E]
301
+ * → 输出 [A, B, E, D, C, B, A](子环 {B,C,D,E} 打破 B,追加 B;顶层追加 A)
302
+ * - 混合:D → A,A ↔ B,输入 [D, A, B] → 输出 [A, B, A, D]
303
+ * (环 {A,B} 无外部依赖先展开;D 依赖 A,排在最后)
304
+ *
305
+ * @param businessComponents 同一上下文中的业务组件列表(例如同一个 FrontendType 下的所有业务组件)
306
+ * @returns 拓扑排序后的业务组件列表(环内重启节点可能出现多次)
307
+ */
308
+ function topoSortBusinessComponentsByAst(businessComponents) {
309
+ if (!businessComponents.length) {
310
+ return [];
311
+ }
312
+ const nameToBc = new Map();
313
+ for (const bc of businessComponents) {
314
+ if (bc.name) {
315
+ nameToBc.set(bc.name, bc);
316
+ }
317
+ }
318
+ const depMap = new Map();
319
+ for (const bc of businessComponents) {
320
+ depMap.set(bc, new Set());
321
+ }
322
+ // 若 owner 模板中引用了 bs-target,则添加边 target -> owner(target 先于 owner)
323
+ for (const owner of businessComponents) {
324
+ for (const root of owner.elements ?? []) {
325
+ (0, traverse_util_1.traverseViewElements)(root, (ve) => {
326
+ const tag = ve.tag;
327
+ if (!tag || !tag.startsWith('bs-')) {
328
+ return;
329
+ }
330
+ const bsName = tag.slice('bs-'.length);
331
+ const target = nameToBc.get(bsName);
332
+ if (!target || target === owner) {
333
+ return;
334
+ }
335
+ depMap.get(target).add(owner);
336
+ });
337
+ }
338
+ }
339
+ // ========== 第二步:Tarjan 算法求 SCC(强连通分量) ==========
340
+ // 将互相可达的节点归入同一个 SCC。
341
+ // 例如 A→B 且 B→A,则 {A,B} 构成一个 SCC。
342
+ const sccs = [];
343
+ const indexMap = new Map();
344
+ const lowLink = new Map();
345
+ const stack = [];
346
+ const onStack = new Set();
347
+ let index = 0;
348
+ const strongConnect = (node) => {
349
+ indexMap.set(node, index);
350
+ lowLink.set(node, index);
351
+ index++;
352
+ stack.push(node);
353
+ onStack.add(node);
354
+ const neighbors = depMap.get(node) ?? new Set();
355
+ neighbors.forEach((nbr) => {
356
+ if (!indexMap.has(nbr)) {
357
+ strongConnect(nbr);
358
+ lowLink.set(node, Math.min(lowLink.get(node), lowLink.get(nbr)));
359
+ }
360
+ else if (onStack.has(nbr)) {
361
+ lowLink.set(node, Math.min(lowLink.get(node), indexMap.get(nbr)));
362
+ }
363
+ });
364
+ if (lowLink.get(node) === indexMap.get(node)) {
365
+ const scc = [];
366
+ let cur;
367
+ do {
368
+ cur = stack.pop();
369
+ onStack.delete(cur);
370
+ scc.push(cur);
371
+ } while (cur !== node);
372
+ sccs.push(scc);
373
+ }
374
+ };
375
+ businessComponents.forEach((bc) => {
376
+ if (!indexMap.has(bc)) {
377
+ strongConnect(bc);
378
+ }
379
+ });
380
+ // ========== 第三步:SCC 缩点,构建 SCC 之间的 DAG ==========
381
+ // 每个 SCC 视为一个"超级节点",SCC 之间的边构成无环图(DAG)。
382
+ const compIndex = new Map();
383
+ sccs.forEach((group, idx) => {
384
+ group.forEach((bc) => compIndex.set(bc, idx));
385
+ });
386
+ // 建立 SCC 之间的有向边
387
+ const compAdj = new Map();
388
+ for (let i = 0; i < sccs.length; i++) {
389
+ compAdj.set(i, new Set());
390
+ }
391
+ depMap.forEach((deps, node) => {
392
+ const from = compIndex.get(node);
393
+ deps.forEach((dep) => {
394
+ const to = compIndex.get(dep);
395
+ if (from !== to) {
396
+ compAdj.get(from).add(to);
397
+ }
398
+ });
399
+ });
400
+ // ========== 第四步:对 SCC DAG 做 Kahn 拓扑排序,展开结果 ==========
401
+ // 入度为 0 的 SCC 先输出。展开时区分「环 SCC」和「非环 SCC」:
402
+ // - 非环:SCC 内节点按输入顺序各输出一次。
403
+ // - 环:在 SCC 内部做局部 Kahn 拓扑排序(将首节点入度置 0 打破环),
404
+ // 排序结果末尾追加首节点,使其获得第二次类型检查。
405
+ // 若 SCC 内存在子环导致局部 Kahn 停滞,则未排出的节点按输入顺序补入。
406
+ const compInDegree = new Map();
407
+ for (let i = 0; i < sccs.length; i++) {
408
+ compInDegree.set(i, 0);
409
+ }
410
+ compAdj.forEach((deps) => {
411
+ deps.forEach((to) => {
412
+ compInDegree.set(to, (compInDegree.get(to) ?? 0) + 1);
413
+ });
414
+ });
415
+ const compQueue = [];
416
+ compInDegree.forEach((deg, id) => {
417
+ if (deg === 0)
418
+ compQueue.push(id);
419
+ });
420
+ const result = [];
421
+ while (compQueue.length > 0) {
422
+ const cid = compQueue.shift();
423
+ const group = sccs[cid];
424
+ // 判断该 SCC 是否是「真正的环」:
425
+ // - size > 1:多个节点互相可达,例如 A↔B 或 A→B→C→A
426
+ // - size === 1 且存在自环:节点引用了自己(bs-xxx 指向自身)
427
+ const isCycle = group.length > 1 ||
428
+ (group.length === 1 && (depMap.get(group[0])?.has(group[0]) ?? false));
429
+ // 按原始输入顺序过滤出该 SCC 内的节点
430
+ const ordered = businessComponents.filter((bc) => group.includes(bc));
431
+ if (!isCycle) {
432
+ // 非环 SCC:每个业务组件输出一次即可
433
+ if (ordered.length > 0) {
434
+ result.push(...ordered);
435
+ }
436
+ }
437
+ else {
438
+ // 环 SCC:在环内部做局部拓扑排序,再追加首节点。
439
+ //
440
+ // 策略:选择 ordered[0] 作为"重启节点"(末尾会再跑一次类型检查),
441
+ // 将其入度置 0 以打破环,然后在 SCC 内部做 Kahn 拓扑排序。
442
+ // 若 Kahn 停滞(存在子环),对未排出的节点递归应用同样的策略。
443
+ // 这样可以让尽可能多的节点在首次检查时就能看到其依赖的完整定义。
444
+ //
445
+ // 示例 1:A → B → C → A(→ 表示依赖)
446
+ // 打破 A 入边 → Kahn 得 [A, C, B] → 追加 A → [A, C, B, A]
447
+ //
448
+ // 示例 2:A → B → C → A 且 C → D → E → B(5 节点,含子环)
449
+ // 打破 A 入边 → Kahn 得 [A],子环 {B,C,D,E} 停滞
450
+ // → 递归打破 B → Kahn 得 [B, E, D, C],追加子环重启 B
451
+ // → 合并 [A, B, E, D, C, B],追加顶层重启 A → [A, B, E, D, C, B, A]
452
+ if (ordered.length > 0) {
453
+ const sccSet = new Set(group);
454
+ const localResult = breakCycleAndSort(ordered, sccSet, depMap);
455
+ result.push(...localResult);
456
+ result.push(ordered[0]);
457
+ }
458
+ }
459
+ // 更新后继 SCC 的入度
460
+ const neighbors = compAdj.get(cid) ?? new Set();
461
+ neighbors.forEach((to) => {
462
+ const prev = compInDegree.get(to) ?? 0;
463
+ const next = prev - 1;
464
+ compInDegree.set(to, next);
465
+ if (next === 0) {
466
+ compQueue.push(to);
467
+ }
468
+ });
469
+ }
470
+ return result;
471
+ }
472
+ exports.topoSortBusinessComponentsByAst = topoSortBusinessComponentsByAst;
214
473
  // 建立粗粒度调用图,仅一级调用或者一级函数引用
215
474
  function buildOneLevelCallGraph(refMgr, fns) {
216
475
  const m = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"topo-sort.js","sourceRoot":"","sources":["../../src/typer/topo-sort.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"topo-sort.js","sourceRoot":"","sources":["../../src/typer/topo-sort.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,7 @@ export declare const createRefTyAnnFromDef: (def: DefConcept | Function | TypeAn
63
63
  export declare const extractTyParamAnns: (ty: TypeAnnotation) => Array<TypeAnnotation>;
64
64
  export declare const completeNaslGenericTyArgs: (ty: TypeAnnotation) => TypeAnnotation;
65
65
  export declare const createUnionTyAnn: (tys: Array<TypeAnnotation>) => TypeAnnotation;
66
+ export declare const removeTysDup: (env: SemEnv, _tys: Array<TypeAnnotation>) => TypeAnnotation[];
66
67
  export declare const createUnionTyAnnIfNecessary: (env: SemEnv, _tys: Array<TypeAnnotation>) => TypeAnnotation;
67
68
  export declare const createAnonymousTyAnn: (names: Array<string>, tys: Array<TypeAnnotation | undefined>) => TypeAnnotation;
68
69
  export declare const createAnonymousTyAnnIfNecessary: (names: Array<string>, tys: Array<TypeAnnotation | undefined>) => TypeAnnotation | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"type-manager.d.ts","sourceRoot":"","sources":["../../src/typer/type-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-manager.d.ts","sourceRoot":"","sources":["../../src/typer/type-manager.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.naslSystemIllegalArgumentError = exports.naslInterfaceError = exports.naslDatabaseDuplicateKeyError = exports.naslProcessError = exports.naslError = exports.createMetadataType = exports.dispatchNaslPrimitiveTy = exports.castTypePickerToReturnType = exports.naslRegexTy = exports.naslBinaryTy = exports.naslAnyTy = exports.naslNullTy = exports.naslVoidTy = exports.naslDateTimeTy = exports.naslDateTy = exports.naslTimeTy = exports.naslBooleanTy = exports.naslStringTy = exports.naslDecimalOrLongTy = exports.naslDecimalTy = exports.naslLongTy = exports.naslNumTy = exports.createPrimitiveTyAnn = exports.createMapTyAnn = exports.createListTyAnn = exports.makeAnonymousTyByDeleteProps = exports.literalTypeToStringType = exports.printType = exports.showUserLevelType = exports.showType = exports.isStatement = exports.isBlockStatement = exports.tyAnn2TyParam = exports.tyParam2TyAnn = exports.tyParamAnn2TyParam = exports.copyStructureProperty = exports.copyTyAnn = exports.copyTyOrRetAny = exports.createTyParam = exports.createTyParamAnn = exports.createFnTyFromTyAnns = exports.createAnonymousTyAnnIfNecessary = exports.createAnonymousTyAnn = exports.createUnionTyAnnIfNecessary = exports.createUnionTyAnn = exports.completeNaslGenericTyArgs = exports.extractTyParamAnns = exports.createRefTyAnnFromDef = exports.createRefTyAnn = exports.Bounds = void 0;
4
- exports.hasUnresolvedTyInCallInfo = exports.createFunctionDef = exports.createTypeofBindData = exports.naslKeyboardEventTy = exports.processSystemCommonTy = exports.currTy = exports.preTy = exports.naslListString = exports.naslDatabaseConstraintViolationError = void 0;
3
+ exports.naslInterfaceError = exports.naslDatabaseDuplicateKeyError = exports.naslProcessError = exports.naslError = exports.createMetadataType = exports.dispatchNaslPrimitiveTy = exports.castTypePickerToReturnType = exports.naslRegexTy = exports.naslBinaryTy = exports.naslAnyTy = exports.naslNullTy = exports.naslVoidTy = exports.naslDateTimeTy = exports.naslDateTy = exports.naslTimeTy = exports.naslBooleanTy = exports.naslStringTy = exports.naslDecimalOrLongTy = exports.naslDecimalTy = exports.naslLongTy = exports.naslNumTy = exports.createPrimitiveTyAnn = exports.createMapTyAnn = exports.createListTyAnn = exports.makeAnonymousTyByDeleteProps = exports.literalTypeToStringType = exports.printType = exports.showUserLevelType = exports.showType = exports.isStatement = exports.isBlockStatement = exports.tyAnn2TyParam = exports.tyParam2TyAnn = exports.tyParamAnn2TyParam = exports.copyStructureProperty = exports.copyTyAnn = exports.copyTyOrRetAny = exports.createTyParam = exports.createTyParamAnn = exports.createFnTyFromTyAnns = exports.createAnonymousTyAnnIfNecessary = exports.createAnonymousTyAnn = exports.createUnionTyAnnIfNecessary = exports.removeTysDup = exports.createUnionTyAnn = exports.completeNaslGenericTyArgs = exports.extractTyParamAnns = exports.createRefTyAnnFromDef = exports.createRefTyAnn = exports.Bounds = void 0;
4
+ exports.hasUnresolvedTyInCallInfo = exports.createFunctionDef = exports.createTypeofBindData = exports.naslKeyboardEventTy = exports.processSystemCommonTy = exports.currTy = exports.preTy = exports.naslListString = exports.naslDatabaseConstraintViolationError = exports.naslSystemIllegalArgumentError = void 0;
5
5
  /**
6
6
  * Type Manager Module
7
7
  *
@@ -238,7 +238,7 @@ const createUnionTyAnn = (tys) => {
238
238
  return u;
239
239
  };
240
240
  exports.createUnionTyAnn = createUnionTyAnn;
241
- const createUnionTyAnnIfNecessary = (env, _tys) => {
241
+ const removeTysDup = (env, _tys) => {
242
242
  // 1) Flatten nested unions in the input for normalization (e.g., [A, Union<B, C>] -> [A, B, C])
243
243
  const flattenUnionArgs = (arr) => {
244
244
  const res = [];
@@ -262,9 +262,6 @@ const createUnionTyAnnIfNecessary = (env, _tys) => {
262
262
  };
263
263
  // Flatten then remove duplicates
264
264
  let tys = (0, helper_1.removeDupBy)(flattenUnionArgs(_tys), (ty1, ty2) => (0, type_predicate_1.isEqualTy)(env, ty1, ty2));
265
- if (tys.length === 1) {
266
- return tys[0];
267
- }
268
265
  // Check if we have any or Null types
269
266
  let hasAny = false;
270
267
  let hasNull = false;
@@ -298,9 +295,15 @@ const createUnionTyAnnIfNecessary = (env, _tys) => {
298
295
  }
299
296
  // If we've filtered down to a single type, return it
300
297
  if (tys.length === 0) {
301
- return exports.naslAnyTy;
298
+ return [exports.naslAnyTy];
302
299
  }
303
- else if (tys.length === 1) {
300
+ return tys;
301
+ };
302
+ exports.removeTysDup = removeTysDup;
303
+ const createUnionTyAnnIfNecessary = (env, _tys) => {
304
+ // Flatten then remove duplicates
305
+ const tys = (0, exports.removeTysDup)(env, _tys);
306
+ if (tys.length === 1) {
304
307
  return tys[0];
305
308
  }
306
309
  // Build a normalized union (createUnionTyAnn does one-level flattening, but we already fully flattened)
@@ -1 +1 @@
1
- {"version":3,"file":"type-manager.js","sourceRoot":"","sources":["../../src/typer/type-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-manager.js","sourceRoot":"","sources":["../../src/typer/type-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-predicate.d.ts","sourceRoot":"","sources":["../../src/typer/type-predicate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-predicate.d.ts","sourceRoot":"","sources":["../../src/typer/type-predicate.ts"],"names":[],"mappings":"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"}
@@ -184,7 +184,13 @@ const isSameAnonymousTy = (ty1, ty2) => {
184
184
  return false;
185
185
  };
186
186
  exports.isSameAnonymousTy = isSameAnonymousTy;
187
- const isEqualTy = (env, ty1, ty2) => isSubTy(env, ty1, ty2) && isSubTy(env, ty2, ty1);
187
+ const isEqualTy = (env, ty1, ty2) => {
188
+ if (Boolean(ty1) !== Boolean(ty2))
189
+ return false; // 一边有一边没有
190
+ if (!ty1 && !ty2)
191
+ return true; // 两边都没有
192
+ return isSubTy(env, ty1, ty2) && isSubTy(env, ty2, ty1);
193
+ };
188
194
  exports.isEqualTy = isEqualTy;
189
195
  const isNaslGenericCollection = (ty) => ty && ty.typeNamespace === 'nasl.collection' && ty.typeKind === 'generic';
190
196
  exports.isNaslGenericCollection = isNaslGenericCollection;