@lcap/nasl-concepts 3.13.2-rc.5 → 3.14.0-beta.10

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 (166) hide show
  1. package/out/common/BaseNode.d.ts +15 -3
  2. package/out/common/BaseNode.d.ts.map +1 -1
  3. package/out/common/BaseNode.js +111 -21
  4. package/out/common/BaseNode.js.map +1 -1
  5. package/out/concepts/App__.d.ts.map +1 -1
  6. package/out/concepts/App__.js +4 -2
  7. package/out/concepts/App__.js.map +1 -1
  8. package/out/concepts/Argument__.d.ts.map +1 -1
  9. package/out/concepts/Argument__.js.map +1 -1
  10. package/out/concepts/AuthInterface__.d.ts.map +1 -1
  11. package/out/concepts/AuthInterface__.js.map +1 -1
  12. package/out/concepts/BindAttribute__.js +1 -1
  13. package/out/concepts/CallEvent__.d.ts +3 -0
  14. package/out/concepts/CallEvent__.d.ts.map +1 -1
  15. package/out/concepts/CallEvent__.js +13 -0
  16. package/out/concepts/CallEvent__.js.map +1 -1
  17. package/out/concepts/CallFunction__.js +2 -2
  18. package/out/concepts/CallLogic__.d.ts +4 -1
  19. package/out/concepts/CallLogic__.d.ts.map +1 -1
  20. package/out/concepts/CallLogic__.js +28 -4
  21. package/out/concepts/CallLogic__.js.map +1 -1
  22. package/out/concepts/CallQueryComponent__.d.ts +1 -1
  23. package/out/concepts/Connection__.d.ts +1 -0
  24. package/out/concepts/Connection__.d.ts.map +1 -1
  25. package/out/concepts/Connection__.js +3 -0
  26. package/out/concepts/Connection__.js.map +1 -1
  27. package/out/concepts/DataSource__.js +1 -1
  28. package/out/concepts/DataSource__.js.map +1 -1
  29. package/out/concepts/DefaultValue__.d.ts +1 -0
  30. package/out/concepts/DefaultValue__.d.ts.map +1 -1
  31. package/out/concepts/DefaultValue__.js +12 -1
  32. package/out/concepts/DefaultValue__.js.map +1 -1
  33. package/out/concepts/Entity__.d.ts.map +1 -1
  34. package/out/concepts/Entity__.js.map +1 -1
  35. package/out/concepts/EnumItem__.d.ts +2 -0
  36. package/out/concepts/EnumItem__.d.ts.map +1 -1
  37. package/out/concepts/EnumItem__.js +23 -0
  38. package/out/concepts/EnumItem__.js.map +1 -1
  39. package/out/concepts/Enum__.d.ts +1 -0
  40. package/out/concepts/Enum__.d.ts.map +1 -1
  41. package/out/concepts/Enum__.js +11 -0
  42. package/out/concepts/Enum__.js.map +1 -1
  43. package/out/concepts/FrontendVariable__.d.ts.map +1 -1
  44. package/out/concepts/FrontendVariable__.js.map +1 -1
  45. package/out/concepts/Frontend__.d.ts +1 -1
  46. package/out/concepts/Frontend__.d.ts.map +1 -1
  47. package/out/concepts/Frontend__.js +5 -3
  48. package/out/concepts/Frontend__.js.map +1 -1
  49. package/out/concepts/Identifier__.d.ts +2 -1
  50. package/out/concepts/Identifier__.d.ts.map +1 -1
  51. package/out/concepts/Identifier__.js +1 -1
  52. package/out/concepts/Identifier__.js.map +1 -1
  53. package/out/concepts/InterfaceParam__.d.ts +1 -0
  54. package/out/concepts/InterfaceParam__.d.ts.map +1 -1
  55. package/out/concepts/InterfaceParam__.js.map +1 -1
  56. package/out/concepts/Interface__.d.ts +1 -0
  57. package/out/concepts/Interface__.d.ts.map +1 -1
  58. package/out/concepts/Interface__.js +12 -1
  59. package/out/concepts/Interface__.js.map +1 -1
  60. package/out/concepts/Logic__.d.ts +3 -0
  61. package/out/concepts/Logic__.d.ts.map +1 -1
  62. package/out/concepts/Logic__.js +18 -0
  63. package/out/concepts/Logic__.js.map +1 -1
  64. package/out/concepts/Match__.d.ts +1 -0
  65. package/out/concepts/Match__.d.ts.map +1 -1
  66. package/out/concepts/Match__.js +24 -15
  67. package/out/concepts/Match__.js.map +1 -1
  68. package/out/concepts/Module__.d.ts.map +1 -1
  69. package/out/concepts/Module__.js +0 -17
  70. package/out/concepts/Module__.js.map +1 -1
  71. package/out/concepts/Param__.d.ts +2 -0
  72. package/out/concepts/Param__.d.ts.map +1 -1
  73. package/out/concepts/Param__.js +12 -1
  74. package/out/concepts/Param__.js.map +1 -1
  75. package/out/concepts/QueryFieldExpression__.d.ts +4 -0
  76. package/out/concepts/QueryFieldExpression__.d.ts.map +1 -1
  77. package/out/concepts/QueryFieldExpression__.js +6 -0
  78. package/out/concepts/QueryFieldExpression__.js.map +1 -1
  79. package/out/concepts/QueryFromExpression__.d.ts.map +1 -1
  80. package/out/concepts/QueryFromExpression__.js +1 -6
  81. package/out/concepts/QueryFromExpression__.js.map +1 -1
  82. package/out/concepts/QueryJoinExpression__.d.ts.map +1 -1
  83. package/out/concepts/QueryJoinExpression__.js +1 -6
  84. package/out/concepts/QueryJoinExpression__.js.map +1 -1
  85. package/out/concepts/Return__.d.ts +1 -0
  86. package/out/concepts/Return__.d.ts.map +1 -1
  87. package/out/concepts/Return__.js +12 -1
  88. package/out/concepts/Return__.js.map +1 -1
  89. package/out/concepts/StringInterpolation__.js +2 -2
  90. package/out/concepts/StructureProperty__.d.ts +5 -1
  91. package/out/concepts/StructureProperty__.d.ts.map +1 -1
  92. package/out/concepts/StructureProperty__.js +15 -2
  93. package/out/concepts/StructureProperty__.js.map +1 -1
  94. package/out/concepts/Structure__.d.ts +1 -0
  95. package/out/concepts/Structure__.d.ts.map +1 -1
  96. package/out/concepts/Structure__.js +12 -1
  97. package/out/concepts/Structure__.js.map +1 -1
  98. package/out/concepts/TypeAnnotation__.d.ts +47 -4
  99. package/out/concepts/TypeAnnotation__.d.ts.map +1 -1
  100. package/out/concepts/TypeAnnotation__.js +86 -10
  101. package/out/concepts/TypeAnnotation__.js.map +1 -1
  102. package/out/concepts/TypeParam__.d.ts +6 -0
  103. package/out/concepts/TypeParam__.d.ts.map +1 -1
  104. package/out/concepts/TypeParam__.js +15 -1
  105. package/out/concepts/TypeParam__.js.map +1 -1
  106. package/out/concepts/Variable__.d.ts +1 -0
  107. package/out/concepts/Variable__.d.ts.map +1 -1
  108. package/out/concepts/Variable__.js +11 -0
  109. package/out/concepts/Variable__.js.map +1 -1
  110. package/out/concepts/View__.d.ts +1 -1
  111. package/out/concepts/View__.d.ts.map +1 -1
  112. package/out/concepts/View__.js +10 -12
  113. package/out/concepts/View__.js.map +1 -1
  114. package/out/index.d.ts +2 -1
  115. package/out/index.d.ts.map +1 -1
  116. package/out/index.js +10 -1
  117. package/out/index.js.map +1 -1
  118. package/out/semantics/localVarCollector.d.ts +11 -5
  119. package/out/semantics/localVarCollector.d.ts.map +1 -1
  120. package/out/semantics/localVarCollector.js +75 -5
  121. package/out/semantics/localVarCollector.js.map +1 -1
  122. package/out/semantics/semanticData.d.ts +22 -21
  123. package/out/semantics/semanticData.d.ts.map +1 -1
  124. package/out/semantics/semanticData.js +142 -224
  125. package/out/semantics/semanticData.js.map +1 -1
  126. package/out/service/annotation.d.ts +2 -8
  127. package/out/service/annotation.d.ts.map +1 -1
  128. package/out/service/annotation.js +1 -99
  129. package/out/service/annotation.js.map +1 -1
  130. package/out/service/file-module.d.ts +59 -0
  131. package/out/service/file-module.d.ts.map +1 -0
  132. package/out/service/file-module.js +341 -0
  133. package/out/service/file-module.js.map +1 -0
  134. package/out/service/formatTsUtils.d.ts +2 -2
  135. package/out/service/formatTsUtils.d.ts.map +1 -1
  136. package/out/service/formatTsUtils.js +43 -49
  137. package/out/service/formatTsUtils.js.map +1 -1
  138. package/out/service/genSlotVarRef.d.ts +4 -1
  139. package/out/service/genSlotVarRef.d.ts.map +1 -1
  140. package/out/service/genSlotVarRef.js +22 -12
  141. package/out/service/genSlotVarRef.js.map +1 -1
  142. package/out/service/getConnector.d.ts.map +1 -1
  143. package/out/service/getConnector.js +2 -9
  144. package/out/service/getConnector.js.map +1 -1
  145. package/out/service/getLogics.d.ts.map +1 -1
  146. package/out/service/getLogics.js +1 -0
  147. package/out/service/getLogics.js.map +1 -1
  148. package/out/service/getMemberIdentifier.d.ts +0 -1
  149. package/out/service/getMemberIdentifier.d.ts.map +1 -1
  150. package/out/service/getMemberIdentifier.js +19 -37
  151. package/out/service/getMemberIdentifier.js.map +1 -1
  152. package/out/service/getProcessesV2.js +2 -2
  153. package/out/service/getProcessesV2.js.map +1 -1
  154. package/out/service/index.d.ts +2 -0
  155. package/out/service/index.d.ts.map +1 -1
  156. package/out/service/index.js +2 -0
  157. package/out/service/index.js.map +1 -1
  158. package/out/service/transform.d.ts +2 -2
  159. package/out/service/transform.js +3 -3
  160. package/out/utils/node.d.ts +6 -1
  161. package/out/utils/node.d.ts.map +1 -1
  162. package/out/utils/node.js +56 -1
  163. package/out/utils/node.js.map +1 -1
  164. package/out/utils/traverse.js +1 -1
  165. package/out/utils/traverse.js.map +1 -1
  166. package/package.json +5 -5
