@lcap/nasl-language-server-core 4.0.1-rc.0 → 4.0.1-rc.1

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 (122) hide show
  1. package/README.md +85 -0
  2. package/out/checker.d.ts.map +1 -1
  3. package/out/checker.js +28 -13
  4. package/out/checker.js.map +1 -1
  5. package/out/index.d.ts +2 -1
  6. package/out/index.d.ts.map +1 -1
  7. package/out/index.js +2 -1
  8. package/out/index.js.map +1 -1
  9. package/out/query/context-variable-query.d.ts +31 -0
  10. package/out/query/context-variable-query.d.ts.map +1 -0
  11. package/out/query/context-variable-query.js +105 -0
  12. package/out/query/context-variable-query.js.map +1 -0
  13. package/out/query/index.d.ts +2 -0
  14. package/out/query/index.d.ts.map +1 -0
  15. package/out/query/index.js +18 -0
  16. package/out/query/index.js.map +1 -0
  17. package/out/reference-manager/builtin-q-name.d.ts +1 -1
  18. package/out/reference-manager/builtin-q-name.d.ts.map +1 -1
  19. package/out/reference-manager/builtin-q-name.js +2 -2
  20. package/out/reference-manager/builtin-q-name.js.map +1 -1
  21. package/out/reference-manager/collect-q-name.d.ts +2 -1
  22. package/out/reference-manager/collect-q-name.d.ts.map +1 -1
  23. package/out/reference-manager/collect-q-name.js +8 -4
  24. package/out/reference-manager/collect-q-name.js.map +1 -1
  25. package/out/reference-manager/get-q-name.d.ts +1 -1
  26. package/out/reference-manager/get-q-name.d.ts.map +1 -1
  27. package/out/reference-manager/get-q-name.js +35 -31
  28. package/out/reference-manager/get-q-name.js.map +1 -1
  29. package/out/reference-manager/reference-manager.d.ts +6 -7
  30. package/out/reference-manager/reference-manager.d.ts.map +1 -1
  31. package/out/reference-manager/reference-manager.js +7 -6
  32. package/out/reference-manager/reference-manager.js.map +1 -1
  33. package/out/reference-manager/remove-q-name.d.ts +30 -28
  34. package/out/reference-manager/remove-q-name.d.ts.map +1 -1
  35. package/out/reference-manager/remove-q-name.js +54 -47
  36. package/out/reference-manager/remove-q-name.js.map +1 -1
  37. package/out/reference-manager/rename-q-name.d.ts +2 -1
  38. package/out/reference-manager/rename-q-name.d.ts.map +1 -1
  39. package/out/reference-manager/rename-q-name.js +31 -36
  40. package/out/reference-manager/rename-q-name.js.map +1 -1
  41. package/out/reference-manager/symbol-type.d.ts +2 -2
  42. package/out/reference-manager/symbol-type.d.ts.map +1 -1
  43. package/out/reference-manager/symbol-type.js +1 -1
  44. package/out/reference-manager/symbol-type.js.map +1 -1
  45. package/out/reference-manager/update-nasl-fragment.d.ts +2 -1
  46. package/out/reference-manager/update-nasl-fragment.d.ts.map +1 -1
  47. package/out/reference-manager/update-nasl-fragment.js +9 -1
  48. package/out/reference-manager/update-nasl-fragment.js.map +1 -1
  49. package/out/typer/collectGlobalDefs.d.ts.map +1 -1
  50. package/out/typer/collectGlobalDefs.js.map +1 -1
  51. package/out/typer/component-def-manager/component-def-manager.d.ts +32 -5
  52. package/out/typer/component-def-manager/component-def-manager.d.ts.map +1 -1
  53. package/out/typer/component-def-manager/component-def-manager.js +96 -19
  54. package/out/typer/component-def-manager/component-def-manager.js.map +1 -1
  55. package/out/typer/component-def-manager/utils.d.ts.map +1 -1
  56. package/out/typer/component-def-manager/utils.js +39 -12
  57. package/out/typer/component-def-manager/utils.js.map +1 -1
  58. package/out/typer/dispatch-all.d.ts +1 -1
  59. package/out/typer/dispatch-all.d.ts.map +1 -1
  60. package/out/typer/dispatch-all.js +3 -7
  61. package/out/typer/dispatch-all.js.map +1 -1
  62. package/out/typer/dispatch-def.d.ts +1 -1
  63. package/out/typer/dispatch-def.d.ts.map +1 -1
  64. package/out/typer/dispatch-def.js +7 -5
  65. package/out/typer/dispatch-def.js.map +1 -1
  66. package/out/typer/dispatch-expr.d.ts +1 -1
  67. package/out/typer/dispatch-expr.d.ts.map +1 -1
  68. package/out/typer/dispatch-expr.js +28 -14
  69. package/out/typer/dispatch-expr.js.map +1 -1
  70. package/out/typer/dispatch-stmt.d.ts.map +1 -1
  71. package/out/typer/dispatch-stmt.js +10 -1
  72. package/out/typer/dispatch-stmt.js.map +1 -1
  73. package/out/typer/dispatch-view.d.ts.map +1 -1
  74. package/out/typer/dispatch-view.js +115 -115
  75. package/out/typer/dispatch-view.js.map +1 -1
  76. package/out/typer/helper.js +3 -3
  77. package/out/typer/helper.js.map +1 -1
  78. package/out/typer/incremental-update.d.ts +15 -13
  79. package/out/typer/incremental-update.d.ts.map +1 -1
  80. package/out/typer/incremental-update.js +89 -42
  81. package/out/typer/incremental-update.js.map +1 -1
  82. package/out/typer/nasl-predicate.d.ts +1 -1
  83. package/out/typer/nasl-predicate.d.ts.map +1 -1
  84. package/out/typer/solver.d.ts +37 -24
  85. package/out/typer/solver.d.ts.map +1 -1
  86. package/out/typer/solver.js +205 -426
  87. package/out/typer/solver.js.map +1 -1
  88. package/out/typer/subster.d.ts +2 -4
  89. package/out/typer/subster.d.ts.map +1 -1
  90. package/out/typer/subster.js +42 -34
  91. package/out/typer/subster.js.map +1 -1
  92. package/out/typer/topo-sort.d.ts.map +1 -1
  93. package/out/typer/topo-sort.js +9 -2
  94. package/out/typer/topo-sort.js.map +1 -1
  95. package/out/typer/type-hint-manager/type-hint-manager.d.ts +3 -0
  96. package/out/typer/type-hint-manager/type-hint-manager.d.ts.map +1 -1
  97. package/out/typer/type-hint-manager/type-hint-manager.js +2 -0
  98. package/out/typer/type-hint-manager/type-hint-manager.js.map +1 -1
  99. package/out/typer/type-manager.d.ts +6 -2
  100. package/out/typer/type-manager.d.ts.map +1 -1
  101. package/out/typer/type-manager.js.map +1 -1
  102. package/out/typer/type-predicate.d.ts.map +1 -1
  103. package/out/typer/type-predicate.js +61 -6
  104. package/out/typer/type-predicate.js.map +1 -1
  105. package/out/typer/typer.d.ts +10 -5
  106. package/out/typer/typer.d.ts.map +1 -1
  107. package/out/typer/typer.js +34 -60
  108. package/out/typer/typer.js.map +1 -1
  109. package/out/typer/unifier.d.ts +0 -3
  110. package/out/typer/unifier.d.ts.map +1 -1
  111. package/out/typer/unifier.js +58 -35
  112. package/out/typer/unifier.js.map +1 -1
  113. package/out/utils/nasl-type-manipulation.d.ts +1 -0
  114. package/out/utils/nasl-type-manipulation.d.ts.map +1 -1
  115. package/out/utils/nasl-type-manipulation.js +3 -1
  116. package/out/utils/nasl-type-manipulation.js.map +1 -1
  117. package/out/utils/parseTsClassType.d.ts.map +1 -1
  118. package/out/utils/parseTsClassType.js +7 -3
  119. package/out/utils/parseTsClassType.js.map +1 -1
  120. package/out/utils/type-operator.d.ts.map +1 -1
  121. package/out/utils/type-operator.js.map +1 -1
  122. package/package.json +13 -6
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-view.js","sourceRoot":"","sources":["../../src/typer/dispatch-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch-view.js","sourceRoot":"","sources":["../../src/typer/dispatch-view.ts"],"names":[],"mappings":"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"}
@@ -133,14 +133,14 @@ function printTySubst(m) {
133
133
  exports.printTySubst = printTySubst;
134
134
  function printConstraints(cs) {
135
135
  cs.forEach(({ lb, ub }, tyVar) => {
136
- console.log(`${lb.map(type_manager_1.showType).join(' | ')} <: ${tyVar} <: ${ub.map(type_manager_1.showType).join(' & ')}`);
136
+ console.log(`${lb.map(b => (0, type_manager_1.showType)(b.bound)).join(' | ')} <: ${tyVar} <: ${ub.map(b => (0, type_manager_1.showType)(b.bound)).join(' & ')}`);
137
137
  });
138
138
  }
139
139
  exports.printConstraints = printConstraints;
140
140
  function showConstraints(cs) {
141
141
  let res = '';
142
142
  cs.forEach(({ lb, ub }, tyVar) => {
143
- res += (`${lb.map(type_manager_1.showType).join(' | ')} <: ${tyVar} <: ${ub.map(type_manager_1.showType).join(' & ')}`);
143
+ res += (`${lb.map(b => (0, type_manager_1.showType)(b.bound)).join(' | ')} <: ${tyVar} <: ${ub.map(b => (0, type_manager_1.showType)(b.bound)).join(' & ')}`);
144
144
  res += '\n';
145
145
  });
146
146
  return res;
@@ -148,7 +148,7 @@ function showConstraints(cs) {
148
148
  exports.showConstraints = showConstraints;
149
149
  function printOrderedConstraints(cs) {
150
150
  cs.forEach(([tyVar, { lb, ub }]) => {
151
- console.log(`${lb.map(type_manager_1.showType).join(' | ')} <: ${tyVar} <: ${ub.map(type_manager_1.showType).join(' & ')}`);
151
+ console.log(`${lb.map(b => (0, type_manager_1.showType)(b.bound)).join(' | ')} <: ${tyVar} <: ${ub.map(b => (0, type_manager_1.showType)(b.bound)).join(' & ')}`);
152
152
  });
153
153
  }
154
154
  exports.printOrderedConstraints = printOrderedConstraints;
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/typer/helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/typer/helper.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { SyntaxNode } from '@lcap/nasl-concepts';
1
+ import { Connector, SyntaxNode } from '@lcap/nasl-concepts';
2
2
  import { SemEnv } from './typer';
3
3
  import { DiagnosticRecord } from '../checker';
4
- import { DefConcept } from '../reference-manager/reference-manager';
4
+ import { type DefConcept } from '../reference-manager/symbol-type';
5
5
  import { Diagnostic as NaslTypeDiagnostic } from '@lcap/nasl-types';
6
6
  import { ConcreteOQLDiagnostic } from '../types/diagnostics';
7
7
  type DiagnosticManager = NaslTypeDiagnostic.DiagnosticManager;
@@ -30,25 +30,27 @@ export declare const preProcessOther: (env: SemEnv, nd: SyntaxNode, typerCheckFi
30
30
  */
31
31
  export declare const preProcessDefRename: (env: SemEnv, nd: DefConcept, typerCheckFiles: Set<SyntaxNode>, oldName: string, mode: 'rename-only' | 'update' | null, oqlRemoveNodesTsPath: Set<string>) => boolean;
32
32
  /**
33
- * 1. 符号删除
34
- * 2. 运行新的类型标注,额外错误诊断
35
- * 3. 符号添加
36
- * 4. 递归检查
33
+ * Parameters for the checkUpdateRefsDiag function
37
34
  */
35
+ export interface CheckUpdateRefsDiagParams {
36
+ env: SemEnv;
37
+ diagMgr: DiagnosticManager | undefined;
38
+ chkFiles: Set<SyntaxNode>;
39
+ removeNodes: Set<SyntaxNode>;
40
+ createNodes: Set<SyntaxNode>;
41
+ tsDiagnostics: ConcreteOQLDiagnostic[];
42
+ removedConnectors?: Set<Connector>;
43
+ checkedFiles?: Set<SyntaxNode>;
44
+ }
38
45
  /**
39
46
  * 增量更新诊断信息
40
- * @param env 语义环境
41
- * @param diagnosticManager 诊断管理器
42
- * @param chkFiles 需要检查的文件
43
- * @param removeNodes 需要删除的节点
44
- * @param createNodes 需要创建的节点
45
- * @param tsDiagnostics 来自 TS Server 的诊断信息。主要用于展示 OqlQueryComponent 诊断
47
+ * @param params 包含所有参数的对象
46
48
  * @returns 诊断信息列表
47
49
  */
48
50
  /**
49
51
  * @warning 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
50
52
  */
51
- export declare function checkUpdateRefsDiag(env: SemEnv, diagnosticManager: DiagnosticManager, chkFiles: Set<SyntaxNode>, removeNodes: Set<SyntaxNode>, createNodes: Set<SyntaxNode>, tsDiagnostics: ConcreteOQLDiagnostic[], checkedFiles?: Set<SyntaxNode>): Promise<Array<DiagnosticRecord>>;
53
+ export declare function checkUpdateRefsDiag(params: CheckUpdateRefsDiagParams): Promise<Array<DiagnosticRecord>>;
52
54
  /**
53
55
  * 确定是否需要运行 tsOql 检查
54
56
  * @param checkFiles 粗布判定需要检查的文件集合
@@ -1 +1 @@
1
- {"version":3,"file":"incremental-update.d.ts","sourceRoot":"","sources":["../../src/typer/incremental-update.ts"],"names":[],"mappings":"AAEA,OAAO,EAAqC,UAAU,EAAkB,MAAM,qBAAqB,CAAC;AAGpG,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,OAAO,EAAiC,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG7E,OAAO,EAAE,UAAU,EAAuD,MAAM,wCAAwC,CAAC;AAMzH,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,KAAK,iBAAiB,GAAG,kBAAkB,CAAC,iBAAiB,CAAC;AAG9D,MAAM,WAAW,gBAAgB;IAC7B,eAAe,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACjC,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAClC,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;CACrC;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAS,MAAM,MAAM,UAAU,mBAAmB,IAAI,UAAU,CAAC,KAAG,OAO/F,CAAA;AAED;;;;;;;;;GASG;AACH;;GAEG;AACH,eAAO,MAAM,mBAAmB,QACvB,MAAM,MACP,UAAU,mBACG,IAAI,UAAU,CAAC,WACvB,MAAM,QACT,aAAa,GAAG,QAAQ,GAAG,IAAI,wBACf,IAAI,MAAM,CAAC,KAC9B,OAgDN,CAAA;AAyHD;;;;;GAKG;AAEH;;;;;;;;;GASG;AACH;;GAEG;AACH,wBAAsB,mBAAmB,CACrC,GAAG,EAAE,MAAM,EACX,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,EACzB,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,EAC5B,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,EAC5B,aAAa,EAAE,qBAAqB,EAAE,EACtC,YAAY,GAAE,GAAG,CAAC,UAAU,CAAa,GAC1C,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CA4FlC;AA8JD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,QACjB,MAAM,cACC,IAAI,UAAU,CAAC,gBACb,IAAI,UAAU,CAAC,KAC5B,MAAM,UAAU,CAyHlB,CAAA"}
1
+ {"version":3,"file":"incremental-update.d.ts","sourceRoot":"","sources":["../../src/typer/incremental-update.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,SAAS,EAA2B,UAAU,EAAkB,MAAM,qBAAqB,CAAC;AAG/G,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAIjC,OAAO,EAAiC,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG7E,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,kCAAkC,CAAC;AAQpF,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,KAAK,iBAAiB,GAAG,kBAAkB,CAAC,iBAAiB,CAAC;AAG9D,MAAM,WAAW,gBAAgB;IAC7B,eAAe,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACjC,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAClC,gBAAgB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;CACrC;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,QAAS,MAAM,MAAM,UAAU,mBAAmB,IAAI,UAAU,CAAC,KAAG,OAO/F,CAAA;AAED;;;;;;;;;GASG;AACH;;GAEG;AACH,eAAO,MAAM,mBAAmB,QACvB,MAAM,MACP,UAAU,mBACG,IAAI,UAAU,CAAC,WACvB,MAAM,QACT,aAAa,GAAG,QAAQ,GAAG,IAAI,wBACf,IAAI,MAAM,CAAC,KAC9B,OAgDN,CAAA;AA+HD;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACvC,QAAQ,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1B,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7B,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7B,aAAa,EAAE,qBAAqB,EAAE,CAAC;IACvC,iBAAiB,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;CAClC;AAED;;;;GAIG;AACH;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAqH7G;AAkLD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,QACjB,MAAM,cACC,IAAI,UAAU,CAAC,gBACb,IAAI,UAAU,CAAC,KAC5B,MAAM,UAAU,CAyHlB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getOqlFiles = exports.checkUpdateRefsDiag = exports.preProcessDefRename = exports.preProcessOther = void 0;
4
- const set_1 = require("mnemonist/set");
4
+ const mnemonist_1 = require("mnemonist");
5
5
  const nasl_utils_1 = require("@lcap/nasl-utils");
6
6
  const file_node_cache_1 = require("../utils/file-node-cache");
7
7
  const service_1 = require("@lcap/nasl-concepts/service");
@@ -11,11 +11,13 @@ const dispatch_all_1 = require("./dispatch-all");
11
11
  const checker_1 = require("../checker");
12
12
  const nasl_predicate_1 = require("./nasl-predicate");
13
13
  const reference_manager_1 = require("../reference-manager/reference-manager");
14
+ const get_q_name_1 = require("../reference-manager/get-q-name");
14
15
  const reference_manager_2 = require("../reference-manager/reference-manager");
15
16
  const collect_q_name_1 = require("../reference-manager/collect-q-name");
16
17
  const remove_q_name_1 = require("../reference-manager/remove-q-name");
17
18
  const rename_q_name_1 = require("../reference-manager/rename-q-name");
18
19
  const dispatch_def_1 = require("./dispatch-def");
20
+ const type_manager_1 = require("./type-manager");
19
21
  /**
20
22
  * @warning 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
21
23
  * 为了增加效率,直接往 params 的 Set 里加东西
@@ -50,7 +52,7 @@ const preProcessDefRename = (env, nd, typerCheckFiles, oldName, mode, oqlRemoveN
50
52
  env.refMgr.isLocalCacheValid = false;
51
53
  return true;
52
54
  }
53
- const qName = (0, reference_manager_2.getTokenQualifiedName)(nd);
55
+ const qName = (0, get_q_name_1.getTokenQualifiedName)(nd);
54
56
  // 2. Get items to check which have references to old qNames1
55
57
  const oldQName = easyGetOldQName(qName, oldName);
56
58
  try {
@@ -113,7 +115,7 @@ const pushRefFilesToChkFiles = (env, chkFiles, qNames) => {
113
115
  };
114
116
  const batchPreProcessAllRemoveNodes = (env, removeNodes, chkFiles, removedFiles) => {
115
117
  // 首先需要删除所有引用,后面移除定义后,删除引用时要么符号找不到,要么要去缓存里找,更麻烦,不如多一次遍历
116
- const allQNames = new Set();
118
+ const allQNameDefs = new Set();
117
119
  // 第一个循环里处理完所有局部符号
118
120
  for (const rmNd of removeNodes) {
119
121
  /**
@@ -122,7 +124,7 @@ const batchPreProcessAllRemoveNodes = (env, removeNodes, chkFiles, removedFiles)
122
124
  * 符号类型:一律删除
123
125
  **/
124
126
  if (reference_manager_2.ReferenceManager.localDefConcept.includes(rmNd.concept)) {
125
- env.refMgr.invalidateLocalSymCache(rmNd);
127
+ env.refMgr.invalidateLocalSymCache();
126
128
  }
127
129
  if (!reference_manager_2.ReferenceManager.globalDefConcept.includes(rmNd.concept)) {
128
130
  env.removeTypes(rmNd);
@@ -130,16 +132,21 @@ const batchPreProcessAllRemoveNodes = (env, removeNodes, chkFiles, removedFiles)
130
132
  const nsp = (0, reference_manager_1.getNamespaceWithoutLast)(rmNd) ?? '';
131
133
  // Including entity logics if nd.concept === 'Entity'
132
134
  const qNames = (0, remove_q_name_1.getQNamesOfRemoveAction)(nsp, rmNd);
133
- for (const qName of qNames) {
134
- allQNames.add(qName);
135
+ for (const [qName, def] of qNames) {
136
+ allQNameDefs.add([qName, def]);
135
137
  }
136
138
  }
137
139
  // 一起批量处理:里面有缓存,避免重复处理对性能的影响
138
- pushRefFilesToChkFiles(env, chkFiles, Array.from(allQNames));
140
+ pushRefFilesToChkFiles(env, chkFiles, Array.from(allQNameDefs).map(([qName]) => qName));
139
141
  // 第二个循环里处理全局符号
140
- for (const qName of allQNames) {
141
- const rmNd = env.refMgr.qNameDefs.get(qName);
142
+ for (const [qName, rmNd0] of allQNameDefs) {
143
+ const rmNd = env.refMgr.qNameDefs.get(qName); // normalized rmNd,如实体逻辑、连接器啥的
142
144
  if (!rmNd) {
145
+ if (rmNd0) {
146
+ removeNodes.add(rmNd0);
147
+ (0, file_node_cache_1.checkNodeIsFileModuleInIdeWithCache)(rmNd0) && removedFiles.add(rmNd0);
148
+ env.refMgr.handleDefOp("delete" /* Operation.Remove */, rmNd0, qName);
149
+ }
143
150
  continue;
144
151
  }
145
152
  // 全局符号引用:缓存。局部符号引用:删除。
@@ -153,16 +160,17 @@ const batchPreProcessAllRemoveNodes = (env, removeNodes, chkFiles, removedFiles)
153
160
  }
154
161
  if ((0, file_node_cache_1.checkNodeIsFileModuleInIdeWithCache)(rmNd)) {
155
162
  removedFiles.add(rmNd);
163
+ removedFiles.add(rmNd0);
156
164
  // 下面 getDirectRefFileNodes 是不是会给子页面加进去,那这里 removedFiles 也给子页面加进去吧,保险一点……
157
165
  for (const subView of getSubViews(rmNd)) {
158
- removedFiles.add(subView);
166
+ removedFiles.add(subView); // view 没有这种 rmNd !== rmNd0 的情况
159
167
  }
160
168
  }
161
169
  env.refMgr.handleDefOp("delete" /* Operation.Remove */, rmNd, qName); // 连根拔起,但缓存
162
- }
163
- else {
170
+ rmNd !== rmNd0 && env.refMgr.handleDefOp("delete" /* Operation.Remove */, rmNd0, qName);
164
171
  }
165
172
  env.refMgr.removeRefsForGlobalSym(env, rmNd);
173
+ rmNd !== rmNd0 && env.refMgr.handleDefOp("delete" /* Operation.Remove */, rmNd0, qName);
166
174
  }
167
175
  };
168
176
  const batchPreProcessAllCreateNodes = (env, createNodes, chkFiles) => {
@@ -186,29 +194,19 @@ const batchPreProcessAllCreateNodes = (env, createNodes, chkFiles) => {
186
194
  pushRefFilesToChkFiles(env, chkFiles, createdQNames.map(([qName]) => qName));
187
195
  }
188
196
  };
189
- /**
190
- * 1. 符号删除
191
- * 2. 运行新的类型标注,额外错误诊断
192
- * 3. 符号添加
193
- * 4. 递归检查
194
- */
195
- // warning: 增量更新比全量更新慢多了(指每秒处理节点数量),处理老引用、老报错、类型、新引用、新报错要特么五次遍历,是够慢的,以后想办法设计数据结构少几次吧……
196
197
  /**
197
198
  * 增量更新诊断信息
198
- * @param env 语义环境
199
- * @param diagnosticManager 诊断管理器
200
- * @param chkFiles 需要检查的文件
201
- * @param removeNodes 需要删除的节点
202
- * @param createNodes 需要创建的节点
203
- * @param tsDiagnostics 来自 TS Server 的诊断信息。主要用于展示 OqlQueryComponent 诊断
199
+ * @param params 包含所有参数的对象
204
200
  * @returns 诊断信息列表
205
201
  */
206
202
  /**
207
203
  * @warning 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
208
204
  */
209
- async function checkUpdateRefsDiag(env, diagnosticManager, chkFiles, removeNodes, createNodes, tsDiagnostics, checkedFiles = new Set()) {
205
+ async function checkUpdateRefsDiag(params) {
206
+ const { env, diagMgr: diagnosticManager, removeNodes, createNodes, tsDiagnostics, removedConnectors, checkedFiles = new Set() } = params;
207
+ let chkFiles = params.chkFiles;
210
208
  let diagRecs = [];
211
- let removedFiles = new Set(); // 优化:删除的文件不需要检查
209
+ let removedFiles = removedConnectors ?? new Set(); // 优化:删除的文件不需要检查
212
210
  nasl_utils_1.isDebugMode && console.time('\x1b[44m\x1b[97m 1: 按原有类型删除符号引用和类型 \x1b[0m');
213
211
  batchPreProcessAllRemoveNodes(env, removeNodes, chkFiles, removedFiles);
214
212
  batchPreProcessAllCreateNodes(env, createNodes, chkFiles);
@@ -218,7 +216,7 @@ async function checkUpdateRefsDiag(env, diagnosticManager, chkFiles, removeNodes
218
216
  nasl_utils_1.isDebugMode && console.timeEnd('\x1b[44m\x1b[97m 1: 按原有类型删除符号引用和类型 \x1b[0m');
219
217
  let filteredChkFiles = new Set();
220
218
  // 原地修改。删除的文件,引用和报错删除后就不用做什么了。
221
- for (const file of (0, set_1.difference)(chkFiles, removedFiles)) {
219
+ for (const file of mnemonist_1.set.difference(chkFiles, removedFiles)) {
222
220
  // 兜底一下,免得哪里漏处理了导致错误栏刷屏
223
221
  !file.nodePath.includes('[-1]') && filteredChkFiles.add(file);
224
222
  }
@@ -235,11 +233,14 @@ async function checkUpdateRefsDiag(env, diagnosticManager, chkFiles, removeNodes
235
233
  const [viewNodes, defNodes] = (0, helper_1.divideBy)(otherNodes2, (v) => {
236
234
  return viewRelatedConcepts.includes(v?.concept);
237
235
  });
236
+ /**
237
+ * @warning 这个需要先做,因为下面的 topoSortLogicAndSetTypes 会根据逻辑的最新 NASL 更新逻辑的类型
238
+ * 找到页面变量,集合,判断类型有无变化
239
+ * 收集对外暴露的层层传递的类型,例如全局逻辑的返回类型、前端全局变量、服务端全局变量、页面变量的类型
240
+ */
241
+ const [oldLogicRetTys, oldLogicParamTys] = getLogicSigs(env, logicNodes);
238
242
  (0, dispatch_def_1.setParamOptionalFlags)([...itfcNodes, ...logicNodes]);
239
243
  const logicTasks = (0, dispatch_all_1.topoSortLogicAndSetTypes)(env, logicNodes);
240
- // 收集对外暴露的层层传递的类型,例如全局逻辑的返回类型、前端全局变量、服务端全局变量、页面变量的类型
241
- // TODO: 找到页面变量,集合,判断类型有无变化
242
- const [oldLogicRetTys, oldLogicParamTys] = getLogicSigs(env, logicTasks);
243
244
  // 处理类型检查 - 改为顺序处理,确保正确的等待异步操作
244
245
  nasl_utils_1.isDebugMode && console.time('\x1b[44m\x1b[97m 2: 类型检查 \x1b[0m');
245
246
  const sortedFiles = [...defNodes, ...itfcNodes, ...logicTasks, ...processNodes, ...viewNodes];
@@ -281,10 +282,19 @@ async function checkUpdateRefsDiag(env, diagnosticManager, chkFiles, removeNodes
281
282
  checkedFiles.add(x);
282
283
  });
283
284
  // 使用新函数收集类型并确定是否需要下一轮检查。.difference(checkedFiles),不找不动点。
284
- const nextChkFiles = (0, set_1.difference)(determineNextCheck(env, logicTasks, oldLogicRetTys, oldLogicParamTys), checkedFiles);
285
+ const nextChkFiles = mnemonist_1.set.difference(determineNextCheck(env, logicTasks, oldLogicRetTys, oldLogicParamTys), checkedFiles);
285
286
  if (nextChkFiles.size) {
286
287
  nasl_utils_1.isDebugMode && console.log('\x1b[44m\x1b[97m 5: 还需运行新一轮语言服务 \x1b[0m');
287
- diagRecs.push(...await checkUpdateRefsDiag(env, diagnosticManager, nextChkFiles, new Set(), new Set(), [], checkedFiles));
288
+ diagRecs.push(...await checkUpdateRefsDiag({
289
+ env,
290
+ diagMgr: diagnosticManager,
291
+ chkFiles: nextChkFiles,
292
+ removeNodes: new Set(),
293
+ createNodes: new Set(),
294
+ tsDiagnostics: [],
295
+ removedConnectors,
296
+ checkedFiles
297
+ }));
288
298
  }
289
299
  return diagRecs;
290
300
  }
@@ -295,17 +305,40 @@ exports.checkUpdateRefsDiag = checkUpdateRefsDiag;
295
305
  * @param logicTasks 逻辑节点列表
296
306
  * @returns [返回类型映射, 参数类型映射]
297
307
  */
298
- const getLogicSigs = (env, logicTasks) => {
308
+ const getLogicSigs = (env, logics) => {
299
309
  const retTypes = new Map();
300
310
  const paramTypes = new Map();
301
- for (const l of logicTasks) {
302
- retTypes.set(l, env.getType(l?.returns[0]));
303
- // Store parameter types
304
- const params = l?.params || [];
305
- paramTypes.set(l, params.map(param => env.getType(param)));
311
+ for (const l of logics) {
312
+ const logicSig = l.__TypeAnnotation;
313
+ if (logicSig) {
314
+ if (logicSig.returnType?.[0]) {
315
+ retTypes.set(l, normalizeToUserTy(logicSig.returnType?.[0]));
316
+ }
317
+ else {
318
+ retTypes.set(l, type_manager_1.naslVoidTy);
319
+ }
320
+ paramTypes.set(l, logicSig.typeArguments.map(normalizeToUserTy));
321
+ }
322
+ else {
323
+ if (l?.returns[0]) {
324
+ retTypes.set(l, normalizeToUserTy(env.getType(l?.returns[0])));
325
+ }
326
+ else {
327
+ retTypes.set(l, type_manager_1.naslVoidTy);
328
+ }
329
+ // Store parameter types
330
+ const params = l?.params || [];
331
+ paramTypes.set(l, params.map(param => normalizeToUserTy(env.getType(param))));
332
+ }
306
333
  }
307
334
  return [retTypes, paramTypes];
308
335
  };
336
+ const normalizeToUserTy = (ty) => {
337
+ if ((0, type_predicate_1.isResolvedUserTy)(ty)) {
338
+ return ty;
339
+ }
340
+ return undefined;
341
+ };
309
342
  /**
310
343
  * 从报错引擎和诊断管理器中移除节点的错误诊断
311
344
  * @param env 语义环境
@@ -330,7 +363,7 @@ const clearSemInfoDiags = (env, diagnosticManager, file) => {
330
363
  });
331
364
  env.allocatedVirtualNodes.delete(file);
332
365
  if (file.concept === 'MetadataType') {
333
- env.typeAlias.delete((0, reference_manager_2.getTokenQualifiedName)(file));
366
+ env.typeAlias.delete((0, get_q_name_1.getTokenQualifiedName)(file));
334
367
  }
335
368
  else if (file.concept === 'BusinessComponent') {
336
369
  env.refMgr.compDefMgr.removeBusinessComponentDef(file);
@@ -379,7 +412,7 @@ const getSubViews = (node) => {
379
412
  node.children?.forEach((nd) => {
380
413
  if (nd.concept === 'View') {
381
414
  result.add(nd);
382
- result = (0, set_1.union)(result, getSubViews(nd));
415
+ result = mnemonist_1.set.union(result, getSubViews(nd));
383
416
  }
384
417
  });
385
418
  }
@@ -392,7 +425,7 @@ const toRaw = (node) => node?.__v_raw ?? node;
392
425
  * @warning 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
393
426
  */
394
427
  const getDirectRefFileNodes = (env, def) => {
395
- const refs = (0, set_1.union)(env.refMgr.getSymbolRefs(def) ?? new Set(), env.refMgr.getImplicitReferences(def));
428
+ const refs = mnemonist_1.set.union(env.refMgr.getSymbolRefs(def) ?? new Set(), env.refMgr.getImplicitReferences(def));
396
429
  if (refs.size === 0) {
397
430
  return new Set();
398
431
  }
@@ -540,4 +573,18 @@ const getOldTsFilePath = (filePath, oldQName) => {
540
573
  }
541
574
  return filePath;
542
575
  };
576
+ // export const cleanUpRemovedConnectors = (env: SemEnv, diagMgr: DiagnosticManager | undefined, connectors: Set<Connector>) => {
577
+ // const fileNodes = new Set<SyntaxNode>();
578
+ // for (const nd of connectors) {
579
+ // env.removeTypes(nd);
580
+ // const qNameDefs = getQNamesOfRemoveAction(getNamespaceWithoutLast(nd as DefConcept) ?? '', nd as DefConcept);
581
+ // for (const [_, def] of qNameDefs) {
582
+ // if (checkNodeIsFileModuleInIdeWithCache(def)) {
583
+ // fileNodes.add(def);
584
+ // clearSemInfoDiags(env, diagMgr, def);
585
+ // }
586
+ // }
587
+ // }
588
+ // return fileNodes;
589
+ // }
543
590
  //# sourceMappingURL=incremental-update.js.map