@lcap/nasl-language-server-core 4.4.0-rc.2 → 4.4.1-rc.2
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/checker.d.ts.map +1 -1
- package/out/checker.js +241 -111
- package/out/checker.js.map +1 -1
- package/out/index.d.ts +1 -1
- package/out/index.d.ts.map +1 -1
- package/out/index.js +5 -3
- package/out/index.js.map +1 -1
- package/out/reference-manager/build-q-name-def.d.ts.map +1 -1
- package/out/reference-manager/build-q-name-def.js +11 -0
- package/out/reference-manager/build-q-name-def.js.map +1 -1
- package/out/reference-manager/builtin-q-name.js +2 -2
- package/out/reference-manager/builtin-q-name.js.map +1 -1
- package/out/reference-manager/collect-q-name.d.ts +1 -1
- package/out/reference-manager/collect-q-name.d.ts.map +1 -1
- package/out/reference-manager/collect-q-name.js +58 -24
- package/out/reference-manager/collect-q-name.js.map +1 -1
- package/out/reference-manager/def-key-helpers.d.ts +38 -0
- package/out/reference-manager/def-key-helpers.d.ts.map +1 -0
- package/out/reference-manager/{get-q-name.js → def-key-helpers.js} +183 -19
- package/out/reference-manager/def-key-helpers.js.map +1 -0
- package/out/reference-manager/helper.js +2 -2
- package/out/reference-manager/helper.js.map +1 -1
- package/out/reference-manager/reference-manager.d.ts +60 -43
- package/out/reference-manager/reference-manager.d.ts.map +1 -1
- package/out/reference-manager/reference-manager.js +381 -146
- package/out/reference-manager/reference-manager.js.map +1 -1
- package/out/reference-manager/remove-q-name.d.ts +1 -1
- package/out/reference-manager/remove-q-name.d.ts.map +1 -1
- package/out/reference-manager/remove-q-name.js +7 -10
- package/out/reference-manager/remove-q-name.js.map +1 -1
- package/out/reference-manager/rename-q-name.d.ts +26 -26
- package/out/reference-manager/rename-q-name.d.ts.map +1 -1
- package/out/reference-manager/rename-q-name.js +48 -167
- package/out/reference-manager/rename-q-name.js.map +1 -1
- package/out/reference-manager/symbol-type.d.ts +8 -3
- package/out/reference-manager/symbol-type.d.ts.map +1 -1
- package/out/reference-manager/symbol-type.js +8 -2
- package/out/reference-manager/symbol-type.js.map +1 -1
- package/out/reference-manager/update-nasl-fragment.js +4 -4
- package/out/reference-manager/update-nasl-fragment.js.map +1 -1
- package/out/typer/collectGlobalDefs.js +3 -3
- package/out/typer/collectGlobalDefs.js.map +1 -1
- package/out/typer/component-def-manager/component-def-manager.d.ts +16 -0
- package/out/typer/component-def-manager/component-def-manager.d.ts.map +1 -1
- package/out/typer/component-def-manager/component-def-manager.js +63 -2
- package/out/typer/component-def-manager/component-def-manager.js.map +1 -1
- package/out/typer/component-def-manager/utils.d.ts.map +1 -1
- package/out/typer/component-def-manager/utils.js +26 -0
- package/out/typer/component-def-manager/utils.js.map +1 -1
- package/out/typer/dispatch-all.d.ts +3 -1
- package/out/typer/dispatch-all.d.ts.map +1 -1
- package/out/typer/dispatch-all.js +48 -5
- package/out/typer/dispatch-all.js.map +1 -1
- package/out/typer/dispatch-call.d.ts +27 -1
- package/out/typer/dispatch-call.d.ts.map +1 -1
- package/out/typer/dispatch-call.js +141 -107
- package/out/typer/dispatch-call.js.map +1 -1
- package/out/typer/dispatch-def.d.ts.map +1 -1
- package/out/typer/dispatch-def.js +3 -3
- package/out/typer/dispatch-def.js.map +1 -1
- package/out/typer/dispatch-expr.d.ts.map +1 -1
- package/out/typer/dispatch-expr.js +32 -73
- package/out/typer/dispatch-expr.js.map +1 -1
- package/out/typer/dispatch-process.js +3 -3
- package/out/typer/dispatch-process.js.map +1 -1
- package/out/typer/dispatch-stmt.d.ts.map +1 -1
- package/out/typer/dispatch-stmt.js +9 -11
- package/out/typer/dispatch-stmt.js.map +1 -1
- package/out/typer/dispatch-view.d.ts +1 -1
- package/out/typer/dispatch-view.d.ts.map +1 -1
- package/out/typer/dispatch-view.js +33 -26
- package/out/typer/dispatch-view.js.map +1 -1
- package/out/typer/get-oql-files.js +1 -1
- package/out/typer/get-oql-files.js.map +1 -1
- package/out/typer/incremental-update.d.ts +2 -2
- package/out/typer/incremental-update.d.ts.map +1 -1
- package/out/typer/incremental-update.js +142 -30
- package/out/typer/incremental-update.js.map +1 -1
- package/out/typer/overload-helper.js +2 -2
- package/out/typer/overload-helper.js.map +1 -1
- package/out/typer/solver.d.ts +8 -9
- package/out/typer/solver.d.ts.map +1 -1
- package/out/typer/solver.js +43 -32
- package/out/typer/solver.js.map +1 -1
- package/out/typer/subster.d.ts.map +1 -1
- package/out/typer/subster.js +101 -20
- package/out/typer/subster.js.map +1 -1
- package/out/typer/topo-sort.d.ts +37 -0
- package/out/typer/topo-sort.d.ts.map +1 -1
- package/out/typer/topo-sort.js +264 -5
- package/out/typer/topo-sort.js.map +1 -1
- package/out/typer/type-manager.d.ts +1 -0
- package/out/typer/type-manager.d.ts.map +1 -1
- package/out/typer/type-manager.js +14 -11
- package/out/typer/type-manager.js.map +1 -1
- package/out/typer/type-predicate.d.ts.map +1 -1
- package/out/typer/type-predicate.js +38 -16
- package/out/typer/type-predicate.js.map +1 -1
- package/out/typer/typer.d.ts +19 -3
- package/out/typer/typer.d.ts.map +1 -1
- package/out/typer/typer.js +60 -27
- package/out/typer/typer.js.map +1 -1
- package/out/typer/unifier.d.ts +2 -0
- package/out/typer/unifier.d.ts.map +1 -1
- package/out/typer/unifier.js +52 -27
- package/out/typer/unifier.js.map +1 -1
- package/package.json +5 -5
- package/out/reference-manager/get-q-name.d.ts +0 -9
- package/out/reference-manager/get-q-name.d.ts.map +0 -1
- package/out/reference-manager/get-q-name.js.map +0 -1
- package/out/reference-manager/view-elem-logic.d.ts +0 -44
- package/out/reference-manager/view-elem-logic.d.ts.map +0 -1
- package/out/reference-manager/view-elem-logic.js +0 -181
- package/out/reference-manager/view-elem-logic.js.map +0 -1
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mkAddViewElementBindLogicRefs = exports.mkAddViewElementLogicQNameDefs = void 0;
|
|
4
|
-
const symbol_type_1 = require("./symbol-type");
|
|
5
|
-
const get_q_name_1 = require("./get-q-name");
|
|
6
|
-
const traverse_util_1 = require("../utils/traverse-util");
|
|
7
|
-
const fp_macros_1 = require("../utils/fp-macros");
|
|
8
|
-
/**
|
|
9
|
-
* 页面 View、业务组件 BusinessComponent 的逻辑、事件逻辑当局部符号
|
|
10
|
-
* - 页面逻辑无 namespace
|
|
11
|
-
* - 目前无问题:逻辑与变量不能同名
|
|
12
|
-
* - 事件逻辑 namespace 为 elements.元素名.bindEvents.事件名.logics
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* view element related qualified names to definition memory address:
|
|
16
|
-
* view elements, logics of their bind events, etc.
|
|
17
|
-
*
|
|
18
|
-
* 现状:
|
|
19
|
-
* (1)页面元素的 getNamespace 实现:页面事件、页面元素事件同名,则 getNamespace + name 完全一样,
|
|
20
|
-
* 无法区分,所以无法用作区分彼此的 qName
|
|
21
|
-
* (2)页面元素实例是局部的,不存在重名,不需要类似 nodePath 的层级结构,elements.元素名. 可以区分
|
|
22
|
-
* (3)但是页面不是元素,elements. 似乎不好给页面命名 ==> 页面事件需要特殊规则建立 qName
|
|
23
|
-
*
|
|
24
|
-
* 需要实现的引用:
|
|
25
|
-
* (1)事件逻辑 Identifier 对 事件逻辑 Logic 的引用
|
|
26
|
-
* (2)组件事件逻辑调用对 页面元素名 的引用(组件逻辑本身无法查找引用,所以对组件逻辑定义的引用无需记录)
|
|
27
|
-
* (3)页面元素属性 elements.uLinearLayout1.property.uLinearLayout1._if._if 等对 页面元素名 uLinearLayout1 的引用
|
|
28
|
-
* (4)页面逻辑(需求稿说的)
|
|
29
|
-
*
|
|
30
|
-
* * 组件逻辑 暂时不用 ==> 组件逻辑无法“查找引用”也没办法“改名”
|
|
31
|
-
*
|
|
32
|
-
* 因此:(1)页面事件逻辑、(2)页面元素的组件事件逻辑、(3)页面逻辑、(4)页面元素需建立 qName 机制
|
|
33
|
-
*/
|
|
34
|
-
const mkAddViewElementLogicQNameDefs = (veQNameDefs, gQNameDefs) => {
|
|
35
|
-
/**
|
|
36
|
-
* 处理 ViewElement 的 bindEvents 逻辑
|
|
37
|
-
*/
|
|
38
|
-
const handleBindEventLogics = (def, nsp) => {
|
|
39
|
-
for (const be of def.bindEvents) {
|
|
40
|
-
const beNsp = `${nsp}.bindEvents.${be.name}`;
|
|
41
|
-
for (const l of be.logics) {
|
|
42
|
-
const qName = `${beNsp}.logics.${l.name}`;
|
|
43
|
-
// Identifier 算引用,不算定义
|
|
44
|
-
(l.concept === 'Logic' || l.concept === 'BusinessLogic') && veQNameDefs.set(qName, l);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
const handleViewLogics = (def) => {
|
|
49
|
-
// 处理 View 的逻辑
|
|
50
|
-
for (const logic of def.logics) {
|
|
51
|
-
veQNameDefs.set(logic.name, logic);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
const handleViewEvent = (def) => {
|
|
55
|
-
// 处理业务组件的事件
|
|
56
|
-
for (const event of def.events) {
|
|
57
|
-
veQNameDefs.set(event.name, event);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
const addVeQNameDef = (def) => {
|
|
61
|
-
switch (def.concept) {
|
|
62
|
-
case 'ViewElement': {
|
|
63
|
-
const veQName = `${symbol_type_1.viewElementNsp}.${def.name}`;
|
|
64
|
-
veQNameDefs.set(veQName, def);
|
|
65
|
-
handleBindEventLogics(def, veQName);
|
|
66
|
-
break;
|
|
67
|
-
}
|
|
68
|
-
case 'View':
|
|
69
|
-
case 'BusinessComponent':
|
|
70
|
-
// 直接使用 .name。无 elements. 前缀,避免与 ViewElement 重名如都叫 uLinearLayout1
|
|
71
|
-
handleBindEventLogics(def, def.name);
|
|
72
|
-
handleViewLogics(def);
|
|
73
|
-
if (def.concept == 'BusinessComponent') {
|
|
74
|
-
handleViewEvent(def);
|
|
75
|
-
}
|
|
76
|
-
// @warning 必须 fallthrough
|
|
77
|
-
default: { // 似乎也可以删除:view 是全局定义,已被其他过程处理
|
|
78
|
-
const qName = (0, get_q_name_1.getTokenQualifiedName)(def);
|
|
79
|
-
qName && gQNameDefs.set(qName, def);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
// 仅需遍历 view elements,不需要遍历各种冗余节点
|
|
84
|
-
return (viewLike) => (0, traverse_util_1.traverseViewAndElements)(viewLike, addVeQNameDef);
|
|
85
|
-
};
|
|
86
|
-
exports.mkAddViewElementLogicQNameDefs = mkAddViewElementLogicQNameDefs;
|
|
87
|
-
/**
|
|
88
|
-
* 需要建立引用:
|
|
89
|
-
* (1)事件逻辑 CallLogic(逻辑中) + Identifier(事件逻辑复用函数指针) namespace 为 elements.元素名.bindEvents.事件名.logics
|
|
90
|
-
* (2)组件逻辑 CallLogic(逻辑中) + Identifier(事件逻辑复用函数指针) namespace 为 elements.logics.
|
|
91
|
-
* (3)页面逻辑 CallLogic(逻辑中) + Identifier(事件逻辑复用函数指针) 无 namespace
|
|
92
|
-
*
|
|
93
|
-
* 对页面元素名的引用(rename 时要找全):
|
|
94
|
-
* (1)元素属性
|
|
95
|
-
* (2)组件逻辑
|
|
96
|
-
* (3)事件逻辑
|
|
97
|
-
*
|
|
98
|
-
* @warning 不处理任何子页面
|
|
99
|
-
*/
|
|
100
|
-
const mkAddViewElementBindLogicRefs = (veQNameDefs, veRefs) => {
|
|
101
|
-
// find references
|
|
102
|
-
const lam = (ref) => {
|
|
103
|
-
// (1) 组件逻辑 calls of component logic
|
|
104
|
-
// 'elements.uLinearLayout1.logics.openLoading'
|
|
105
|
-
if (ref.concept === 'CallLogic') {
|
|
106
|
-
// 页面逻辑、业务组件逻辑调用
|
|
107
|
-
if (ref.calleeNamespace?.length === 0) { /** 不符合 NASL 定义,可空 */
|
|
108
|
-
// 页面、业务组件的局部逻辑
|
|
109
|
-
const lDef = veQNameDefs.get(ref.calleeName);
|
|
110
|
-
lDef && (0, fp_macros_1.createOnAdd)(veRefs, lDef, ref);
|
|
111
|
-
}
|
|
112
|
-
else if (ref.calleeNamespace?.startsWith('elements.') &&
|
|
113
|
-
ref.calleeNamespace.endsWith('.logics')) {
|
|
114
|
-
/** 组件逻辑调用,增加一个到组件的引用
|
|
115
|
-
* 因为组件逻辑没有定义,所以无法增加到组件逻辑的引用
|
|
116
|
-
*/
|
|
117
|
-
// 删除结尾的 '.logics' '.logics' 长度为 7
|
|
118
|
-
const elemQName = ref.calleeNamespace.slice(0, -7);
|
|
119
|
-
const lDef = veQNameDefs.get(elemQName);
|
|
120
|
-
lDef && (0, fp_macros_1.createOnAdd)(veRefs, lDef, ref);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
if (ref.concept == 'CallEvent') {
|
|
124
|
-
// 业务组件事件调用(业务组件事件是局部符号,类似 Logic)
|
|
125
|
-
if (ref.calleeNamespace?.length === 0 || !ref.calleeNamespace) {
|
|
126
|
-
// 业务组件的局部事件
|
|
127
|
-
const lDef = veQNameDefs.get(ref.calleeName);
|
|
128
|
-
lDef && (0, fp_macros_1.createOnAdd)(veRefs, lDef, ref);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
if (ref.concept === 'Identifier') {
|
|
132
|
-
/**
|
|
133
|
-
* (2) 元素属性 access of properties
|
|
134
|
-
* "concept": "Identifier",
|
|
135
|
-
* "namespace": "elements.uLinearLayout1.property",
|
|
136
|
-
* "name": "uLinearLayout1",
|
|
137
|
-
*
|
|
138
|
-
* (3) 事件逻辑 references to bind event logics
|
|
139
|
-
* "concept": "Identifier",
|
|
140
|
-
* "namespace": "elements.button_3.bindEvents.click.logics",
|
|
141
|
-
* "name": "click",
|
|
142
|
-
*/
|
|
143
|
-
const nsp = ref.namespace;
|
|
144
|
-
const qNames = new Array();
|
|
145
|
-
if (nsp && nsp.startsWith('elements.')) {
|
|
146
|
-
if (nsp.endsWith('.property')) {
|
|
147
|
-
// '.property'.length === 9
|
|
148
|
-
const qName = nsp.substring(0, nsp.length - 9);
|
|
149
|
-
// 可能是 ViewElement 的属性访问
|
|
150
|
-
qNames.push(qName);
|
|
151
|
-
}
|
|
152
|
-
else if (nsp.endsWith('.logics')) {
|
|
153
|
-
// nsp 形如 "elements.button_3.bindEvents.click.logics" name 形如 click1
|
|
154
|
-
const qName = (0, get_q_name_1.getTokenQualifiedName)(ref);
|
|
155
|
-
qNames.push(qName);
|
|
156
|
-
/**
|
|
157
|
-
* 不仅引用了逻辑定义,也引用了逻辑所属的页面元素
|
|
158
|
-
* 也可以只记录逻辑,之后查找页面元素时额外查找其所有逻辑的引用
|
|
159
|
-
* 但是似乎不好获取一个页面元素的所有逻辑,所以这里先直接给它加个引用算了
|
|
160
|
-
*/
|
|
161
|
-
// 仅保留 elements.元素名 直到下一个 . 之前的内容
|
|
162
|
-
const elemQName = nsp.split('.').slice(0, 2).join('.');
|
|
163
|
-
qNames.push(elemQName);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
else if (!nsp || nsp.length === 0) {
|
|
167
|
-
// 页面逻辑 的引用
|
|
168
|
-
qNames.push(ref.name);
|
|
169
|
-
}
|
|
170
|
-
for (const qName of qNames) {
|
|
171
|
-
const lDef = veQNameDefs.get(qName);
|
|
172
|
-
lDef && (0, fp_macros_1.createOnAdd)(veRefs, lDef, ref);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
};
|
|
176
|
-
return (viewLike) => (0, traverse_util_1.visitChildrenWith)(viewLike, lam);
|
|
177
|
-
// this.viewElementRefs = res;
|
|
178
|
-
// console.log(`buildViewLevelQNameRefs: ${res.size} view element references found`);
|
|
179
|
-
};
|
|
180
|
-
exports.mkAddViewElementBindLogicRefs = mkAddViewElementBindLogicRefs;
|
|
181
|
-
//# sourceMappingURL=view-elem-logic.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"view-elem-logic.js","sourceRoot":"","sources":["../../src/reference-manager/view-elem-logic.ts"],"names":[],"mappings":"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"}
|