@lcap/nasl-language-server-core 4.0.1-rc.4 → 4.0.1-rc.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/checker.d.ts.map +1 -1
- package/out/checker.js +38 -7
- package/out/checker.js.map +1 -1
- package/out/reference-manager/collect-q-name.d.ts.map +1 -1
- package/out/reference-manager/collect-q-name.js +6 -3
- package/out/reference-manager/collect-q-name.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/typer/dispatch-expr.d.ts.map +1 -1
- package/out/typer/dispatch-expr.js +46 -36
- package/out/typer/dispatch-expr.js.map +1 -1
- package/out/typer/dispatch-process.js +3 -1
- package/out/typer/dispatch-process.js.map +1 -1
- package/out/typer/type-manager.d.ts.map +1 -1
- package/out/typer/type-manager.js +31 -4
- package/out/typer/type-manager.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,EAU0F,GAAG,EAMvG,QAAQ,EACT,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;AAMpE,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;AAiQF;;;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,EAU0F,GAAG,EAMvG,QAAQ,EACT,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;AAMpE,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;AAiQF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe;oCA2pIpB,OAAO;sDAPW,gBAAgB,EAAE;;;;sBAhBjD,UAAU,GAAG,SAAS;;;8BA4Df,UAAU;2BAuBb,UAAU;;kBA/pInB,UAAU,WAAW,MAAM,YAAY,YAAY;EAirIzE;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;AAED,eAAO,MAAM,6BAA6B,aAAc,UAAU,sCAAoC,MAAM,gBAAgB,CAmC3H,CAAA;AAMD,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
package/out/checker.js
CHANGED
|
@@ -1622,6 +1622,30 @@ function createErrorDiagnoser(context) {
|
|
|
1622
1622
|
error(node, message);
|
|
1623
1623
|
}
|
|
1624
1624
|
}
|
|
1625
|
+
const relationEntity = node.relationEntity;
|
|
1626
|
+
const relationNamespace = node.relationNamespace;
|
|
1627
|
+
const relationProperty = node.relationProperty;
|
|
1628
|
+
if (relationEntity && relationNamespace && relationProperty) {
|
|
1629
|
+
const releationEntityQName = `${relationNamespace}.${relationEntity}`;
|
|
1630
|
+
const releationEntityPropertyQName = `${releationEntityQName}.properties.${relationProperty}`;
|
|
1631
|
+
const entityEntityDef = env.refMgr.queryQNameDef(releationEntityQName);
|
|
1632
|
+
const entityPropertyDef = env.refMgr.queryQNameDef(releationEntityPropertyQName);
|
|
1633
|
+
if (entityPropertyDef) {
|
|
1634
|
+
const equal = (0, type_predicate_1.isEqualTy)(env, entityPropertyDef.typeAnnotation, node.typeAnnotation);
|
|
1635
|
+
if (equal) {
|
|
1636
|
+
return;
|
|
1637
|
+
}
|
|
1638
|
+
const content = (0, sem_diag_1.mkIncompatibleTyErr)(env, entityPropertyDef.typeAnnotation, node.typeAnnotation);
|
|
1639
|
+
const message = `关联属性${content}`;
|
|
1640
|
+
error(node, message);
|
|
1641
|
+
}
|
|
1642
|
+
else {
|
|
1643
|
+
const message = entityEntityDef
|
|
1644
|
+
? `找不到 ${relationEntity} 上的 ${relationProperty}`
|
|
1645
|
+
: `找不到实体 ${relationEntity}`;
|
|
1646
|
+
error(node, message);
|
|
1647
|
+
}
|
|
1648
|
+
}
|
|
1625
1649
|
}
|
|
1626
1650
|
/**
|
|
1627
1651
|
* 检查 枚举
|
|
@@ -3801,13 +3825,20 @@ function createErrorDiagnoser(context) {
|
|
|
3801
3825
|
function* checkOqlQueryComponent(node) {
|
|
3802
3826
|
ensureNodeKeyExists(node, 'code');
|
|
3803
3827
|
yield* checkSameSource(node);
|
|
3804
|
-
//
|
|
3805
|
-
|
|
3806
|
-
|
|
3807
|
-
|
|
3808
|
-
|
|
3809
|
-
|
|
3810
|
-
|
|
3828
|
+
if (node.typeAnnotation) { // 手动设置
|
|
3829
|
+
const IMPOSSIBLE_TOPLEVEL_TYPES = ['Map'];
|
|
3830
|
+
if (IMPOSSIBLE_TOPLEVEL_TYPES.includes(node.typeAnnotation.typeName || "")) {
|
|
3831
|
+
error(node, `SQL查询:返回类型不支持设置为 ${node.typeAnnotation.headTitle}。`);
|
|
3832
|
+
}
|
|
3833
|
+
}
|
|
3834
|
+
else { // 自动推导
|
|
3835
|
+
const typeAnnotation = env.getType(node);
|
|
3836
|
+
if (typeAnnotation) {
|
|
3837
|
+
if (typeAnnotation.typeName === 'List' && typeAnnotation.typeKind === 'generic') {
|
|
3838
|
+
const { typeArguments = [] } = typeAnnotation;
|
|
3839
|
+
if (typeArguments.length && typeArguments[0].isComplexType()) {
|
|
3840
|
+
error(node, `SQL查询:返回类型不支持单个复杂类型 ${typeArguments[0].headTitle}。`);
|
|
3841
|
+
}
|
|
3811
3842
|
}
|
|
3812
3843
|
}
|
|
3813
3844
|
}
|