@lcap/nasl-language-server-core 4.3.0-beta.25 → 4.3.0-beta.27

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 (83) hide show
  1. package/out/checker.d.ts.map +1 -1
  2. package/out/checker.js +94 -5
  3. package/out/checker.js.map +1 -1
  4. package/out/reference-manager/collect-q-name.d.ts.map +1 -1
  5. package/out/reference-manager/collect-q-name.js +6 -3
  6. package/out/reference-manager/collect-q-name.js.map +1 -1
  7. package/out/reference-manager/get-q-name.js +3 -3
  8. package/out/reference-manager/get-q-name.js.map +1 -1
  9. package/out/reference-manager/reference-manager.d.ts +4 -1
  10. package/out/reference-manager/reference-manager.d.ts.map +1 -1
  11. package/out/reference-manager/reference-manager.js +16 -15
  12. package/out/reference-manager/reference-manager.js.map +1 -1
  13. package/out/reference-manager/symbol-type.d.ts.map +1 -1
  14. package/out/reference-manager/symbol-type.js +1 -0
  15. package/out/reference-manager/symbol-type.js.map +1 -1
  16. package/out/reference-manager/update-nasl-fragment.d.ts +2 -2
  17. package/out/reference-manager/update-nasl-fragment.d.ts.map +1 -1
  18. package/out/reference-manager/update-nasl-fragment.js +13 -14
  19. package/out/reference-manager/update-nasl-fragment.js.map +1 -1
  20. package/out/typer/collectGlobalDefs.js +1 -1
  21. package/out/typer/collectGlobalDefs.js.map +1 -1
  22. package/out/typer/component-def-manager/component-def-manager.js +1 -1
  23. package/out/typer/component-def-manager/component-def-manager.js.map +1 -1
  24. package/out/typer/dispatch-call.d.ts.map +1 -1
  25. package/out/typer/dispatch-call.js +7 -0
  26. package/out/typer/dispatch-call.js.map +1 -1
  27. package/out/typer/dispatch-def.d.ts.map +1 -1
  28. package/out/typer/dispatch-def.js +35 -6
  29. package/out/typer/dispatch-def.js.map +1 -1
  30. package/out/typer/dispatch-expr.d.ts.map +1 -1
  31. package/out/typer/dispatch-expr.js +138 -103
  32. package/out/typer/dispatch-expr.js.map +1 -1
  33. package/out/typer/dispatch-stmt.d.ts.map +1 -1
  34. package/out/typer/dispatch-stmt.js +33 -18
  35. package/out/typer/dispatch-stmt.js.map +1 -1
  36. package/out/typer/dispatch-view.d.ts.map +1 -1
  37. package/out/typer/dispatch-view.js +58 -45
  38. package/out/typer/dispatch-view.js.map +1 -1
  39. package/out/typer/incremental-update.d.ts +2 -2
  40. package/out/typer/incremental-update.d.ts.map +1 -1
  41. package/out/typer/incremental-update.js +93 -17
  42. package/out/typer/incremental-update.js.map +1 -1
  43. package/out/typer/oql-checker/chain-call-transformer.d.ts.map +1 -1
  44. package/out/typer/oql-checker/chain-call-transformer.js +17 -4
  45. package/out/typer/oql-checker/chain-call-transformer.js.map +1 -1
  46. package/out/typer/oql-checker/ts-parser.d.ts.map +1 -1
  47. package/out/typer/oql-checker/ts-parser.js +230 -31
  48. package/out/typer/oql-checker/ts-parser.js.map +1 -1
  49. package/out/typer/overload-helper.d.ts.map +1 -1
  50. package/out/typer/overload-helper.js +139 -11
  51. package/out/typer/overload-helper.js.map +1 -1
  52. package/out/typer/solver.d.ts +8 -9
  53. package/out/typer/solver.d.ts.map +1 -1
  54. package/out/typer/solver.js +54 -31
  55. package/out/typer/solver.js.map +1 -1
  56. package/out/typer/subster.d.ts +1 -1
  57. package/out/typer/subster.d.ts.map +1 -1
  58. package/out/typer/subster.js +176 -49
  59. package/out/typer/subster.js.map +1 -1
  60. package/out/typer/topo-sort.d.ts +37 -0
  61. package/out/typer/topo-sort.d.ts.map +1 -1
  62. package/out/typer/topo-sort.js +260 -1
  63. package/out/typer/topo-sort.js.map +1 -1
  64. package/out/typer/type-manager.d.ts.map +1 -1
  65. package/out/typer/type-manager.js +3 -3
  66. package/out/typer/type-manager.js.map +1 -1
  67. package/out/typer/type-predicate.d.ts +1 -0
  68. package/out/typer/type-predicate.d.ts.map +1 -1
  69. package/out/typer/type-predicate.js +50 -4
  70. package/out/typer/type-predicate.js.map +1 -1
  71. package/out/typer/typer.d.ts +42 -3
  72. package/out/typer/typer.d.ts.map +1 -1
  73. package/out/typer/typer.js +189 -16
  74. package/out/typer/typer.js.map +1 -1
  75. package/out/typer/unifier.d.ts +11 -0
  76. package/out/typer/unifier.d.ts.map +1 -1
  77. package/out/typer/unifier.js +74 -31
  78. package/out/typer/unifier.js.map +1 -1
  79. package/out/utils/type-operator.d.ts +15 -0
  80. package/out/utils/type-operator.d.ts.map +1 -1
  81. package/out/utils/type-operator.js +65 -3
  82. package/out/utils/type-operator.js.map +1 -1
  83. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-def.js","sourceRoot":"","sources":["../../src/typer/dispatch-def.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch-def.js","sourceRoot":"","sources":["../../src/typer/dispatch-def.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-expr.d.ts","sourceRoot":"","sources":["../../src/typer/dispatch-expr.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAEjB,eAAe,EAYf,aAAa,EACb,KAAK,EAKL,YAAY,EAqBZ,QAAQ,EACR,UAAU,EACV,cAAc,EAKf,MAAM,qBAAqB,CAAC;AAoD7B,OAAO,EACL,KAAK,MAAM,EACZ,MAAM,SAAS,CAAC;AA0EjB,KAAK,cAAc,GAAG,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAG1D,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,GAAG,SAAS,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAyDvI;AAotBD,eAAO,MAAM,mBAAmB,QAAS,MAAM,MAAM,iBAAiB,UAAU,cAAc,GAAG,SAAS,2BAAuB,cAAc,GAAG,SA0BjJ,CAAA;AAED,eAAO,MAAM,UAAU,QAAS,MAAM,MAAM,QAAQ,SAAS,cAAc,GAAG,SAAS,eAAc,OAAO,KAAW,cAAc,GAAG,SAoEvI,CAAA;AAijBD,eAAO,MAAM,iBAAiB,QAAS,MAAM,MAAM,cAAc,GAAG,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC,CAapH,CAAA;AA6FD;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAY1H;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CA8I7G;AA2CD,eAAO,MAAM,cAAc,OAAQ,eAAe,GAAG,YAAY,WAAW,MAAM,WAAW,MAAM,KAAG,aAMrG,CAAC"}
