@lcap/nasl 4.0.0-rc.5 → 4.0.1-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/generator/genBundleFiles.d.ts +5 -2
- package/out/generator/genBundleFiles.d.ts.map +1 -1
- package/out/generator/genBundleFiles.js +156 -46
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/release-body/data.js +3 -2
- package/out/generator/release-body/data.js.map +1 -1
- package/out/generator/release-body/share-content.d.ts.map +1 -1
- package/out/generator/release-body/share-content.js +3 -0
- package/out/generator/release-body/share-content.js.map +1 -1
- package/out/generator/release-body/types.d.ts +2 -0
- package/out/generator/release-body/types.d.ts.map +1 -1
- package/out/manager/diagnostic.d.ts +0 -1
- package/out/manager/diagnostic.d.ts.map +1 -1
- package/out/manager/diagnostic.js +0 -7
- package/out/manager/diagnostic.js.map +1 -1
- package/out/server/naslServer.d.ts +2 -1
- package/out/server/naslServer.d.ts.map +1 -1
- package/out/server/naslServer.js +72 -55
- package/out/server/naslServer.js.map +1 -1
- package/out/service/storage/init.js +1 -1
- package/out/service/storage/init.js.map +1 -1
- package/out/templator/block2nasl/viewMergeBlock.js +1 -1
- package/out/templator/block2nasl/viewMergeBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +8 -8
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/utils.d.ts +7 -0
- package/out/templator/utils.d.ts.map +1 -1
- package/out/templator/utils.js +6 -0
- package/out/templator/utils.js.map +1 -1
- package/package.json +12 -10
- package/sandbox/stdlib/nasl.core.spec.ts +49 -0
- package/sandbox/stdlib/nasl.core.ts +2 -2
- package/sandbox/stdlib/nasl.processV2.ts +1 -0
- package/sandbox/stdlib/nasl.util.ts +4 -4
|
@@ -16,6 +16,5 @@ export declare class DiagnosticManager implements Diagnostic.DiagnosticManager<B
|
|
|
16
16
|
clear(): void;
|
|
17
17
|
pushAll(records: DiagnosticRecord[]): Promise<void>;
|
|
18
18
|
setInitialDiagData(records: DiagnosticRecord[]): Promise<void>;
|
|
19
|
-
filterDiagnostics(showTSError?: boolean): any[];
|
|
20
19
|
}
|
|
21
20
|
//# sourceMappingURL=diagnostic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic.d.ts","sourceRoot":"","sources":["../../src/manager/diagnostic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGnD,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;AAE3D,qBAAa,iBAAkB,YAAW,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC;IAC9E,OAAO,CAAC,qBAAqB;IAO7B,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAKpD,oBAAoB,CAAC,QAAQ,EAAE,MAAM;IAKrC,uBAAuB,CAAC,QAAQ,EAAE,MAAM;IAOxC,OAAO,CAAC,QAAQ,CAA+C;IACxD,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAM;IAG7C,OAAO,CAAC,WAAW,CAA6C;IAEhE,IAAI,CAAC,MAAM,EAAE,gBAAgB;IAS7B,SAAS,CAAC,EAAE,EAAE,MAAM;IAMpB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAE,OAAO;IAa7B,KAAK;IAKL,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE;IAI7B,kBAAkB,CAAC,OAAO,EAAG,gBAAgB,EAAE;
|
|
1
|
+
{"version":3,"file":"diagnostic.d.ts","sourceRoot":"","sources":["../../src/manager/diagnostic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGnD,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAC3D,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,gBAAgB,CAAC;AAE3D,qBAAa,iBAAkB,YAAW,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC;IAC9E,OAAO,CAAC,qBAAqB;IAO7B,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAKpD,oBAAoB,CAAC,QAAQ,EAAE,MAAM;IAKrC,uBAAuB,CAAC,QAAQ,EAAE,MAAM;IAOxC,OAAO,CAAC,QAAQ,CAA+C;IACxD,OAAO,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAM;IAG7C,OAAO,CAAC,WAAW,CAA6C;IAEhE,IAAI,CAAC,MAAM,EAAE,gBAAgB;IAS7B,SAAS,CAAC,EAAE,EAAE,MAAM;IAMpB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAE,OAAO;IAa7B,KAAK;IAKL,OAAO,CAAC,OAAO,EAAE,gBAAgB,EAAE;IAI7B,kBAAkB,CAAC,OAAO,EAAG,gBAAgB,EAAE;CAOtD"}
|
|
@@ -69,13 +69,6 @@ class DiagnosticManager {
|
|
|
69
69
|
this.records_map.forEach(val => this.records.push(val));
|
|
70
70
|
this.records_map.clear();
|
|
71
71
|
}
|
|
72
|
-
filterDiagnostics(showTSError) {
|
|
73
|
-
const chineseRE = /[\u2E80-\uFE4F]/;
|
|
74
|
-
return [].concat(...this.records.map((record) => {
|
|
75
|
-
const diagnostics = [].concat(record.semanticDiagnostics, record.suggestionDiagnostics);
|
|
76
|
-
return diagnostics;
|
|
77
|
-
}));
|
|
78
|
-
}
|
|
79
72
|
}
|
|
80
73
|
exports.DiagnosticManager = DiagnosticManager;
|
|
81
74
|
//# sourceMappingURL=diagnostic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../../src/manager/diagnostic.ts"],"names":[],"mappings":";;;AAEA,oCAA+C;AAK/C,MAAa,iBAAiB;IAA9B;QAyBU,aAAQ,GAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACxD,YAAO,GAA4B,EAAE,CAAC;QAE7C,gCAAgC;QACxB,gBAAW,GAAmC,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostic.js","sourceRoot":"","sources":["../../src/manager/diagnostic.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,6 +71,7 @@ declare class NaslServer {
|
|
|
71
71
|
typerRemoveNodes: Set<SyntaxNode>;
|
|
72
72
|
typerCreateNodes: Set<SyntaxNode>;
|
|
73
73
|
oqlRemoveNodesTsPath: Set<string>;
|
|
74
|
+
removedConnectors: Set<Connector>;
|
|
74
75
|
originProxyTargetNodes: Set<SyntaxNode>;
|
|
75
76
|
createUiTsArg0Copy: any;
|
|
76
77
|
createUiTsArg1Copy: any;
|
|
@@ -338,7 +339,6 @@ declare class NaslServer {
|
|
|
338
339
|
*/
|
|
339
340
|
getArgumentTypeAnnotationWithGenerator(node: Argument, types: Map<BaseNode, TypeAnnotation>): Generator<void, TypeAnnotation, void>;
|
|
340
341
|
getCurrentTypeAnnotation(node: BaseNode): Promise<TypeAnnotation>;
|
|
341
|
-
getBaseNodesTypeMap(nodes: Array<BaseNode>): Promise<QuickInfoMap>;
|
|
342
342
|
getBindAttributeType(node: BindAttribute): Promise<TypeAnnotation | {
|
|
343
343
|
typeAnnotation: TypeAnnotation;
|
|
344
344
|
option: any;
|
|
@@ -370,6 +370,7 @@ declare class NaslServer {
|
|
|
370
370
|
* @returns 需要校验的文件名
|
|
371
371
|
*/
|
|
372
372
|
private prepareAndWriteTsFilesToCheck;
|
|
373
|
+
getContextVariables(node: SyntaxNode): Promise<import("@lcap/nasl-language-server-core/out/query/context-variable-query").ContextVariableInfo[]>;
|
|
373
374
|
/**
|
|
374
375
|
* 获取 Connector 对应 Connector 的properties
|
|
375
376
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naslServer.d.ts","sourceRoot":"","sources":["../../src/server/naslServer.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG3C,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAQ1C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxC,OAAO,EACL,MAAM,EACN,QAAQ,EACR,GAAG,EAEH,KAAK,EAEL,cAAc,EAed,KAAK,EAIL,SAAS,EACT,QAAQ,EACR,WAAW,EACX,aAAa,EAKb,aAAa,EAkCb,SAAS,EAET,UAAU,EAmBV,UAAU,EAGV,YAAY,EAIZ,yBAAyB,
|
|
1
|
+
{"version":3,"file":"naslServer.d.ts","sourceRoot":"","sources":["../../src/server/naslServer.ts"],"names":[],"mappings":"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"}
|
package/out/server/naslServer.js
CHANGED
|
@@ -171,8 +171,10 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
171
171
|
this.typerRemoveNodes = new Set();
|
|
172
172
|
// 创建的节点
|
|
173
173
|
this.typerCreateNodes = new Set();
|
|
174
|
-
// 临时
|
|
174
|
+
// 临时 hack:OQL 需要删除的节点(NASL 节点重命名,老名字对应的 TS 节点需删除
|
|
175
175
|
this.oqlRemoveNodesTsPath = new Set();
|
|
176
|
+
// 临时 hack:删除的连接器中的文件级别的节点
|
|
177
|
+
this.removedConnectors = new Set();
|
|
176
178
|
// 变动的原始目标节点,带有 proxy,用于触发响应式更新:事件树,子逻辑树等
|
|
177
179
|
this.originProxyTargetNodes = new Set();
|
|
178
180
|
this.typerErrRecords = [];
|
|
@@ -238,8 +240,6 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
238
240
|
}
|
|
239
241
|
const tsFilePathsToCheck = new Set();
|
|
240
242
|
for (const fileNode of oqlFiles) {
|
|
241
|
-
this.semData.isFirstScreen = true; // getter 会看 naslServer.semData.isFirstScreen
|
|
242
|
-
this.semData.redirectSlowGetters(NaslServer_1.toRaw(this.getProxyApp()));
|
|
243
243
|
let tsFilePath;
|
|
244
244
|
try {
|
|
245
245
|
tsFilePath = fileNode.getEmbeddedFilePath();
|
|
@@ -272,9 +272,6 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
272
272
|
fileNode.sourceMap = tsFile.sourceMap;
|
|
273
273
|
// 麻了,查了半天是没 set 这里
|
|
274
274
|
this.file2NodeMap.set(tsFile.filePath, fileNode);
|
|
275
|
-
this.semData.recoverSlowGetters();
|
|
276
|
-
this.semData.clearSemanticData();
|
|
277
|
-
this.semData.isFirstScreen = false;
|
|
278
275
|
}
|
|
279
276
|
if (utils.isDebugMode) {
|
|
280
277
|
console.info('TS 校验以下文件', Array.from(oqlFiles).map((item) => item.getEmbeddedFilePath()));
|
|
@@ -420,8 +417,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
420
417
|
}
|
|
421
418
|
utils.isDebugMode && console.timeEnd('\x1b[44m\x1b[97m 用户体感首屏检查耗时 \x1b[0m');
|
|
422
419
|
}
|
|
423
|
-
|
|
424
|
-
this.semData.clearSemanticData();
|
|
420
|
+
(0, nasl_language_server_core_1.clearFileNodeCache)();
|
|
425
421
|
}
|
|
426
422
|
this.notifyPublishDiagnosticsEnd(tsDiagnostics);
|
|
427
423
|
if (this.firstScreenEndWork) {
|
|
@@ -498,16 +494,21 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
498
494
|
});
|
|
499
495
|
// 如果有长度,那么触发类型检查
|
|
500
496
|
if (this.changeStackList.length) {
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
497
|
+
try {
|
|
498
|
+
itemEventPtr.forEach(payload => {
|
|
499
|
+
// 增量更新 step 1:处理 create、delete、update 的局部符号
|
|
500
|
+
const startTime = performance.now();
|
|
501
|
+
this.semEnv.refMgr.updateRefsInNaslFragment(this.semEnv, payload);
|
|
502
|
+
const endTime = performance.now();
|
|
503
|
+
const duration = endTime - startTime;
|
|
504
|
+
if (duration > 10) {
|
|
505
|
+
console.log(`\x1b[44m\x1b[97m Reference manager: Update Nasl Fragment References took ${duration.toFixed(2)}ms \x1b[0m`);
|
|
506
|
+
}
|
|
507
|
+
});
|
|
508
|
+
}
|
|
509
|
+
catch (err) {
|
|
510
|
+
this.logger.error('error: update references in nasl fragment', err);
|
|
511
|
+
}
|
|
511
512
|
void this.flushChangesForTypeChecking().catch(err => {
|
|
512
513
|
this.logger.error('triggerTypeChecking error', err);
|
|
513
514
|
});
|
|
@@ -553,20 +554,28 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
553
554
|
// 基础组件
|
|
554
555
|
await this.addFile(naslUiComponentTsFile, { cache: true });
|
|
555
556
|
this._debugPutFilesInAnonymousApp([naslUiComponentTsFile]);
|
|
556
|
-
|
|
557
|
-
await this.addFile({
|
|
557
|
+
const extensionComponentFile = {
|
|
558
558
|
file: 'extension.component.ts',
|
|
559
559
|
fileContent: convertTsCode(options.withTypeLibraryTsCode),
|
|
560
|
-
}
|
|
560
|
+
};
|
|
561
|
+
// 带有类型的依赖库组件
|
|
562
|
+
await this.addFile(extensionComponentFile, { cache: true });
|
|
563
|
+
this._debugPutFilesInAnonymousApp([extensionComponentFile]);
|
|
561
564
|
resolve(() => {
|
|
562
565
|
(0, nasl_language_server_core_1.parseTsFnToNaslQNameRefMaps)(this.semEnv.refMgr, naslUiComponentTsFile.fileContent);
|
|
563
|
-
if (
|
|
564
|
-
(0, nasl_language_server_core_1.parseTsFnToNaslQNameRefMaps)(this.semEnv.refMgr,
|
|
566
|
+
if (extensionComponentFile.fileContent) {
|
|
567
|
+
(0, nasl_language_server_core_1.parseTsFnToNaslQNameRefMaps)(this.semEnv.refMgr, extensionComponentFile.fileContent);
|
|
565
568
|
}
|
|
566
569
|
// allComponent中包含一些定义独此一份的legacy扩展组件,因此需要加载
|
|
567
|
-
Object.values(allComponent).forEach(v => {
|
|
570
|
+
Object.values(allComponent).forEach((v) => {
|
|
568
571
|
this.semEnv.refMgr.compDefMgr.addLegacy(v, 'allComponent legacy');
|
|
569
572
|
});
|
|
573
|
+
const allNodesAPI = (0, concepts_1.getConfig)().allNodesAPI;
|
|
574
|
+
Object.keys(allNodesAPI).forEach((tag) => {
|
|
575
|
+
const component = allNodesAPI[tag];
|
|
576
|
+
// @ts-expect-error FIXME wudengke
|
|
577
|
+
this.semEnv.refMgr.compDefMgr.add(component, 'from allNodesAPI');
|
|
578
|
+
});
|
|
570
579
|
});
|
|
571
580
|
// 内置标准库类型
|
|
572
581
|
Object.keys(naslStdlibMap_1.default).forEach(async (libFileName) => {
|
|
@@ -817,9 +826,9 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
817
826
|
this.semData = new nasl_concepts_1.SemanticData();
|
|
818
827
|
// 除此之外,好像没什么简单的方法可以让 __xxx.ts 文件快速拿到 app.naslServer 的引用了……
|
|
819
828
|
// @ts-ignore
|
|
820
|
-
this.semData.redirectSlowGetters(rawApp);
|
|
821
|
-
// @ts-ignore
|
|
822
829
|
this.semData.collectAllSemanticCtx(rawApp);
|
|
830
|
+
// @ts-ignore
|
|
831
|
+
this.semData.redirectSlowGetters(rawApp);
|
|
823
832
|
this.logger.timeEnd('全量生成 TS——翻译——简单语义分析');
|
|
824
833
|
const { notifyEndWork } = this.notifyStartWork();
|
|
825
834
|
this.firstScreenEndWork = () => {
|
|
@@ -843,6 +852,8 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
843
852
|
await this.waitOqlQueryComponentChildrenFinish(app);
|
|
844
853
|
// 翻译 ts 文件
|
|
845
854
|
const results = await utils.runGeneratorAsync(getAllTsFiles());
|
|
855
|
+
this.semData.recoverSlowGetters();
|
|
856
|
+
this.semData.clearSemanticData();
|
|
846
857
|
const files = results.map((result) => ({
|
|
847
858
|
file: result.filePath,
|
|
848
859
|
fileContent: result.code,
|
|
@@ -1310,13 +1321,13 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
1310
1321
|
nodeType = '连接';
|
|
1311
1322
|
}
|
|
1312
1323
|
timeoutConfig.values.forEach((value) => {
|
|
1313
|
-
const env = value
|
|
1324
|
+
const { env, envDisplayLabel } = value;
|
|
1314
1325
|
const timeout = Number(value.value);
|
|
1315
1326
|
if (timeout * 1000 < retryInterval * retryTimes) {
|
|
1316
1327
|
const diagnostic = {
|
|
1317
1328
|
node: fileNode,
|
|
1318
1329
|
severity: 'warning',
|
|
1319
|
-
message: `${nodeType}"${fileNodeRaw.title ?? fileNodeRaw.name}"配置的重试间隔时间乘以重试次数大于${
|
|
1330
|
+
message: `${nodeType}"${fileNodeRaw.title ?? fileNodeRaw.name}"配置的重试间隔时间乘以重试次数大于${envDisplayLabel}接口超时时间,可能导致重试失败`,
|
|
1320
1331
|
text: config_1.HTTP_TIMEOUT_ORIGIN_MESSAGE,
|
|
1321
1332
|
};
|
|
1322
1333
|
diagnostics.push(diagnostic);
|
|
@@ -1627,6 +1638,9 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
1627
1638
|
return result;
|
|
1628
1639
|
};
|
|
1629
1640
|
const nd = NaslServer_1.toRaw(__node);
|
|
1641
|
+
if (concepts_1.asserts.isDirectory(__node)) {
|
|
1642
|
+
return [];
|
|
1643
|
+
}
|
|
1630
1644
|
const { parentNode } = nd;
|
|
1631
1645
|
let result = wrapRefs(this.semEnv.refMgr.getReferences(this.semEnv, nd));
|
|
1632
1646
|
if (nd.concept === 'Entity') {
|
|
@@ -2177,6 +2191,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
2177
2191
|
}
|
|
2178
2192
|
// 获取element方法的可选值
|
|
2179
2193
|
getFieldKeySelectCompletion(nd, fieldKey) {
|
|
2194
|
+
console.warn('obsolete API');
|
|
2180
2195
|
const { currentSource, fileNode } = NaslServer_1.getCurrentSource(nd);
|
|
2181
2196
|
if (currentSource && fileNode) {
|
|
2182
2197
|
const range = {
|
|
@@ -2201,6 +2216,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
2201
2216
|
}
|
|
2202
2217
|
}
|
|
2203
2218
|
getSlotCurrentCompletion(nd) {
|
|
2219
|
+
console.warn('obsolete API');
|
|
2204
2220
|
const { currentSource, fileNode } = NaslServer_1.getCurrentSource(nd);
|
|
2205
2221
|
if (currentSource && fileNode) {
|
|
2206
2222
|
const range = {
|
|
@@ -2218,6 +2234,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
2218
2234
|
}
|
|
2219
2235
|
}
|
|
2220
2236
|
_getFieldKeySelectCompletion(args) {
|
|
2237
|
+
console.warn('obsolete API');
|
|
2221
2238
|
return this.messager.requestCommand('getFieldKeySelectCompletion', args);
|
|
2222
2239
|
}
|
|
2223
2240
|
/**
|
|
@@ -3118,20 +3135,8 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
3118
3135
|
await this.lsRunEnd;
|
|
3119
3136
|
return this.semEnv.getType(node);
|
|
3120
3137
|
}
|
|
3121
|
-
// 获取节点标注,去动态查
|
|
3122
|
-
async getBaseNodesTypeMap(nodes) {
|
|
3123
|
-
const args = nodes.map((item) => {
|
|
3124
|
-
const { currentSource, fileNode } = item.getCurrentSource();
|
|
3125
|
-
return {
|
|
3126
|
-
filePath: fileNode.getEmbeddedFilePath(),
|
|
3127
|
-
node: item,
|
|
3128
|
-
item: currentSource,
|
|
3129
|
-
};
|
|
3130
|
-
});
|
|
3131
|
-
const typesMap = await this.getQuickInfoNodesTypeMap(args);
|
|
3132
|
-
return typesMap;
|
|
3133
|
-
}
|
|
3134
3138
|
async getBindAttributeType(node) {
|
|
3139
|
+
console.warn('obsolete API');
|
|
3135
3140
|
// 过滤掉一些不需要查找的属性
|
|
3136
3141
|
const excludes = ['dataSource'];
|
|
3137
3142
|
if (excludes.includes(node.name)) {
|
|
@@ -3224,35 +3229,32 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
3224
3229
|
const fileNodeRaw = NaslServer_1.toRaw(fileNode);
|
|
3225
3230
|
fileNodeRaw !== NaslServer_1.toRaw(fileNode2) && console.log('\x1b[41m\x1b[97m☁️ handleAllChange 事件 fileNode 校验失败\x1b[0m');
|
|
3226
3231
|
const targetNodeRaw = NaslServer_1.toRaw(targetNode);
|
|
3227
|
-
// 处理定义节点或引用节点,更新typerCheckFiles和typerRemoveNodes
|
|
3228
|
-
let result =
|
|
3232
|
+
// 处理定义节点或引用节点,更新 typerCheckFiles 和 typerRemoveNodes
|
|
3233
|
+
let result = false;
|
|
3229
3234
|
if (nasl_language_server_core_1.ReferenceManager.defConcept.includes(targetNodeRaw.concept)) {
|
|
3230
3235
|
if (action === 'update') {
|
|
3231
3236
|
if (payload?.field === 'name') {
|
|
3232
3237
|
const oldName = payload.oldObjNasl?.[0];
|
|
3233
|
-
result = (0, nasl_language_server_core_1.preProcessDefRename)(this.semEnv, targetNodeRaw, oldName, this.currentRenameMode, this.oqlRemoveNodesTsPath);
|
|
3238
|
+
result = (0, nasl_language_server_core_1.preProcessDefRename)(this.semEnv, targetNodeRaw, this.typerCheckFiles, oldName, this.currentRenameMode, this.oqlRemoveNodesTsPath);
|
|
3234
3239
|
this.currentRenameMode = null;
|
|
3235
3240
|
}
|
|
3236
3241
|
else {
|
|
3237
|
-
result = (0, nasl_language_server_core_1.
|
|
3242
|
+
result = (0, nasl_language_server_core_1.preProcessOther)(this.semEnv, targetNodeRaw, this.typerCheckFiles);
|
|
3238
3243
|
}
|
|
3239
3244
|
}
|
|
3240
3245
|
else if (action === 'create') {
|
|
3241
|
-
result = (0, nasl_language_server_core_1.
|
|
3246
|
+
result = (0, nasl_language_server_core_1.preProcessOther)(this.semEnv, targetNodeRaw, this.typerCheckFiles);
|
|
3247
|
+
this.typerCreateNodes.add(targetNodeRaw);
|
|
3242
3248
|
}
|
|
3243
3249
|
else if (action === 'delete') {
|
|
3244
|
-
result = (0, nasl_language_server_core_1.
|
|
3250
|
+
result = (0, nasl_language_server_core_1.preProcessOther)(this.semEnv, targetNodeRaw, this.typerCheckFiles);
|
|
3251
|
+
this.typerRemoveNodes.add(targetNodeRaw);
|
|
3245
3252
|
}
|
|
3246
3253
|
}
|
|
3247
3254
|
else {
|
|
3248
|
-
result = (0, nasl_language_server_core_1.
|
|
3249
|
-
}
|
|
3250
|
-
if (result) {
|
|
3251
|
-
result.typerCheckFiles.forEach(file => this.typerCheckFiles.add(file));
|
|
3252
|
-
result.typerRemoveNodes.forEach(node => this.typerRemoveNodes.add(node));
|
|
3253
|
-
result.typerCreateNodes.forEach(node => this.typerCreateNodes.add(node));
|
|
3254
|
-
return true;
|
|
3255
|
+
result = (0, nasl_language_server_core_1.preProcessOther)(this.semEnv, targetNodeRaw, this.typerCheckFiles);
|
|
3255
3256
|
}
|
|
3257
|
+
return result;
|
|
3256
3258
|
}
|
|
3257
3259
|
notifyStartWork() {
|
|
3258
3260
|
this.logger.time('语言服务变更');
|
|
@@ -3304,7 +3306,16 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
3304
3306
|
console.log('Little Typer 删除以下节点', Array.from(this.typerRemoveNodes).map((item) => item.nodePath).join('\n'));
|
|
3305
3307
|
}
|
|
3306
3308
|
const tsDiagnostics = await this.getDiagnosticRecordsAndPushAllAndWaitPublishDiagnosticsEnd(Array.from(tsFilePathsToCheck));
|
|
3307
|
-
const diagRecs = await (0, nasl_language_server_core_1.checkUpdateRefsDiag)(
|
|
3309
|
+
const diagRecs = await (0, nasl_language_server_core_1.checkUpdateRefsDiag)({
|
|
3310
|
+
env: this.semEnv,
|
|
3311
|
+
diagMgr: this.diagnosticManager,
|
|
3312
|
+
chkFiles: (0, set_1.union)(this.typerCheckFiles, oqlCheckFiles),
|
|
3313
|
+
removeNodes: this.typerRemoveNodes,
|
|
3314
|
+
createNodes: this.typerCreateNodes,
|
|
3315
|
+
tsDiagnostics,
|
|
3316
|
+
removedConnectors: this.removedConnectors,
|
|
3317
|
+
checkedFiles: new Set()
|
|
3318
|
+
});
|
|
3308
3319
|
// 刷新左侧事件逻辑树
|
|
3309
3320
|
this._refreshTreeViews();
|
|
3310
3321
|
utils.isDebugMode && console.time('\x1b[44m\x1b[97m 6: push all diagnostic records \x1b[0m');
|
|
@@ -3319,6 +3330,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
3319
3330
|
});
|
|
3320
3331
|
this.semEnv.allocatedVEQNames.length = 0;
|
|
3321
3332
|
this.originProxyTargetNodes.clear();
|
|
3333
|
+
this.removedConnectors.clear();
|
|
3322
3334
|
utils.isDebugMode && console.timeEnd('\x1b[44m\x1b[97m 6: push all diagnostic records \x1b[0m');
|
|
3323
3335
|
}
|
|
3324
3336
|
}
|
|
@@ -3331,6 +3343,10 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
3331
3343
|
}
|
|
3332
3344
|
;
|
|
3333
3345
|
}
|
|
3346
|
+
async getContextVariables(node) {
|
|
3347
|
+
await this.lsRunEnd;
|
|
3348
|
+
return this.semEnv.scopeManager.getContextVariables(node);
|
|
3349
|
+
}
|
|
3334
3350
|
/**
|
|
3335
3351
|
* 获取 Connector 对应 Connector 的properties
|
|
3336
3352
|
*/
|
|
@@ -3478,6 +3494,7 @@ let NaslServer = NaslServer_1 = class NaslServer {
|
|
|
3478
3494
|
// console.timeEnd('\x1b[44m\x1b[97m Build SymbolGraph \x1b[0m');
|
|
3479
3495
|
const refMgr = new nasl_language_server_core_1.ReferenceManager();
|
|
3480
3496
|
this.semEnv = new nasl_language_server_core_1.SemEnv(refMgr, utils.isDebugMode);
|
|
3497
|
+
this.semEnv.app = rawApp;
|
|
3481
3498
|
this.semEnv.refMgr.buildQNameDefsForApp(rawApp);
|
|
3482
3499
|
this.semEnv.errorDiagnoser = nasl_language_server_core_1.checker.createErrorDiagnoser({
|
|
3483
3500
|
app: rawApp,
|