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

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 (89) hide show
  1. package/out/checker.d.ts.map +1 -1
  2. package/out/checker.js +5 -2
  3. package/out/checker.js.map +1 -1
  4. package/out/module/graph.js +6 -6
  5. package/out/module/graph.js.map +1 -1
  6. package/out/module/module.d.ts.map +1 -1
  7. package/out/module/module.js +3 -6
  8. package/out/module/module.js.map +1 -1
  9. package/out/reference-manager/collect-q-name.d.ts.map +1 -1
  10. package/out/reference-manager/collect-q-name.js +2 -1
  11. package/out/reference-manager/collect-q-name.js.map +1 -1
  12. package/out/reference-manager/get-q-name.d.ts.map +1 -1
  13. package/out/reference-manager/get-q-name.js +1 -5
  14. package/out/reference-manager/get-q-name.js.map +1 -1
  15. package/out/reference-manager/reference-manager.d.ts +11 -5
  16. package/out/reference-manager/reference-manager.d.ts.map +1 -1
  17. package/out/reference-manager/reference-manager.js +59 -59
  18. package/out/reference-manager/reference-manager.js.map +1 -1
  19. package/out/reference-manager/rename-q-name.d.ts.map +1 -1
  20. package/out/reference-manager/rename-q-name.js +3 -0
  21. package/out/reference-manager/rename-q-name.js.map +1 -1
  22. package/out/reference-manager/symbol-type.d.ts +3 -1
  23. package/out/reference-manager/symbol-type.d.ts.map +1 -1
  24. package/out/reference-manager/symbol-type.js +9 -7
  25. package/out/reference-manager/symbol-type.js.map +1 -1
  26. package/out/reference-manager/update-nasl-fragment.d.ts.map +1 -1
  27. package/out/reference-manager/update-nasl-fragment.js +5 -4
  28. package/out/reference-manager/update-nasl-fragment.js.map +1 -1
  29. package/out/symbol/graph.js +2 -2
  30. package/out/symbol/graph.js.map +1 -1
  31. package/out/typer/component-def-manager/utils.d.ts.map +1 -1
  32. package/out/typer/component-def-manager/utils.js +5 -3
  33. package/out/typer/component-def-manager/utils.js.map +1 -1
  34. package/out/typer/dispatch-def.d.ts.map +1 -1
  35. package/out/typer/dispatch-def.js +6 -6
  36. package/out/typer/dispatch-def.js.map +1 -1
  37. package/out/typer/dispatch-expr.d.ts +5 -2
  38. package/out/typer/dispatch-expr.d.ts.map +1 -1
  39. package/out/typer/dispatch-expr.js +85 -42
  40. package/out/typer/dispatch-expr.js.map +1 -1
  41. package/out/typer/dispatch-process.d.ts +0 -1
  42. package/out/typer/dispatch-process.d.ts.map +1 -1
  43. package/out/typer/dispatch-process.js +18 -12
  44. package/out/typer/dispatch-process.js.map +1 -1
  45. package/out/typer/dispatch-stmt.d.ts.map +1 -1
  46. package/out/typer/dispatch-stmt.js +15 -9
  47. package/out/typer/dispatch-stmt.js.map +1 -1
  48. package/out/typer/dispatch-view.d.ts.map +1 -1
  49. package/out/typer/dispatch-view.js +84 -37
  50. package/out/typer/dispatch-view.js.map +1 -1
  51. package/out/typer/incremental-update.d.ts +6 -29
  52. package/out/typer/incremental-update.d.ts.map +1 -1
  53. package/out/typer/incremental-update.js +116 -204
  54. package/out/typer/incremental-update.js.map +1 -1
  55. package/out/typer/index.d.ts +2 -2
  56. package/out/typer/index.d.ts.map +1 -1
  57. package/out/typer/index.js +1 -2
  58. package/out/typer/index.js.map +1 -1
  59. package/out/typer/subster.d.ts.map +1 -1
  60. package/out/typer/subster.js +9 -10
  61. package/out/typer/subster.js.map +1 -1
  62. package/out/typer/type-manager.d.ts +2 -0
  63. package/out/typer/type-manager.d.ts.map +1 -1
  64. package/out/typer/type-manager.js +8 -3
  65. package/out/typer/type-manager.js.map +1 -1
  66. package/out/typer/type-predicate.d.ts +15 -2
  67. package/out/typer/type-predicate.d.ts.map +1 -1
  68. package/out/typer/type-predicate.js +54 -23
  69. package/out/typer/type-predicate.js.map +1 -1
  70. package/out/typer/typer.d.ts +12 -1
  71. package/out/typer/typer.d.ts.map +1 -1
  72. package/out/typer/typer.js +16 -2
  73. package/out/typer/typer.js.map +1 -1
  74. package/out/utils/parseTsClassType.d.ts.map +1 -1
  75. package/out/utils/parseTsClassType.js +3 -0
  76. package/out/utils/parseTsClassType.js.map +1 -1
  77. package/out/utils/type-operator.d.ts +1 -1
  78. package/out/utils/type-operator.d.ts.map +1 -1
  79. package/out/utils/type-operator.js +6 -4
  80. package/out/utils/type-operator.js.map +1 -1
  81. package/package.json +7 -8
  82. package/out/utils/vue-hack.d.ts +0 -25
  83. package/out/utils/vue-hack.d.ts.map +0 -1
  84. package/out/utils/vue-hack.js +0 -33
  85. package/out/utils/vue-hack.js.map +0 -1
  86. package/out/utils/vue.d.ts +0 -2
  87. package/out/utils/vue.d.ts.map +0 -1
  88. package/out/utils/vue.js +0 -10
  89. package/out/utils/vue.js.map +0 -1
