@lcap/nasl-language-server-core 4.5.0-beta.2 → 4.5.0-beta.4

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 (58) hide show
  1. package/out/checker.d.ts.map +1 -1
  2. package/out/checker.js +22 -5
  3. package/out/checker.js.map +1 -1
  4. package/out/reference-manager/def-key-helpers.d.ts.map +1 -1
  5. package/out/reference-manager/def-key-helpers.js +8 -0
  6. package/out/reference-manager/def-key-helpers.js.map +1 -1
  7. package/out/reference-manager/helper.d.ts.map +1 -1
  8. package/out/reference-manager/helper.js +2 -0
  9. package/out/reference-manager/helper.js.map +1 -1
  10. package/out/reference-manager/reference-manager.d.ts.map +1 -1
  11. package/out/reference-manager/reference-manager.js +27 -10
  12. package/out/reference-manager/reference-manager.js.map +1 -1
  13. package/out/typer/collectGlobalDefs.d.ts.map +1 -1
  14. package/out/typer/collectGlobalDefs.js +18 -0
  15. package/out/typer/collectGlobalDefs.js.map +1 -1
  16. package/out/typer/dispatch-call.d.ts.map +1 -1
  17. package/out/typer/dispatch-call.js +7 -1
  18. package/out/typer/dispatch-call.js.map +1 -1
  19. package/out/typer/dispatch-expr.d.ts.map +1 -1
  20. package/out/typer/dispatch-expr.js +10 -0
  21. package/out/typer/dispatch-expr.js.map +1 -1
  22. package/out/typer/dispatch-stmt.d.ts.map +1 -1
  23. package/out/typer/dispatch-stmt.js +4 -1
  24. package/out/typer/dispatch-stmt.js.map +1 -1
  25. package/out/typer/dispatch-view.d.ts.map +1 -1
  26. package/out/typer/dispatch-view.js +9 -2
  27. package/out/typer/dispatch-view.js.map +1 -1
  28. package/out/typer/incremental-update.d.ts.map +1 -1
  29. package/out/typer/incremental-update.js +14 -1
  30. package/out/typer/incremental-update.js.map +1 -1
  31. package/out/typer/sem-diag.js +1 -1
  32. package/out/typer/sem-diag.js.map +1 -1
  33. package/out/typer/solver.d.ts.map +1 -1
  34. package/out/typer/solver.js +19 -29
  35. package/out/typer/solver.js.map +1 -1
  36. package/out/typer/type-manager.d.ts.map +1 -1
  37. package/out/typer/type-manager.js +5 -1
  38. package/out/typer/type-manager.js.map +1 -1
  39. package/out/typer/type-predicate.d.ts +5 -0
  40. package/out/typer/type-predicate.d.ts.map +1 -1
  41. package/out/typer/type-predicate.js +25 -18
  42. package/out/typer/type-predicate.js.map +1 -1
  43. package/out/typer/typer.d.ts +12 -2
  44. package/out/typer/typer.d.ts.map +1 -1
  45. package/out/typer/typer.js +81 -5
  46. package/out/typer/typer.js.map +1 -1
  47. package/out/typer/unifier.d.ts +35 -0
  48. package/out/typer/unifier.d.ts.map +1 -1
  49. package/out/typer/unifier.js +117 -21
  50. package/out/typer/unifier.js.map +1 -1
  51. package/out/utils/bind-expression-hack.d.ts +15 -1
  52. package/out/utils/bind-expression-hack.d.ts.map +1 -1
  53. package/out/utils/bind-expression-hack.js +125 -3
  54. package/out/utils/bind-expression-hack.js.map +1 -1
  55. package/out/utils/parseTsClassType.d.ts.map +1 -1
  56. package/out/utils/parseTsClassType.js +6 -0
  57. package/out/utils/parseTsClassType.js.map +1 -1
  58. package/package.json +6 -6