1
+ {"version":3,"file":"dispatch-expr.d.ts","sourceRoot":"","sources":["../../src/typer/dispatch-expr.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAEjB,eAAe,EAYf,aAAa,EACb,KAAK,EAKL,YAAY,EAqBZ,QAAQ,EACR,UAAU,EACV,cAAc,EAKf,MAAM,qBAAqB,CAAC;AAoD7B,OAAO,EACL,KAAK,MAAM,EAEZ,MAAM,SAAS,CAAC;AA0EjB,KAAK,cAAc,GAAG,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAG1D,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,GAAG,SAAS,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAyDvI;AA8tBD,eAAO,MAAM,mBAAmB,QAAS,MAAM,MAAM,iBAAiB,UAAU,cAAc,GAAG,SAAS,2BAAuB,cAAc,GAAG,SA0BjJ,CAAA;AAED,eAAO,MAAM,UAAU,QAAS,MAAM,MAAM,QAAQ,SAAS,cAAc,GAAG,SAAS,eAAc,OAAO,KAAW,cAAc,GAAG,SAiGvI,CAAA;AAmjBD,eAAO,MAAM,iBAAiB,QAAS,MAAM,MAAM,cAAc,GAAG,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC,CAapH,CAAA;AA6FD;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAY1H;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAiJ7G;AA2CD,eAAO,MAAM,cAAc,OAAQ,eAAe,GAAG,YAAY,WAAW,MAAM,WAAW,MAAM,KAAG,aAMrG,CAAC"}
@@ -13,6 +13,7 @@ const get_q_name_1 = require("../reference-manager/get-q-name");
13
13
  const reference_manager_1 = require("../reference-manager/reference-manager");
14
14
  const string_1 = require("../utils/string");
15
15
  const assertion_1 = require("../utils/assertion");
16
+ const typer_1 = require("./typer");
16
17
  const service_1 = require("@lcap/nasl-concepts/service");
17
18
  const asserts_1 = require("@lcap/nasl-concepts/asserts");
18
19
  const type_manager_1 = require("./type-manager");
@@ -206,10 +207,19 @@ function tpIdentifier(env, nd, tgtTy) {
206
207
  // a.b.c 中的 b 和 c 不应指向局部变量、不收集草稿区的推导
207
208
  if (!env.isInMemberExpr && (0, service_1.isTypeInferConcept)(def)) {
208
209
  env.idToVar.set(nd, def);
209
- !env.isPlayground && env.allRefsInPlayground.delete(def);
210
+ // 如果 Identifier 在草稿区,将它加入到 Set 中
211
+ if (env.isPlayground) {
212
+ env.allRefsInPlayground.add(nd);
213
+ }
214
+ else {
215
+ // 如果不在草稿区,确保从 Set 中删除(可能之前添加过)
216
+ env.allRefsInPlayground.delete(nd);
217
+ }
210
218
  }
211
219
  else {
212
220
  env.idToVar.delete(nd);
221
+ // 从 idToVar 中删除时,也要从 allRefsInPlayground 中删除
222
+ env.allRefsInPlayground.delete(nd);
213
223
  }
214
224
  env.unifier.unify(ndTy, tgtTy);
215
225
  return ndTy;
@@ -327,6 +337,18 @@ const processRefProp = (env, nd, objTyAnn) => {
327
337
  env.setType(nd.property, type_manager_1.naslAnyTy);
328
338
  return;
329
339
  }
340
+ if (objTyAnn.typeKind === 'generic' && vRefTyDef.concept === 'Structure') {
341
+ const propertyType = (0, typer_1.findPropertyTypeFromGeneric)(env, objTyAnn, vRefTyDef, nd.property.name);
342
+ if (propertyType) {
343
+ env.setType(nd.property, propertyType);
344
+ }
345
+ else {
346
+ // 找不到属性时设置错误,与非 generic 分支保持一致
347
+ env.addError((0, sem_diag_1.mkMemNotFoundErr)(objTyAnn, nd.property.name));
348
+ env.setType(nd.property, type_manager_1.naslAnyTy);
349
+ }
350
+ return;
351
+ }
330
352
  let prop = reference_manager_1.ReferenceManager.getProp(vRefTyDef, nd.property.name);
331
353
  if (!prop) {
332
354
  if (nd.object.name === 'processSystem') {
@@ -357,50 +379,31 @@ function createIndexedAccessType(env, nd, simplifiedObjectType) {
357
379
  env.setType(nd.property, indexedTy);
358
380
  }
359
381
  function tpBinaryArithExpr(env, nd, tgtTy) {
360
- let leftTy = dispatchExpr(env, nd.left, undefined);
361
- let rightTy = dispatchExpr(env, nd.right, undefined);
382
+ // 注意:此函数只处理 -, *, /, % 操作符,+ 操作符在 tpBinaryExpression 中单独处理
383
+ let leftTy = dispatchExpr(env, nd.left, type_manager_1.naslDecimalTy);
384
+ let rightTy = dispatchExpr(env, nd.right, type_manager_1.naslDecimalTy);
362
385
  let ndTy;
363
386
  // 启发式,兼容老程序就行了。速度至上。
364
387
  if ((0, type_predicate_2.isTyAnnTyParam)(leftTy) && !(0, type_predicate_2.isTyAnnTyParam)(rightTy)) {
365
- if ((0, type_predicate_2.isDecimalTy)(rightTy)) {
366
- env.unifier.unify(leftTy, type_manager_1.naslDecimalTy);
367
- }
368
- else if ((0, type_predicate_2.isIntegerTy)(rightTy)) {
369
- env.unifier.unify(type_manager_1.naslLongTy, leftTy);
370
- }
388
+ env.unifier.unify(type_manager_1.naslLongTy, leftTy);
371
389
  }
372
390
  else if (!(0, type_predicate_2.isTyAnnTyParam)(leftTy) && (0, type_predicate_2.isTyAnnTyParam)(rightTy)) {
373
- if ((0, type_predicate_2.isDecimalTy)(leftTy)) {
374
- env.unifier.unify(rightTy, type_manager_1.naslDecimalTy);
375
- }
376
- else if ((0, type_predicate_2.isIntegerTy)(leftTy)) {
377
- env.unifier.unify(type_manager_1.naslLongTy, rightTy);
378
- }
391
+ env.unifier.unify(type_manager_1.naslLongTy, rightTy);
379
392
  }
380
393
  // 人肉 solve
381
- const hasString = (0, type_predicate_2.isStringTy)(leftTy) || (0, type_predicate_2.isStringTy)(rightTy);
382
- const hasDecimal = (0, type_predicate_2.isDecimalTy)(leftTy) || (0, type_predicate_2.isDecimalTy)(rightTy);
383
- const hasLong = (0, type_predicate_2.isIntegerTy)(leftTy) || (0, type_predicate_2.isIntegerTy)(rightTy);
384
- if (nd.operator === '+' && hasString) {
385
- ndTy = type_manager_1.naslStringTy;
386
- }
387
- else if (nd.operator === '/') {
394
+ if (nd.operator === '/') { // 除法运算,结果必须是 decimal
388
395
  // 必须是 decimal
389
396
  ndTy = type_manager_1.naslDecimalTy;
390
397
  }
391
398
  else {
392
- if (hasDecimal) {
393
- ndTy = type_manager_1.naslDecimalTy;
394
- }
395
- else if (hasLong) {
396
- ndTy = type_manager_1.naslLongTy;
397
- }
398
- else {
399
- // 较大的类型
400
- ndTy = env.unifier.nextFreshTyAnn('free');
401
- env.unifier.unify(leftTy, ndTy);
402
- env.unifier.unify(rightTy, ndTy);
403
- }
399
+ // 较大的类型
400
+ ndTy = env.unifier.nextFreshTyAnn('free');
401
+ // 约束 ndTy 的上界为 Decimal
402
+ env.unifier.unify(ndTy, type_manager_1.naslDecimalTy);
403
+ // 约束 ndTy 的下界为 Long
404
+ env.unifier.unify(type_manager_1.naslLongTy, ndTy);
405
+ env.unifier.unify(leftTy, ndTy);
406
+ env.unifier.unify(rightTy, ndTy);
404
407
  }
405
408
  env.setType(nd, ndTy);
406
409
  env.unifier.unify(ndTy, tgtTy);
@@ -779,63 +782,92 @@ const tpAnonymousFunction = (env, nd, _tgtTy, isListSort = false) => {
779
782
  };
780
783
  exports.tpAnonymousFunction = tpAnonymousFunction;
781
784
  const tpSubLogic = (env, nd, tgtTy, isListSort = false) => {
782
- const subLogicVars = [...nd.params, ...nd.returns, ...nd.variables];
783
- env.refMgr.setLocalSymBindings(nd, subLogicVars);
784
- subLogicVars.forEach(v => (0, dispatch_def_1.dispatchDef)(env, v));
785
- // 处理 tgtTy 缺失的情况
786
- if (tgtTy && !(0, type_predicate_2.isFuncTy)(tgtTy) && !isListSort) {
787
- env.setType(nd, type_manager_1.naslAnyTy);
788
- env.addError((0, sem_diag_1.mkIncompatibleTyErr)(env, '函数', tgtTy));
789
- return (0, type_manager_1.createFnTyFromTyAnns)([], type_manager_1.naslAnyTy);
790
- }
791
- // 如果有 tgtTy 且是函数类型,则进行 unification
792
- if (tgtTy && (0, type_predicate_2.isFuncTy)(tgtTy)) {
793
- // TODO: 通过 default value 生成 constraints
794
- nd.params.forEach((param, idx) => {
795
- // v4.1 AI 相关需求要求它也能推
796
- const paramTy = env.getRawType(param);
797
- env.unifier.unifyContravariant(paramTy, tgtTy.typeArguments[idx], param); // contravariant
798
- });
799
- }
800
- // 若非前端,则 shallow copy,因为内部会触发 solve,会把进来前的约束清掉;
801
- // 若是前端,则无需 copy
802
- const csCopy = env.isView ? env.unifier.cs : new Map(env.unifier.cs);
803
- // 直接用 Solver 求解约束,并仅把求解结果代回到 SubLogic 的 params(避免 traverseSubstRunCheck 对 Identifier 的假设)
804
- if (!env.isView) {
805
- // 使用局部 Solver
806
- const localSolver = new solver_1.Solver(env);
807
- const subst = localSolver.simpleSolveConstraints();
808
- // 只替换 nd.params 上的类型变元
809
- const pSubst = (0, subster_1.inPlaceSubstTyAnn)(env, subst);
810
- for (const param of nd.params) {
811
- const rawTy = env.getRawType(param);
812
- if (rawTy) {
813
- const replaced = pSubst(rawTy);
814
- env.setType(param, replaced);
815
- }
785
+ return env.withPostCheckScope(() => {
786
+ // 保持与 tpAnonymousFunction 一致:先展开 expected function type 中的 tuple spread
787
+ const expectedTy = tgtTy ? desugarTupleSpreadInArgsOfFunctionType(tgtTy) : undefined;
788
+ // 仅对"表达式中的临时 SubLogic"(TS arrow-function block 解析产物)做参数类型的"预填充":
789
+ // - tpParam 直接用 expected type,而不是先生成 free type var
790
+ // - 保证闭包捕获变量(如外层 record 参数)具备正确成员类型,避免 Any 化
791
+ if (expectedTy && (0, type_predicate_2.isFuncTy)(expectedTy) && typeof nd.name === 'string' && nd.name.startsWith('$anon$')) {
792
+ nd.params.forEach((param, idx) => {
793
+ const exp = expectedTy.typeArguments?.[idx];
794
+ if (!exp)
795
+ return;
796
+ if (!param.typeAnnotation) {
797
+ param.typeAnnotation = (0, type_manager_1.copyTyAnn)(exp);
798
+ }
799
+ });
816
800
  }
817
- // 运行后置校验并把 postChecks 触发
818
- const normalizedSemTyMap = (0, subster_1.traverseAndSubst)(env)(nd, subst);
819
- const errs = localSolver.postCheckSolution(subst, localSolver.cs, normalizedSemTyMap) || [];
820
- if (errs.length > 0) {
821
- for (const err of errs) {
822
- env.addError(err.message, env.getCurFileNode(), err.errBoundary, err.fromPlayground ? 'warning' : 'error');
823
- }
801
+ const subLogicVars = [...nd.params, ...nd.returns, ...nd.variables];
802
+ env.refMgr.setLocalSymBindings(nd, subLogicVars);
803
+ subLogicVars.forEach(v => (0, dispatch_def_1.dispatchDef)(env, v));
804
+ // 处理 tgtTy 缺失的情况
805
+ if (expectedTy && !(0, type_predicate_2.isFuncTy)(expectedTy) && !isListSort) {
806
+ env.setType(nd, type_manager_1.naslAnyTy);
807
+ env.addError((0, sem_diag_1.mkIncompatibleTyErr)(env, '函数', expectedTy));
808
+ return (0, type_manager_1.createFnTyFromTyAnns)([], type_manager_1.naslAnyTy);
809
+ }
810
+ // 如果有 tgtTy 且是函数类型,则进行 unification
811
+ if (expectedTy && (0, type_predicate_2.isFuncTy)(expectedTy)) {
812
+ // 对于“作为表达式出现的 SubLogic”(例如由 TS arrow-function block 生成),通常没有显式参数类型。
813
+ // 只做 contravariant unify 很难把参数类型从 expected type 传播进来,进而导致闭包捕获变量上的成员访问类型变成 Any。
814
+ // 因此:当参数未声明类型(或当前是 Any/未解),先用 expected param type 填充。
815
+ nd.params.forEach((param, idx) => {
816
+ const expected = expectedTy.typeArguments?.[idx];
817
+ if (!expected)
818
+ return;
819
+ const cur = env.getRawType(param);
820
+ if (!param.typeAnnotation && (!cur || (0, type_predicate_2.isAnyTy)(cur) || (0, type_predicate_1.isUnResolvedTy)(cur))) {
821
+ env.setType(param, expected);
822
+ }
823
+ });
824
+ // TODO: 通过 default value 生成 constraints
825
+ nd.params.forEach((param, idx) => {
826
+ // v4.1 AI 相关需求要求它也能推
827
+ const paramTy = env.getRawType(param);
828
+ env.unifier.unifyContravariant(paramTy, expectedTy.typeArguments[idx], param); // contravariant
829
+ });
824
830
  }
825
- env.runPostChecks(subst);
826
- }
827
- (0, dispatch_stmt_2.tpSolvingStmts)(env, nd.body);
828
- (0, dispatch_stmt_1.tpSolvingPlayground)(env, nd.playground);
829
- subLogicVars.forEach(env.removeLexicalSym);
830
- const ndTy = (0, type_manager_1.createRefTyAnnFromDef)(nd, env);
831
- if (tgtTy && ndTy.typeKind === 'function') {
832
- // expected type 上 copy sync 字段,保证 SubLogic 的函数类型和 Param 处声明的字段一致
833
- ndTy.sync = tgtTy.sync;
834
- }
835
- env.setType(nd, ndTy);
836
- env.unifier.cs = csCopy;
837
- !isListSort && env.unifier.unify(ndTy, tgtTy); // 这里需要额外的 unify,否则 SubLogic 算出来的类型不能与外侧进来时的约束产生关系
838
- return ndTy;
831
+ // 若非前端,则 shallow copy,因为内部会触发 solve,会把进来前的约束清掉;
832
+ // 若是前端,则无需 copy
833
+ const csCopy = env.isView ? env.unifier.cs : new Map(env.unifier.cs);
834
+ // 直接用 Solver 求解约束,并仅把求解结果代回到 SubLogic 的 params(避免 traverseSubstRunCheck 对 Identifier 的假设)
835
+ if (!env.isView) {
836
+ // 使用局部 Solver
837
+ const localSolver = new solver_1.Solver(env);
838
+ const subst = localSolver.simpleSolveConstraints();
839
+ // 只替换 nd.params 上的类型变元
840
+ const pSubst = (0, subster_1.inPlaceSubstTyAnn)(env, subst);
841
+ for (const param of nd.params) {
842
+ const rawTy = env.getRawType(param);
843
+ if (rawTy) {
844
+ const replaced = pSubst(rawTy);
845
+ env.setType(param, replaced);
846
+ }
847
+ }
848
+ // 运行后置校验并把 postChecks 触发
849
+ const normalizedSemTyMap = (0, subster_1.traverseAndSubst)(env)(nd, subst);
850
+ const errs = localSolver.postCheckSolution(subst, localSolver.cs, normalizedSemTyMap) || [];
851
+ if (!env.isErrorReportingDisabled() && !env.hasErrorDelegatee) {
852
+ for (const err of errs) {
853
+ env.addError(err.message, env.getCurFileNode(), err.errBoundary, err.fromPlayground ? 'warning' : 'error');
854
+ }
855
+ }
856
+ env.runPostChecks(subst);
857
+ }
858
+ (0, dispatch_stmt_2.tpSolvingStmts)(env, nd.body);
859
+ (0, dispatch_stmt_1.tpSolvingPlayground)(env, nd.playground);
860
+ subLogicVars.forEach(env.removeLexicalSym);
861
+ const ndTy = (0, type_manager_1.createRefTyAnnFromDef)(nd, env);
862
+ if (expectedTy && ndTy.typeKind === 'function') {
863
+ // 从 expected type 上 copy sync 字段,保证 SubLogic 的函数类型和 Param 处声明的字段一致
864
+ ndTy.sync = expectedTy.sync;
865
+ }
866
+ env.setType(nd, ndTy);
867
+ env.unifier.cs = csCopy;
868
+ !isListSort && env.unifier.unify(ndTy, expectedTy); // 这里需要额外的 unify,否则 SubLogic 算出来的类型不能与外侧进来时的约束产生关系
869
+ return ndTy;
870
+ });
839
871
  };
840
872
  exports.tpSubLogic = tpSubLogic;
841
873
  function tpArgument(env, nd, tgtTy) {
@@ -1138,6 +1170,7 @@ function tpCallQueryComponent(env, nd, tgtTy) {
1138
1170
  case 'COUNTD':
1139
1171
  return type_manager_1.naslLongTy;
1140
1172
  case 'AVG':
1173
+ env.unifier.unify(propTy, type_manager_1.naslDecimalOrLongTy);
1141
1174
  return type_manager_1.naslDecimalTy;
1142
1175
  default:
1143
1176
  return propTy;
@@ -1197,8 +1230,7 @@ function tpOqlQueryComponent(env, nd, tgtTy) {
1197
1230
  }
1198
1231
  const logicNd = parser.parseInLogicContext(`const $queryResult$ = ${code};`, '$queryResult$');
1199
1232
  if (logicNd) {
1200
- // @ts-expect-error
1201
- logicNd.parentNode = null;
1233
+ logicNd.parentNode = nd;
1202
1234
  logicNd.name = 'oqlTempLogic';
1203
1235
  env.setErrorDelegatee(nd);
1204
1236
  const oldCS = env.unifier.cs;
@@ -1213,6 +1245,8 @@ function tpOqlQueryComponent(env, nd, tgtTy) {
1213
1245
  env.logger?.fatal?.('[tpOqlQueryComponent] error:', err);
1214
1246
  }
1215
1247
  finally {
1248
+ // @ts-expect-error
1249
+ logicNd.parentNode = null;
1216
1250
  env.unifier.cs = oldCS;
1217
1251
  env.resetErrorDelegatee();
1218
1252
  }
@@ -1456,6 +1490,8 @@ function tpMatch(env, nd, tgtTy) {
1456
1490
  const exprTy = nd.isExpression ?
1457
1491
  dispatchExpr(env, nd.expression, undefined) :
1458
1492
  tpSolvingExpr(env, nd.expression, undefined);
1493
+ // 类型匹配,必须加上isTypeMatch 判断,否则值匹配时会错误地用值的类型去约束未解析类型,类型细化也将基于错误的类型
1494
+ const isTypeMatch = nd.cases.some(caseItem => caseItem.patterns.length > 0 && caseItem.patterns.every((p) => (0, type_predicate_1.isTypeAnnotation)(p)));
1459
1495
  const tpMatchTypeRefineCase = (nd, exprTy) => (mc) => {
1460
1496
  let exprRefinedTy = exprTy;
1461
1497
  // mc.patterns 中可能包含类型模式和值模式,分别对应类型匹配和值匹配。
@@ -1487,6 +1523,14 @@ function tpMatch(env, nd, tgtTy) {
1487
1523
  exprRefinedTy = (0, type_manager_1.createUnionTyAnnIfNecessary)(env, caseRefinedTys); // TODO 报错
1488
1524
  }
1489
1525
  }
1526
+ // 值匹配
1527
+ if (!isTypeMatch) {
1528
+ toRaws(mc.patterns).forEach(pattern => {
1529
+ env.withPostCheckScope(() => {
1530
+ tpSolvingExpr(env, pattern, exprRefinedTy);
1531
+ });
1532
+ });
1533
+ }
1490
1534
  }
1491
1535
  const allocatedVars = new Set();
1492
1536
  const itVar = nasl_concepts_1.Variable.createProtoTypeOnly({
@@ -1531,23 +1575,14 @@ function tpMatch(env, nd, tgtTy) {
1531
1575
  }
1532
1576
  };
1533
1577
  if (exprTy) {
1534
- for (const cs of nd.cases) {
1535
- for (const p of cs.patterns) {
1536
- if (!(0, type_predicate_1.isTypeAnnotation)(p)) {
1537
- dispatchExpr(env, p, undefined);
1538
- }
1539
- }
1540
- }
1541
- if ((0, type_predicate_2.isTyAnnTyParam)(exprTy)) {
1578
+ // 只有当 exprTy 是未解析的类型(typeParam indexedAccess)时,才需要从 patterns 构造 union 类型来约束它
1579
+ if (isTypeMatch && ((0, type_predicate_2.isTyAnnTyParam)(exprTy) || (0, type_predicate_1.isIndexedType)(exprTy))) {
1542
1580
  // 从已有的 match cases 的类型构造出 union-like type
1543
1581
  const patTys = nd.cases.flatMap(c => c.patterns).map(getPatTy).filter(types_1.isNotNil);
1544
- for (const pTy of patTys) {
1545
- env.unifier.unify(pTy, exprTy); // 各个分支的类型的 union <: 类型变元
1546
- }
1547
1582
  const unionTy = (0, type_manager_1.createUnionTyAnnIfNecessary)(env, patTys);
1548
1583
  handleMatchingAgainstTypes(unionTy);
1549
1584
  }
1550
- else {
1585
+ else { // 如果 exprTy 已经是确定的类型(包括 union 类型),直接使用 exprTy 即可
1551
1586
  handleMatchingAgainstTypes(exprTy);
1552
1587
  }
1553
1588
  }