@lcap/nasl-language-server-core 4.4.0-beta.11 → 4.4.0-beta.13
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 +38 -0
- package/out/checker.js.map +1 -1
- package/out/reference-manager/update-nasl-fragment.d.ts +2 -2
- package/out/reference-manager/update-nasl-fragment.d.ts.map +1 -1
- package/out/reference-manager/update-nasl-fragment.js +13 -14
- package/out/reference-manager/update-nasl-fragment.js.map +1 -1
- package/out/symbol/traverse/concepts/index.d.ts +1 -1
- package/out/symbol/traverse/concepts/index.d.ts.map +1 -1
- package/out/typer/dispatch-def.js +1 -1
- 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 +24 -16
- package/out/typer/dispatch-expr.js.map +1 -1
- package/out/typer/dispatch-view.d.ts.map +1 -1
- package/out/typer/dispatch-view.js +17 -10
- package/out/typer/dispatch-view.js.map +1 -1
- package/package.json +5 -5
package/out/checker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../src/checker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EAC4C,QAAQ,EAC5B,IAAI,EAQ+E,GAAG,EAMxH,QAAQ,EAET,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACgE,cAAc,EAGpF,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAWpE,oBAAY,QAAQ;IAClB,IAAI,YAAY;IAChB,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAEnE,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAMF,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AAEpE,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AAMrE,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAqBF,KAAK,eAAe,GAAG;IACrB,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,yBAAyB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AA6OF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../src/checker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EAC4C,QAAQ,EAC5B,IAAI,EAQ+E,GAAG,EAMxH,QAAQ,EAET,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACgE,cAAc,EAGpF,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAWpE,oBAAY,QAAQ;IAClB,IAAI,YAAY;IAChB,KAAK,UAAU;CAChB;AAED,MAAM,MAAM,UAAU,GAAG,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAEnE,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAMF,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;AAEpE,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;AAMrE,KAAK,gBAAgB,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAqBF,KAAK,eAAe,GAAG;IACrB,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;IACf,yBAAyB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AA6OF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe;oCAkyJpB,OAAO;sDAPW,gBAAgB,EAAE;;;;sBAhBjD,UAAU,GAAG,SAAS;;;8BA4Df,UAAU;2BAyBb,UAAU;;iDA7oFY,GAAG,KAAG,IAAI;;iBAwpFjD,MAAM;kBACL,MAAM;kBACN,MAAM;qBACH,MAAM;;kBApzJF,UAAU,WAAW,MAAM,YAAY,YAAY;sCA6rD/B,IAAI,GAAG,QAAQ;2CA0pGxC,UAAU,gBACV,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,gBAC/C,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,qBACvB,MAAM,EAAE,oBACT,CAAC,YAAY,EAAE,UAAU,KAAK,UAAU,EAAE,KAC3D,kBAAkB,GAAG,IAAI;EAgI7B;AAGD,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACrC,mBAAmB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,qBAAqB,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAC1C;AAMD,eAAO,MAAM,6BAA6B,aAC9B,UAAU,+DAGnB,MAAM,gBAAgB,CAyCxB,CAAC;AAMF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
package/out/checker.js
CHANGED
|
@@ -1138,6 +1138,18 @@ function createErrorDiagnoser(context) {
|
|
|
1138
1138
|
});
|
|
1139
1139
|
}
|
|
1140
1140
|
}
|
|
1141
|
+
// 检查 JDK 版本兼容性
|
|
1142
|
+
function jdkDisabled(item) {
|
|
1143
|
+
if (item?.frontends?.length) {
|
|
1144
|
+
return false;
|
|
1145
|
+
}
|
|
1146
|
+
const jdk = app?.jdkVersion || 'JDK8';
|
|
1147
|
+
const dependencyJdk = item?.externalDependencyMap?.jdk?.version || 'JDK8';
|
|
1148
|
+
return jdk.toLowerCase() !== dependencyJdk.toLowerCase();
|
|
1149
|
+
}
|
|
1150
|
+
if (jdkDisabled(node)) {
|
|
1151
|
+
error(node, `与当前应用的JDK版本不匹配`);
|
|
1152
|
+
}
|
|
1141
1153
|
inModule = false;
|
|
1142
1154
|
}
|
|
1143
1155
|
/**
|
|
@@ -4099,6 +4111,27 @@ function createErrorDiagnoser(context) {
|
|
|
4099
4111
|
severity: Severity.WARN,
|
|
4100
4112
|
});
|
|
4101
4113
|
}
|
|
4114
|
+
/**
|
|
4115
|
+
* 检查数据查询是否在有效的上下文中使用
|
|
4116
|
+
* 数据查询不能直接放在语句中,只能作为表达式使用
|
|
4117
|
+
*/
|
|
4118
|
+
function* checkQueryContextValidity(node) {
|
|
4119
|
+
const parent = node.parentNode;
|
|
4120
|
+
const parentConcept = parent.concept;
|
|
4121
|
+
// 允许的父节点类型直接返回
|
|
4122
|
+
const invalidParentConcepts = ['Logic', 'IfStatement', 'ForEachStatement', 'SwitchCase', 'MatchCase', 'WhileStatement'];
|
|
4123
|
+
if (!invalidParentConcepts.includes(parentConcept)) {
|
|
4124
|
+
return;
|
|
4125
|
+
}
|
|
4126
|
+
// MatchCase 在表达式场景下是例外:Match 表达式中的 MatchCase 允许数据查询
|
|
4127
|
+
if (parentConcept === 'MatchCase') {
|
|
4128
|
+
const matchNode = parent.parentNode;
|
|
4129
|
+
if (matchNode?.concept === 'Match' && matchNode.isExpression) {
|
|
4130
|
+
return;
|
|
4131
|
+
}
|
|
4132
|
+
}
|
|
4133
|
+
error(node, '数据查询不能直接放在语句中,只能作为表达式使用。');
|
|
4134
|
+
}
|
|
4102
4135
|
/**
|
|
4103
4136
|
* 检查 数据查询
|
|
4104
4137
|
* @param node
|
|
@@ -4110,6 +4143,8 @@ function createErrorDiagnoser(context) {
|
|
|
4110
4143
|
else {
|
|
4111
4144
|
error(node, '预期 1 个参数,但传入了 0 个。');
|
|
4112
4145
|
}
|
|
4146
|
+
// 检查数据查询的使用上下文
|
|
4147
|
+
yield* checkQueryContextValidity(node);
|
|
4113
4148
|
// where 子句
|
|
4114
4149
|
yield* checkNode(node.where);
|
|
4115
4150
|
// wherePlayground
|
|
@@ -4547,6 +4582,9 @@ function createErrorDiagnoser(context) {
|
|
|
4547
4582
|
* @param node
|
|
4548
4583
|
*/
|
|
4549
4584
|
function* rejectNullLiteral(node) {
|
|
4585
|
+
if (!node) {
|
|
4586
|
+
return; // 如果 node 为 null 或 undefined,直接返回
|
|
4587
|
+
}
|
|
4550
4588
|
if (node.concept === 'NullLiteral') {
|
|
4551
4589
|
error(node, `此处不允许使用 null`);
|
|
4552
4590
|
}
|