@@ -19,190 +19,61 @@ class SemanticData {
19
19
  // Collect all params, (local) variables, and logic names under views
20
20
  // Actually, frontendGlobalVars U idInView U idInComponent should be the complete set of accessible variables
21
21
  // 事实上,frontendGlobalVars 并上 idInView 并上 idInComponent 应该是前端所有能访问到的变量(名的集合)
22
+ isInViewOrComponent: false,
23
+ isInPlayground: false,
24
+ memExprToViewElem: new Map(),
25
+ idToView: new Map(),
26
+ idToViewElem: new Map(),
27
+ idToBsComponent: new Map(),
28
+ idToCallLogic: new Map(),
29
+ idToFrontendType: new Map(),
30
+ idToCallQueryComponent: new Map(),
31
+ };
32
+ this.scopeCtx = {
22
33
  // 路径上的 ViewElement 节点
23
34
  ctxViewElement: [],
24
35
  // 路径上的 View 节点
25
36
  ctxView: [],
26
37
  ctxBsComponent: [],
27
- ctxCallLogic: [],
28
38
  ctxFrontendType: null,
29
39
  ctxCallQueryComponent: null,
30
- // 赫基 27w 应用,前端 View 下有 2000 个变量名字;56176 个变量引用,内存占用约 1M。
31
- idToView: new Map(),
32
- idToViewElem: new Map(),
33
- idToBsComponent: new Map(),
34
- idToCallLogic: new Map(),
35
- idToFrontendType: new Map(),
36
- idToCallQueryComponent: new Map(),
37
- isInViewOrComponent: false,
38
- isInPlayground: false,
39
- memExprToViewElem: new Map(),
40
+ ctxCallLogic: [],
40
41
  };