@@ -20,6 +20,12 @@ class Unifier {
20
20
  this.curVarCounter = 0; // current, current1, ...
21
21
  this.cs = new Map();
22
22
  this.isUnifyContravariant = false;
23
+ /**
24
+ * 当前是否处于泛型内层参数的 unify 过程中。
25
+ * 若非 null,`mkUnificationPostErr` 注册 post-check 时会把该值作为 parentGuardKey,
26
+ * 使得当外层卫兵已报错时内层报错被跳过。
27
+ */
28
+ this.currentParentGuardKey = null;
23
29
  /** 主线约束写入 cs;草稿区约束写入 playgroundCs。playgroundCs 在主线阶段通过镜像保持与 cs 同步。 */
24
30
  this.getCurrentCs = () => this.env.isPlayground ? this.env.playgroundCs : this.cs;
25
31
  // 'bound': type variables introduced by the signature of a function
@@ -59,6 +65,19 @@ class Unifier {
59
65
  this.unify(ty2, ty1);
60
66
  this.env.enableErrorReporting();
61
67
  };
68
+ /**
69
+ * 与 unifyEq 相同,但内层所有 post-check 任务都携带 parentGuardKey。
70
+ * 用于 uGeneric 中,当外层卫兵已报错时,内层类型参数的报错会被跳过。
71
+ */
72
+ this.unifyEqWithGuard = (ty1, ty2, guardBoundary) => {
73
+ const prevGuard = this.currentParentGuardKey;
74
+ this.currentParentGuardKey = guardBoundary;
75
+ this.unify(ty1, ty2);
76
+ this.env.suppressErrorReporting();
77
+ this.unify(ty2, ty1);
78
+ this.env.enableErrorReporting();
79
+ this.currentParentGuardKey = prevGuard;
80
+ };
62
81
  this.uAnonymous = (ty1, ty2) => {
63
82
  // Create sorted copies instead of mutating the original arrays
64
83
  const sortedProps1 = ty1.properties ? [...ty1.properties].sort((a, b) => a.name.localeCompare(b.name)) : [];
@@ -85,7 +104,7 @@ class Unifier {
85
104
  extraProps.push(subProp.name);
86
105
  }
87
106
  }
88
- if (missingProps.length > 0 || extraProps.length > 0) {
107
+ if ((missingProps.length > 0 && !this.env.looseTypeCheck) || extraProps.length > 0) {
89
108
  this.env.addError((0, sem_diag_1.mkIncompatibleAnonymousStructureTyErr)(this.env, ty1, ty2, missingProps, extraProps));
90
109
  }
91
110
  // FIXME wudengke 考虑这里是否需要保留Invariant
@@ -188,6 +207,12 @@ class Unifier {
188
207
  else if ((0, type_predicate_1.isIndexedType)(sup)) {
189
208
  return this.unifyRIndexedType(sub, sup);
190
209
  }
210
+ else if ((0, type_predicate_1.isConditionalTy)(sub)) {
211
+ return this.unifyLConditionalType(sub, sup);
212
+ }
213
+ else if ((0, type_predicate_1.isConditionalTy)(sup)) {
214
+ return this.unifyRConditionalType(sub, sup);
215
+ }
191
216
  else if ((0, index_1.isSubTy)(this.env, sub, sup)) {
192
217
  return; // 还是先判断下 isSubTy 吧,不然无脑塞的话后置报错 postChks 太大了,比如 unify(String, String) 也进去了…… 这样能少不少
193
218
  }
@@ -275,6 +300,52 @@ class Unifier {
275
300
  // 就算是 literal type,if 的分支里也可能报错
276
301
  mkUnificationPostErr(this.env, sub, sup, this.isUnifyContravariant);
277
302
  };
303
+ /**
304
+ * sub 为 conditional type:(T extends U ? A : B) <: sup
305
+ *
306
+ * 策略:
307
+ * 1. 先尝试静态化简(checkType 已确定时递归走 trueType 或 falseType,
308
+ * 支持嵌套 conditional,由 tryReduceConditionalType 递归处理)。
309
+ * 2. 化简失败(checkType 含类型变元,条件暂不可判定)时:
310
+ * - sup 为 List/Map 泛型:走 uRGeneric 拆解泛型参数约束(延迟求解);
311
+ * - 其他情况:暂不处理。
312
+ * 两种情况最终均追加 post-check,待类型变元解出后统一验证兼容性。
313
+ */
314
+ this.unifyLConditionalType = (sub, sup) => {
315
+ (0, assertion_1.assertTrusy)((0, type_predicate_1.isConditionalTy)(sub));
316
+ const reduced = (0, type_predicate_1.tryReduceConditionalType)(this.env, sub);
317
+ if (reduced !== undefined) {
318
+ this.unify(reduced, sup);
319
+ return;
320
+ }
321
+ if ((0, type_predicate_1.isListTy)(sup) || (0, type_predicate_1.isMapTy)(sup)) {
322
+ this.uRGeneric(sub, sup);
323
+ }
324
+ mkUnificationPostErr(this.env, sub, sup, this.isUnifyContravariant);
325
+ };
326
+ /**
327
+ * sup 为 conditional type:sub <: (T extends U ? A : B)
328
+ *
329
+ * 策略:
330
+ * 1. 先尝试静态化简(checkType 已确定时递归走 trueType 或 falseType,
331
+ * 支持嵌套 conditional,由 tryReduceConditionalType 递归处理)。
332
+ * 2. 化简失败(checkType 含类型变元,条件暂不可判定)时:
333
+ * - sub 为 List/Map 泛型:走 uLGeneric 拆解泛型参数约束(延迟求解);
334
+ * - 其他情况:暂不处理。
335
+ * 两种情况最终均追加 post-check,待类型变元解出后统一验证兼容性。
336
+ */
337
+ this.unifyRConditionalType = (sub, sup) => {
338
+ (0, assertion_1.assertTrusy)((0, type_predicate_1.isConditionalTy)(sup));
339
+ const reduced = (0, type_predicate_1.tryReduceConditionalType)(this.env, sup);
340
+ if (reduced !== undefined) {
341
+ this.unify(sub, reduced);
342
+ return;
343
+ }
344
+ if ((0, type_predicate_1.isListTy)(sub) || (0, type_predicate_1.isMapTy)(sub)) {
345
+ this.uLGeneric(sub, sup);
346
+ }
347
+ mkUnificationPostErr(this.env, sub, sup, this.isUnifyContravariant);
348
+ };
278
349
  // X <: Long
279
350
  this.uLTypeParam = (ty1, ty2) => {
280
351
  (0, assertion_1.assertTrusy)(ty1.typeName);
@@ -461,8 +532,12 @@ class Unifier {
461
532
  mkUnificationPostErr(this.env, ty1, ty2, this.isUnifyContravariant);
462
533
  return;
463
534
  }
535
+ // 注册外层卫兵 post-check(如 List<Integer> <: List<Decimal>)
536
+ // 若外层整体不兼容,内层类型参数的报错会被屏蔽,避免产生抽象的内层报错
537
+ const guardBoundary = this.env.errBoundary;
538
+ mkUnificationPostErr(this.env, ty1, ty2, this.isUnifyContravariant, undefined, true /* isGuard */);
464
539
  for (let i = 0; i < Math.min(ty1.typeArguments.length, ty2.typeArguments.length); i++) {
465
- this.unifyEq(ty1.typeArguments[i], ty2.typeArguments[i]); // invariant
540
+ this.unifyEqWithGuard(ty1.typeArguments[i], ty2.typeArguments[i], guardBoundary);
466
541
  }
467
542
  };
468
543
  // 含 primitive
@@ -671,44 +746,65 @@ const isIgnored = (sub, sup) => {
671
746
  (sub.typeKind === 'reference' && sub.typeName === 'Object') ||
672
747
  (sup.typeKind === 'reference' && sup.typeName === 'Object'));
673
748
  };
749
+ /**
750
+ * 递归检查类型(含泛型参数)是否包含 any。
751
+ * List<any>、Map<String, any> 等都应视为兼容任意对应结构,跳过类型不匹配报错。
752
+ */
753
+ const containsAnyTy = (ty) => {
754
+ if (!ty)
755
+ return false;
756
+ if ((0, type_predicate_1.isAnyTy)(ty))
757
+ return true;
758
+ if (ty.typeArguments) {
759
+ return ty.typeArguments.some(containsAnyTy);
760
+ }
761
+ return false;
762
+ };
674
763
  // 需要检查子类型关系,但是当下无法检查,需要等到求解后的后置校验
675
- const mkUnificationPostErr = (env, sub, sup, isContravariant = false) => {
764
+ const mkUnificationPostErr = (env, sub, sup, isContravariant = false,
765
+ /** 若该 post-check 是泛型内层参数任务,传入外层卫兵 boundary,执行时若外层已报错则跳过 */
766
+ parentGuardKey,
767
+ /** 若为 true,该 post-check 本身是外层卫兵(报错时会标记 errBoundary 到 failedGuardKeys) */
768
+ isGuard = false) => {
676
769
  if (!env.errBoundary || env.errBoundary?.concept === 'View') {
677
770
  return;
678
771
  }
679
772
  const capturedContext = env.errBoundaryContext ? { ...env.errBoundaryContext } : undefined;
680
- // debug 模式下保存错误堆栈,用于调试
681
- let errorStack = null;
682
- if (env.isDebugMode) {
683
- errorStack = new Error();
684
- }
685
773
  const postChk = (fileNode, errBoundary, severity, sub, sup) => (env, pSubst) => {
686
774
  if (isIgnored(sub, sup) || env.hasErrorDelegatee) {
687
775
  return;
688
776
  }
689
777
  const resolvedSubTy = (0, subster_1.normalizeWithSubst)(env, pSubst, sub);
690
778
  const resolvedSupTy = (0, subster_1.normalizeWithSubst)(env, pSubst, sup);
691
- if (!(0, type_predicate_1.isResolvedTy)(resolvedSubTy) || !(0, type_predicate_1.isResolvedTy)(resolvedSupTy) || !(0, index_1.isSubTy)(env, resolvedSubTy, resolvedSupTy)) {
779
+ // 若解析后任意一方含有 any 类型(包括泛型参数中含 any),则跳过报错
780
+ // 例如 List<AnonymousStruct> 赋值给 List<any>,语义上应合法
781
+ if (isIgnored(resolvedSubTy, resolvedSupTy) || containsAnyTy(resolvedSubTy) || containsAnyTy(resolvedSupTy)) {
782
+ return;
783
+ }
784
+ // 外层卫兵(isGuard=true)的职责是捕获「两边均已解析但不兼容」的情况(如 List<Integer> vs List<Decimal>)。
785
+ // 若任意一侧含未解析类型变量(如 List<T_0>),说明类型推断尚未完成,
786
+ // 此时跳过报错,未解析情形由 solver.postCheckSolution 负责处理。
787
+ // 与 solver.postCheckSolution 的 isResolvedTy 保护对齐,避免误报。
788
+ if (isGuard && (!(0, type_predicate_1.isResolvedTy)(resolvedSubTy) || !(0, type_predicate_1.isResolvedTy)(resolvedSupTy))) {
789
+ return;
790
+ }
791
+ if (!(0, type_predicate_1.isResolvedTy)(resolvedSubTy) || !(0, type_predicate_1.isResolvedTy)(resolvedSupTy) || !(0, index_1.isSubTy)(env, resolvedSubTy, resolvedSupTy, env.looseTypeCheck)) {
692
792
  const errorMessage = (0, sem_diag_1.mkIncompatibleTyErr)(env, resolvedSubTy, resolvedSupTy);
693
- // hack: 忽略赋值右侧的类型不匹配错误,但只有当赋值左侧也有类型不匹配时才忽略,避免忽略范围太广
694
- if (errorMessage?.startsWith('类型不匹配:期望类型为') && errBoundary?.parentKey === 'right' && errBoundary?.parentNode?.concept === 'Assignment') {
695
- return;
696
- }
697
- if (env.isDebugMode) {
698
- // logTypeUnificationDebugInfo(sub, sup, resolvedSubTy, resolvedSupTy, errorMessage, errBoundary, fileNode);
699
- env.addError(errorMessage, fileNode, errBoundary, severity, capturedContext);
700
- }
701
- else {
702
- env.addError(errorMessage, fileNode, errBoundary, severity, capturedContext);
793
+ if (isGuard) {
794
+ // 外层卫兵报错时,标记自身 boundary,供内层子任务检查
795
+ env.failedGuardKeys.add(errBoundary);
703
796
  }
797
+ env.addError(errorMessage, fileNode, errBoundary, severity, capturedContext);
704
798
  }
705
799
  };
800
+ // 若调用方未显式传入 parentGuardKey,则从 unifier 的当前上下文中读取
801
+ const resolvedParentGuardKey = parentGuardKey ?? (env.unifier.currentParentGuardKey ?? undefined);
706
802
  // TODO wudengke 考虑 移除 contravariant 标记
707
803
  if (isContravariant) {
708
- env.addPostCheckTask(env.errBoundary, postChk(env.getCurFileNode(), env.errBoundary, env.errSeverity, sup, sub));
804
+ env.addPostCheckTask(env.errBoundary, postChk(env.getCurFileNode(), env.errBoundary, env.errSeverity, sup, sub), resolvedParentGuardKey);
709
805
  }
710
806
  else {
711
- env.addPostCheckTask(env.errBoundary, postChk(env.getCurFileNode(), env.errBoundary, env.errSeverity, sub, sup));
807
+ env.addPostCheckTask(env.errBoundary, postChk(env.getCurFileNode(), env.errBoundary, env.errSeverity, sub, sup), resolvedParentGuardKey);
712
808
  }
713
809
  };
714
810
  /*
@@ -1 +1 @@
1
- {"version":3,"file":"unifier.js","sourceRoot":"","sources":["../../src/typer/unifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unifier.js","sourceRoot":"","sources":["../../src/typer/unifier.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,17 @@
1
1
  import { TypeAnnotation } from '@lcap/nasl-concepts';
2
- export declare function inferStaticValueTypeAsLiteral(staticValue: string | number | boolean): TypeAnnotation;
2
+ /**
3
+ * 将解析后的 JSON 值递归推断为对应的 TypeAnnotation。
4
+ * - 原始值:直接返回对应基础类型
5
+ * - 数组:取所有元素属性的并集,推断为 List<AnonymousStructure>
6
+ * - 对象:推断为 AnonymousStructure,不在所有元素中出现的属性标记为 optional
7
+ * - 嵌套超过 depth 限制时返回 naslAnyTy,防止无限递归
8
+ * @param hint 同层级的目标类型,用于在歧义情况下收窄推断结果(如整数提升为 Decimal)
9
+ */
10
+ export declare function inferTypeFromJsonValue(val: unknown, depth?: number, hint?: TypeAnnotation): TypeAnnotation;
11
+ /**
12
+ * 尝试将字符串作为 JSON5 解析,若结果为对象/数组则推断其结构类型。
13
+ * 解析失败或结果为原始值时返回 undefined。
14
+ */
15
+ export declare function tryParseJson5AsStructuredType(code: string, hint?: TypeAnnotation): TypeAnnotation | undefined;
16
+ export declare function inferStaticValueTypeAsLiteral(staticValue: string | number | boolean, tgtTy?: TypeAnnotation): TypeAnnotation;
3
17
  //# sourceMappingURL=bind-expression-hack.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bind-expression-hack.d.ts","sourceRoot":"","sources":["../../src/utils/bind-expression-hack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,kBAWnF"}
1
+ {"version":3,"file":"bind-expression-hack.d.ts","sourceRoot":"","sources":["../../src/utils/bind-expression-hack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAyBxE;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,SAAI,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,cAAc,CAgCrG;AA6CD;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,cAAc,GAAG,SAAS,CAU7G;AAED,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,KAAK,CAAC,EAAE,cAAc,kBAiB3G"}
@@ -23,20 +23,142 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.inferStaticValueTypeAsLiteral = void 0;
26
+ exports.inferStaticValueTypeAsLiteral = exports.tryParseJson5AsStructuredType = exports.inferTypeFromJsonValue = void 0;
27
27
  const nasl_concepts_1 = require("@lcap/nasl-concepts");
28
28
  const json5 = __importStar(require("json5"));
29
29
  const typer_1 = require("../typer");
30
- function inferStaticValueTypeAsLiteral(staticValue) {
30
+ /**
31
+ * 从 List 类型的 hint 中提取元素类型 hint。
32
+ * 仅在 hint 为 List<T> 时返回 T,否则返回 undefined。
33
+ */
34
+ function extractListElemHint(hint) {
35
+ if (hint?.typeName === 'List' && hint.typeArguments?.length) {
36
+ return hint.typeArguments[0];
37
+ }
38
+ return undefined;
39
+ }
40
+ /**
41
+ * 从 anonymousStructure 类型的 hint 中提取指定属性名的类型 hint。
42
+ */
43
+ function extractPropHint(hint, key) {
44
+ if (hint?.typeKind === 'anonymousStructure') {
45
+ return hint.properties?.find((p) => p.name === key)?.typeAnnotation;
46
+ }
47
+ return undefined;
48
+ }
49
+ /**
50
+ * 将解析后的 JSON 值递归推断为对应的 TypeAnnotation。
51
+ * - 原始值:直接返回对应基础类型
52
+ * - 数组:取所有元素属性的并集,推断为 List<AnonymousStructure>
53
+ * - 对象:推断为 AnonymousStructure,不在所有元素中出现的属性标记为 optional
54
+ * - 嵌套超过 depth 限制时返回 naslAnyTy,防止无限递归
55
+ * @param hint 同层级的目标类型,用于在歧义情况下收窄推断结果(如整数提升为 Decimal)
56
+ */
57
+ function inferTypeFromJsonValue(val, depth = 0, hint) {
58
+ if (depth > 8)
59
+ return typer_1.naslAnyTy;
60
+ if (val === null || val === undefined)
61
+ return typer_1.naslAnyTy;
62
+ if (typeof val === 'string')
63
+ return typer_1.naslStringTy;
64
+ if (typeof val === 'boolean')
65
+ return typer_1.naslBooleanTy;
66
+ if (typeof val === 'number') {
67
+ if (Number.isInteger(val)) {
68
+ // 整数赋给 Decimal 字段是合法的,按 hint 提升;其他类型 hint 对不上则忽略
69
+ if (hint?.typeName === 'Decimal' && hint?.typeKind === 'primitive') {
70
+ return typer_1.naslDecimalTy;
71
+ }
72
+ return typer_1.naslLongTy;
73
+ }
74
+ return typer_1.naslDecimalTy;
75
+ }
76
+ if (Array.isArray(val)) {
77
+ if (val.length === 0) {
78
+ return nasl_concepts_1.TypeAnnotation.createGeneric('List', { typeArguments: [typer_1.naslAnyTy] });
79
+ }
80
+ const elemHint = extractListElemHint(hint);
81
+ const elemTy = inferObjectArrayElementType(val, depth, elemHint);
82
+ return nasl_concepts_1.TypeAnnotation.createGeneric('List', { typeArguments: [elemTy] });
83
+ }
84
+ if (typeof val === 'object') {
85
+ return inferObjectType(val, depth, hint);
86
+ }
87
+ return typer_1.naslAnyTy;
88
+ }
89
+ exports.inferTypeFromJsonValue = inferTypeFromJsonValue;
90
+ /**
91
+ * 推断对象数组的元素类型:
92
+ * 收集所有元素所有 key,若某 key 不在全部元素中出现则标记为 optional
93
+ */
94
+ function inferObjectArrayElementType(arr, depth, elemHint) {
95
+ const allObjects = arr.filter((item) => item !== null && typeof item === 'object' && !Array.isArray(item));
96
+ if (allObjects.length === 0) {
97
+ return inferTypeFromJsonValue(arr[0], depth + 1, elemHint);
98
+ }
99
+ // 收集所有 key 及其出现次数
100
+ const keyCount = new Map();
101
+ for (const obj of allObjects) {
102
+ for (const key of Object.keys(obj)) {
103
+ keyCount.set(key, (keyCount.get(key) ?? 0) + 1);
104
+ }
105
+ }
106
+ // 合并各 key 的类型(取第一个非 null 值推断),不在所有元素中出现的 key 标记为 optional
107
+ const properties = Array.from(keyCount.entries()).map(([key, count]) => {
108
+ const sampleVal = allObjects.find((obj) => key in obj)?.[key];
109
+ const propTy = inferTypeFromJsonValue(sampleVal, depth + 1, extractPropHint(elemHint, key));
110
+ const prop = nasl_concepts_1.StructureProperty.from({ name: key, typeAnnotation: propTy });
111
+ if (count < allObjects.length) {
112
+ prop.typeAnnotation.optional = true;
113
+ }
114
+ return prop;
115
+ });
116
+ return nasl_concepts_1.TypeAnnotation.createTypeAnonymousStructure(properties);
117
+ }
118
+ /**
119
+ * 推断单个对象的类型为 AnonymousStructure
120
+ */
121
+ function inferObjectType(obj, depth, hint) {
122
+ const properties = Object.entries(obj).map(([key, value]) => {
123
+ const propTy = inferTypeFromJsonValue(value, depth + 1, extractPropHint(hint, key));
124
+ return nasl_concepts_1.StructureProperty.from({ name: key, typeAnnotation: propTy });
125
+ });
126
+ return nasl_concepts_1.TypeAnnotation.createTypeAnonymousStructure(properties);
127
+ }
128
+ /**
129
+ * 尝试将字符串作为 JSON5 解析,若结果为对象/数组则推断其结构类型。
130
+ * 解析失败或结果为原始值时返回 undefined。
131
+ */
132
+ function tryParseJson5AsStructuredType(code, hint) {
133
+ try {
134
+ const val = json5.parse(code.trim());
135
+ if (val !== null && typeof val === 'object') {
136
+ return inferTypeFromJsonValue(val, 0, hint);
137
+ }
138
+ }
139
+ catch {
140
+ // 不是合法的 JSON5,或结果为原始值,忽略
141
+ }
142
+ return undefined;
143
+ }
144
+ exports.tryParseJson5AsStructuredType = tryParseJson5AsStructuredType;
145
+ function inferStaticValueTypeAsLiteral(staticValue, tgtTy) {
31
146
  if (typeof staticValue !== 'string') {
32
147
  return nasl_concepts_1.TypeAnnotation.createLiteral(staticValue);
33
148
  }
34
149
  const formattedValue = staticValue.trim();
150
+ const structuredTy = tryParseJson5AsStructuredType(formattedValue, tgtTy);
151
+ if (structuredTy)
152
+ return structuredTy;
35
153
  try {
36
154
  const val = json5.parse(formattedValue);
155
+ // 对于数字类型,传入 tgtTy 作为 hint 以收窄推断(如整数提升为 Decimal)
156
+ if (typeof val === 'number') {
157
+ return inferTypeFromJsonValue(val, 0, tgtTy);
158
+ }
37
159
  return nasl_concepts_1.TypeAnnotation.createLiteral(val);
38
160
  }
39
- catch (error) {
161
+ catch {
40
162
  return typer_1.naslAnyTy;
41
163
  }
42
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bind-expression-hack.js","sourceRoot":"","sources":["../../src/utils/bind-expression-hack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAqD;AACrD,6CAA+B;AAC/B,oCAAqC;AAErC,SAAgB,6BAA6B,CAAC,WAAsC;IAClF,IAAG,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,8BAAc,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,cAAc,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,cAAwB,CAAC,CAAC;QAClD,OAAO,8BAAc,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,iBAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAXD,sEAWC"}
1
+ {"version":3,"file":"bind-expression-hack.js","sourceRoot":"","sources":["../../src/utils/bind-expression-hack.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseTsClassType.d.ts","sourceRoot":"","sources":["../../src/utils/parseTsClassType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAiB,SAAS,EAAqB,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAuB9H;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,QAEhB,MAAM,eAKC,MAAM,MAAM,CAAC,kBAGR,GAAG,QAAQ,GAAG,GAAG,wBAAwB,GAAG,SAAS,KAChE,cAAc,GAAG,SAmQnB,CAAC;AAWR;;GAEG;AACH,eAAO,MAAM,0BAA0B,WAAY,OAAO,gBAsFzD,CAAC;AAOF,eAAO,MAAM,oCAAoC,WAAY,OAAO,KAAG;IAAC,MAAM,SAAS,CAAC;IAAE,MAAM,KAAK,CAAC;IAAE,MAAM,QAAQ,CAAC;IAAE,MAAM;QAC7H,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,cAAc,CAAC;KAChC,CAAC;CAsJD,CAAC;AAEF,eAAO,MAAM,yBAAyB,OAAQ,KAAK,mBAYlD,CAAC;AAIF,eAAO,MAAM,qBAAqB,YA7hBnB,MAAM,MAAM,CAAC,kBAGR,GAAG,QAAQ,GAAG,GAAG,wBAAwB,GAAG,SAAS,KAChE,cAAc,GAAG,SAyhB0B,CAAC;AAGrD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,GAAG,cAAc,GAAG,SAAS,CA2CjG;AAwBD,eAAO,MAAM,qBAAqB,QAAS,MAAM,UAAU,GAAG,mBAAmB,KAAG,KAgDnF,CAAC;AAEF,eAAO,MAAM,uBAAuB,YACxB,MAAM,MAAM,CAAC,YACd,GAAG,mBAAmB,GAAG,GAAG,gBAAgB,GAAG,GAAG,gBAAgB,GAAG,GAAG,iBAAiB,KAAG,MAAM,SAAS,CAYjH,CAAC;AAIN,eAAO,MAAM,cAAc,UAAwE,CAAC"}
1
+ {"version":3,"file":"parseTsClassType.d.ts","sourceRoot":"","sources":["../../src/utils/parseTsClassType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAgB,KAAK,EAA8B,SAAS,EAAqB,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAuBzJ;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,QAEhB,MAAM,eAKC,MAAM,MAAM,CAAC,kBAGR,GAAG,QAAQ,GAAG,GAAG,wBAAwB,GAAG,SAAS,KAChE,cAAc,GAAG,SAyQnB,CAAC;AAWR;;GAEG;AACH,eAAO,MAAM,0BAA0B,WAAY,OAAO,gBAsFzD,CAAC;AAOF,eAAO,MAAM,oCAAoC,WAAY,OAAO,KAAG;IAAC,MAAM,SAAS,CAAC;IAAE,MAAM,KAAK,CAAC;IAAE,MAAM,QAAQ,CAAC;IAAE,MAAM;QAC7H,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,cAAc,CAAC;KAChC,CAAC;CAsJD,CAAC;AAEF,eAAO,MAAM,yBAAyB,OAAQ,KAAK,mBAYlD,CAAC;AAIF,eAAO,MAAM,qBAAqB,YAniBnB,MAAM,MAAM,CAAC,kBAGR,GAAG,QAAQ,GAAG,GAAG,wBAAwB,GAAG,SAAS,KAChE,cAAc,GAAG,SA+hB0B,CAAC;AAGrD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,GAAG,cAAc,GAAG,SAAS,CA2CjG;AAwBD,eAAO,MAAM,qBAAqB,QAAS,MAAM,UAAU,GAAG,mBAAmB,KAAG,KAgDnF,CAAC;AAEF,eAAO,MAAM,uBAAuB,YACxB,MAAM,MAAM,CAAC,YACd,GAAG,mBAAmB,GAAG,GAAG,gBAAgB,GAAG,GAAG,gBAAgB,GAAG,GAAG,iBAAiB,KAAG,MAAM,SAAS,CAYjH,CAAC;AAIN,eAAO,MAAM,cAAc,UAAwE,CAAC"}
@@ -154,6 +154,12 @@ prevTps) => (tsTypeNode) => {
154
154
  return nasl_concepts_1.StructureProperty.createProtoTypeOnly({
155
155
  name: pName,
156
156
  typeAnnotation: pType ?? undefined,
157
+ // 对应 DTS 中的 `?` 可选标记
158
+ ...(member.questionToken && {
159
+ defaultValue: nasl_concepts_1.DefaultValue.createProtoTypeOnly({
160
+ expression: new nasl_concepts_1.NullLiteral(),
161
+ }),
162
+ }),
157
163
  });
158
164
  }
159
165
  })