@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.makeRefTySubst = exports.simplifyUnionTyRecursively = exports.normalizeWithSubst = exports.traverseAndSubst = exports.traverseSubstRunCheck = exports.inPlaceSubstTyAnn = exports.substTyAnn = exports.emptySubst = void 0;
3
+ exports.makeRefTySubst = exports.normalizeWithSubst = exports.traverseAndSubst = exports.traverseSubstRunCheck = exports.inPlaceSubstTyAnn = exports.substTyAnn = exports.emptySubst = void 0;
4
4
  const nasl_concepts_1 = require("@lcap/nasl-concepts");
5
5
  const index_1 = require("./index");
6
6
  const get_q_name_1 = require("../reference-manager/get-q-name");
@@ -11,7 +11,6 @@ const nasl_type_manipulation_1 = require("../utils/nasl-type-manipulation");
11
11
  const asserts_1 = require("@lcap/nasl-concepts/asserts");
12
12
  const type_operator_1 = require("../utils/type-operator");
13
13
  const typer_1 = require("./typer");
14
- const lodash_1 = require("lodash");
15
14
  const service_1 = require("@lcap/nasl-concepts/service");
16
15
  const nasl_utils_1 = require("@lcap/nasl-utils");
17
16
  exports.emptySubst = new Map();