42
+ this.callLogicCtx = {
43
+ callLogicToView: new Map(),
44
+ callLogicToBsComponent: new Map(),
45
+ };
46
+ // ViewElement.name -> ViewElement
47
+ this.viewElementCache = new Map();
41
48
  this.tyInferCtx = {
42
49
  inferViaAsgnMap: new Map(),
43
50
  inferViaFnCallMap: new Map(),
44
51
  scope: [],
45
52
  capturedVars: new Map(),
46
53
  };
47
- this.bindAttrHasTsFile = new Set();
48
- // global、page、bind、event、process……
49
- // allLogics: Set<Logic> = new Set();
50
- /*
51
- 返回类型依赖的计算方式:
52
- logicA body:
53
- calls logicB &&
54
- logicB.return && !logicB.return.typeAnnotation &&
55
- logicB calls logicC logicD ...
56
-
57
- then build map:
58
-
59
- logicA -> [logicC, logicD]
60
-
61
- hints: logicB 的返回类型由某些复杂的传递关系算出,可能会涉及到 logicC、logicD 的返回类型,如 x = logicC(); result = x
62
- 就不做更细致的分析了
63
- */
64
- this.calcIndRetDepMap = (fns) => {
65
- // 存储直接依赖关系
66
- const directDeps = new Map();
67
- // 建立粗粒度调用图
68
- function buildCallGraph(fns) {
69
- const m = new Map;
70
- fns.forEach(fn => {
71
- fn.body.forEach(node => {
72
- node.traverseStrictChildren(nd => {
73
- if (nd.concept === 'CallLogic' &&
74
- !(['jsonSerialize', 'jsonDeserialize'].includes(nd.calleeName))) {
75
- const calledFn = nd.getCallNode();
76
- if (calledFn) {
77
- if (m.get(fn)) {
78
- m.get(fn).add(calledFn);
79
- }
80
- else {
81
- m.set(fn, new Set([calledFn]));
82
- }
83
- }
84
- }
85
- });
86
- });
87
- });
88
- return m;
89
- }
90
- const callGraph = buildCallGraph(fns);
91
- // 第一步:仅建立第一层间接依赖关系(间接依赖的直接依赖)
92
- // 遍历函数体找到所有调用
93
- callGraph.forEach((calledFns, fn) => {
94
- const deps = new Set();
95
- calledFns.forEach(calledFn => {
96
- if (!calledFn.returns?.[0]) {
97
- return;
98
- }
99
- // 被调用函数是否有显式返回类型,则不考虑
100
- if (calledFn.returns[0].typeAnnotation) {
101
- return;
102
- }
103
- // 被调用函数中的(二级)函数调用
104
- const callNodes = callGraph.get(calledFn); // 有些内置的东西,没有定义,自然也没有调用别的函数了
105
- callNodes && callNodes.forEach(c => {
106
- if (c !== fn && c.returns?.[0]) {
107
- deps.add(c);
108
- }
109
- });
110
- });
111
- if (deps.size > 0) {
112
- directDeps.set(fn, deps);
113
- }
114
- });
115
- const result = directDeps;
116
- // Floyd-Warshall 算法计算传递闭包
117
- for (const fn of fns) {
118
- if (!fn.returns?.[0]) {
119
- continue;
120
- }
121
- if (fn.returns[0].typeAnnotation) { // 只考虑返回类型是推导的函数
122
- continue;
123
- }
124
- for (const [lgc, iDeps] of result) {
125
- if (!iDeps.has(fn)) {
126
- continue;
127
- }
128
- const kDeps = callGraph.get(fn);
129
- if (kDeps?.size > 0) {
130
- for (const dep of kDeps) {
131
- if (!dep.returns?.[0]) {
132
- continue;
133
- }
134
- if (!dep.returns[0].typeAnnotation) {
135
- dep !== lgc && iDeps.add(dep);
136
- }
137
- }
138
- }
139
- }
140
- }
141
- return result;
142
- };
143
- // 我被改了后,我影响谁
144
- this.calcIndRetDepRevMap = (m) => {
145
- const result = new Map();
146
- for (const [fn, deps] of m) {
147
- for (const dep of deps) {
148
- if (!result.has(dep)) {
149
- result.set(dep, new Set());
150
- }
151
- result.get(dep)?.add(fn);
152
- }
153
- }
154
- return result;
155
- };
156
- this.printIndRetDepMap = (indRetDepMap) => {
157
- indRetDepMap.forEach((deps, fn) => {
158
- console.log(`Function ${fn.name} depends on:`);
159
- deps.forEach(dep => console.log(` ${dep.name}`));
160
- });
161
- };
162
- this.updateDirtyIndRetDeps = (nd) => {
163
- this.dirtyIndRetDeps.delete(nd);
164
- this.indRetDepRevMap.get(nd)?.forEach(dep => this.dirtyIndRetDeps.add(dep));
165
- };
166
- this.calcAndSaveIndRetDepAndRevMap = (fns) => {
167
- nasl_utils_1.isDebugMode && console.time('扫描返回类型间接依赖');
168
- // @ts-ignore
169
- this.indRetDepMap = this.calcIndRetDepMap(fns);
170
- this.indRetDepRevMap = this.calcIndRetDepRevMap(this.indRetDepMap);
171
- nasl_utils_1.isDebugMode && console.timeEnd('扫描返回类型间接依赖');
172
- nasl_utils_1.isDebugMode && (this.printIndRetDepMap(this.indRetDepMap));
173
- };
174
- this.indRetDepMap = new Map();
175
- this.indRetDepRevMap = new Map();
176
- this.dirtyIndRetDeps = new Set();
177
- this.replaceAndUpdateAllIndirectDependencies = (m) => {
178
- nasl_utils_1.isDebugMode && console.time('更新返回类型间接依赖');
179
- this.indRetDepMap = m;
180
- this.indRetDepRevMap = this.calcIndRetDepRevMap(m);
181
- this.dirtyIndRetDeps.clear();
182
- nasl_utils_1.isDebugMode && console.timeEnd('更新返回类型间接依赖');
183
- };
184
54
  this.subLogicCtx = {
185
55
  ctx: null, // 当前逻辑
186
56
  tmpSubLogics: new Set(), // 隶属于 view 的 SubLogic,需要排除掉隶属于 Logic 的 SubLogic。
187
57
  };
