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

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 (51) hide show
  1. package/out/checker.d.ts.map +1 -1
  2. package/out/checker.js +12 -0
  3. package/out/checker.js.map +1 -1
  4. package/out/reference-manager/update-nasl-fragment.d.ts +2 -2
  5. package/out/reference-manager/update-nasl-fragment.d.ts.map +1 -1
  6. package/out/reference-manager/update-nasl-fragment.js +13 -14
  7. package/out/reference-manager/update-nasl-fragment.js.map +1 -1
  8. package/out/typer/component-def-manager/component-def-manager.js +1 -1
  9. package/out/typer/component-def-manager/component-def-manager.js.map +1 -1
  10. package/out/typer/dispatch-call.d.ts.map +1 -1
  11. package/out/typer/dispatch-call.js +3 -0
  12. package/out/typer/dispatch-call.js.map +1 -1
  13. package/out/typer/dispatch-def.d.ts.map +1 -1
  14. package/out/typer/dispatch-def.js +3 -1
  15. package/out/typer/dispatch-def.js.map +1 -1
  16. package/out/typer/dispatch-expr.d.ts.map +1 -1
  17. package/out/typer/dispatch-expr.js +49 -11
  18. package/out/typer/dispatch-expr.js.map +1 -1
  19. package/out/typer/dispatch-stmt.d.ts.map +1 -1
  20. package/out/typer/dispatch-stmt.js +24 -13
  21. package/out/typer/dispatch-stmt.js.map +1 -1
  22. package/out/typer/dispatch-view.d.ts.map +1 -1
  23. package/out/typer/dispatch-view.js +0 -4
  24. package/out/typer/dispatch-view.js.map +1 -1
  25. package/out/typer/incremental-update.d.ts +4 -0
  26. package/out/typer/incremental-update.d.ts.map +1 -1
  27. package/out/typer/incremental-update.js +81 -2
  28. package/out/typer/incremental-update.js.map +1 -1
  29. package/out/typer/oql-checker/chain-call-transformer.d.ts.map +1 -1
  30. package/out/typer/oql-checker/chain-call-transformer.js +17 -4
  31. package/out/typer/oql-checker/chain-call-transformer.js.map +1 -1
  32. package/out/typer/oql-checker/ts-parser.d.ts.map +1 -1
  33. package/out/typer/oql-checker/ts-parser.js +135 -15
  34. package/out/typer/oql-checker/ts-parser.js.map +1 -1
  35. package/out/typer/overload-helper.d.ts.map +1 -1
  36. package/out/typer/overload-helper.js +4 -2
  37. package/out/typer/overload-helper.js.map +1 -1
  38. package/out/typer/subster.d.ts +1 -1
  39. package/out/typer/subster.d.ts.map +1 -1
  40. package/out/typer/subster.js +2 -1
  41. package/out/typer/subster.js.map +1 -1
  42. package/out/typer/type-predicate.d.ts.map +1 -1
  43. package/out/typer/type-predicate.js +38 -0
  44. package/out/typer/type-predicate.js.map +1 -1
  45. package/out/typer/typer.d.ts +12 -1
  46. package/out/typer/typer.d.ts.map +1 -1
  47. package/out/typer/typer.js +87 -12
  48. package/out/typer/typer.js.map +1 -1
  49. package/out/typer/unifier.js +1 -1
  50. package/out/typer/unifier.js.map +1 -1
  51. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../src/checker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EAU2G,GAAG,EAMxH,QAAQ,EAET,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACgE,cAAc,EAGpF,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAMpE,oBAAY,QAAQ;IAClB,IAAI,YAAY;IAChB,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAEnE,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAMF,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AAEpE,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AAMrE,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAqBF,KAAK,eAAe,GAAG;IACrB,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,yBAAyB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AA4OF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe;oCAiyIpB,OAAO;sDAPW,gBAAgB,EAAE;;;;sBAhBjD,UAAU,GAAG,SAAS;;;8BA4Df,UAAU;2BAyBb,UAAU;;;iBAW3B,MAAM;kBACL,MAAM;kBACN,MAAM;qBACH,MAAM;;kBApzIF,UAAU,WAAW,MAAM,YAAY,YAAY;EAu1IzE;AAGD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACrC,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,qBAAqB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC1C;AAMD,eAAO,MAAM,6BAA6B,aAC9B,UAAU,+DAGnB,MAAM,gBAAgB,CAyCxB,CAAC;AAMF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../src/checker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EAU2G,GAAG,EAMxH,QAAQ,EAET,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACgE,cAAc,EAGpF,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAMpE,oBAAY,QAAQ;IAClB,IAAI,YAAY;IAChB,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAEnE,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAMF,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AAEpE,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AAMrE,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAqBF,KAAK,eAAe,GAAG;IACrB,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,yBAAyB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AA4OF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe;oCA4yIpB,OAAO;sDAPW,gBAAgB,EAAE;;;;sBAhBjD,UAAU,GAAG,SAAS;;;8BA4Df,UAAU;2BAyBb,UAAU;;;iBAW3B,MAAM;kBACL,MAAM;kBACN,MAAM;qBACH,MAAM;;kBA/zIF,UAAU,WAAW,MAAM,YAAY,YAAY;EAk2IzE;AAGD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACrC,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,qBAAqB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC1C;AAMD,eAAO,MAAM,6BAA6B,aAC9B,UAAU,+DAGnB,MAAM,gBAAgB,CAyCxB,CAAC;AAMF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
package/out/checker.js CHANGED
@@ -2929,15 +2929,27 @@ function createErrorDiagnoser(context) {
2929
2929
  }
2930
2930
  return type;
2931
2931
  function checkListSort(nd) {
2932
+ const parTy = env.getType(nd.arguments?.[0]);
2933
+ let paramType = '未知类型';
2934
+ if (parTy?.typeName === 'List') {
2935
+ paramType = (0, type_manager_1.showUserLevelType)(parTy.typeArguments?.[0] || type_manager_1.naslAnyTy);
2936
+ }
2937
+ const expectTy = `{ by: (item: ${paramType}) => 未知类型, asc: 布尔值 }`;
2932
2938
  for (let i = 1; i < nd.arguments.length; i++) {
2933
2939
  const expr = nd.arguments[i].expression;
2934
2940
  let resTy;
2935
2941
  if (expr?.concept === 'AnonymousFunction') {
2936
2942
  resTy = env.getType(expr.body);
2943
+ if (!nasl_concepts_1.asserts.isNewComposite(expr.body)) {
2944
+ error(nd.arguments[i], (0, sem_diag_1.mkIncompatibleTyErr)(env, env.getType(expr) || type_manager_1.naslAnyTy, expectTy));
2945
+ }
2937
2946
  }
2938
2947
  else if (expr?.concept === 'SubLogic') {
2939
2948
  resTy = env.getType(expr.returns?.[0]);
2940
2949
  }
2950
+ else {
2951
+ error(nd.arguments[i], (0, sem_diag_1.mkIncompatibleTyErr)(env, env.getType(expr) || type_manager_1.naslAnyTy, expectTy));
2952
+ }
2941
2953
  const byTy = resTy?.properties?.find((prop) => prop.name === 'by')?.typeAnnotation;
2942
2954
  if (byTy?.typeKind === 'union') {
2943
2955
  // 这里使用 node.arguments[i] 则无红框,猜测是 ListSort 的特殊交互导致的问题