@@ -23,7 +22,7 @@ const substTyAnn = (env, m) => (ty) => {
23
22
  if ((0, index_1.isTyAnnTyParam)(ty)) {
24
23
  const bounds = ty.constraints ? (0, exports.substTyAnn)(env, m)(ty.constraints) : undefined;
25
24
  ty = m.get(ty.typeName) ?? ty;
26
- if (bounds) {
25
+ if (bounds && (0, index_1.isTyAnnTyParam)(ty)) {
27
26
  ty.constraints = bounds; // recover bounds
28
27
  }
29
28
  return ty;
@@ -181,7 +180,7 @@ const inPlaceSubstTyAnn = (env, m) => (ty) => {
181
180
  if (oldName) {
182
181
  ty.name = oldName;
183
182
  }
184
- if (bounds) {
183
+ if (bounds && (0, index_1.isTyAnnTyParam)(ty)) {
185
184
  ty.constraints = bounds; // recover bounds
186
185
  }
187
186
  return ty;
@@ -408,25 +407,6 @@ const normalizeCallInfoWithSubst = (env, pSubst, callInfo) => {
408
407
  }
409
408
  return callInfo;
410
409
  };
411
- // X | Y 替换后可能是 Long | Long,需要变回 Long
412
- // Map<String, X | Y> 替换后可能是 Map<String, Long | Long>,需要变回 Map<String, Long>
413
- const simplifyUnionTyRecursively = (ty) => {
414
- // 假设用的是 singleton types
415
- if (ty.typeKind === 'union') {
416
- if (ty.typeArguments.length === 1) { // @ts-ignore
417
- return ty.typeArguments[0];
418
- }
419
- else if (ty.typeArguments.length > 1) {
420
- const arr = (0, lodash_1.uniqBy)(ty.typeArguments, (x) => (0, type_manager_1.showType)(x));
421
- if (arr.length === 1) {
422
- return arr[0];
423
- }
424
- ty.typeArguments = arr;
425
- }
426
- }
427
- return ty;
428
- };
429
- exports.simplifyUnionTyRecursively = simplifyUnionTyRecursively;
430
410
  function makeRefTySubst(tyParams, tyArgs) {
431
411
  const subst = new Map();
432
412
  tyParams.forEach((tyParam, i) => {
@@ -1 +1 @@
1
- {"version":3,"file":"subster.js","sourceRoot":"","sources":["../../src/typer/subster.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subster.js","sourceRoot":"","sources":["../../src/typer/subster.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CallableNaslLogic } from '@lcap/nasl-concepts/service';
1
+ import { type CallableNaslConcept } from '@lcap/nasl-concepts/service';
2
2
  import { type ReferenceManager } from '../reference-manager/reference-manager';
3
3
  /**
4
4
  * @param fns: 一组输入的逻辑,互相有调用关系
@@ -10,7 +10,7 @@ import { type ReferenceManager } from '../reference-manager/reference-manager';
10
10
  * 4. 检查签名完整的逻辑 sigCompleteFns
11
11
  * 5. 检查互递归函数的函数体 errMutRefFns(与 4 可并行)
12
12
  */
13
- export declare function getLogicCheckingOrder<T extends CallableNaslLogic>(refMgr: ReferenceManager, fns: Array<T>): [Array<Array<T>>, Array<T>, Array<T>];
14
- export declare function findErrMutRecFns<T extends CallableNaslLogic>(callGraph: Map<T, Set<T>>): Array<Array<T>>;
15
- export declare function topoSortFns<T extends CallableNaslLogic>(m: Map<T, Set<T>>): Array<Array<T>>;
13
+ export declare function getLogicCheckingOrder<T extends CallableNaslConcept>(refMgr: ReferenceManager, fns: Array<T>): [Array<Array<T>>, Array<T>, Array<T>];
14
+ export declare function findErrMutRecFns<T extends CallableNaslConcept>(callGraph: Map<T, Set<T>>): Array<Array<T>>;
15
+ export declare function topoSortFns<T extends CallableNaslConcept>(m: Map<T, Set<T>>): Array<Array<T>>;
16
16
  //# sourceMappingURL=topo-sort.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"topo-sort.d.ts","sourceRoot":"","sources":["../../src/typer/topo-sort.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAM/E;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,iBAAiB,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GACpG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAiD1C;AAID,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,iBAAiB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAYxG;AA6HD,wBAAgB,WAAW,CAAC,CAAC,SAAS,iBAAiB,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAsC3F"}
1
+ {"version":3,"file":"topo-sort.d.ts","sourceRoot":"","sources":["../../src/typer/topo-sort.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,mBAAmB,EAAkB,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAM/E;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,mBAAmB,EAAE,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,GACtG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAiD1C;AAID,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,mBAAmB,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAY1G;AA6HD,wBAAgB,WAAW,CAAC,CAAC,SAAS,mBAAmB,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAsC7F"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  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
+ const service_1 = require("@lcap/nasl-concepts/service");
6
7
  const helper_1 = require("../reference-manager/helper");
7
8
  const fp_macros_1 = require("../utils/fp-macros");
8
9
  // 输入一组逻辑定义,根据调用关系、返回类型依赖关系,计算出逻辑的检查顺序
@@ -217,10 +218,13 @@ function buildOneLevelCallGraph(refMgr, fns) {
217
218
  m.set(fn, new Set());
218
219
  });
219
220
  fns.forEach(fn => {
221
+ if (fn.concept === 'Interface' || fn.concept === 'AuthInterface')
222
+ return;
220
223
  fn.body.forEach(node => {
221
224
  node.traverseStrictChildren(nd => {
222
225
  // Logic | OverriddenLogic | AuthLogic | AuthLogicForCallInterface | ConnectorLogic
223
- if (['CallLogic', 'CallConnector', 'CallAuthInterface'].includes(nd.concept)) {
226
+ // if (['CallLogic', 'CallConnector', 'CallAuthInterface', 'CallInterface'].includes(nd.concept)) {
227
+ if ((0, service_1.isNaslCallExpr)(nd)) {
224
228
  if (nd.calleeNamespace !== 'nasl.util') { // 呵呵 json 序列化,坑我到凌晨 2 点
225
229
  const calledFn = refMgr.getNodeDef(nd);
226
230
  // @ts-ignore
@@ -1 +1 @@
1
- {"version":3,"file":"topo-sort.js","sourceRoot":"","sources":["../../src/typer/topo-sort.ts"],"names":[],"mappings":";;;AAOA,mCAEiB;AACjB,iDAA+C;AAG/C,wDAA4D;AAC5D,kDAAiD;AAEjD,sCAAsC;AACtC,YAAY;AACZ;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CAA8B,MAAwB,EAAE,GAAa;IAEtG,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEtD,gCAAgC;IAChC,IAAI,YAAY,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC/C,yCAAyC;IACzC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,YAAY,GAAG,YAAY;SACtB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;SAChD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEvC,IAAI,QAAQ,GAAG,IAAI,GAAG,CAAI,GAAG,CAAC,CAAC;IAC/B,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,MAAM,aAAa,GAAG,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;WAC1C,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAE9D,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,CAAC;IAEzF,sBAAsB;IACtB,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAY,SAAS,CAAC,CAAC;IACrE,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,GAAG,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,yEAAyE;IAEzE,sCAAsC;IACtC,+DAA+D;IAC/D,IAAI,gBAAgB,GAAG,WAAW,CAAC,8BAA8B,EAAE,YAAY,CAAC,CAAC;IAEjF,kEAAkE;IAClE,gBAAgB,GAAG,yBAAyB,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAC/E,8DAA8D;IAE9D,uCAAuC;IAEvC,IAAI,gBAAgB,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,yCAAyC;IACzC,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjE,2CAA2C;IAC3C,gEAAgE;IAEhE,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAChD,SAAS,GAAG,EAAE,IAAI,wBAAW,IAAI,OAAO,CAAC,GAAG,CAAC,0DAA0D,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACxI,4DAA4D;IAC5D,OAAO,CAAC,YAAY,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAC5D,CAAC;AAlDD,sDAkDC;AAGD,4BAA4B;AAC5B,SAAgB,gBAAgB,CAA8B,SAAyB;IACnF,MAAM,gBAAgB,GAAG,CAAC,EAAK,EAAE,EAAE;QAC/B,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;gBAChC,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC;AAChB,CAAC;AAZD,4CAYC;AAED,SAAS,QAAQ,CAA8B,CAAiB,EAAE,IAA0B;IACxF,eAAe;IACf,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAE9B,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACtB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACtC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,aAAa;IACb,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,OAAO,GAAG,IAAI,GAAG,EAAa,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAa,CAAC;IACtC,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAK,CAAC;IAC7B,MAAM,IAAI,GAAU,EAAE,CAAC;IAEvB,MAAM,aAAa,GAAG,CAAC,IAAO,EAAE,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC1B,KAAK,EAAE,CAAC;QACR,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACxB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC;YAC/E,CAAC;iBAAM,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC;YAC9E,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAQ,EAAE,CAAC;YACpB,IAAI,OAAU,CAAC;YACf,GAAG,CAAC;gBACA,OAAO,GAAG,KAAK,CAAC,GAAG,EAAG,CAAC;gBACvB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtB,CAAC,QAAQ,OAAO,KAAK,IAAI,EAAE;YAE3B,WAAW;YACX,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAClB,GAAG,CAAC,MAAM,KAAK,CAAC;gBAChB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACpC,EAAE,CAAC;gBACA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IAEF,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACtB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,aAAa,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,oDAAoD;AACpD,oEAAoE;AACpE,SAAS,WAAW,CAA8B,IAAoB,EAAE,IAAqB;IACzF,sBAAsB;IACtB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAY,IAAI,CAAC,CAAC;IAErC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACf,oBAAoB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;YAC3C,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,EAAE,EAAE,CAAC;gBACL,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;oBACf,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;IAEX,SAAS,oBAAoB,CAAI,GAAQ;QACrC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAClB,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAa,CAAC;QAEpC,aAAa;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,kBAAkB;YAClB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAK,CAAC;YAElC,WAAW;YACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,WAAW;gBACX,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACV,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7B,CAAC;YACL,CAAC;YAED,uBAAuB;YACvB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;AACL,CAAC;AAED,iEAAiE;AACjE,SAAS,yBAAyB,CAA8B,CAAiB,EAAE,cAAwB;IACvG,sBAAsB;IACtB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAY,CAAC,CAAC,CAAC;IAClC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACf,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAgB,WAAW,CAA8B,CAAiB;IACtE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAK,CAAC;IAC3B,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QACrB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,IAAI,GAAG,EAAa,CAAC;IACxC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAa,CAAC;IACtC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACjB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE/D,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,IAAI,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAE9B,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAQ,EAAE,CAAC;QAC1B,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACxB,UAAU,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAE,GAAG,CAAC,CAAC;gBAC5C,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBAChC,IAAI,MAAM,KAAK,CAAC;oBAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,YAAY,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAtCD,kCAsCC;AAED,yBAAyB;AACzB,SAAS,sBAAsB,CAA8B,MAAwB,EAAE,GAAa;IAChG,MAAM,CAAC,GAAG,IAAI,GAAG,EAAa,CAAC;IAC/B,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACb,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACb,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,EAAE;gBAC7B,mFAAmF;gBACnF,IAAI,CAAC,WAAW,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3E,IAAK,EAAgB,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC,CAAC,wBAAwB;wBAC7E,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,EAAmD,CAAC,CAAC;wBACxF,aAAa;wBACb,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;4BACpD,IAAI,CAAC,IAAA,sBAAa,EAAC,QAAQ,CAAC,EAAE,CAAC;gCAC3B,IAAA,uBAAW,EAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;4BACjC,CAAC;wBACL,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,0CAA0C;gBAC1C,IAAK,EAAiB,EAAE,SAAS,EAAE,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;oBACzF,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACvC,IAAI,QAAQ,EAAE,CAAC;wBACX,IAAA,uBAAW,EAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;oBACjC,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,YAA4D;IACnF,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;QAC9B,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,IAAI,cAAc,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"topo-sort.js","sourceRoot":"","sources":["../../src/typer/topo-sort.ts"],"names":[],"mappings":"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"}
@@ -134,7 +134,7 @@ interface FunctionParam {
134
134
  optional?: boolean;
135
135
  spread?: boolean;
136
136
  }
137
- interface CallableNaslLogic {
137
+ interface CallableNaslLogicShape {
138
138
  params: Array<{
139
139
  name?: string;
140
140
  optional?: boolean;
@@ -151,7 +151,7 @@ interface CallableNaslLogic {
151
151
  * @param typeParams Optional array of type parameters for generic functions
152
152
  * @returns Function definition with params and returns
153
153
  */
154
- export declare const createFunctionDef: (parTypes: Array<TypeAnnotation>, returnType: TypeAnnotation | undefined, def: CallableNaslLogic | undefined, typeParams: Array<TypeAnnotation> | undefined) => ResolvedCall;
154
+ export declare const createFunctionDef: (parTypes: Array<TypeAnnotation>, returnType: TypeAnnotation | undefined, def: CallableNaslLogicShape | undefined, typeParams: Array<TypeAnnotation> | undefined) => ResolvedCall;
155
155
  export declare const hasUnresolvedTyInCallInfo: (callInfo: ResolvedCall | undefined) => boolean;
156
156
  export {};
157
157
  //# sourceMappingURL=type-manager.d.ts.map
@@ -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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"}
@@ -138,10 +138,6 @@ const createRefTyAnnFromDef = (def, env) => {
138
138
  (0, assertion_1.assertTrusy)(def.typeNamespace);
139
139
  return (0, exports.createRefTyAnn)(def.typeName, def.typeNamespace);
140
140
  }
141
- // case 'EntityProperty':
142
- // return def.typeAnnotation;
143
- // case 'StructureProperty':
144
- // return def.typeAnnotation;
145
141
  case 'Structure':
146
142
  return (0, exports.createRefTyAnn)(def.name, def.getNamespace());
147
143
  case 'Entity':
@@ -164,7 +160,7 @@ const createRefTyAnnFromDef = (def, env) => {
164
160
  case 'BusinessLogic':
165
161
  return createFnTyFromLogicDef(def);
166
162
  default:
167
- console.log(`尚未支持的类型, createRefTyAnnFromDef Unknown concept: ${def.concept}`);
163
+ // console.log(`尚未支持的类型, createRefTyAnnFromDef Unknown concept: ${def.concept}`);
168
164
  return exports.naslAnyTy;
169
165
  }
170
166
  };
@@ -237,8 +233,29 @@ const createUnionTyAnn = (tys) => {
237
233
  };
238
234
  exports.createUnionTyAnn = createUnionTyAnn;
239
235
  const createUnionTyAnnIfNecessary = (env, _tys) => {
240
- // Remove duplicates first
241
- let tys = (0, helper_1.removeDupBy)(_tys, (ty1, ty2) => (0, type_predicate_1.isEqualTy)(env, ty1, ty2));
236
+ // 1) Flatten nested unions in the input for normalization (e.g., [A, Union<B, C>] -> [A, B, C])
237
+ const flattenUnionArgs = (arr) => {
238
+ const res = [];
239
+ const stack = [];
240
+ // push in reverse to preserve left-to-right order when popping
241
+ for (let i = arr.length - 1; i >= 0; i--)
242
+ stack.push(arr[i]);
243
+ while (stack.length) {
244
+ const cur = stack.pop();
245
+ if (cur.typeKind === 'union' && cur.typeArguments && cur.typeArguments.length) {
246
+ // push union args in reverse order to maintain order
247
+ for (let i = cur.typeArguments.length - 1; i >= 0; i--) {
248
+ stack.push(cur.typeArguments[i]);
249
+ }
250
+ }
251
+ else {
252
+ res.push(cur);
253
+ }
254
+ }
255
+ return res;
256
+ };
257
+ // Flatten then remove duplicates
258
+ let tys = (0, helper_1.removeDupBy)(flattenUnionArgs(_tys), (ty1, ty2) => (0, type_predicate_1.isEqualTy)(env, ty1, ty2));
242
259
  if (tys.length === 1) {
243
260
  return tys[0];
244
261
  }
@@ -248,8 +265,10 @@ const createUnionTyAnnIfNecessary = (env, _tys) => {
248
265
  let nonAnyTypes = [];
249
266
  let nonNullTypes = [];
250
267
  for (const ty of tys) {
251
- if (ty.typeName === 'Any' && ty.typeNamespace === 'nasl.core') {
268
+ const isAnyTy = ty.typeNamespace === 'nasl.core' && (ty.typeName === 'Any' || ty.typeName === 'any');
269
+ if (isAnyTy) {
252
270
  hasAny = true;
271
+ nonNullTypes.push(ty);
253
272
  }
254
273
  else if (ty.typeName === 'Null' && ty.typeNamespace === 'nasl.core') {
255
274
  hasNull = true;
@@ -272,9 +291,13 @@ const createUnionTyAnnIfNecessary = (env, _tys) => {
272
291
  }
273
292
  }
274
293
  // If we've filtered down to a single type, return it
275
- if (tys.length === 1) {
294
+ if (tys.length === 0) {
295
+ return exports.naslAnyTy;
296
+ }
297
+ else if (tys.length === 1) {
276
298
  return tys[0];
277
299
  }
300
+ // Build a normalized union (createUnionTyAnn does one-level flattening, but we already fully flattened)
278
301
  return (0, exports.createUnionTyAnn)(tys);
279
302
  };
280
303
  exports.createUnionTyAnnIfNecessary = createUnionTyAnnIfNecessary;
@@ -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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"}
@@ -29,7 +29,7 @@
29
29
  * enabling accurate static analysis, error detection, and code intelligence features in the
30
30
  * NASL language server.
31
31
  */
32
- import { BaseNode, TypeAnnotation } from '@lcap/nasl-concepts';
32
+ import { BaseNode, StructureProperty, TypeAnnotation } from '@lcap/nasl-concepts';
33
33
  import { type SemEnv } from './typer';
34
34
  export declare const isValidNaslTy: (ty: TypeAnnotation | undefined) => string | undefined;
35
35
  export declare const isTyAnnTyParam: (ty: TypeAnnotation | undefined) => boolean;
@@ -88,4 +88,9 @@ export declare function isSubTy(env: SemEnv, sub: TypeAnnotation, sup: TypeAnnot
88
88
  export declare const isUnResolvedTy: (ty: TypeAnnotation | undefined) => boolean;
89
89
  export declare const isResolvedTy: (ty: TypeAnnotation | undefined) => boolean;
90
90
  export declare const isResolvedUserTy: (ty: TypeAnnotation | undefined) => boolean;
91
+ /**
92
+ * 判断 StructureProperty 是否为可选的
93
+ * 如果 defaultValue 的 expression 为 NullLiteral,那么该字段是可选的
94
+ */
95
+ export declare const isOptionalStructureProperty: (prop: StructureProperty) => boolean;
91
96
  //# sourceMappingURL=type-predicate.d.ts.map
@@ -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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"}
@@ -31,7 +31,7 @@
31
31
  * NASL language server.
32
32
  */
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
- exports.isResolvedUserTy = exports.isResolvedTy = exports.isUnResolvedTy = exports.isSubTy = exports.isNaslGenericCollection = exports.isEqualTy = exports.isSameAnonymousTy = exports.isSameRefTy = exports.isStructuralSubTy = exports.isTypeAnnotation = exports.binaryOpCompatibleNumTys = exports.isNumericImplicitCast = exports.isDecimalUnionLongTy = exports.isNaslGenericTy = exports.isErrorTy = exports.isVoidTy = exports.isMetadataType = exports.isNullTy = exports.isAnyTy = exports.isIndexedType = exports.isAStructureTy = exports.isAnonymousTy = exports.isUnionTy = exports.isStructureTy = exports.isEntityTy = exports.isGeneralEnumTy = exports.isEnumTy = exports.isMapTy = exports.isListTy = exports.isRefTy = exports.isStringTy = exports.isDateTimeTy = exports.isTimeTy = exports.isDateTy = exports.isNaslNumTy = exports.isNumericTy = exports.isDecimalTy = exports.isLongTy = exports.isIntegerTy = exports.isPrimitiveTy = exports.isFuncTy = exports.isTyAnnTyParam = exports.isValidNaslTy = void 0;
34
+ exports.isOptionalStructureProperty = exports.isResolvedUserTy = exports.isResolvedTy = exports.isUnResolvedTy = exports.isSubTy = exports.isNaslGenericCollection = exports.isEqualTy = exports.isSameAnonymousTy = exports.isSameRefTy = exports.isStructuralSubTy = exports.isTypeAnnotation = exports.binaryOpCompatibleNumTys = exports.isNumericImplicitCast = exports.isDecimalUnionLongTy = exports.isNaslGenericTy = exports.isErrorTy = exports.isVoidTy = exports.isMetadataType = exports.isNullTy = exports.isAnyTy = exports.isIndexedType = exports.isAStructureTy = exports.isAnonymousTy = exports.isUnionTy = exports.isStructureTy = exports.isEntityTy = exports.isGeneralEnumTy = exports.isEnumTy = exports.isMapTy = exports.isListTy = exports.isRefTy = exports.isStringTy = exports.isDateTimeTy = exports.isTimeTy = exports.isDateTy = exports.isNaslNumTy = exports.isNumericTy = exports.isDecimalTy = exports.isLongTy = exports.isIntegerTy = exports.isPrimitiveTy = exports.isFuncTy = exports.isTyAnnTyParam = exports.isValidNaslTy = void 0;
35
35
  const nasl_concepts_1 = require("@lcap/nasl-concepts");
36
36
  const type_manager_1 = require("./type-manager");
37
37
  const assertion_1 = require("../utils/assertion");
@@ -379,15 +379,25 @@ function isSubTy(env, sub, sup, isStructural) {
379
379
  (0, assertion_1.assertTrusy)(sup.properties);
380
380
  if (isStructural) {
381
381
  return sup.properties.every(supProp => {
382
- const subPropTy = sub.properties?.find(x => x.name === supProp.name)?.typeAnnotation;
383
- return !!subPropTy && isStructuralSubTy(env, subPropTy, supProp.typeAnnotation);
382
+ const subProp = sub.properties?.find(x => x.name === supProp.name);
383
+ const subPropTy = subProp?.typeAnnotation;
384
+ if (!subPropTy) {
385
+ return (0, exports.isOptionalStructureProperty)(supProp);
386
+ }
387
+ const isSubOptional = (0, exports.isOptionalStructureProperty)(subProp);
388
+ const isSupOptional = (0, exports.isOptionalStructureProperty)(supProp);
389
+ // A required property in supertype cannot be satisfied by an optional property in subtype
390
+ if (!isSupOptional && isSubOptional) {
391
+ return false;
392
+ }
393
+ return isStructuralSubTy(env, subPropTy, supProp.typeAnnotation);
384
394
  });
385
395
  }
386
396
  else {
387
397
  const sortedSubProps = [...sub.properties].sort((a, b) => a.name.localeCompare(b.name));
388
398
  const sortedSupProps = [...sup.properties].sort((a, b) => a.name.localeCompare(b.name));
389
399
  const res = sortedSubProps.length === sortedSupProps.length &&
390
- (0, helper_1.fastZipWithAndEvery)((((l, r) => l.name === r.name && (0, exports.isEqualTy)(env, l.typeAnnotation, r.typeAnnotation))), sortedSubProps, sortedSupProps); // invariant comparison with sorted copies
400
+ (0, helper_1.fastZipWithAndEvery)((((l, r) => l.name === r.name && (0, exports.isOptionalStructureProperty)(l) === (0, exports.isOptionalStructureProperty)(r) && (0, exports.isEqualTy)(env, l.typeAnnotation, r.typeAnnotation))), sortedSubProps, sortedSupProps); // invariant comparison with sorted copies
391
401
  return res;
392
402
  }
393
403
  }
@@ -563,4 +573,12 @@ const isResolvedUserTy = (ty) => {
563
573
  return true;
564
574
  };
565
575
  exports.isResolvedUserTy = isResolvedUserTy;
576
+ /**
577
+ * 判断 StructureProperty 是否为可选的
578
+ * 如果 defaultValue 的 expression 为 NullLiteral,那么该字段是可选的
579
+ */
580
+ const isOptionalStructureProperty = (prop) => {
581
+ return prop.defaultValue?.expression?.concept === 'NullLiteral';
582
+ };
583
+ exports.isOptionalStructureProperty = isOptionalStructureProperty;
566
584
  //# sourceMappingURL=type-predicate.js.map