188
- this.dirtyViewId = null;
189
58
  this.collectAllSemanticCtx = (app) => {
190
59
  this.isFirstScreen = true;
191
60
  const tasks = [
61
+ this.collectScopeCtxTask.bind(this),
192
62
  this.collectIdCtxTask.bind(this),
63
+ this.collectCallLogicCtxTask.bind(this),
64
+ this.collectViewElementCacheTask.bind(this),
193
65
  this.collectSubLogicCtxTask.bind(this),
194
66
  this.collectTyInferCtxTask.bind(this),
195
67
  this.collectNaslNodesCountTask.bind(this),
196
- // this.collectAllLogicTask.bind(this), // 先不加前端逻辑、流程逻辑试试
197
68
  ];
198
69
  const cleanups = [
199
- this.collectIdCtxCleanup.bind(this),
200
- this.collectSubLogicCtxCleanup.bind(this),
70
+ this.scopeCtxCleanup.bind(this),
71
+ // this.collectIdCtxCleanup.bind(this),
72
+ this.subLogicCtxCleanup.bind(this),
201
73
  this.collectTyInferCtxCleanup.bind(this)
202
74
  ];
203
75
  (0, nasl_utils_1.runGeneratorSync)(this.collectFrontendVariablesTask(app));
204
76
  (0, nasl_utils_1.runGeneratorSync)(app.traverseStrictChildrenDoMultiTasks(tasks, cleanups));
205
- this.isFirstScreen = false;
206
77
  };