@@ -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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"}
@@ -11,25 +11,10 @@ export interface PreProcessResult {
11
11
  typerCreateNodes: Set<SyntaxNode>;
12
12
  }
13
13
  /**
14
- * @warning: 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
14
+ * @warning 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
15
+ * 为了增加效率,直接往 params 的 Set 里加东西
15
16
  */
16
- export declare const preProcessDefCreation: (env: SemEnv, nd: DefConcept) => PreProcessResult;
17
- /**
18
- * 1 扫描 xs 的 qNames
19
- * 2 确定待检查项 ys:xs 引用的 FileNodes,
20
- * 3 删除 xs 中对所有全局符号的引用,更新 symbolRefs
21
- * (1 因为即使通过撤销重做,进来的 refs 对象的内存地址也不一样,无法重用)
22
- * (2 xs 中其他符号的引用如果还在,查找其他符号时依然会找到"消失的xs",然后再找到 xs 被引用的 FileNode,这样不对)
23
- * 4 缓存要删除的 qNames,现在不能删除,因为如果删除了,移除 ys 中的符号时就会报错,例子我不记得了,之后再想想……
24
- *
25
- * 以下不在 preProcess 中做:
26
- * 5 类型检查 ys
27
- * 6 不需要删除 ys 中对 xs 的引用 refs,所以不需要更新 symbolRefs(为了之后做 'relink')
28
- */
29
- /**
30
- * @warning: 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
31
- */
32
- export declare const preProcessDefRemoval: (env: SemEnv, nd: DefConcept) => PreProcessResult;
17
+ export declare const preProcessOther: (env: SemEnv, nd: SyntaxNode, typerCheckFiles: Set<SyntaxNode>) => boolean;
33
18
  /**
34
19
  * rename xs:
35
20
  * 1 获取要删除的旧的 qNames1
@@ -41,17 +26,9 @@ export declare const preProcessDefRemoval: (env: SemEnv, nd: DefConcept) => PreP
41
26
  * 7 类型检查 ys 和 zs
42
27
  */
43
28
  /**
44
- * @warning: 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
45
- */
46
- export declare const preProcessDefRename: (env: SemEnv, nd: DefConcept, oldName: string, mode: 'rename-only' | 'update' | null, oqlRemoveNodesTsPath: Set<string>) => PreProcessResult;
47
- /**
48
- * @warning: 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
49
- */
50
- export declare const preProcessDefUpdate: (env: SemEnv, nd: DefConcept) => PreProcessResult;
51
- /**
52
- * @warning: 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
29
+ * @warning 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
53
30
  */
