@lcap/nasl-language-server-core 3.14.0-rc.3 → 3.14.0-rc.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 (84) hide show
  1. package/out/checker.d.ts.map +1 -1
  2. package/out/checker.js +88 -34
  3. package/out/checker.js.map +1 -1
  4. package/out/index.d.ts +1 -1
  5. package/out/index.d.ts.map +1 -1
  6. package/out/index.js +3 -1
  7. package/out/index.js.map +1 -1
  8. package/out/reference-manager/builtin-q-name.d.ts +8 -1
  9. package/out/reference-manager/builtin-q-name.d.ts.map +1 -1
  10. package/out/reference-manager/builtin-q-name.js +55 -1
  11. package/out/reference-manager/builtin-q-name.js.map +1 -1
  12. package/out/reference-manager/reference-manager.d.ts +3 -1
  13. package/out/reference-manager/reference-manager.d.ts.map +1 -1
  14. package/out/reference-manager/reference-manager.js +166 -56
  15. package/out/reference-manager/reference-manager.js.map +1 -1
  16. package/out/reference-manager/symbol-type.d.ts +2 -2
  17. package/out/reference-manager/symbol-type.d.ts.map +1 -1
  18. package/out/reference-manager/symbol-type.js +2 -1
  19. package/out/reference-manager/symbol-type.js.map +1 -1
  20. package/out/typer/collectGlobalDefs.d.ts.map +1 -1
  21. package/out/typer/collectGlobalDefs.js +79 -15
  22. package/out/typer/collectGlobalDefs.js.map +1 -1
  23. package/out/typer/component-def-manager/component-def-manager.d.ts +11 -7
  24. package/out/typer/component-def-manager/component-def-manager.d.ts.map +1 -1
  25. package/out/typer/component-def-manager/component-def-manager.js +17 -6
  26. package/out/typer/component-def-manager/component-def-manager.js.map +1 -1
  27. package/out/typer/dispatch-def.d.ts +0 -2
  28. package/out/typer/dispatch-def.d.ts.map +1 -1
  29. package/out/typer/dispatch-def.js +10 -38
  30. package/out/typer/dispatch-def.js.map +1 -1
  31. package/out/typer/dispatch-expr.d.ts.map +1 -1
  32. package/out/typer/dispatch-expr.js +55 -68
  33. package/out/typer/dispatch-expr.js.map +1 -1
  34. package/out/typer/dispatch-process.d.ts.map +1 -1
  35. package/out/typer/dispatch-process.js +4 -2
  36. package/out/typer/dispatch-process.js.map +1 -1
  37. package/out/typer/dispatch-stmt.d.ts.map +1 -1
  38. package/out/typer/dispatch-stmt.js +26 -20
  39. package/out/typer/dispatch-stmt.js.map +1 -1
  40. package/out/typer/dispatch-view.d.ts.map +1 -1
  41. package/out/typer/dispatch-view.js +6 -3
  42. package/out/typer/dispatch-view.js.map +1 -1
  43. package/out/typer/incremental-update.d.ts +1 -1
  44. package/out/typer/incremental-update.d.ts.map +1 -1
  45. package/out/typer/incremental-update.js +18 -14
  46. package/out/typer/incremental-update.js.map +1 -1
  47. package/out/typer/index.d.ts +3 -4
  48. package/out/typer/index.d.ts.map +1 -1
  49. package/out/typer/index.js +4 -4
  50. package/out/typer/index.js.map +1 -1
  51. package/out/typer/sem-diag.d.ts +1 -0
  52. package/out/typer/sem-diag.d.ts.map +1 -1
  53. package/out/typer/sem-diag.js +24 -17
  54. package/out/typer/sem-diag.js.map +1 -1
  55. package/out/typer/solver.d.ts +1 -0
  56. package/out/typer/solver.d.ts.map +1 -1
  57. package/out/typer/solver.js +9 -1
  58. package/out/typer/solver.js.map +1 -1
  59. package/out/typer/subster.d.ts.map +1 -1
  60. package/out/typer/subster.js +20 -6
  61. package/out/typer/subster.js.map +1 -1
  62. package/out/typer/type-manager.d.ts +1 -2
  63. package/out/typer/type-manager.d.ts.map +1 -1
  64. package/out/typer/type-manager.js +22 -17
  65. package/out/typer/type-manager.js.map +1 -1
  66. package/out/typer/type-predicate.d.ts.map +1 -1
  67. package/out/typer/type-predicate.js +2 -1
  68. package/out/typer/type-predicate.js.map +1 -1
  69. package/out/typer/typer.d.ts +14 -2
  70. package/out/typer/typer.d.ts.map +1 -1
  71. package/out/typer/typer.js +20 -2
  72. package/out/typer/typer.js.map +1 -1
  73. package/out/typer/unifier.d.ts.map +1 -1
  74. package/out/typer/unifier.js +37 -27
  75. package/out/typer/unifier.js.map +1 -1
  76. package/out/utils/parseTsClassType.d.ts +2 -0
  77. package/out/utils/parseTsClassType.d.ts.map +1 -1
  78. package/out/utils/parseTsClassType.js +4 -2
  79. package/out/utils/parseTsClassType.js.map +1 -1
  80. package/out/utils/type-operator.d.ts +1 -1
  81. package/out/utils/type-operator.d.ts.map +1 -1
  82. package/out/utils/type-operator.js +18 -3
  83. package/out/utils/type-operator.js.map +1 -1
  84. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"sem-diag.d.ts","sourceRoot":"","sources":["../../src/typer/sem-diag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmC,cAAc,EAAuB,UAAU,EAClG,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,WAAW,SAAU,MAAM,WAAyB,CAAC;AAGlE,eAAO,MAAM,mBAAmB,QAAS,MAAM,UAAU,cAAc,GAAG,MAAM,UAAU,cAAc,GAAG,MAAM,WAgChH,CAAA;AAED,eAAO,MAAM,wBAAwB,QAAS,cAAc,OAAO,cAAc,WACD,CAAC;AAEjF,eAAO,MAAM,yBAAyB,QAAS,MAAM,OAAO,MAAM,WAClC,CAAC;AAEjC,eAAO,MAAM,oBAAoB,QAAS,cAAc,OAAO,cAAc,WACA,CAAC;AAE9E,eAAO,MAAM,iBAAiB,MAAO,MAAM,WAAkB,CAAC;AAE9D,eAAO,MAAM,uBAAuB,cAA8B,CAAC;AAEnE,eAAO,MAAM,kBAAkB,MAAO,MAAM,WAAkB,CAAC;AAE/D,eAAO,MAAM,iBAAiB,SAAU,MAAM,WAAgC,CAAC;AAE/E,eAAO,MAAM,gBAAgB,OAAQ,cAAc,YAAY,MAAM,WACP,CAAC;AAE/D,eAAO,MAAM,gBAAgB,WAAY,cAAc,GAAG,MAAM,YAAY,MAAM,WAUjF,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAS,MAAM,MAAM,CAAC,WAMlD,CAAC;AAEF,eAAO,MAAM,mCAAmC,QAAS,cAAc,OAAO,cAAc,gBAAgB,MAAM,MAAM,CAAC,WAExH,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACtB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"sem-diag.d.ts","sourceRoot":"","sources":["../../src/typer/sem-diag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAmC,cAAc,EAAuB,UAAU,EAClG,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,WAAW,SAAU,MAAM,WAAyB,CAAC;AAGlE,eAAO,MAAM,qCAAqC,QAC3C,MAAM,UACH,cAAc,UACd,cAAc,gBACR,MAAM,EAAE,cACV,MAAM,EAAE,WAuBrB,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAS,MAAM,UAAU,cAAc,GAAG,MAAM,UAAU,cAAc,GAAG,MAAM,WAchH,CAAA;AAED,eAAO,MAAM,wBAAwB,QAAS,cAAc,OAAO,cAAc,WACD,CAAC;AAEjF,eAAO,MAAM,yBAAyB,QAAS,MAAM,OAAO,MAAM,WAClC,CAAC;AAEjC,eAAO,MAAM,oBAAoB,QAAS,cAAc,OAAO,cAAc,WACA,CAAC;AAE9E,eAAO,MAAM,iBAAiB,MAAO,MAAM,WAAkB,CAAC;AAE9D,eAAO,MAAM,uBAAuB,cAA8B,CAAC;AAEnE,eAAO,MAAM,kBAAkB,MAAO,MAAM,WAAkB,CAAC;AAE/D,eAAO,MAAM,iBAAiB,SAAU,MAAM,WAAgC,CAAC;AAE/E,eAAO,MAAM,gBAAgB,OAAQ,cAAc,YAAY,MAAM,WACP,CAAC;AAE/D,eAAO,MAAM,gBAAgB,WAAY,cAAc,GAAG,MAAM,YAAY,MAAM,WAUjF,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAS,MAAM,MAAM,CAAC,WAMlD,CAAC;AAEF,eAAO,MAAM,mCAAmC,QAAS,cAAc,OAAO,cAAc,gBAAgB,MAAM,MAAM,CAAC,WAExH,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,QAAQ,CAAC;IACtB,QAAQ,EAAE,UAAU,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACtB,CAAC,CAAC,CAAC"}
@@ -1,11 +1,34 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mkIncompatibleAnonymousStructureErr = exports.mkErrMutRecFnErr = exports.mkMemNotFoundErr = exports.mkDefNotFoundErr = exports.mkTypeNotFoundErr = exports.mkUnresolvedSymbol = exports.mkUnsolvableConstraints = exports.mkUndefinedVarErr = exports.mkIncompatibleBounds = exports.mkIncompatibleArgListSize = exports.mkIncompatibleUnionTyErr = exports.mkIncompatibleTyErr = exports.mkSyntaxErr = void 0;
3
+ exports.mkIncompatibleAnonymousStructureErr = exports.mkErrMutRecFnErr = exports.mkMemNotFoundErr = exports.mkDefNotFoundErr = exports.mkTypeNotFoundErr = exports.mkUnresolvedSymbol = exports.mkUnsolvableConstraints = exports.mkUndefinedVarErr = exports.mkIncompatibleBounds = exports.mkIncompatibleArgListSize = exports.mkIncompatibleUnionTyErr = exports.mkIncompatibleTyErr = exports.mkIncompatibleAnonymousStructureTyErr = exports.mkSyntaxErr = void 0;
4
4
  const type_manager_1 = require("./type-manager");
5
5
  const type_predicate_1 = require("./type-predicate");
6
6
  const mkSyntaxErr = (kind) => `语法错误:不是合法的 ${kind}`;
7
7
  exports.mkSyntaxErr = mkSyntaxErr;
8
8
  // 处理一下匿名数据类型
9
+ const mkIncompatibleAnonymousStructureTyErr = (env, actual, expect, missingProps, extraProps) => {
10
+ const actualProps = new Map(actual.properties.map(p => [p.name, p.typeAnnotation]));
11
+ const expectProps = new Map(expect.properties.map(p => [p.name, p.typeAnnotation]));
12
+ const typeMismatchProps = [];
13
+ // Single pass through expected properties to find missing and type mismatches
14
+ for (const [key, expectedType] of expectProps) {
15
+ if (actualProps.has(key)) {
16
+ const actualType = actualProps.get(key);
17
+ if (!(0, type_predicate_1.isEqualTy)(env, actualType, expectedType)) {
18
+ typeMismatchProps.push(`${key} (${(0, type_manager_1.showUserLevelType)(actualType)} vs ${(0, type_manager_1.showUserLevelType)(expectedType)})`);
19
+ }
20
+ }
21
+ }
22
+ let details = '';
23
+ if (missingProps.length > 0)
24
+ details += `\n 缺失字段: ${missingProps.join(', ')}。`;
25
+ if (extraProps.length > 0)
26
+ details += `\n 多余字段: ${extraProps.join(', ')}。`;
27
+ if (typeMismatchProps.length > 0)
28
+ details += `\n 类型不匹配字段: ${typeMismatchProps.join(', ')}。`;
29
+ return `匿名数据结构类型不匹配:${details} \n 期望类型为 ${(0, type_manager_1.showUserLevelType)(expect)},实际类型为 ${(0, type_manager_1.showUserLevelType)(actual)}`;
30
+ };
31
+ exports.mkIncompatibleAnonymousStructureTyErr = mkIncompatibleAnonymousStructureTyErr;
9
32
  const mkIncompatibleTyErr = (env, actual, expect) => {
10
33
  let __actual;
11
34
  let __expect;
@@ -13,22 +36,6 @@ const mkIncompatibleTyErr = (env, actual, expect) => {
13
36
  const isActualTypeAnn = actual.concept === 'TypeAnnotation';
14
37
  // @ts-expect-error
15
38
  const isExpectTypeAnn = expect.concept === 'TypeAnnotation';
16
- // Process anonymous structure types with more detailed comparison
17
- if (isActualTypeAnn && isExpectTypeAnn &&
18
- actual.typeKind === 'anonymousStructure' && expect.typeKind === 'anonymousStructure') {
19
- const actualProps = new Map(actual.properties.map(p => [p.name, p.typeAnnotation]));
20
- const expectProps = new Map(expect.properties.map(p => [p.name, p.typeAnnotation]));
21
- const missingProps = [...expectProps.keys()].filter(key => !actualProps.has(key));
22
- const typeMismatchProps = [...actualProps.keys()]
23
- .filter(key => expectProps.has(key) && !(0, type_predicate_1.isEqualTy)(env, actualProps.get(key), expectProps.get(key)))
24
- .map(key => `${key} (${(0, type_manager_1.showUserLevelType)(actualProps.get(key))} vs ${(0, type_manager_1.showUserLevelType)(expectProps.get(key))})`);
25
- let details = '';
26
- if (missingProps.length > 0)
27
- details += `\n 缺失字段: ${missingProps.join(', ')}。`;
28
- if (typeMismatchProps.length > 0)
29
- details += `\n 类型不匹配字段: ${typeMismatchProps.join(', ')}。`;
30
- return `匿名数据结构类型不匹配:${details} \n 期望类型为 ${(0, type_manager_1.showUserLevelType)(expect)},实际类型为 ${(0, type_manager_1.showUserLevelType)(actual)}`;
31
- }
32
39
  // Handle regular type mismatch
33
40
  __actual = isActualTypeAnn ? (0, type_manager_1.showUserLevelType)(actual) : actual;
34
41
  __expect = isExpectTypeAnn ? (0, type_manager_1.showUserLevelType)(expect) : expect;
@@ -1 +1 @@
1
- {"version":3,"file":"sem-diag.js","sourceRoot":"","sources":["../../src/typer/sem-diag.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sem-diag.js","sourceRoot":"","sources":["../../src/typer/sem-diag.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ export declare class Solver {
41
41
  reorderSCC: (scc: TyVarWithDepDegAndTyCount, cs: Constraints) => TyVarWithDepDegAndTyCount;
42
42
  calcDepDegree: (cs: Constraints, scc: Array<Array<string>>) => Array<TyVarWithDepDegAndTyCount>;
43
43
  normaliseConstraints: (cs?: Constraints) => Constraints;
44
+ substSubst: (subst: TyVarSolution) => void;
44
45
  clear: () => void;
45
46
  }
46
47
  export declare function printBounds(b: Bounds): void;
@@ -1 +1 @@
1
- {"version":3,"file":"solver.d.ts","sourceRoot":"","sources":["../../src/typer/solver.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,cAAc,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAMH,WAAW,EACX,MAAM,EACN,kBAAkB,EAQlB,MAAM,EACT,MAAM,SAAS,CAAC;AAQjB,OAAO,EAAY,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIzD,KAAK,yBAAyB,GAAG,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC,CAAC;AASvF,qBAAa,MAAM;IACf,EAAE,EAAE,WAAW,CAAC;IAChB,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;gBAEA,GAAG,EAAE,MAAM;IAOvB,sBAAsB,uCAgHpB;IAEF;;;;;OAKG;IACH,kBAAkB,UAAW,MAAM,YAAa,cAAc,mCA4B7D;IAGD,8BAA8B,kEAS5B;IAEF,uBAAuB,2DAUrB;IAGF,qBAAqB,WAAY,MAAM,2BAAyB,MAAM,cAAc,CAAC,GAAG,SAAS,CAsEhG;IAGD;;;;;;;;;OASG;IACH,iCAAiC,WAAY,MAAM,2BAAyB,MAAM,cAAc,CAAC,GAAG,SAAS,CAuF5G;IAGD,iCAAiC,WAAY,MAAM,2BAAyB,MAAM,cAAc,CAAC,GAAG,IAAI,cAAc,CAAC,GAAG,SAAS,CAuDlI;IAGD,QAAQ,wBAAuB,MAAM,MAAM,MAAM,CAAC,CAAC,CAiElD;IAED,OAAO,CAAC,cAAc,CAwCrB;IAKD,mBAAmB,0CA4BlB;IAED,WAAW,SAAU,MAAM,yBAAyB,CAAC,sBAAoB,MAAM,yBAAyB,CAAC,CAYxG;IAGD,UAAU,iFA0BT;IAID,aAAa,yBAA0B,MAAM,MAAM,MAAM,CAAC,CAAC,KAAG,MAAM,yBAAyB,CAAC,CAiB7F;IAED,oBAAoB,oCAuBnB;IASD,KAAK,aAGJ;CACJ;AAuDD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,QAGpC"}
1
+ {"version":3,"file":"solver.d.ts","sourceRoot":"","sources":["../../src/typer/solver.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,cAAc,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAMH,WAAW,EACX,MAAM,EACN,kBAAkB,EAQlB,MAAM,EACT,MAAM,SAAS,CAAC;AAQjB,OAAO,EAAY,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIzD,KAAK,yBAAyB,GAAG,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC,CAAC;AASvF,qBAAa,MAAM;IACf,EAAE,EAAE,WAAW,CAAC;IAChB,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;gBAEA,GAAG,EAAE,MAAM;IAOvB,sBAAsB,uCAkHpB;IAEF;;;;;OAKG;IACH,kBAAkB,UAAW,MAAM,YAAa,cAAc,mCA4B7D;IAGD,8BAA8B,kEAS5B;IAEF,uBAAuB,2DAUrB;IAGF,qBAAqB,WAAY,MAAM,2BAAyB,MAAM,cAAc,CAAC,GAAG,SAAS,CAsEhG;IAGD;;;;;;;;;OASG;IACH,iCAAiC,WAAY,MAAM,2BAAyB,MAAM,cAAc,CAAC,GAAG,SAAS,CAuF5G;IAGD,iCAAiC,WAAY,MAAM,2BAAyB,MAAM,cAAc,CAAC,GAAG,IAAI,cAAc,CAAC,GAAG,SAAS,CAuDlI;IAGD,QAAQ,wBAAuB,MAAM,MAAM,MAAM,CAAC,CAAC,CAiElD;IAED,OAAO,CAAC,cAAc,CAwCrB;IAKD,mBAAmB,0CA4BlB;IAED,WAAW,SAAU,MAAM,yBAAyB,CAAC,sBAAoB,MAAM,yBAAyB,CAAC,CAYxG;IAGD,UAAU,iFA0BT;IAID,aAAa,yBAA0B,MAAM,MAAM,MAAM,CAAC,CAAC,KAAG,MAAM,yBAAyB,CAAC,CAiB7F;IAED,oBAAoB,oCAuBnB;IAGD,UAAU,iCAIT;IASD,KAAK,aAGJ;CACJ;AAuDD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,QAGpC"}
@@ -123,8 +123,10 @@ class Solver {
123
123
  newInfo = false;
124
124
  }
125
125
  } while (newInfo);
126
+ // TODO FIXME: zirun 紧急fix:对 subst 再代换一次,解决大部分问题,但是速度受影响,尽早修复
127
+ this.substSubst(subst);
126
128
  this.subst = subst;
127
- return subst;
129
+ return this.subst;
128
130
  };
129
131
  /**
130
132
  * @param tyVar
@@ -612,6 +614,12 @@ class Solver {
612
614
  });
613
615
  return cs;
614
616
  };
617
+ // 紧急fix:对 subst 再代换一次,解决大部分问题
618
+ this.substSubst = (subst) => {
619
+ for (const [from, to] of subst.entries()) {
620
+ subst.set(from, (0, subster_1.inPlaceSubstTyAnn)(this.env, subst)(to));
621
+ }
622
+ };
615
623
  // substTyEnv = (m: TyVarSolution, env: TypingEnv) => {
616
624
  // const pSubst = inPlaceSubstTyAnn(m);
617
625
  // env.forEach((v, k) => {
@@ -1 +1 @@
1
- {"version":3,"file":"solver.js","sourceRoot":"","sources":["../../src/typer/solver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solver.js","sourceRoot":"","sources":["../../src/typer/solver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"subster.d.ts","sourceRoot":"","sources":["../../src/typer/subster.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,UAAU,EACV,cAAc,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,MAAM,EAIX,SAAS,EAEZ,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAqH,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAUlK,eAAO,MAAM,UAAU,EAAE,aAAiD,CAAC;AAG3E,eAAO,MAAM,UAAU,QAAS,MAAM,4BAA4B,cAAc,GAAG,SAAS,KAAG,cA8I9F,CAAA;AAGD,eAAO,MAAM,iBAAiB,QAAS,MAAM,4BAA4B,cAAc,GAAG,SAAS,KAAG,cAmJrG,CAAA;AAED,eAAO,MAAM,qBAAqB,QAAS,MAAM,MAAM,UAAU,SAKhE,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAS,MAAM,cAAc,UAAU,+BA4CnE,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAU,MAAM,UAAU,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,KAAK,cAAc,MAAM,cAAc,GAAG,SAAS,mBAC/G,CAAC;AAgB7B,eAAO,MAAM,cAAc,QAAS,MAAM,8DAOzC,CAAA;AAGD,eAAO,MAAM,qBAAqB,QAAS,MAAM,qDAAmD,OAMnG,CAAA;AAID,eAAO,MAAM,0BAA0B,OAAQ,cAAc,KAAG,cAc/D,CAAA;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,CAMlG"}
1
+ {"version":3,"file":"subster.d.ts","sourceRoot":"","sources":["../../src/typer/subster.ts"],"names":[],"mappings":"AAAA,OAAO,EAOH,UAAU,EACV,cAAc,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,MAAM,EAIX,SAAS,EAEZ,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAqH,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAWlK,eAAO,MAAM,UAAU,EAAE,aAAiD,CAAC;AAG3E,eAAO,MAAM,UAAU,QAAS,MAAM,4BAA4B,cAAc,GAAG,SAAS,KAAG,cA+I9F,CAAA;AAGD,eAAO,MAAM,iBAAiB,QAAS,MAAM,4BAA4B,cAAc,GAAG,SAAS,KAAG,cAoJrG,CAAA;AAED,eAAO,MAAM,qBAAqB,QAAS,MAAM,MAAM,UAAU,SAKhE,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAS,MAAM,cAAc,UAAU,+BAyDnE,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAU,MAAM,UAAU,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,KAAK,cAAc,MAAM,cAAc,GAAG,SAAS,mBAC/G,CAAC;AAgB7B,eAAO,MAAM,cAAc,QAAS,MAAM,8DAOzC,CAAA;AAGD,eAAO,MAAM,qBAAqB,QAAS,MAAM,qDAAmD,OAMnG,CAAA;AAID,eAAO,MAAM,0BAA0B,OAAQ,cAAc,KAAG,cAc/D,CAAA;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,CAMlG"}
@@ -13,6 +13,7 @@ const type_operator_1 = require("../utils/type-operator");
13
13
  const typer_1 = require("./typer");
14
14
  const lodash_1 = require("lodash");
15
15
  const vue_hack_1 = require("../utils/vue-hack");
16
+ const nasl_predicate_1 = require("./nasl-predicate");
16
17
  exports.emptySubst = new Map();
17
18
  // 目前仅进行一次代换,无递归代换
18
19
  const substTyAnn = (env, m) => (ty) => {
@@ -67,7 +68,7 @@ const substTyAnn = (env, m) => (ty) => {
67
68
  }
68
69
  else if (ty.typeKind === 'generic') {
69
70
  if (ty.typeName === 'DeDataSource') {
70
- return (0, type_operator_1.applyDeDataSource)(ty, (0, exports.substTyAnn)(env, m));
71
+ return (0, type_operator_1.applyDeDataSource)(env, ty, (0, exports.substTyAnn)(env, m));
71
72
  }
72
73
  else if (ty.typeName === 'DeMapValue') {
73
74
  const tgt = (0, exports.substTyAnn)(env, m)(ty.typeArguments?.[0]);
@@ -91,7 +92,8 @@ const substTyAnn = (env, m) => (ty) => {
91
92
  const functionName = type_operator_1.NaslCoreBinaryOperator.add;
92
93
  const leftTy = pSubst(ty.typeArguments?.[1]);
93
94
  const rightTy = pSubst(ty.typeArguments?.[2]);
94
- if ((0, type_predicate_1.isPrimitiveTy)(leftTy) && (0, type_predicate_1.isPrimitiveTy)(rightTy)) {
95
+ // TODO FIXME: wudengke 请修复
96
+ if (isLoosePrimTy(leftTy) && isLoosePrimTy(rightTy)) {
95
97
  return (0, type_operator_1.selectBinaryFunctionOverload)(env, functionName, leftTy, rightTy);
96
98
  }
97
99
  return ty;
@@ -218,7 +220,7 @@ const inPlaceSubstTyAnn = (env, m) => (ty) => {
218
220
  }
219
221
  else if (ty.typeKind === 'generic') {
220
222
  if (ty.typeName === 'DeDataSource') {
221
- return (0, type_operator_1.applyDeDataSource)(ty, pSubst);
223
+ return (0, type_operator_1.applyDeDataSource)(env, ty, pSubst);
222
224
  }
223
225
  else if (ty.typeName === 'DeMapValue') {
224
226
  const tgt = pSubst(ty.typeArguments?.[0]);
@@ -241,7 +243,8 @@ const inPlaceSubstTyAnn = (env, m) => (ty) => {
241
243
  const functionName = type_operator_1.NaslCoreBinaryOperator.add;
242
244
  const leftTy = pSubst(ty.typeArguments?.[1]);
243
245
  const rightTy = pSubst(ty.typeArguments?.[2]);
244
- if ((0, type_predicate_1.isPrimitiveTy)(leftTy) && (0, type_predicate_1.isPrimitiveTy)(rightTy)) {
246
+ // TODO FIXME: wudengke 请修复
247
+ if (isLoosePrimTy(leftTy) && isLoosePrimTy(rightTy)) {
245
248
  return (0, type_operator_1.selectBinaryFunctionOverload)(env, functionName, leftTy, rightTy);
246
249
  }
247
250
  return ty;
@@ -314,7 +317,11 @@ exports.traverseSubstRunCheck = traverseSubstRunCheck;
314
317
  const traverseAndSubst = (env) => (__node, subst) => {
315
318
  const node = (0, vue_hack_1.toRaw)(__node);
316
319
  const pSubst = (0, exports.substTyAnn)(env, subst);
320
+ const localVars = env.localVars.get(node);
317
321
  const substNode = (nd) => {
322
+ if ((0, nasl_predicate_1.isTypeInferConcept)(nd) && localVars?.includes(nd.name)) {
323
+ return;
324
+ }
318
325
  const ndSemTy = env.typeBindings.get(nd);
319
326
  const callInfo = env.resolvedCallInfo.get(nd);
320
327
  let resolvedNdSemTy = ndSemTy;
@@ -328,11 +335,17 @@ const traverseAndSubst = (env) => (__node, subst) => {
328
335
  env.setType(nd, resolvedNdSemTy);
329
336
  if (nd.concept === 'Identifier') {
330
337
  // 仅查找局部符号
331
- const def = nd.pointToSymbol;
338
+ const def = env.idToVar.get(nd);
332
339
  if (def) {
333
340
  const refSemTy = env.typeBindings.get(def);
334
341
  if (!refSemTy || refSemTy.typeKind === 'typeParam') {
335
- env.setType(def, resolvedNdSemTy);
342
+ // 全是草稿区的引用,不参与变量类型推导
343
+ if (env.allRefsInPlayground.has(def)) {
344
+ (0, type_predicate_1.isResolvedUserTy)(resolvedNdSemTy) && env.varCandidateTypes.set(def, resolvedNdSemTy);
345
+ }
346
+ else {
347
+ env.setType(def, resolvedNdSemTy); // 有非草稿区的引用、类型推导,类型挂变量上
348
+ }
336
349
  }
337
350
  }
338
351
  }
@@ -438,4 +451,5 @@ const visitChildren = (start, cb) => {
438
451
  }
439
452
  visit(start);
440
453
  };
454
+ const isLoosePrimTy = (ty) => (0, type_predicate_1.isPrimitiveTy)(ty) || (0, type_predicate_1.isMetadataType)(ty);
441
455
  //# sourceMappingURL=subster.js.map
@@ -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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"}
@@ -118,7 +118,6 @@ export interface ResolvedCall {
118
118
  typeParams?: TypeAnnotation[];
119
119
  params: FunctionParam[];
120
120
  ret: TypeAnnotation;
121
- depLibName?: string;
122
121
  }
123
122
  /**
124
123
  * Parameter in a function definition including name, type, and optional status
@@ -146,7 +145,7 @@ interface CallableNaslLogic {
146
145
  * @param typeParams Optional array of type parameters for generic functions
147
146
  * @returns Function definition with params and returns
148
147
  */
149
- export declare const createFunctionDef: (parTypes: Array<TypeAnnotation>, returnType?: TypeAnnotation, def?: CallableNaslLogic, typeParams?: Array<TypeAnnotation>, depLibName?: string) => ResolvedCall;
148
+ export declare const createFunctionDef: (parTypes: Array<TypeAnnotation>, returnType: TypeAnnotation | undefined, def: CallableNaslLogic | undefined, typeParams: Array<TypeAnnotation> | undefined) => ResolvedCall;
150
149
  export declare const hasUnresolvedTyInCallInfo: (callInfo: ResolvedCall | undefined) => boolean;
151
150
  export {};
152
151
  //# 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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"}
@@ -475,7 +475,8 @@ function showType(ty) {
475
475
  return baseType;
476
476
  }).join(', ');
477
477
  const typeParamWithBracket = typeParamStr ? `<${typeParamStr}>` : '';
478
- const base = `${typeParamWithBracket}(${(ty.typeArguments ?? []).map(showType).join(', ')}) -> ${ty.returnType.length > 0 ? ty.returnType.map(showType).join(', ') : 'void'}`;
478
+ const returnTypeDisplay = ty.returnType?.map(showType).join(', ') ?? 'void';
479
+ const base = `${typeParamWithBracket}(${(ty.typeArguments ?? []).map(showType).join(', ')}) => ${returnTypeDisplay}`;
479
480
  return opt ? `(${base})${opt}` : base;
480
481
  }
481
482
  else if (ty.typeKind === 'union') {
@@ -483,7 +484,6 @@ function showType(ty) {
483
484
  return opt ? `(${base})${opt}` : base;
484
485
  }
485
486
  else if (ty.typeArguments?.length) {
486
- // TODO wudengke 处理一下type operator的展示
487
487
  const base = `${ty.typeNamespace}.${ty.typeName}<${ty.typeArguments.map(showType).join(', ')}>`;
488
488
  return opt ? `(${base})${opt}` : base;
489
489
  }
@@ -498,6 +498,7 @@ function showType(ty) {
498
498
  const base = `${ignoredFlagStr}{ ${properties} }`;
499
499
  return opt ? `(${base})${opt}` : base;
500
500
  }
501
+ // 含 typeParam 等其他情形
501
502
  return [ty.typeNamespace, ty.typeName].filter(Boolean).join('.') + opt || "无类型名";
502
503
  }
503
504
  exports.showType = showType;
@@ -520,10 +521,6 @@ const showUserLevelType = (ty) => {
520
521
  if (!ty) {
521
522
  return '未知类型';
522
523
  }
523
- // 处理未解析完的类型变元或Any类型
524
- if (!(0, type_predicate_1.isResolvedUserTy)(ty)) {
525
- return '未知类型';
526
- }
527
524
  const opt = ty.optional ? '?' : '';
528
525
  if (ty.typeKind === 'indexedAccess') {
529
526
  const base = `${(0, exports.showUserLevelType)(ty.objectType)}[${(0, exports.showUserLevelType)(ty.indexType)}]`;
@@ -549,10 +546,8 @@ const showUserLevelType = (ty) => {
549
546
  return baseType;
550
547
  }).join(', ');
551
548
  const typeParamWithBracket = typeParamStr ? `<${typeParamStr}>` : '';
552
- const returnTypeDisplay = ty.returnType.length > 0 ?
553
- ty.returnType.map(exports.showUserLevelType).join(', ') :
554
- '无返回值';
555
- const base = `${typeParamWithBracket}(${(ty.typeArguments ?? []).map(exports.showUserLevelType).join(', ')}) -> ${returnTypeDisplay}`;
549
+ const returnTypeDisplay = ty.returnType?.map(exports.showUserLevelType).join(', ') ?? '无返回值';
550
+ const base = `${typeParamWithBracket}(${(ty.typeArguments ?? []).map(exports.showUserLevelType).join(', ')}) => ${returnTypeDisplay}`;
556
551
  return opt ? `(${base})${opt}` : base;
557
552
  }
558
553
  else if (ty.typeKind === 'union') {
@@ -572,11 +567,23 @@ const showUserLevelType = (ty) => {
572
567
  return `${p.name}: ${(0, exports.showUserLevelType)(p.typeAnnotation)}`;
573
568
  })
574
569
  .join(', ') ?? '';
575
- // @ts-expect-error
576
- const ignoredFlagStr = ty.ignored ? '!ignored' : '';
577
- const base = `${ignoredFlagStr}{ ${properties} }`;
570
+ const base = `{ ${properties} }`;
578
571
  return opt ? `(${base})${opt}` : base;
579
572
  }
573
+ else if (ty.typeKind === 'typeParam') {
574
+ return '未知类型';
575
+ }
576
+ // if (ty.typeKind === 'reference') {
577
+ // if (ty.typeNamespace && ty.typeNamespace.endsWith('.entities')) {
578
+ // return `实体 ${ty.typeName}${opt}`;
579
+ // }
580
+ // if (ty.typeNamespace && ty.typeNamespace.endsWith('.structures')) {
581
+ // return `数据结构 ${ty.typeName}${opt}`;
582
+ // }
583
+ // if (ty.typeNamespace && ty.typeNamespace.endsWith('.enums')) {
584
+ // return `枚举 ${ty.typeName}${opt}`;
585
+ // }
586
+ // }
580
587
  // 处理原始类型,移除namespace并进行映射
581
588
  if (ty.typeKind === 'primitive' ||
582
589
  (ty.typeNamespace &&
@@ -596,8 +603,7 @@ const showUserLevelType = (ty) => {
596
603
  // 如果没有映射,直接返回类型名
597
604
  return `${ty.typeName}${opt}`;
598
605
  }
599
- // 其他情况保留原有逻辑但去掉namespace
600
- return ty.typeName + opt || "无类型名";
606
+ return `${ty.typeNamespace}.${ty.typeName}${opt}`; // 处理未解析完的类型变元或Any类型
601
607
  };
602
608
  exports.showUserLevelType = showUserLevelType;
603
609
  function printType(ty) {
@@ -772,7 +778,7 @@ exports.createTypeofBindData = createTypeofBindData;
772
778
  * @param typeParams Optional array of type parameters for generic functions
773
779
  * @returns Function definition with params and returns
774
780
  */
775
- const createFunctionDef = (parTypes, returnType, def, typeParams, depLibName) => {
781
+ const createFunctionDef = (parTypes, returnType, def, typeParams) => {
776
782
  // Create parameter array with available metadata
777
783
  const params = [];
778
784
  for (let i = 0; i < parTypes.length; i++) {
@@ -793,7 +799,6 @@ const createFunctionDef = (parTypes, returnType, def, typeParams, depLibName) =>
793
799
  typeName: 'void'
794
800
  }),
795
801
  typeParams: typeParams,
796
- depLibName: depLibName ?? undefined
797
802
  };
798
803
  };
799
804
  exports.createFunctionDef = createFunctionDef;