207
78
  this.clearSemanticData = () => {
208
79
  this.varScopeCtx.frontendGlobalVars.clear();
@@ -212,12 +83,12 @@ class SemanticData {
212
83
  this.varScopeCtx.idToCallLogic.clear();
213
84
  this.varScopeCtx.idToFrontendType.clear();
214
85
  this.varScopeCtx.idToCallQueryComponent.clear();
215
- this.varScopeCtx.ctxViewElement = [];
216
- this.varScopeCtx.ctxView = [];
217
- this.varScopeCtx.ctxBsComponent = [];
218
- this.varScopeCtx.ctxCallLogic = [];
219
- this.varScopeCtx.ctxFrontendType = null;
220
- this.varScopeCtx.ctxCallQueryComponent = null;
86
+ this.scopeCtx.ctxViewElement = [];
87
+ this.scopeCtx.ctxView = [];
88
+ this.scopeCtx.ctxBsComponent = [];
89
+ this.scopeCtx.ctxCallLogic = [];
90
+ this.scopeCtx.ctxFrontendType = null;
91
+ this.scopeCtx.ctxCallQueryComponent = null;
221
92
  this.varScopeCtx.memExprToViewElem.clear();
222
93
  this.tyInferCtx.inferViaAsgnMap.clear();
223
94
  this.tyInferCtx.inferViaFnCallMap.clear();
@@ -225,6 +96,9 @@ class SemanticData {
225
96
  this.tyInferCtx.capturedVars.clear();
226
97
  this.subLogicCtx.tmpSubLogics.clear();
227
98
  this.subLogicCtx.ctx = null;
99
+ this.callLogicCtx.callLogicToView.clear();
100
+ this.callLogicCtx.callLogicToBsComponent.clear();
101
+ this.viewElementCache.clear();
228
102
  };
229
103
  // only for debug use
230
104
  // 不调用 printSemanticDataInfo 就不会打印出来
@@ -245,12 +119,16 @@ class SemanticData {
245
119
  static { this.last = (arr) => arr[arr.length - 1]; }
246
120
  *updateSemanticCtxAsPer(nd) {
247
121
  const tasks = [
122
+ this.collectScopeCtxTask.bind(this),
248
123
  this.collectIdCtxTask.bind(this),
124
+ this.collectCallLogicCtxTask.bind(this),
125
+ this.collectViewElementCacheTask.bind(this),
249
126
  // this.collectSubLogicCtxTask.bind(this),
250
127
  // this.collectTyInferCtxTask.bind(this) // 这里触发的话内存地址好像有点问题,几万个报错。先由各 concept.ts 文件里对 reCollectTyInferCtx 的调用触发
251
128
  ];
252
129
  const cleanups = [
253
- this.collectIdCtxCleanup.bind(this),
130
+ this.scopeCtxCleanup.bind(this),
131
+ // this.collectIdCtxCleanup.bind(this),
254
132
  // this.collectSubLogicCtxCleanup.bind(this),
255
133
  // this.collectTyInferCtxCleanup.bind(this)
256
134
  ];
@@ -267,94 +145,125 @@ class SemanticData {
267
145
  });
268
146
  });
269
147
  }