54
- export declare const preProcessNonDefAction: (nd: SyntaxNode) => PreProcessResult;
31
+ export declare const preProcessDefRename: (env: SemEnv, nd: DefConcept, typerCheckFiles: Set<SyntaxNode>, oldName: string, mode: 'rename-only' | 'update' | null, oqlRemoveNodesTsPath: Set<string>) => boolean;
55
32
  /**
56
33
  * 1. 符号删除
57
34
  * 2. 运行新的类型标注,额外错误诊断
@@ -69,7 +46,7 @@ export declare const preProcessNonDefAction: (nd: SyntaxNode) => PreProcessResul
69
46
  * @returns 诊断信息列表
70
47
  */
71
48
  /**
72
- * @warning: 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
49
+ * @warning 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
73
50
  */
74
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>>;
75
52
  /**
@@ -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;;GAEG;AACH,eAAO,MAAM,qBAAqB,QAAS,MAAM,MAAM,UAAU,KAAG,gBAenE,CAAA;AAED;;;;;;;;;;;GAWG;AACH;;GAEG;AACH,eAAO,MAAM,oBAAoB,QAAS,MAAM,MAAM,UAAU,KAAG,gBAqDlE,CAAA;AAED;;;;;;;;;GASG;AACH;;GAEG;AACH,eAAO,MAAM,mBAAmB,QACtB,MAAM,MACJ,UAAU,WACL,MAAM,QACT,aAAa,GAAG,QAAQ,GAAG,IAAI,wBACf,IAAI,MAAM,CAAC,KAClC,gBA0DN,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAAS,MAAM,MAAM,UAAU,KAAG,gBAsBjE,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,sBAAsB,OAAQ,UAAU,KAAG,gBAcvD,CAAA;AAGD;;;;;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,CA+JlC;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,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,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOqlFiles = exports.checkUpdateRefsDiag = exports.preProcessNonDefAction = exports.preProcessDefUpdate = exports.preProcessDefRename = exports.preProcessDefRemoval = exports.preProcessDefCreation = void 0;
3
+ exports.getOqlFiles = exports.checkUpdateRefsDiag = exports.preProcessDefRename = exports.preProcessOther = void 0;
4
4
  const set_1 = require("mnemonist/set");
5
5
  const nasl_utils_1 = require("@lcap/nasl-utils");
6
6
  const file_node_cache_1 = require("../utils/file-node-cache");
@@ -17,88 +17,18 @@ const remove_q_name_1 = require("../reference-manager/remove-q-name");
17
17
  const rename_q_name_1 = require("../reference-manager/rename-q-name");
18
18
  const dispatch_def_1 = require("./dispatch-def");
19
19
  /**
20
- * @warning: 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
20
+ * @warning 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
21
+ * 为了增加效率,直接往 params 的 Set 里加东西
21
22
  */
