@lcap/nasl 3.8.3-beta.4 → 3.8.3-beta.6
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.
- package/out/common/BaseNode.d.ts +9 -4
- package/out/common/BaseNode.js +73 -18
- package/out/common/BaseNode.js.map +1 -1
- package/out/common/utils.d.ts +5 -1
- package/out/common/utils.js +188 -6
- package/out/common/utils.js.map +1 -1
- package/out/concepts/App__.js +17 -13
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/AuthLogicForCallInterface__.js +2 -50
- package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
- package/out/concepts/BusinessComponent__.js +2 -42
- package/out/concepts/BusinessComponent__.js.map +1 -1
- package/out/concepts/BusinessLogic__.js +2 -50
- package/out/concepts/BusinessLogic__.js.map +1 -1
- package/out/concepts/CallFunction__.d.ts +1 -1
- package/out/concepts/CallFunction__.js +1 -1
- package/out/concepts/CallLogic__.js +2 -2
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts +2 -0
- package/out/concepts/Identifier__.js +51 -5
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/Logic__.js +6 -101
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +1 -1
- package/out/concepts/MemberExpression__.js +15 -3
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/OqlQueryComponent__.d.ts +0 -1
- package/out/concepts/OqlQueryComponent__.js +0 -70
- package/out/concepts/OqlQueryComponent__.js.map +1 -1
- package/out/concepts/OverriddenLogic__.js +2 -50
- package/out/concepts/OverriddenLogic__.js.map +1 -1
- package/out/concepts/ProcessElementV2__.js +4 -0
- package/out/concepts/ProcessElementV2__.js.map +1 -1
- package/out/concepts/ProcessElement__.js +4 -0
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessV2__.js +4 -0
- package/out/concepts/ProcessV2__.js.map +1 -1
- package/out/concepts/Process__.js +4 -0
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/SubLogic__.js +5 -50
- package/out/concepts/SubLogic__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.js +1 -1
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/View__.js +10 -49
- package/out/concepts/View__.js.map +1 -1
- package/out/generator/genBundleFiles.js +5 -5
- package/out/generator/permission.js +21 -5
- package/out/generator/permission.js.map +1 -1
- package/out/generator/release-body/body.js.map +1 -1
- package/out/natural/transformTS2UI.js +5 -5
- package/out/natural/transformTS2UI.js.map +1 -1
- package/out/natural/transforms/transform2LogicItem.js +5 -5
- package/out/natural/transforms/transform2LogicItem.js.map +1 -1
- package/out/server/naslServer.js +20 -2
- package/out/server/naslServer.js.map +1 -1
- package/out/server/semanticData.d.ts +32 -0
- package/out/server/semanticData.js +371 -0
- package/out/server/semanticData.js.map +1 -0
- package/out/service/logic/api.d.ts +9 -0
- package/out/service/logic/api.js +6 -0
- package/out/service/logic/api.js.map +1 -1
- package/out/templator/block2nasl/viewMergeBlock.js +2 -1
- package/out/templator/block2nasl/viewMergeBlock.js.map +1 -1
- package/package.json +1 -1
- package/sandbox/stdlib/nasl.collection.ts +3 -3
- package/src/common/BaseNode.ts +106 -36
- package/src/common/utils.ts +227 -5
- package/src/concepts/App__.ts +17 -13
- package/src/concepts/AuthLogicForCallInterface__.ts +3 -56
- package/src/concepts/BusinessComponent__.ts +6 -51
- package/src/concepts/BusinessLogic__.ts +4 -56
- package/src/concepts/CallFunction__.ts +1 -1
- package/src/concepts/CallLogic__.ts +8 -4
- package/src/concepts/Identifier__.ts +57 -6
- package/src/concepts/Logic__.ts +9 -111
- package/src/concepts/MemberExpression__.ts +21 -7
- package/src/concepts/OqlQueryComponent__.ts +1 -74
- package/src/concepts/OverriddenLogic__.ts +4 -56
- package/src/concepts/ProcessElementV2__.ts +4 -0
- package/src/concepts/ProcessElement__.ts +4 -0
- package/src/concepts/ProcessV2__.ts +5 -0
- package/src/concepts/Process__.ts +4 -0
- package/src/concepts/SubLogic__.ts +6 -56
- package/src/concepts/TypeAnnotation__.ts +1 -1
- package/src/concepts/View__.ts +14 -54
- package/src/generator/genBundleFiles.ts +5 -5
- package/src/generator/permission.ts +23 -5
- package/src/generator/release-body/body.ts +0 -1
- package/src/natural/transformTS2UI.ts +5 -5
- package/src/natural/transforms/transform2LogicItem.ts +5 -5
- package/src/server/naslServer.ts +26 -2
- package/src/server/semanticData.ts +447 -0
- package/src/service/logic/api.js +6 -0
- package/src/templator/block2nasl/viewMergeBlock.ts +2 -1
- package/src/translator/utils.ts +1 -1
- package/test/concepts/logic/__snapshots__/toEmbeddedTS.spec.ts.snap +182 -0
- package/test/concepts/logic/constant.ts +5 -0
- package/test/concepts/logic/fixtures/variable-host-call-logic-member-expression.json +267 -0
- package/test/concepts/logic/fixtures/variable-host-call-logic-nested-member-expression copy.json +457 -0
- package/test/concepts/logic/fixtures/variable-host-call-logic-with-handle-error-member-expression.json +267 -0
- package/test/concepts/logic/toEmbeddedTS.spec.ts +15 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { App, Identifier, MemberExpression, View, ViewElement, Return, Variable, Assignment, BatchAssignment, CallFunction, AuthLogicForCallInterface, BusinessComponent, BusinessLogic, Logic, OverriddenLogic, SubLogic, Process, ProcessV2, ProcessElement, ProcessElementV2 } from '..';
|
|
2
|
+
declare type VarScopeCtx = {
|
|
3
|
+
app: App;
|
|
4
|
+
isFirstScreen: boolean;
|
|
5
|
+
frontendGlobalVars: Set<string>;
|
|
6
|
+
varInViewOrComponent: Set<string>;
|
|
7
|
+
logicInViewOrComponent: Set<string>;
|
|
8
|
+
idToView: Map<Identifier, View>;
|
|
9
|
+
ctxViewElement: Array<ViewElement>;
|
|
10
|
+
ctxView: Array<View>;
|
|
11
|
+
isInViewOrComponent: boolean;
|
|
12
|
+
memExprToViewElem: Map<MemberExpression, ViewElement>;
|
|
13
|
+
};
|
|
14
|
+
declare type TyInferCtx = {
|
|
15
|
+
inferViaAsgnMap: Map<Return | Variable, Assignment | BatchAssignment | CallFunction>;
|
|
16
|
+
inferViaFnCallMap: Map<Return | Variable, CallFunction>;
|
|
17
|
+
scope: Array<AuthLogicForCallInterface | BusinessComponent | BusinessLogic | Logic | OverriddenLogic | SubLogic | View>;
|
|
18
|
+
capturedVars: Map<string, Variable | Return>;
|
|
19
|
+
};
|
|
20
|
+
declare type SubLogicCtx = {
|
|
21
|
+
ctx: Logic | Process | ProcessV2 | ProcessElement | ProcessElementV2 | null;
|
|
22
|
+
viewSubLogics: Set<SubLogic>;
|
|
23
|
+
};
|
|
24
|
+
export declare const varScopeCtx: VarScopeCtx;
|
|
25
|
+
export declare const tyInferCtx: TyInferCtx;
|
|
26
|
+
export declare const subLogicCtx: SubLogicCtx;
|
|
27
|
+
export declare function collectAllSemanticCtx(app: App): Generator<never, void, unknown>;
|
|
28
|
+
declare type LogicContainer = AuthLogicForCallInterface | BusinessComponent | BusinessLogic | Logic | OverriddenLogic | SubLogic | View;
|
|
29
|
+
export declare function reCollectTyInferCtx(inferViaAsgn: Map<Return | Variable, Assignment | BatchAssignment | CallFunction>, inferViaFnCall: Map<Return | Variable, CallFunction>, self: LogicContainer): Generator<any, void, any>;
|
|
30
|
+
export declare const clearSemanticData: () => void;
|
|
31
|
+
export declare function printSemanticDataInfo(): void;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.printSemanticDataInfo = exports.clearSemanticData = exports.reCollectTyInferCtx = exports.collectAllSemanticCtx = exports.subLogicCtx = exports.tyInferCtx = exports.varScopeCtx = void 0;
|
|
4
|
+
const translator_1 = require("../translator");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
// 前端全局变量很少,一般就十个以内,所以 map 大小可以忽略不计
|
|
7
|
+
exports.varScopeCtx = {
|
|
8
|
+
app: null,
|
|
9
|
+
isFirstScreen: false,
|
|
10
|
+
frontendGlobalVars: new Set(),
|
|
11
|
+
// Collect all params, (local) variables, and logic names under business component
|
|
12
|
+
// Note that within a business component, one can only refer to the above variables, and cannot refer to
|
|
13
|
+
// frontend global variables and any other variables under Views; therefore, checking the Name already suffices.
|
|
14
|
+
// 收集业务组件下的所有参数、(局部)变量和逻辑名称,请注意,在业务组件中,只能引用上述变量,
|
|
15
|
+
// 而不能引用前端全局变量和其他任何 “视图 ”下的变量;因此,检查 “Name” 已经足够了。
|
|
16
|
+
varInViewOrComponent: new Set(),
|
|
17
|
+
logicInViewOrComponent: new Set(),
|
|
18
|
+
// Collect all params, (local) variables, and logic names under views
|
|
19
|
+
// Actually, frontendGlobalVars U idInView U idInComponent should be the complete set of accessible variables
|
|
20
|
+
// 事实上,frontendGlobalVars 并上 idInView 并上 idInComponent 应该是前端所有能访问到的变量(名的集合)
|
|
21
|
+
// 赫基 27w 应用,前端 View 下有 2000 个变量名字;56176 个变量引用,内存占用约 1M。
|
|
22
|
+
idToView: new Map(),
|
|
23
|
+
// 路径上的 ViewElement 节点
|
|
24
|
+
ctxViewElement: [],
|
|
25
|
+
// 路径上的 View 节点
|
|
26
|
+
ctxView: [],
|
|
27
|
+
isInViewOrComponent: false,
|
|
28
|
+
memExprToViewElem: new Map(),
|
|
29
|
+
};
|
|
30
|
+
exports.tyInferCtx = {
|
|
31
|
+
inferViaAsgnMap: new Map(),
|
|
32
|
+
inferViaFnCallMap: new Map(),
|
|
33
|
+
scope: [],
|
|
34
|
+
capturedVars: new Map(),
|
|
35
|
+
};
|
|
36
|
+
exports.subLogicCtx = {
|
|
37
|
+
// naslNodesCount: 0,
|
|
38
|
+
ctx: null,
|
|
39
|
+
viewSubLogics: new Set(), // 隶属于 view 的 SubLogic,需要排除掉隶属于 Logic 的 SubLogic。
|
|
40
|
+
};
|
|
41
|
+
const last = (arr) => arr[arr.length - 1];
|
|
42
|
+
function* collectAllSemanticCtx(app) {
|
|
43
|
+
exports.varScopeCtx.app = app;
|
|
44
|
+
exports.varScopeCtx.isFirstScreen = true;
|
|
45
|
+
const tasks = [
|
|
46
|
+
// collectFrontendVariablesTask, 这样不值得,能快一点还是快一点吧,
|
|
47
|
+
collectVarInViewOrComponentCtxTask,
|
|
48
|
+
collectLogicInViewOrComponentTask,
|
|
49
|
+
// collectMemExprToViewElemCtxTask, // 因为 $ce 的原因,暂时用不了
|
|
50
|
+
collectIdToViewCtxTask,
|
|
51
|
+
collectSubLogicCtxTask,
|
|
52
|
+
collectTyInferCtxTask
|
|
53
|
+
];
|
|
54
|
+
const cleanups = [
|
|
55
|
+
collectVarInViewOrComponentCtxCleanup,
|
|
56
|
+
// collectLogicInViewOrComponentCleanup,
|
|
57
|
+
// collectMemExprToViewElemCtxCleanup, // 因为 $ce 的原因,暂时用不了
|
|
58
|
+
collectIdToViewCtxCleanup,
|
|
59
|
+
collectSubLogicCtxCleanup,
|
|
60
|
+
collectTyInferCtxCleanup
|
|
61
|
+
];
|
|
62
|
+
(0, utils_1.runGeneratorSync)(collectFrontendVariablesTask(app));
|
|
63
|
+
(0, utils_1.runGeneratorSync)(app.traverseStrictChildrenDoMultiTasks(tasks, cleanups));
|
|
64
|
+
}
|
|
65
|
+
exports.collectAllSemanticCtx = collectAllSemanticCtx;
|
|
66
|
+
function* collectFrontendVariablesTask(app) {
|
|
67
|
+
app.frontendTypes.forEach(ft => {
|
|
68
|
+
ft.frontends.forEach(f => {
|
|
69
|
+
f.variables.forEach(v => {
|
|
70
|
+
exports.varScopeCtx.frontendGlobalVars.add(v.name);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
function* collectVarInViewOrComponentCtxTask(nd) {
|
|
76
|
+
switch (nd.concept) {
|
|
77
|
+
case 'Variable': /* FALL THROUGH */
|
|
78
|
+
case 'Param': /* FALL THROUGH */
|
|
79
|
+
case 'Return': {
|
|
80
|
+
if (exports.varScopeCtx.isInViewOrComponent) {
|
|
81
|
+
exports.varScopeCtx.varInViewOrComponent.add(nd.name);
|
|
82
|
+
}
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
case 'View': /* FALL THROUGH */
|
|
86
|
+
case 'BusinessComponent':
|
|
87
|
+
exports.varScopeCtx.isInViewOrComponent = true;
|
|
88
|
+
break;
|
|
89
|
+
default: break;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function* collectVarInViewOrComponentCtxCleanup(nd) {
|
|
93
|
+
if (nd.concept === 'View' || nd.concept === 'BusinessComponent') {
|
|
94
|
+
exports.varScopeCtx.isInViewOrComponent = false;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// component-like:业务组件下的变量引用
|
|
98
|
+
function* collectLogicInViewOrComponentTask(nd) {
|
|
99
|
+
if (nd.concept === 'Logic' || nd.concept === 'BusinessComponent') {
|
|
100
|
+
if (exports.varScopeCtx.isInViewOrComponent) {
|
|
101
|
+
exports.varScopeCtx.logicInViewOrComponent.add(nd.name);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
// collectLogicInViewOrComponentCleanup 的事情被 collectVarInViewOrComponentCtxPost 做了
|
|
106
|
+
function* collectMemExprToViewElemCtxTask(nd) {
|
|
107
|
+
// view 下的 identifier 的 getAncestor 必定有 view
|
|
108
|
+
switch (nd.concept) {
|
|
109
|
+
case 'ViewElement': {
|
|
110
|
+
exports.varScopeCtx.ctxViewElement.push(nd);
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
case 'MemberExpression': {
|
|
114
|
+
if (exports.varScopeCtx.ctxViewElement) {
|
|
115
|
+
exports.varScopeCtx.memExprToViewElem.set(nd, last(exports.varScopeCtx.ctxViewElement));
|
|
116
|
+
}
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
default: break;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
function* collectMemExprToViewElemCtxCleanup(nd) {
|
|
123
|
+
if (nd.concept === 'ViewElement') {
|
|
124
|
+
exports.varScopeCtx.ctxViewElement.pop();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
function* collectIdToViewCtxTask(nd) {
|
|
128
|
+
// view 下的 identifier 的 getAncestor 必定有 view
|
|
129
|
+
switch (nd.concept) {
|
|
130
|
+
case 'View':
|
|
131
|
+
exports.varScopeCtx.ctxView.push(nd);
|
|
132
|
+
break;
|
|
133
|
+
case 'Identifier': {
|
|
134
|
+
if (exports.varScopeCtx.ctxView.length > 0) {
|
|
135
|
+
exports.varScopeCtx.idToView.set(nd, last(exports.varScopeCtx.ctxView));
|
|
136
|
+
}
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
139
|
+
default: break;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
function* collectIdToViewCtxCleanup(nd) {
|
|
143
|
+
switch (nd.concept) {
|
|
144
|
+
case 'View':
|
|
145
|
+
exports.varScopeCtx.ctxView.pop();
|
|
146
|
+
break;
|
|
147
|
+
default: break;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
function* collectSubLogicCtxTask(nd) {
|
|
151
|
+
switch (nd.concept) {
|
|
152
|
+
case 'Logic': /* FALL THROUGH */
|
|
153
|
+
/* 流程支持子逻辑 */
|
|
154
|
+
/* 流程变量不支持类型推导 */
|
|
155
|
+
case 'Process': /* FALL THROUGH */
|
|
156
|
+
case 'ProcessV2': /* FALL THROUGH */
|
|
157
|
+
case 'ProcessElement': /* FALL THROUGH */
|
|
158
|
+
case 'ProcessElementV2': /* FALL THROUGH */
|
|
159
|
+
case 'BusinessLogic':
|
|
160
|
+
exports.subLogicCtx.ctx = nd;
|
|
161
|
+
break;
|
|
162
|
+
case 'SubLogic': {
|
|
163
|
+
// 收集子逻辑
|
|
164
|
+
if (exports.subLogicCtx.ctx) {
|
|
165
|
+
exports.subLogicCtx.ctx.subLogics.push(nd);
|
|
166
|
+
// console.log('逻辑或流程的子逻辑:', subLogicCtx.ctx)
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
exports.subLogicCtx.viewSubLogics.add(nd);
|
|
170
|
+
}
|
|
171
|
+
break;
|
|
172
|
+
}
|
|
173
|
+
default: break;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
function* collectSubLogicCtxCleanup(nd) {
|
|
177
|
+
switch (nd.concept) {
|
|
178
|
+
/* 流程支持子逻辑 */
|
|
179
|
+
/* 流程变量不支持类型推导 */
|
|
180
|
+
case 'Logic': /* FALL THROUGH */
|
|
181
|
+
case 'Process': /* FALL THROUGH */
|
|
182
|
+
case 'ProcessV2': /* FALL THROUGH */
|
|
183
|
+
case 'ProcessElement': /* FALL THROUGH */
|
|
184
|
+
case 'ProcessElementV2':
|
|
185
|
+
exports.subLogicCtx.ctx = null;
|
|
186
|
+
break;
|
|
187
|
+
// 可能是有人忘了给业务组件加 subLogics?
|
|
188
|
+
case 'View': {
|
|
189
|
+
exports.subLogicCtx.viewSubLogics.forEach(sl => { nd.subLogics.push(sl); });
|
|
190
|
+
// console.log('View 的子逻辑:', nd.subLogics)
|
|
191
|
+
exports.subLogicCtx.viewSubLogics.clear();
|
|
192
|
+
break;
|
|
193
|
+
}
|
|
194
|
+
default: break;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
const addVars = (nd, s) => {
|
|
198
|
+
nd.forEach(v => {
|
|
199
|
+
if (!v.typeAnnotation) {
|
|
200
|
+
s.set(v.name, v);
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
const removeVars = (nd, s) => {
|
|
205
|
+
nd.forEach(v => s.delete(v.name));
|
|
206
|
+
};
|
|
207
|
+
// OQL 批量优化优化完成前请勿移除
|
|
208
|
+
// const oqlSet = new Set<string>();
|
|
209
|
+
function* collectTyInferCtxTask(nd) {
|
|
210
|
+
// ++subLogicCtx.naslNodesCount;
|
|
211
|
+
// if (nd.concept === 'OqlQueryComponent') {
|
|
212
|
+
// oqlSet.add(nd.code);
|
|
213
|
+
// }
|
|
214
|
+
switch (nd.concept) {
|
|
215
|
+
case 'Logic': /* FALL THROUGH */
|
|
216
|
+
case 'AuthLogicForCallInterface': /* FALL THROUGH */
|
|
217
|
+
case 'BusinessLogic': /* FALL THROUGH */
|
|
218
|
+
case 'OverriddenLogic': /* FALL THROUGH */
|
|
219
|
+
case 'SubLogic': {
|
|
220
|
+
// 全局变量不支持类型推导;逻辑的变量也不支持跨子逻辑推导
|
|
221
|
+
// addVars(nd.variables, tyInferCtx.capturedVars);
|
|
222
|
+
// addVars(nd.returns, tyInferCtx.capturedVars);
|
|
223
|
+
exports.tyInferCtx.scope.push(nd);
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
case 'View': /* FALL THROUGH */
|
|
227
|
+
case 'BusinessComponent': {
|
|
228
|
+
addVars(nd.variables, exports.tyInferCtx.capturedVars);
|
|
229
|
+
exports.tyInferCtx.scope.push(nd);
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
default: {
|
|
233
|
+
(0, utils_1.runGeneratorAsync)(collectAsgn(exports.tyInferCtx.inferViaAsgnMap, exports.tyInferCtx.inferViaFnCallMap, nd));
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
function* collectTyInferCtxCleanup(nd) {
|
|
239
|
+
switch (nd.concept) {
|
|
240
|
+
case 'Logic': /* FALL THROUGH */
|
|
241
|
+
case 'AuthLogicForCallInterface': /* FALL THROUGH */
|
|
242
|
+
case 'BusinessLogic': /* FALL THROUGH */
|
|
243
|
+
case 'OverriddenLogic': /* FALL THROUGH */
|
|
244
|
+
case 'SubLogic': {
|
|
245
|
+
// removeVars(nd.variables, tyInferCtx.capturedVars);
|
|
246
|
+
// removeVars(nd.returns, tyInferCtx.capturedVars);
|
|
247
|
+
exports.tyInferCtx.scope.pop();
|
|
248
|
+
break;
|
|
249
|
+
}
|
|
250
|
+
case 'View': /* FALL THROUGH */
|
|
251
|
+
case 'BusinessComponent': {
|
|
252
|
+
removeVars(nd.variables, exports.tyInferCtx.capturedVars);
|
|
253
|
+
exports.tyInferCtx.scope.pop();
|
|
254
|
+
break;
|
|
255
|
+
}
|
|
256
|
+
default: break;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
function* reCollectTyInferCtx(inferViaAsgn, inferViaFnCall, self) {
|
|
260
|
+
// No (types of) variables to be inferred
|
|
261
|
+
// @ts-ignore
|
|
262
|
+
const preTest = self.variables?.some((v) => !v.typeAnnotation) || self.returns?.some((v) => !v.typeAnnotation);
|
|
263
|
+
if (!preTest) {
|
|
264
|
+
return;
|
|
265
|
+
}
|
|
266
|
+
// 非首次则清空脏 map,重新收集所需上下文
|
|
267
|
+
if (!exports.varScopeCtx.isFirstScreen) {
|
|
268
|
+
exports.tyInferCtx.inferViaAsgnMap.clear();
|
|
269
|
+
exports.tyInferCtx.inferViaFnCallMap.clear();
|
|
270
|
+
yield* self.traverseChildrenGenerator(collectTyInferCtxTask);
|
|
271
|
+
}
|
|
272
|
+
self.variables.forEach((locVar) => {
|
|
273
|
+
if (exports.tyInferCtx.inferViaAsgnMap.has(locVar)) {
|
|
274
|
+
inferViaAsgn.set(locVar, exports.tyInferCtx.inferViaAsgnMap.get(locVar));
|
|
275
|
+
}
|
|
276
|
+
else if (exports.tyInferCtx.inferViaFnCallMap.has(locVar)) {
|
|
277
|
+
inferViaFnCall.set(locVar, exports.tyInferCtx.inferViaFnCallMap.get(locVar));
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
// @ts-ignore
|
|
281
|
+
self.returns?.forEach((locRet) => {
|
|
282
|
+
if (exports.tyInferCtx.inferViaAsgnMap.has(locRet)) {
|
|
283
|
+
inferViaAsgn.set(locRet, exports.tyInferCtx.inferViaAsgnMap.get(locRet));
|
|
284
|
+
}
|
|
285
|
+
else if (exports.tyInferCtx.inferViaFnCallMap.has(locRet)) {
|
|
286
|
+
inferViaFnCall.set(locRet, exports.tyInferCtx.inferViaFnCallMap.get(locRet));
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
exports.reCollectTyInferCtx = reCollectTyInferCtx;
|
|
291
|
+
function* collectAsgn(inferViaAsgnMap, inferViaBuiltinFnMap, nd) {
|
|
292
|
+
const self = last(exports.tyInferCtx.scope); // 可能是 undefined
|
|
293
|
+
if (!nd || !self) {
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
if (nd.concept === 'Assignment' && nd.left?.name) {
|
|
297
|
+
if (!self) {
|
|
298
|
+
console.log('nd', nd);
|
|
299
|
+
}
|
|
300
|
+
const hoistVar = self.variables?.find(v => nd.left?.name === v.name && !v.typeAnnotation)
|
|
301
|
+
// View 和 BusinessComponent 没有 returns
|
|
302
|
+
// @ts-ignore
|
|
303
|
+
?? self.returns?.find(ret => nd.left?.name === ret.name && !ret.typeAnnotation)
|
|
304
|
+
?? exports.tyInferCtx.capturedVars.get(nd.left.name);
|
|
305
|
+
if (hoistVar && !inferViaAsgnMap.has(hoistVar)) {
|
|
306
|
+
inferViaAsgnMap.set(hoistVar, nd);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
else if (nd.concept === 'BatchAssignment') {
|
|
310
|
+
yield* (0, utils_1.wrapForEachToGenerator)(nd.assignmentLines, function* warpForEachGenerator({ leftIndex }) {
|
|
311
|
+
const leftCode = leftIndex.length === 1
|
|
312
|
+
? yield* nd.left.expression.toEmbeddedTS((0, translator_1.shiftState)((0, translator_1.createCompilerState)(), '', { inline: true }))
|
|
313
|
+
: yield* nd.left.members[leftIndex[1]]?.toEmbeddedTS((0, translator_1.shiftState)((0, translator_1.createCompilerState)(), '', { inline: true })) ??
|
|
314
|
+
(0, utils_1.returnOrigin)('');
|
|
315
|
+
const hoistVar = self.variables?.find((v) => leftCode === v.name && !v.typeAnnotation)
|
|
316
|
+
// View 和 BusinessComponent 没有 returns
|
|
317
|
+
// @ts-ignore
|
|
318
|
+
?? self.returns?.find(ret => leftCode === ret.name && !ret.typeAnnotation)
|
|
319
|
+
?? exports.tyInferCtx.capturedVars.get(leftCode);
|
|
320
|
+
if (hoistVar && !inferViaAsgnMap.has(hoistVar)) {
|
|
321
|
+
inferViaAsgnMap.set(hoistVar, nd);
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
else if (nd.concept === 'CallFunction' && nd.derivableCollection?.name) {
|
|
326
|
+
// 需要被推导的集合
|
|
327
|
+
const expr = nd.derivableCollection;
|
|
328
|
+
// 宽泛意义上的变量(变量+出参),View 和 BusinessComponent 没有 returns
|
|
329
|
+
const hoistVar = self.variables.find((v) => expr?.name === v.name && !v.typeAnnotation)
|
|
330
|
+
// @ts-ignore
|
|
331
|
+
?? self.returns?.find(ret => expr?.name === ret.name && !ret.typeAnnotation)
|
|
332
|
+
?? exports.tyInferCtx.capturedVars.get(expr.name);
|
|
333
|
+
if (hoistVar && !inferViaBuiltinFnMap.has(hoistVar)) {
|
|
334
|
+
inferViaBuiltinFnMap.set(hoistVar, nd);
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
const clearSemanticData = () => {
|
|
339
|
+
exports.varScopeCtx.isFirstScreen = false;
|
|
340
|
+
exports.varScopeCtx.frontendGlobalVars.clear();
|
|
341
|
+
exports.varScopeCtx.varInViewOrComponent.clear();
|
|
342
|
+
exports.varScopeCtx.logicInViewOrComponent.clear();
|
|
343
|
+
exports.varScopeCtx.idToView.clear();
|
|
344
|
+
exports.varScopeCtx.ctxViewElement = [];
|
|
345
|
+
exports.varScopeCtx.memExprToViewElem.clear();
|
|
346
|
+
exports.tyInferCtx.inferViaAsgnMap.clear();
|
|
347
|
+
exports.tyInferCtx.inferViaFnCallMap.clear();
|
|
348
|
+
exports.tyInferCtx.scope = [];
|
|
349
|
+
exports.tyInferCtx.capturedVars.clear();
|
|
350
|
+
exports.subLogicCtx.viewSubLogics.clear();
|
|
351
|
+
exports.subLogicCtx.ctx = null;
|
|
352
|
+
};
|
|
353
|
+
exports.clearSemanticData = clearSemanticData;
|
|
354
|
+
function printSemanticDataInfo() {
|
|
355
|
+
console.log('frontendGlobalVars', exports.varScopeCtx.frontendGlobalVars);
|
|
356
|
+
console.log('varInViewOrComponent', exports.varScopeCtx.varInViewOrComponent);
|
|
357
|
+
console.log('logicInViewOrComponent', exports.varScopeCtx.logicInViewOrComponent);
|
|
358
|
+
console.log('idToView', exports.varScopeCtx.idToView);
|
|
359
|
+
console.log('memExprToViewElem', exports.varScopeCtx.memExprToViewElem);
|
|
360
|
+
console.log('inferViaAsgnMap', exports.tyInferCtx.inferViaAsgnMap);
|
|
361
|
+
console.log('inferViaFnCallMap', exports.tyInferCtx.inferViaFnCallMap);
|
|
362
|
+
// console.log(oqlSet)
|
|
363
|
+
// console.log('capturedVars', tyInferCtx.capturedVars)
|
|
364
|
+
// console.log('viewSubLogics', subLogicCtx.viewSubLogics)
|
|
365
|
+
// console.log('naslNodesCount', subLogicCtx.naslNodesCount)
|
|
366
|
+
// console.log('ctx', subLogicCtx.ctx)
|
|
367
|
+
// console.log('scope', tyInferCtx.scope)
|
|
368
|
+
// console.log('isFirstScreen', varScopeCtx.isFirstScreen)
|
|
369
|
+
}
|
|
370
|
+
exports.printSemanticDataInfo = printSemanticDataInfo;
|
|
371
|
+
//# sourceMappingURL=semanticData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semanticData.js","sourceRoot":"","sources":["../../src/server/semanticData.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,5 +5,14 @@ declare namespace _default {
|
|
|
5
5
|
const method: string;
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
|
+
namespace queryDebugTypescriptBatch {
|
|
9
|
+
export namespace url_1 {
|
|
10
|
+
const path_1: string;
|
|
11
|
+
export { path_1 as path };
|
|
12
|
+
const method_1: string;
|
|
13
|
+
export { method_1 as method };
|
|
14
|
+
}
|
|
15
|
+
export { url_1 as url };
|
|
16
|
+
}
|
|
8
17
|
}
|
|
9
18
|
export default _default;
|
package/out/service/logic/api.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/service/logic/api.js"],"names":[],"mappings":";;AAAA,kBAAe;IACX,oBAAoB,EAAE;QAClB,GAAG,EAAE;YACD,IAAI,EAAE,wCAAwC;YAC9C,MAAM,EAAE,MAAM;SACjB;KACJ;CACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/service/logic/api.js"],"names":[],"mappings":";;AAAA,kBAAe;IACX,oBAAoB,EAAE;QAClB,GAAG,EAAE;YACD,IAAI,EAAE,wCAAwC;YAC9C,MAAM,EAAE,MAAM;SACjB;KACJ;IACD,yBAAyB,EAAE;QACvB,GAAG,EAAE;YACD,IAAI,EAAE,6CAA6C;YACnD,MAAM,EAAE,MAAM;SACjB;KACJ;CACJ,CAAC"}
|
|
@@ -25,7 +25,8 @@ function viewMergeBlock({ app, view, code, nodePath, position, cb, }) {
|
|
|
25
25
|
const naslCode = (0, transformBlock2Nasl_1.tryTransformBlock2Nasl)(code);
|
|
26
26
|
const blockView = naslCode.view;
|
|
27
27
|
// vue2需要对tag进行转换 kebab-case
|
|
28
|
-
|
|
28
|
+
const frontendType = view?.getAncestor('FrontendType');
|
|
29
|
+
if (frontendType?.frameworkKind === 'vue2') {
|
|
29
30
|
(0, utils_1.traverse)(({ node }) => {
|
|
30
31
|
if (node.concept === 'ViewElement') {
|
|
31
32
|
node.tag = (0, string_1.Camel2kebab)(node.tag);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"viewMergeBlock.js","sourceRoot":"","sources":["../../../src/templator/block2nasl/viewMergeBlock.ts"],"names":[],"mappings":";;;AAAA,6CAA8H;AAC9H,+DAA+D;AAC/D,+CAAiD;AACjD,uCAAwC;AAGxC,SAAgB,cAAc,CAAC,EAC7B,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,EAAE,GAQH;IACC,IAAI,UAAU,GAAG,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,UAAU,GAAG,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;IAC5E,IAAI,UAAU,CAAC,OAAO,KAAK,MAAM,EAAE;QACjC,UAAU,GAAG,UAAU,CAAC;QACxB,IAAI,QAAQ,KAAK,cAAc,EAAE;YAC/B,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SACrC;aAAM,IAAI,QAAQ,KAAK,aAAa,EAAE;YACrC,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;YACvC,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;SAC3C;KACF;IACD,OAAO;IACP,IAAI,CAAC,UAAU,EAAE;QACf,OAAO;KACR;IACD,MAAM,QAAQ,GAAG,IAAA,4CAAsB,EAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC;IAChC,4BAA4B;IAC5B,
|
|
1
|
+
{"version":3,"file":"viewMergeBlock.js","sourceRoot":"","sources":["../../../src/templator/block2nasl/viewMergeBlock.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
declare namespace nasl.collection {
|
|
2
|
-
export class List<
|
|
2
|
+
export class List<T> {
|
|
3
3
|
length: nasl.core.Long;
|
|
4
4
|
__slice: (start?: nasl.core.Long, end?: nasl.core.Long) => List<T>;
|
|
5
5
|
__forEach: (callbackfn: (value: T, index: nasl.core.Long) => void) => void;
|
|
6
6
|
__get: (index?: any) => T;
|
|
7
7
|
}
|
|
8
|
-
export class PageOf<
|
|
8
|
+
export class PageOf<T> {
|
|
9
9
|
content: nasl.collection.List<T>;
|
|
10
10
|
number: nasl.core.Long;
|
|
11
11
|
size: nasl.core.Long;
|
|
@@ -16,7 +16,7 @@ declare namespace nasl.collection {
|
|
|
16
16
|
empty: nasl.core.Boolean;
|
|
17
17
|
totalElements: nasl.core.Long;
|
|
18
18
|
}
|
|
19
|
-
export class Map<
|
|
19
|
+
export class Map<K, V> {
|
|
20
20
|
__set: (key?: K, value?: V) => any;
|
|
21
21
|
length: nasl.core.Long;
|
|
22
22
|
accept: 'Map';
|