270
- // *collectAllLogicTask(nd: SyntaxNode) {
271
- // switch (nd.concept) {
272
- // case 'Logic':
273
- // case 'BusinessLogic':
274
- // case 'ConnectorLogic':
275
- // case 'AuthLogic':
276
- // this.allLogics.add(nd); break;
277
- // default: break;
278
- // }
279
- // }
280
- // 收集 id 的所有上下文信息
281
- *collectIdCtxTask(nd) {
148
+ // 收集公共的上下文信息
149
+ *collectScopeCtxTask(nd) {
282
150
  switch (nd.concept) {
151
+ case 'CallLogic':
152
+ case 'CallConnector': // @ts-expect-error
153
+ case 'CallConnectorObject':
154
+ this.scopeCtx.ctxCallLogic.push(nd);
155
+ break;
156
+ case 'ViewElement':
157
+ this.scopeCtx.ctxViewElement.push(nd);
158
+ break;
283
159
  case 'View':
284
- this.varScopeCtx.ctxView.push(nd);
160
+ this.scopeCtx.ctxView.push(nd);
161
+ break;
162
+ case 'BusinessComponent':
163
+ this.scopeCtx.ctxBsComponent.push(nd);
164
+ break;
165
+ case 'CallQueryComponent':
166
+ this.scopeCtx.ctxCallQueryComponent = nd;
167
+ break;
168
+ case 'FrontendType':
169
+ this.scopeCtx.ctxFrontendType = nd;
170
+ break;
171
+ default: break;
172
+ }
173
+ }
174
+ // 清理公共的上下文信息
175
+ *scopeCtxCleanup(nd) {
176
+ switch (nd.concept) {
177
+ // @ts-ignore
178
+ case 'View':
179
+ this.scopeCtx.ctxView.pop();
285
180
  break;
286
181
  case 'ViewElement':
287
- this.varScopeCtx.ctxViewElement.push(nd);
182
+ this.scopeCtx.ctxViewElement.pop();
288
183
  break;
289
184
  case 'BusinessComponent':
290
- this.varScopeCtx.ctxBsComponent.push(nd);
185
+ this.scopeCtx.ctxBsComponent.pop();
291
186
  break;
292
187
  case 'CallLogic':
293
- this.varScopeCtx.ctxCallLogic.push(nd);
188
+ this.scopeCtx.ctxCallLogic.pop();
294
189
  break;
295
190
  case 'FrontendType':
296
- this.varScopeCtx.ctxFrontendType = nd;
191
+ this.scopeCtx.ctxFrontendType = null;
297
192
  break;
298
193
  case 'CallQueryComponent':
299
- this.varScopeCtx.ctxCallQueryComponent = nd;
194
+ this.scopeCtx.ctxCallQueryComponent = null;
300
195
  break;
196
+ default: break;
197
+ }
198
+ }
199
+ // 收集 id 的上下文信息
200
+ *collectIdCtxTask(nd) {
201
+ switch (nd.concept) {
301
202
  case 'Identifier': {
302
- if (this.varScopeCtx.ctxView.length > 0) {
303
- this.varScopeCtx.idToView.set(nd, SemanticData.last(this.varScopeCtx.ctxView));
203
+ if (this.scopeCtx.ctxView.length > 0) {
204
+ this.varScopeCtx.idToView.set(nd, SemanticData.last(this.scopeCtx.ctxView));
304
205
  }
305
- if (this.varScopeCtx.ctxViewElement.length > 0) {
306
- this.varScopeCtx.idToViewElem.set(nd, SemanticData.last(this.varScopeCtx.ctxViewElement));
206
+ if (this.scopeCtx.ctxViewElement.length > 0) {
207
+ this.varScopeCtx.idToViewElem.set(nd, SemanticData.last(this.scopeCtx.ctxViewElement));
307
208
  }
308
- if (this.varScopeCtx.ctxBsComponent.length > 0) {
309
- this.varScopeCtx.idToBsComponent.set(nd, SemanticData.last(this.varScopeCtx.ctxBsComponent));
209
+ if (this.scopeCtx.ctxBsComponent.length > 0) {
210
+ this.varScopeCtx.idToBsComponent.set(nd, SemanticData.last(this.scopeCtx.ctxBsComponent));
310
211
  }
311
- if (this.varScopeCtx.ctxCallLogic.length > 0) {
312
- this.varScopeCtx.idToCallLogic.set(nd, SemanticData.last(this.varScopeCtx.ctxCallLogic));
212
+ if (this.scopeCtx.ctxCallLogic.length > 0) {
213
+ this.varScopeCtx.idToCallLogic.set(nd, SemanticData.last(this.scopeCtx.ctxCallLogic));
313
214
  }
314
- if (this.varScopeCtx.ctxFrontendType) {
315
- this.varScopeCtx.idToFrontendType.set(nd, this.varScopeCtx.ctxFrontendType);
215
+ if (this.scopeCtx.ctxFrontendType) {
216
+ this.varScopeCtx.idToFrontendType.set(nd, this.scopeCtx.ctxFrontendType);
316
217
  }
317
- if (this.varScopeCtx.ctxCallQueryComponent) {
318
- this.varScopeCtx.idToCallQueryComponent.set(nd, this.varScopeCtx.ctxCallQueryComponent);
218
+ if (this.scopeCtx.ctxCallQueryComponent) {
219
+ this.varScopeCtx.idToCallQueryComponent.set(nd, this.scopeCtx.ctxCallQueryComponent);
319
220
  }
320
221
  // @ts-ignore
321
222
  if (!nd.__v_raw) {
322
223
  break;
323
224
  }
324
225
  // @ts-ignore
325
- this.varScopeCtx.idToView.set(nd.__v_raw, SemanticData.last(this.varScopeCtx.ctxView)); // @ts-ignore
326
- this.varScopeCtx.idToViewElem.set(nd.__v_raw, SemanticData.last(this.varScopeCtx.ctxViewElement)); // @ts-ignore
327
- this.varScopeCtx.idToBsComponent.set(nd.__v_raw, SemanticData.last(this.varScopeCtx.ctxBsComponent)); // @ts-ignore
328
- this.varScopeCtx.idToCallLogic.set(nd.__v_raw, SemanticData.last(this.varScopeCtx.ctxCallLogic)); // @ts-ignore
329
- this.varScopeCtx.idToFrontendType.set(nd.__v_raw, this.varScopeCtx.ctxFrontendType); // @ts-ignore
330
- this.varScopeCtx.idToCallQueryComponent.set(nd.__v_raw, this.varScopeCtx.ctxCallQueryComponent); // @ts-ignore
226
+ this.varScopeCtx.idToView.set(nd.__v_raw, SemanticData.last(this.scopeCtx.ctxView)); // @ts-ignore
227
+ this.varScopeCtx.idToViewElem.set(nd.__v_raw, SemanticData.last(this.scopeCtx.ctxViewElement)); // @ts-ignore
228
+ this.varScopeCtx.idToBsComponent.set(nd.__v_raw, SemanticData.last(this.scopeCtx.ctxBsComponent)); // @ts-ignore
229
+ this.varScopeCtx.idToCallLogic.set(nd.__v_raw, SemanticData.last(this.scopeCtx.ctxCallLogic)); // @ts-ignore
230
+ this.varScopeCtx.idToFrontendType.set(nd.__v_raw, this.scopeCtx.ctxFrontendType); // @ts-ignore
231
+ this.varScopeCtx.idToCallQueryComponent.set(nd.__v_raw, this.scopeCtx.ctxCallQueryComponent); // @ts-ignore
331
232
  break;
332
233
  }
333
234
  default: break;
334
235
  }
335
236
  }
336
- // 清理 id 的上下文信息
337
- *collectIdCtxCleanup(nd) {
237
+ // 收集逻辑的上下文信息
238
+ *collectCallLogicCtxTask(nd) {
338
239
  switch (nd.concept) {
339
- // @ts-ignore
340
- case 'View':
341
- this.varScopeCtx.ctxView.pop();
342
- break;
343
- case 'ViewElement':
344
- this.varScopeCtx.ctxViewElement.pop();
345
- break;
346
- case 'BusinessComponent':
347
- this.varScopeCtx.ctxBsComponent.pop();
348
- break;
349
- case 'CallLogic':
350
- this.varScopeCtx.ctxCallLogic.pop();
351
- break;
352
- case 'FrontendType':
353
- this.varScopeCtx.ctxFrontendType = null;
240
+ case 'CallLogic': {
241
+ if (this.scopeCtx.ctxView.length) {
242
+ this.callLogicCtx.callLogicToView.set(nd, SemanticData.last(this.scopeCtx.ctxView));
243
+ }
244
+ if (this.scopeCtx.ctxBsComponent.length) {
245
+ this.callLogicCtx.callLogicToBsComponent.set(nd, SemanticData.last(this.scopeCtx.ctxBsComponent));
246
+ }
247
+ // @ts-ignore
248
+ if (!nd.__v_raw) {
249
+ break;
250
+ }
251
+ // @ts-ignore
252
+ this.callLogicCtx.callLogicToView.set(nd.__v_raw, SemanticData.last(this.scopeCtx.ctxView)); // @ts-ignore
253
+ this.callLogicCtx.callLogicToBsComponent.set(nd.__v_raw, SemanticData.last(this.scopeCtx.ctxBsComponent)); // @ts-ignore
354
254
  break;
355
- case 'CallQueryComponent':
356
- this.varScopeCtx.ctxCallQueryComponent = null;
255
+ }
256
+ default: break;
257
+ }
258
+ }
259
+ *collectViewElementCacheTask(nd) {
260
+ switch (nd.concept) {
261
+ case 'ViewElement': {
262
+ this.viewElementCache.set(nd.name, nd);
263
+ // @ts-ignore
264
+ nd.__v_raw && this.viewElementCache.set(nd.name, nd.__v_raw);
357
265
  break;
266
+ }
358
267
  default: break;
359
268
  }
360
269
  }
@@ -387,7 +296,7 @@ class SemanticData {
387
296
  default: break;
388
297
  }
389
298
  }
390
- *collectSubLogicCtxCleanup(nd) {
299
+ *subLogicCtxCleanup(nd) {
391
300
  switch (nd.concept) {
392
301
  /* 流程支持子逻辑 */
393
302
  /* 流程变量不支持类型推导 */
@@ -564,38 +473,43 @@ class SemanticData {
564
473
  processNode(expr?.name, nd);
565
474
  }
566
475
  }
567
- redirectSlowGetters(app, varScopeCtx) {
476
+ redirectSlowGetters(app) {
477
+ const self = this;
568
478
  Object.defineProperty(index_1.BaseNode.prototype, 'app', {
569
479
  get() { return app; },
570
480
  configurable: true,
571
481
  });
482
+ Object.defineProperty(index_1.CallLogic.prototype, 'likeComponent', {
483
+ get() { return self.callLogicCtx.callLogicToView.get(this) ?? self.callLogicCtx.callLogicToBsComponent.get(this); },
484
+ configurable: true,
485
+ });
572
486
  Object.defineProperties(index_1.Identifier.prototype, {
573
487
  isFrontendVariables: {
574
- get() { return varScopeCtx.frontendGlobalVars.has(`${this.namespace}.${this.name}`); },
488
+ get() { return self.varScopeCtx.frontendGlobalVars.has(`${this.namespace}.${this.name}`); },
575
489
  configurable: true,
576
490
  },
577
491
  view: {
578
- get() { return varScopeCtx.idToView.get(this); },
492
+ get() { return self.varScopeCtx.idToView.get(this); },
579
493
  configurable: true,
580
494
  },
581
495
  viewElement: {
582
- get() { return varScopeCtx.idToViewElem.get(this); },
496
+ get() { return self.varScopeCtx.idToViewElem.get(this); },
583
497
  configurable: true,
584
498
  },
585
499
  businessComponent: {
586
- get() { return varScopeCtx.idToBsComponent.get(this); },
500
+ get() { return self.varScopeCtx.idToBsComponent.get(this); },
587
501
  configurable: true,
588
502
  },
589
503
  callLogic: {
590
- get() { return varScopeCtx.idToCallLogic.get(this); },
504
+ get() { return self.varScopeCtx.idToCallLogic.get(this); },
591
505
  configurable: true,
592
506
  },
593
507
  frontendType: {
594
- get() { return varScopeCtx.idToFrontendType.get(this); },
508
+ get() { return self.varScopeCtx.idToFrontendType.get(this); },
595
509
  configurable: true,
596
510
  },
597
511
  callQueryComponent: {
598
- get() { return varScopeCtx.idToCallQueryComponent.get(this); },
512
+ get() { return self.varScopeCtx.idToCallQueryComponent.get(this); },
599
513
  configurable: true,
600
514
  },
601
515
  });
@@ -605,6 +519,10 @@ class SemanticData {
605
519
  get() { return this.getAncestor('App'); },
606
520
  configurable: true,
607
521
  });
522
+ Object.defineProperty(index_1.CallLogic.prototype, 'likeComponent', {
523
+ get() { return this.view || this?.getAncestor('BusinessComponent'); },
524
+ configurable: true,
525
+ });
608
526
  Object.defineProperties(index_1.Identifier.prototype, {
609
527
  isFrontendVariables: {
610
528
  get() {
@@ -1 +1 @@
1
- {"version":3,"file":"semanticData.js","sourceRoot":"","sources":["../../src/semantics/semanticData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semanticData.js","sourceRoot":"","sources":["../../src/semantics/semanticData.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,5 @@
1
- import { type App, type SyntaxNode } from '../concepts';
2
- import type { Embedded, NASLObject } from '@lcap/nasl-types';
3
- /**
4
- * 从 Nasl 中生成文件节点列表
5
- *
6
- * @description 这里的模块,严格对应到单个 TS 文件
7
- */
8
- export declare function getFileNodesByNasl(app: App): Embedded.FileNode<SyntaxNode>[];
1
+ import { type SyntaxNode } from '../concepts';
2
+ import type { NASLObject } from '@lcap/nasl-types';
9
3
  /**
10
4
  * 不需要标注的节点
11
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"annotation.d.ts","sourceRoot":"","sources":["../../src/service/annotation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,GAAG,EAGR,KAAK,UAAU,EAKhB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA6H7D;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,mCAe1C;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,UAAU,WAQ9D;AAED,kBAAkB;AAClB,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,UAAU,WAOlE;AAUD,wBAAwB;AACxB,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,WAW/C;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;AACzH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;AAoC3I;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC,gBAAgB;;;EAsBlF"}
1
+ {"version":3,"file":"annotation.d.ts","sourceRoot":"","sources":["../../src/service/annotation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EAGhB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAKnD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,UAAU,WAQ9D;AAED,kBAAkB;AAClB,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,UAAU,WAOlE;AAUD,wBAAwB;AACxB,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,WAW/C;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;AACzH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC;AAoC3I;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC,gBAAgB;;;EAsBlF"}