22
- const preProcessDefCreation = (env, nd) => {
23
- const typerCheckFiles = new Set();
24
- const typerRemoveNodes = new Set();
25
- const typerCreateNodes = new Set([nd]);
23
+ const preProcessOther = (env, nd, typerCheckFiles) => {
26
24
  const fileNode = (0, service_1.getFileNode)(nd);
25
+ // 一定不能真的去检查实体自动生成(更新)的实体逻辑
27
26
  if (fileNode && !(0, reference_manager_1.isEntityLogic)(fileNode)) {
28
27
  typerCheckFiles.add(fileNode);
29
28
  }
30
- return {
31
- typerCheckFiles,
32
- typerRemoveNodes,
33
- typerCreateNodes,
34
- };
29
+ return true;
35
30
  };
36
- exports.preProcessDefCreation = preProcessDefCreation;
37
- /**
38
- * 1 扫描 xs 的 qNames
39
- * 2 确定待检查项 ys:xs 引用的 FileNodes,
40
- * 3 删除 xs 中对所有全局符号的引用,更新 symbolRefs
41
- * (1 因为即使通过撤销重做,进来的 refs 对象的内存地址也不一样,无法重用)
42
- * (2 xs 中其他符号的引用如果还在,查找其他符号时依然会找到"消失的xs",然后再找到 xs 被引用的 FileNode,这样不对)
43
- * 4 缓存要删除的 qNames,现在不能删除,因为如果删除了,移除 ys 中的符号时就会报错,例子我不记得了,之后再想想……
44
- *
45
- * 以下不在 preProcess 中做:
46
- * 5 类型检查 ys
47
- * 6 不需要删除 ys 中对 xs 的引用 refs,所以不需要更新 symbolRefs(为了之后做 'relink')
48
- */
49
- /**
50
- * @warning: 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
51
- */
52
- const preProcessDefRemoval = (env, nd) => {
53
- const typerRemoveNodes = new Set([nd]);
54
- const typerCheckFiles = new Set();
55
- const typerCreateNodes = new Set();
56
- const fileNode = (0, service_1.getFileNode)(nd);
57
- fileNode && typerCheckFiles.add(fileNode);
58
- if (reference_manager_2.ReferenceManager.localDefConcept.includes(nd.concept)) {
59
- const fileNode = (0, service_1.getFileNode)(nd);
60
- if (fileNode && !(0, reference_manager_1.isEntityLogic)(fileNode)) {
61
- typerCheckFiles.add(fileNode);
62
- }
63
- }
64
- else if (reference_manager_2.ReferenceManager.globalDefConcept.includes(nd.concept)) {
65
- const nsp = (0, reference_manager_1.getNamespaceWithoutLast)(nd) ?? '';
66
- // Including entity logics if nd.concept === 'Entity'
67
- const qNames = (0, remove_q_name_1.getQNamesOfRemoveAction)(nsp, nd);
68
- for (const qName of qNames) {
69
- const subDef = env.refMgr.qNameDefs.get(qName);
70
- if (subDef) {
71
- // typerRemoveNodes.add(subDef); // 防止后面遍历变成 N^2 复杂度
72
- const refs = getDirectRefFileNodes(env, subDef);
73
- for (const ref of refs) {
74
- typerCheckFiles.add(ref);
75
- }
76
- if (subDef.concept === 'Logic') {
77
- const lgc = env.overriddenLogic.get(subDef);
78
- if (lgc) {
79
- typerRemoveNodes.add(lgc);
80
- env.overriddenLogic.delete(subDef);
81
- }
82
- }
83
- }
84
- }
85
- // 大概率是删了子定义
86
- if (qNames.length === 1 && fileNode) {
87
- const refs = getDirectRefFileNodes(env, fileNode);
88
- for (const ref of refs) {
89
- typerCheckFiles.add(ref);
90
- }
91
- }
92
- }
93
- // 缓存 def 应该足够了, def 下面的定义如 Structure 下面的 StructureProperty,不需要做缓存
94
- // 现在不能删除 qName,否则后面删引用时 qName 会找不到。先缓存一下,之后删
95
- return {
96
- typerCheckFiles,
97
- typerRemoveNodes,
98
- typerCreateNodes,
99
- };
100
- };
101
- exports.preProcessDefRemoval = preProcessDefRemoval;
31
+ exports.preProcessOther = preProcessOther;
102
32
  /**
103
33
  * rename xs:
104
34
  * 1 获取要删除的旧的 qNames1
@@ -110,22 +40,16 @@ exports.preProcessDefRemoval = preProcessDefRemoval;
110
40
  * 7 类型检查 ys 和 zs
111
41
  */
112
42
  /**
113
- * @warning: 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
43
+ * @warning 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
114
44
  */
115
- const preProcessDefRename = (env, nd, oldName, mode, oqlRemoveNodesTsPath) => {
45
+ const preProcessDefRename = (env, nd, typerCheckFiles, oldName, mode, oqlRemoveNodesTsPath) => {
116
46
  const fileNode = (0, service_1.getFileNode)(nd);
117
- const typerCheckFiles = new Set(fileNode ? [fileNode] : []);
47
+ fileNode && !(0, reference_manager_1.isEntityLogic)(fileNode) && typerCheckFiles.add(fileNode);
118
48
  // 不处理逻辑内的局部符号
119
49
  if (reference_manager_2.ReferenceManager.localDefConcept.includes(nd.concept)) {
120
50
  env.refMgr.isLocalCacheValid = false;
121
- return {
122
- typerCheckFiles,
123
- typerRemoveNodes: new Set(),
124
- typerCreateNodes: new Set()
125
- };
51
+ return true;
126
52
  }
127
- const typerRemoveNodes = new Set();
128
- const typerCreateNodes = new Set();
129
53
  const qName = (0, reference_manager_2.getTokenQualifiedName)(nd);
130
54
  // 2. Get items to check which have references to old qNames1
131
55
  const oldQName = easyGetOldQName(qName, oldName);
@@ -155,60 +79,113 @@ const preProcessDefRename = (env, nd, oldName, mode, oqlRemoveNodesTsPath) => {
155
79
  env.refMgr.transferQNameDef(oldQName, newQName, mode);
156
80
  });
157
81
  // 6. Based on transferred symbolRefs, get items to check that reference new qNames2
158
- getDirectRefFileNodes(env, nd).forEach((refFileNode) => {
159
- typerCheckFiles.add(refFileNode);
160
- });
161
- return {
162
- typerCheckFiles,
163
- typerRemoveNodes,
164
- typerCreateNodes,
165
- };
82
+ // getDirectRefFileNodes(env, nd as DefConcept).forEach((refFileNode) => {
83
+ // typerCheckFiles.add(refFileNode);
84
+ // });
85
+ return true;
166
86
  };
167
87
  exports.preProcessDefRename = preProcessDefRename;
168
- // 其他对定义的更新
169
88
  /**
170
- * @warning: 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
89
+ * 增、删,一定要检查一级引用。
90
+ * 单纯的更新,不需要检查一级引用,仅在签名变更时检查一级引用。
171
91
  */
172
- const preProcessDefUpdate = (env, nd) => {
173
- const typerCheckFiles = new Set();
174
- const typerRemoveNodes = new Set();
175
- const typerCreateNodes = new Set();
176
- const fileNode = (0, service_1.getFileNode)(nd);
177
- if (fileNode && !(0, reference_manager_1.isEntityLogic)(fileNode)) {
178
- typerCheckFiles.add(fileNode);
92
+ const pushRefFilesToChkFiles = (env, chkFiles, qNames) => {
93
+ const processedFileNodes = new Set();
94
+ for (const qName of qNames) {
95
+ const def = env.refMgr.qNameDefs.get(qName);
96
+ if (!reference_manager_2.ReferenceManager.globalDefConcept.includes(def?.concept)) {
97
+ continue;
98
+ }
99
+ for (const ref of getDirectRefFileNodes(env, def)) {
100
+ chkFiles.add(ref);
101
+ }
102
+ if (!(0, file_node_cache_1.checkNodeIsFileModuleInIdeWithCache)(def)) {
103
+ // 再查一下 fileNode 级别的父节点的引用,如 Entity1.property1 被删了,还要查 Entity1 的引用
104
+ const fileNode = (0, service_1.getFileNode)(def);
105
+ if (fileNode && !processedFileNodes.has(fileNode)) {
106
+ processedFileNodes.add(fileNode);
107
+ for (const ref of getDirectRefFileNodes(env, fileNode)) {
108
+ chkFiles.add(ref);
109
+ }
110
+ }
111
+ }
179
112
  }
180
- if (!reference_manager_2.ReferenceManager.localDefConcept.includes(nd.concept)) {
181
- getDirectRefFileNodes(env, nd).forEach((refFileNode) => {
182
- typerCheckFiles.add(refFileNode);
183
- });
113
+ };
114
+ const batchPreProcessAllRemoveNodes = (env, removeNodes, chkFiles, removedFiles) => {
115
+ // 首先需要删除所有引用,后面移除定义后,删除引用时要么符号找不到,要么要去缓存里找,更麻烦,不如多一次遍历
116
+ const allQNames = new Set();
117
+ // 第一个循环里处理完所有局部符号
118
+ for (const rmNd of removeNodes) {
119
+ /**
120
+ * 注意:必须在这里就先删除,不能后面 getFileNode 再从 fileNode 清除
121
+ * 因为要么 fileNode 不存在了,要么 fileNode 下已经没有了被删除的节点
122
+ * 符号类型:一律删除
123
+ **/
124
+ if (reference_manager_2.ReferenceManager.localDefConcept.includes(rmNd.concept)) {
125
+ env.refMgr.invalidateLocalSymCache(rmNd);
126
+ }
127
+ if (!reference_manager_2.ReferenceManager.globalDefConcept.includes(rmNd.concept)) {
128
+ env.removeTypes(rmNd);
129
+ }
130
+ const nsp = (0, reference_manager_1.getNamespaceWithoutLast)(rmNd) ?? '';
131
+ // Including entity logics if nd.concept === 'Entity'
132
+ const qNames = (0, remove_q_name_1.getQNamesOfRemoveAction)(nsp, rmNd);
133
+ for (const qName of qNames) {
134
+ allQNames.add(qName);
135
+ }
136
+ }
137
+ // 一起批量处理:里面有缓存,避免重复处理对性能的影响
138
+ pushRefFilesToChkFiles(env, chkFiles, Array.from(allQNames));
139
+ // 第二个循环里处理全局符号
140
+ for (const qName of allQNames) {
141
+ const rmNd = env.refMgr.qNameDefs.get(qName);
142
+ if (!rmNd) {
143
+ continue;
144
+ }
145
+ // 全局符号引用:缓存。局部符号引用:删除。
146
+ if (reference_manager_2.ReferenceManager.globalDefConcept.includes(rmNd.concept)) {
147
+ if (rmNd.concept === 'Logic') {
148
+ const ovLgc = env.overriddenLogic.get(rmNd);
149
+ if (ovLgc) {
150
+ removeNodes.add(ovLgc); // 会在本轮迭代中被遍历到
151
+ env.overriddenLogic.delete(rmNd);
152
+ }
153
+ }
154
+ if ((0, file_node_cache_1.checkNodeIsFileModuleInIdeWithCache)(rmNd)) {
155
+ removedFiles.add(rmNd);
156
+ // 下面 getDirectRefFileNodes 是不是会给子页面加进去,那这里 removedFiles 也给子页面加进去吧,保险一点……
157
+ for (const subView of getSubViews(rmNd)) {
158
+ removedFiles.add(subView);
159
+ }
160
+ }
161
+ env.refMgr.handleDefOp("delete" /* Operation.Remove */, rmNd, qName); // 连根拔起,但缓存
162
+ }
163
+ else {
164
+ }
165
+ env.refMgr.removeRefsForGlobalSym(env, rmNd);
184
166
  }
185
- // The remaining refs updates are left to post-processing
186
- return {
187
- typerCheckFiles,
188
- typerRemoveNodes,
189
- typerCreateNodes,
190
- };
191
167
  };
192
- exports.preProcessDefUpdate = preProcessDefUpdate;
193
- // 所有对非 def 类型的 target 的更新都走这里,进来的内部可能有 ref,但不一定顶层是 ref
194
- /**
195
- * @warning: 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
196
- */
197
- const preProcessNonDefAction = (nd) => {
198
- const typerCheckFiles = new Set();
199
- const fileNode = (0, service_1.getFileNode)(nd);
200
- // 一定不能真的去检查实体自动生成(更新)的实体逻辑
201
- if (fileNode && !(0, reference_manager_1.isEntityLogic)(fileNode)) {
202
- typerCheckFiles.add(fileNode);
168
+ const batchPreProcessAllCreateNodes = (env, createNodes, chkFiles) => {
169
+ // 新创建的节点,从 preProcessDefCreation 搬过来的
170
+ // TODO:之后再整理代码
171
+ for (const nd of createNodes) {
172
+ if (reference_manager_2.ReferenceManager.localDefConcept.includes(nd.concept)) {
173
+ continue;
174
+ }
175
+ const nsp = (0, reference_manager_1.getNamespaceWithoutLast)(nd);
176
+ const createdQNames = (0, collect_q_name_1.getQNamesOfCreateAction)(nsp, nd);
177
+ // Try to 'relink' to old defs,仅 relink refs,和建立 QNames,新的 refs 需要检查后再收集
178
+ for (const [qName, def] of createdQNames) {
179
+ env.refMgr.handleDefOp("create" /* Operation.Create */, def, qName);
180
+ }
181
+ /**
182
+ * If there are old refs after relinking, the FileNodes containing these old refs also need type checking.
183
+ * Note that it is not sufficient to check def's references,
184
+ * we must check all the newly added defs' (contained by the root def) references
185
+ */
186
+ pushRefFilesToChkFiles(env, chkFiles, createdQNames.map(([qName]) => qName));
203
187
  }
204
- // non-def的话没有引用,所以不需要再 getDirectRefFileNodes
205
- return {
206
- typerCheckFiles,
207
- typerRemoveNodes: new Set(),
208
- typerCreateNodes: new Set()
209
- };
210
188
  };
211
- exports.preProcessNonDefAction = preProcessNonDefAction;
212
189
  /**
213
190
  * 1. 符号删除
214
191
  * 2. 运行新的类型标注,额外错误诊断
@@ -227,88 +204,23 @@ exports.preProcessNonDefAction = preProcessNonDefAction;
227
204
  * @returns 诊断信息列表
228
205
  */
229
206
  /**
230
- * @warning: 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
207
+ * @warning 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
231
208
  */
232
209
  async function checkUpdateRefsDiag(env, diagnosticManager, chkFiles, removeNodes, createNodes, tsDiagnostics, checkedFiles = new Set()) {
233
- nasl_utils_1.isDebugMode && console.time('\x1b[44m\x1b[97m 1: 按原有类型删除符号引用和类型 \x1b[0m');
234
210
  let diagRecs = [];
235
211
  let removedFiles = new Set(); // 优化:删除的文件不需要检查
236
- // 首先需要删除所有引用,后面移除定义后,删除引用时要么符号找不到,要么要去缓存里找,更麻烦,不如多一次遍历
237
- // TODO: 修复性能问题,没空修
238
- for (const rmNd of removeNodes) {
239
- env.refMgr.removeRefsForGlobalSym(env, rmNd);
240
- /**
241
- * 注意:必须在这里就先删除,不能后面 getFileNode 再从 fileNode 清除
242
- * 因为要么 fileNode 不存在了,要么 fileNode 下已经没有了被删除的节点
243
- * 符号类型:一律删除
244
- **/
245
- env.removeTypes(rmNd);
246
- }
247
- // 全局符号引用:缓存。局部符号引用:删除。
248
- for (const rmNd of removeNodes) {
249
- const ndQName = (0, reference_manager_2.getTokenQualifiedName)(rmNd);
250
- if (reference_manager_2.ReferenceManager.globalDefConcept.includes(rmNd.concept)) {
251
- const nsp = (0, reference_manager_1.getNamespaceWithoutLast)(rmNd);
252
- const qNamesToRemove = (0, remove_q_name_1.getQNamesOfRemoveAction)(nsp, rmNd);
253
- for (const qName of qNamesToRemove) {
254
- // 连根拔起,但缓存
255
- const subDef = env.refMgr.qNameDefs.get(qName);
256
- if (subDef) {
257
- if ((0, file_node_cache_1.checkNodeIsFileModuleInIdeWithCache)(subDef)) {
258
- removedFiles.add(subDef);
259
- // 下面 getDirectRefFileNodes 是不是会给子页面加进去,那这里 removedFiles 也给子页面加进去吧,保险一点……
260
- for (const subView of getSubViews(subDef)) {
261
- removedFiles.add(subView);
262
- }
263
- }
264
- env.refMgr.handleDefOp("delete" /* Operation.Remove */, subDef, qName);
265
- }
266
- }
267
- }
268
- else if (reference_manager_2.ReferenceManager.localDefConcept.includes(rmNd.concept)) {
269
- env.refMgr.removeLocalSymbol(rmNd);
270
- }
271
- else {
272
- env.refMgr.handleRefOp(env, "delete" /* Operation.Remove */, rmNd, ndQName);
273
- }
274
- }
212
+ nasl_utils_1.isDebugMode && console.time('\x1b[44m\x1b[97m 1: 按原有类型删除符号引用和类型 \x1b[0m');
213
+ batchPreProcessAllRemoveNodes(env, removeNodes, chkFiles, removedFiles);
214
+ batchPreProcessAllCreateNodes(env, createNodes, chkFiles);
275
215
  for (const file of removedFiles) {
276
216
  clearSemInfoDiags(env, diagnosticManager, file);
277
217
  }
278
218
  nasl_utils_1.isDebugMode && console.timeEnd('\x1b[44m\x1b[97m 1: 按原有类型删除符号引用和类型 \x1b[0m');
279
- // 新创建的节点,从 preProcessDefCreation 搬过来的
280
- // TODO:之后再整理代码
281
- for (const nd of createNodes) {
282
- if (!reference_manager_2.ReferenceManager.localDefConcept.includes(nd.concept)) {
283
- const nsp = (0, reference_manager_1.getNamespaceWithoutLast)(nd);
284
- const createdQNames = (0, collect_q_name_1.getQNamesOfCreateAction)(nsp, nd);
285
- // Try to 'relink' to old defs
286
- // 仅 relink refs,和建立 QNames,新的 refs 需要检查后再收集
287
- for (const [qName, def] of createdQNames) {
288
- env.refMgr.handleDefOp("create" /* Operation.Create */, def, qName);
289
- /**
290
- * If there are old refs after relinking, the FileNodes containing these old refs also need type checking.
291
- * Note that it is not sufficient to check def's references,
292
- * we must check all the newly added defs' (contained by the root def) references
293
- */
294
- for (const refFileNode of getDirectRefFileNodes(env, def)) {
295
- chkFiles.add(refFileNode);
296
- }
297
- }
298
- }
299
- }
300
219
  let filteredChkFiles = new Set();
301
220
  // 原地修改。删除的文件,引用和报错删除后就不用做什么了。
302
221
  for (const file of (0, set_1.difference)(chkFiles, removedFiles)) {
303
- // 我搞不定了,再说吧……
304
- if (file.concept === 'View') {
305
- if (file.name !== 'departmentManagement' || file.title !== '部门管理') {
306
- !file.nodePath.includes('[-1]') && filteredChkFiles.add(file);
307
- }
308
- }
309
- else {
310
- !file.nodePath.includes('[-1]') && filteredChkFiles.add(file);
311
- }
222
+ // 兜底一下,免得哪里漏处理了导致错误栏刷屏
223
+ !file.nodePath.includes('[-1]') && filteredChkFiles.add(file);
312
224
  }
313
225
  chkFiles = filteredChkFiles;
314
226
  // 全局逻辑先拓扑排序
@@ -477,7 +389,7 @@ const getSubViews = (node) => {
477
389
  const toRaw = (node) => node?.__v_raw ?? node;
478
390
  // Helper function to get the file nodes of direct references. Will never check Entity logics.
479
391
  /**
480
- * @warning: 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
392
+ * @warning 改动这个文件中的逻辑时很容易引发增量检查问题、查找引用问题、内存泄漏,请谨慎;如单元测试 UT 发生错误,更要谨慎
481
393
  */
482
394
  const getDirectRefFileNodes = (env, def) => {
483
395
  const refs = (0, set_1.union)(env.refMgr.getSymbolRefs(def) ?? new Set(), env.refMgr.getImplicitReferences(def));