@lcap/nasl-language-server-core 4.3.0-beta.25 → 4.3.0-beta.27
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 +94 -5
- 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/get-q-name.js +3 -3
- package/out/reference-manager/get-q-name.js.map +1 -1
- package/out/reference-manager/reference-manager.d.ts +4 -1
- package/out/reference-manager/reference-manager.d.ts.map +1 -1
- package/out/reference-manager/reference-manager.js +16 -15
- package/out/reference-manager/reference-manager.js.map +1 -1
- package/out/reference-manager/symbol-type.d.ts.map +1 -1
- package/out/reference-manager/symbol-type.js +1 -0
- package/out/reference-manager/symbol-type.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/collectGlobalDefs.js +1 -1
- package/out/typer/collectGlobalDefs.js.map +1 -1
- package/out/typer/component-def-manager/component-def-manager.js +1 -1
- package/out/typer/component-def-manager/component-def-manager.js.map +1 -1
- package/out/typer/dispatch-call.d.ts.map +1 -1
- package/out/typer/dispatch-call.js +7 -0
- 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 +35 -6
- 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 +138 -103
- package/out/typer/dispatch-expr.js.map +1 -1
- package/out/typer/dispatch-stmt.d.ts.map +1 -1
- package/out/typer/dispatch-stmt.js +33 -18
- package/out/typer/dispatch-stmt.js.map +1 -1
- package/out/typer/dispatch-view.d.ts.map +1 -1
- package/out/typer/dispatch-view.js +58 -45
- package/out/typer/dispatch-view.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 +93 -17
- package/out/typer/incremental-update.js.map +1 -1
- package/out/typer/oql-checker/chain-call-transformer.d.ts.map +1 -1
- package/out/typer/oql-checker/chain-call-transformer.js +17 -4
- package/out/typer/oql-checker/chain-call-transformer.js.map +1 -1
- package/out/typer/oql-checker/ts-parser.d.ts.map +1 -1
- package/out/typer/oql-checker/ts-parser.js +230 -31
- package/out/typer/oql-checker/ts-parser.js.map +1 -1
- package/out/typer/overload-helper.d.ts.map +1 -1
- package/out/typer/overload-helper.js +139 -11
- 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 +54 -31
- package/out/typer/solver.js.map +1 -1
- package/out/typer/subster.d.ts +1 -1
- package/out/typer/subster.d.ts.map +1 -1
- package/out/typer/subster.js +176 -49
- 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 +260 -1
- package/out/typer/topo-sort.js.map +1 -1
- package/out/typer/type-manager.d.ts.map +1 -1
- package/out/typer/type-manager.js +3 -3
- package/out/typer/type-manager.js.map +1 -1
- package/out/typer/type-predicate.d.ts +1 -0
- package/out/typer/type-predicate.d.ts.map +1 -1
- package/out/typer/type-predicate.js +50 -4
- package/out/typer/type-predicate.js.map +1 -1
- package/out/typer/typer.d.ts +42 -3
- package/out/typer/typer.d.ts.map +1 -1
- package/out/typer/typer.js +189 -16
- package/out/typer/typer.js.map +1 -1
- package/out/typer/unifier.d.ts +11 -0
- package/out/typer/unifier.d.ts.map +1 -1
- package/out/typer/unifier.js +74 -31
- package/out/typer/unifier.js.map +1 -1
- package/out/utils/type-operator.d.ts +15 -0
- package/out/utils/type-operator.d.ts.map +1 -1
- package/out/utils/type-operator.js +65 -3
- package/out/utils/type-operator.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch-def.js","sourceRoot":"","sources":["../../src/typer/dispatch-def.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dispatch-def.js","sourceRoot":"","sources":["../../src/typer/dispatch-def.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch-expr.d.ts","sourceRoot":"","sources":["../../src/typer/dispatch-expr.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAEjB,eAAe,EAYf,aAAa,EACb,KAAK,EAKL,YAAY,EAqBZ,QAAQ,EACR,UAAU,EACV,cAAc,EAKf,MAAM,qBAAqB,CAAC;AAoD7B,OAAO,EACL,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"dispatch-expr.d.ts","sourceRoot":"","sources":["../../src/typer/dispatch-expr.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAEjB,eAAe,EAYf,aAAa,EACb,KAAK,EAKL,YAAY,EAqBZ,QAAQ,EACR,UAAU,EACV,cAAc,EAKf,MAAM,qBAAqB,CAAC;AAoD7B,OAAO,EACL,KAAK,MAAM,EAEZ,MAAM,SAAS,CAAC;AA0EjB,KAAK,cAAc,GAAG,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAG1D,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,GAAG,SAAS,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAyDvI;AA8tBD,eAAO,MAAM,mBAAmB,QAAS,MAAM,MAAM,iBAAiB,UAAU,cAAc,GAAG,SAAS,2BAAuB,cAAc,GAAG,SA0BjJ,CAAA;AAED,eAAO,MAAM,UAAU,QAAS,MAAM,MAAM,QAAQ,SAAS,cAAc,GAAG,SAAS,eAAc,OAAO,KAAW,cAAc,GAAG,SAiGvI,CAAA;AAmjBD,eAAO,MAAM,iBAAiB,QAAS,MAAM,MAAM,cAAc,GAAG,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC,CAapH,CAAA;AA6FD;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAY1H;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAiJ7G;AA2CD,eAAO,MAAM,cAAc,OAAQ,eAAe,GAAG,YAAY,WAAW,MAAM,WAAW,MAAM,KAAG,aAMrG,CAAC"}
|
|
@@ -13,6 +13,7 @@ const get_q_name_1 = require("../reference-manager/get-q-name");
|
|
|
13
13
|
const reference_manager_1 = require("../reference-manager/reference-manager");
|
|
14
14
|
const string_1 = require("../utils/string");
|
|
15
15
|
const assertion_1 = require("../utils/assertion");
|
|
16
|
+
const typer_1 = require("./typer");
|
|
16
17
|
const service_1 = require("@lcap/nasl-concepts/service");
|
|
17
18
|
const asserts_1 = require("@lcap/nasl-concepts/asserts");
|
|
18
19
|
const type_manager_1 = require("./type-manager");
|
|
@@ -206,10 +207,19 @@ function tpIdentifier(env, nd, tgtTy) {
|
|
|
206
207
|
// a.b.c 中的 b 和 c 不应指向局部变量、不收集草稿区的推导
|
|
207
208
|
if (!env.isInMemberExpr && (0, service_1.isTypeInferConcept)(def)) {
|
|
208
209
|
env.idToVar.set(nd, def);
|
|
209
|
-
|
|
210
|
+
// 如果 Identifier 在草稿区,将它加入到 Set 中
|
|
211
|
+
if (env.isPlayground) {
|
|
212
|
+
env.allRefsInPlayground.add(nd);
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
// 如果不在草稿区,确保从 Set 中删除(可能之前添加过)
|
|
216
|
+
env.allRefsInPlayground.delete(nd);
|
|
217
|
+
}
|
|
210
218
|
}
|
|
211
219
|
else {
|
|
212
220
|
env.idToVar.delete(nd);
|
|
221
|
+
// 从 idToVar 中删除时,也要从 allRefsInPlayground 中删除
|
|
222
|
+
env.allRefsInPlayground.delete(nd);
|
|
213
223
|
}
|
|
214
224
|
env.unifier.unify(ndTy, tgtTy);
|
|
215
225
|
return ndTy;
|
|
@@ -327,6 +337,18 @@ const processRefProp = (env, nd, objTyAnn) => {
|
|
|
327
337
|
env.setType(nd.property, type_manager_1.naslAnyTy);
|
|
328
338
|
return;
|
|
329
339
|
}
|
|
340
|
+
if (objTyAnn.typeKind === 'generic' && vRefTyDef.concept === 'Structure') {
|
|
341
|
+
const propertyType = (0, typer_1.findPropertyTypeFromGeneric)(env, objTyAnn, vRefTyDef, nd.property.name);
|
|
342
|
+
if (propertyType) {
|
|
343
|
+
env.setType(nd.property, propertyType);
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
// 找不到属性时设置错误,与非 generic 分支保持一致
|
|
347
|
+
env.addError((0, sem_diag_1.mkMemNotFoundErr)(objTyAnn, nd.property.name));
|
|
348
|
+
env.setType(nd.property, type_manager_1.naslAnyTy);
|
|
349
|
+
}
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
330
352
|
let prop = reference_manager_1.ReferenceManager.getProp(vRefTyDef, nd.property.name);
|
|
331
353
|
if (!prop) {
|
|
332
354
|
if (nd.object.name === 'processSystem') {
|
|
@@ -357,50 +379,31 @@ function createIndexedAccessType(env, nd, simplifiedObjectType) {
|
|
|
357
379
|
env.setType(nd.property, indexedTy);
|
|
358
380
|
}
|
|
359
381
|
function tpBinaryArithExpr(env, nd, tgtTy) {
|
|
360
|
-
|
|
361
|
-
let
|
|
382
|
+
// 注意:此函数只处理 -, *, /, % 操作符,+ 操作符在 tpBinaryExpression 中单独处理
|
|
383
|
+
let leftTy = dispatchExpr(env, nd.left, type_manager_1.naslDecimalTy);
|
|
384
|
+
let rightTy = dispatchExpr(env, nd.right, type_manager_1.naslDecimalTy);
|
|
362
385
|
let ndTy;
|
|
363
386
|
// 启发式,兼容老程序就行了。速度至上。
|
|
364
387
|
if ((0, type_predicate_2.isTyAnnTyParam)(leftTy) && !(0, type_predicate_2.isTyAnnTyParam)(rightTy)) {
|
|
365
|
-
|
|
366
|
-
env.unifier.unify(leftTy, type_manager_1.naslDecimalTy);
|
|
367
|
-
}
|
|
368
|
-
else if ((0, type_predicate_2.isIntegerTy)(rightTy)) {
|
|
369
|
-
env.unifier.unify(type_manager_1.naslLongTy, leftTy);
|
|
370
|
-
}
|
|
388
|
+
env.unifier.unify(type_manager_1.naslLongTy, leftTy);
|
|
371
389
|
}
|
|
372
390
|
else if (!(0, type_predicate_2.isTyAnnTyParam)(leftTy) && (0, type_predicate_2.isTyAnnTyParam)(rightTy)) {
|
|
373
|
-
|
|
374
|
-
env.unifier.unify(rightTy, type_manager_1.naslDecimalTy);
|
|
375
|
-
}
|
|
376
|
-
else if ((0, type_predicate_2.isIntegerTy)(leftTy)) {
|
|
377
|
-
env.unifier.unify(type_manager_1.naslLongTy, rightTy);
|
|
378
|
-
}
|
|
391
|
+
env.unifier.unify(type_manager_1.naslLongTy, rightTy);
|
|
379
392
|
}
|
|
380
393
|
// 人肉 solve
|
|
381
|
-
|
|
382
|
-
const hasDecimal = (0, type_predicate_2.isDecimalTy)(leftTy) || (0, type_predicate_2.isDecimalTy)(rightTy);
|
|
383
|
-
const hasLong = (0, type_predicate_2.isIntegerTy)(leftTy) || (0, type_predicate_2.isIntegerTy)(rightTy);
|
|
384
|
-
if (nd.operator === '+' && hasString) {
|
|
385
|
-
ndTy = type_manager_1.naslStringTy;
|
|
386
|
-
}
|
|
387
|
-
else if (nd.operator === '/') {
|
|
394
|
+
if (nd.operator === '/') { // 除法运算,结果必须是 decimal
|
|
388
395
|
// 必须是 decimal
|
|
389
396
|
ndTy = type_manager_1.naslDecimalTy;
|
|
390
397
|
}
|
|
391
398
|
else {
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
ndTy = env.unifier.nextFreshTyAnn('free');
|
|
401
|
-
env.unifier.unify(leftTy, ndTy);
|
|
402
|
-
env.unifier.unify(rightTy, ndTy);
|
|
403
|
-
}
|
|
399
|
+
// 较大的类型
|
|
400
|
+
ndTy = env.unifier.nextFreshTyAnn('free');
|
|
401
|
+
// 约束 ndTy 的上界为 Decimal
|
|
402
|
+
env.unifier.unify(ndTy, type_manager_1.naslDecimalTy);
|
|
403
|
+
// 约束 ndTy 的下界为 Long
|
|
404
|
+
env.unifier.unify(type_manager_1.naslLongTy, ndTy);
|
|
405
|
+
env.unifier.unify(leftTy, ndTy);
|
|
406
|
+
env.unifier.unify(rightTy, ndTy);
|
|
404
407
|
}
|
|
405
408
|
env.setType(nd, ndTy);
|
|
406
409
|
env.unifier.unify(ndTy, tgtTy);
|
|
@@ -779,63 +782,92 @@ const tpAnonymousFunction = (env, nd, _tgtTy, isListSort = false) => {
|
|
|
779
782
|
};
|
|
780
783
|
exports.tpAnonymousFunction = tpAnonymousFunction;
|
|
781
784
|
const tpSubLogic = (env, nd, tgtTy, isListSort = false) => {
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
env.unifier.unifyContravariant(paramTy, tgtTy.typeArguments[idx], param); // contravariant
|
|
798
|
-
});
|
|
799
|
-
}
|
|
800
|
-
// 若非前端,则 shallow copy,因为内部会触发 solve,会把进来前的约束清掉;
|
|
801
|
-
// 若是前端,则无需 copy
|
|
802
|
-
const csCopy = env.isView ? env.unifier.cs : new Map(env.unifier.cs);
|
|
803
|
-
// 直接用 Solver 求解约束,并仅把求解结果代回到 SubLogic 的 params(避免 traverseSubstRunCheck 对 Identifier 的假设)
|
|
804
|
-
if (!env.isView) {
|
|
805
|
-
// 使用局部 Solver
|
|
806
|
-
const localSolver = new solver_1.Solver(env);
|
|
807
|
-
const subst = localSolver.simpleSolveConstraints();
|
|
808
|
-
// 只替换 nd.params 上的类型变元
|
|
809
|
-
const pSubst = (0, subster_1.inPlaceSubstTyAnn)(env, subst);
|
|
810
|
-
for (const param of nd.params) {
|
|
811
|
-
const rawTy = env.getRawType(param);
|
|
812
|
-
if (rawTy) {
|
|
813
|
-
const replaced = pSubst(rawTy);
|
|
814
|
-
env.setType(param, replaced);
|
|
815
|
-
}
|
|
785
|
+
return env.withPostCheckScope(() => {
|
|
786
|
+
// 保持与 tpAnonymousFunction 一致:先展开 expected function type 中的 tuple spread
|
|
787
|
+
const expectedTy = tgtTy ? desugarTupleSpreadInArgsOfFunctionType(tgtTy) : undefined;
|
|
788
|
+
// 仅对"表达式中的临时 SubLogic"(TS arrow-function block 解析产物)做参数类型的"预填充":
|
|
789
|
+
// - 让 tpParam 直接用 expected type,而不是先生成 free type var
|
|
790
|
+
// - 保证闭包捕获变量(如外层 record 参数)具备正确成员类型,避免 Any 化
|
|
791
|
+
if (expectedTy && (0, type_predicate_2.isFuncTy)(expectedTy) && typeof nd.name === 'string' && nd.name.startsWith('$anon$')) {
|
|
792
|
+
nd.params.forEach((param, idx) => {
|
|
793
|
+
const exp = expectedTy.typeArguments?.[idx];
|
|
794
|
+
if (!exp)
|
|
795
|
+
return;
|
|
796
|
+
if (!param.typeAnnotation) {
|
|
797
|
+
param.typeAnnotation = (0, type_manager_1.copyTyAnn)(exp);
|
|
798
|
+
}
|
|
799
|
+
});
|
|
816
800
|
}
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
801
|
+
const subLogicVars = [...nd.params, ...nd.returns, ...nd.variables];
|
|
802
|
+
env.refMgr.setLocalSymBindings(nd, subLogicVars);
|
|
803
|
+
subLogicVars.forEach(v => (0, dispatch_def_1.dispatchDef)(env, v));
|
|
804
|
+
// 处理 tgtTy 缺失的情况
|
|
805
|
+
if (expectedTy && !(0, type_predicate_2.isFuncTy)(expectedTy) && !isListSort) {
|
|
806
|
+
env.setType(nd, type_manager_1.naslAnyTy);
|
|
807
|
+
env.addError((0, sem_diag_1.mkIncompatibleTyErr)(env, '函数', expectedTy));
|
|
808
|
+
return (0, type_manager_1.createFnTyFromTyAnns)([], type_manager_1.naslAnyTy);
|
|
809
|
+
}
|
|
810
|
+
// 如果有 tgtTy 且是函数类型,则进行 unification
|
|
811
|
+
if (expectedTy && (0, type_predicate_2.isFuncTy)(expectedTy)) {
|
|
812
|
+
// 对于“作为表达式出现的 SubLogic”(例如由 TS arrow-function block 生成),通常没有显式参数类型。
|
|
813
|
+
// 只做 contravariant unify 很难把参数类型从 expected type 传播进来,进而导致闭包捕获变量上的成员访问类型变成 Any。
|
|
814
|
+
// 因此:当参数未声明类型(或当前是 Any/未解),先用 expected param type 填充。
|
|
815
|
+
nd.params.forEach((param, idx) => {
|
|
816
|
+
const expected = expectedTy.typeArguments?.[idx];
|
|
817
|
+
if (!expected)
|
|
818
|
+
return;
|
|
819
|
+
const cur = env.getRawType(param);
|
|
820
|
+
if (!param.typeAnnotation && (!cur || (0, type_predicate_2.isAnyTy)(cur) || (0, type_predicate_1.isUnResolvedTy)(cur))) {
|
|
821
|
+
env.setType(param, expected);
|
|
822
|
+
}
|
|
823
|
+
});
|
|
824
|
+
// TODO: 通过 default value 生成 constraints
|
|
825
|
+
nd.params.forEach((param, idx) => {
|
|
826
|
+
// v4.1 AI 相关需求要求它也能推
|
|
827
|
+
const paramTy = env.getRawType(param);
|
|
828
|
+
env.unifier.unifyContravariant(paramTy, expectedTy.typeArguments[idx], param); // contravariant
|
|
829
|
+
});
|
|
824
830
|
}
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
831
|
+
// 若非前端,则 shallow copy,因为内部会触发 solve,会把进来前的约束清掉;
|
|
832
|
+
// 若是前端,则无需 copy
|
|
833
|
+
const csCopy = env.isView ? env.unifier.cs : new Map(env.unifier.cs);
|
|
834
|
+
// 直接用 Solver 求解约束,并仅把求解结果代回到 SubLogic 的 params(避免 traverseSubstRunCheck 对 Identifier 的假设)
|
|
835
|
+
if (!env.isView) {
|
|
836
|
+
// 使用局部 Solver
|
|
837
|
+
const localSolver = new solver_1.Solver(env);
|
|
838
|
+
const subst = localSolver.simpleSolveConstraints();
|
|
839
|
+
// 只替换 nd.params 上的类型变元
|
|
840
|
+
const pSubst = (0, subster_1.inPlaceSubstTyAnn)(env, subst);
|
|
841
|
+
for (const param of nd.params) {
|
|
842
|
+
const rawTy = env.getRawType(param);
|
|
843
|
+
if (rawTy) {
|
|
844
|
+
const replaced = pSubst(rawTy);
|
|
845
|
+
env.setType(param, replaced);
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
// 运行后置校验并把 postChecks 触发
|
|
849
|
+
const normalizedSemTyMap = (0, subster_1.traverseAndSubst)(env)(nd, subst);
|
|
850
|
+
const errs = localSolver.postCheckSolution(subst, localSolver.cs, normalizedSemTyMap) || [];
|
|
851
|
+
if (!env.isErrorReportingDisabled() && !env.hasErrorDelegatee) {
|
|
852
|
+
for (const err of errs) {
|
|
853
|
+
env.addError(err.message, env.getCurFileNode(), err.errBoundary, err.fromPlayground ? 'warning' : 'error');
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
env.runPostChecks(subst);
|
|
857
|
+
}
|
|
858
|
+
(0, dispatch_stmt_2.tpSolvingStmts)(env, nd.body);
|
|
859
|
+
(0, dispatch_stmt_1.tpSolvingPlayground)(env, nd.playground);
|
|
860
|
+
subLogicVars.forEach(env.removeLexicalSym);
|
|
861
|
+
const ndTy = (0, type_manager_1.createRefTyAnnFromDef)(nd, env);
|
|
862
|
+
if (expectedTy && ndTy.typeKind === 'function') {
|
|
863
|
+
// 从 expected type 上 copy sync 字段,保证 SubLogic 的函数类型和 Param 处声明的字段一致
|
|
864
|
+
ndTy.sync = expectedTy.sync;
|
|
865
|
+
}
|
|
866
|
+
env.setType(nd, ndTy);
|
|
867
|
+
env.unifier.cs = csCopy;
|
|
868
|
+
!isListSort && env.unifier.unify(ndTy, expectedTy); // 这里需要额外的 unify,否则 SubLogic 算出来的类型不能与外侧进来时的约束产生关系
|
|
869
|
+
return ndTy;
|
|
870
|
+
});
|
|
839
871
|
};
|
|
840
872
|
exports.tpSubLogic = tpSubLogic;
|
|
841
873
|
function tpArgument(env, nd, tgtTy) {
|
|
@@ -1138,6 +1170,7 @@ function tpCallQueryComponent(env, nd, tgtTy) {
|
|
|
1138
1170
|
case 'COUNTD':
|
|
1139
1171
|
return type_manager_1.naslLongTy;
|
|
1140
1172
|
case 'AVG':
|
|
1173
|
+
env.unifier.unify(propTy, type_manager_1.naslDecimalOrLongTy);
|
|
1141
1174
|
return type_manager_1.naslDecimalTy;
|
|
1142
1175
|
default:
|
|
1143
1176
|
return propTy;
|
|
@@ -1197,8 +1230,7 @@ function tpOqlQueryComponent(env, nd, tgtTy) {
|
|
|
1197
1230
|
}
|
|
1198
1231
|
const logicNd = parser.parseInLogicContext(`const $queryResult$ = ${code};`, '$queryResult$');
|
|
1199
1232
|
if (logicNd) {
|
|
1200
|
-
|
|
1201
|
-
logicNd.parentNode = null;
|
|
1233
|
+
logicNd.parentNode = nd;
|
|
1202
1234
|
logicNd.name = 'oqlTempLogic';
|
|
1203
1235
|
env.setErrorDelegatee(nd);
|
|
1204
1236
|
const oldCS = env.unifier.cs;
|
|
@@ -1213,6 +1245,8 @@ function tpOqlQueryComponent(env, nd, tgtTy) {
|
|
|
1213
1245
|
env.logger?.fatal?.('[tpOqlQueryComponent] error:', err);
|
|
1214
1246
|
}
|
|
1215
1247
|
finally {
|
|
1248
|
+
// @ts-expect-error
|
|
1249
|
+
logicNd.parentNode = null;
|
|
1216
1250
|
env.unifier.cs = oldCS;
|
|
1217
1251
|
env.resetErrorDelegatee();
|
|
1218
1252
|
}
|
|
@@ -1456,6 +1490,8 @@ function tpMatch(env, nd, tgtTy) {
|
|
|
1456
1490
|
const exprTy = nd.isExpression ?
|
|
1457
1491
|
dispatchExpr(env, nd.expression, undefined) :
|
|
1458
1492
|
tpSolvingExpr(env, nd.expression, undefined);
|
|
1493
|
+
// 类型匹配,必须加上isTypeMatch 判断,否则值匹配时会错误地用值的类型去约束未解析类型,类型细化也将基于错误的类型
|
|
1494
|
+
const isTypeMatch = nd.cases.some(caseItem => caseItem.patterns.length > 0 && caseItem.patterns.every((p) => (0, type_predicate_1.isTypeAnnotation)(p)));
|
|
1459
1495
|
const tpMatchTypeRefineCase = (nd, exprTy) => (mc) => {
|
|
1460
1496
|
let exprRefinedTy = exprTy;
|
|
1461
1497
|
// mc.patterns 中可能包含类型模式和值模式,分别对应类型匹配和值匹配。
|
|
@@ -1487,6 +1523,14 @@ function tpMatch(env, nd, tgtTy) {
|
|
|
1487
1523
|
exprRefinedTy = (0, type_manager_1.createUnionTyAnnIfNecessary)(env, caseRefinedTys); // TODO 报错
|
|
1488
1524
|
}
|
|
1489
1525
|
}
|
|
1526
|
+
// 值匹配
|
|
1527
|
+
if (!isTypeMatch) {
|
|
1528
|
+
toRaws(mc.patterns).forEach(pattern => {
|
|
1529
|
+
env.withPostCheckScope(() => {
|
|
1530
|
+
tpSolvingExpr(env, pattern, exprRefinedTy);
|
|
1531
|
+
});
|
|
1532
|
+
});
|
|
1533
|
+
}
|
|
1490
1534
|
}
|
|
1491
1535
|
const allocatedVars = new Set();
|
|
1492
1536
|
const itVar = nasl_concepts_1.Variable.createProtoTypeOnly({
|
|
@@ -1531,23 +1575,14 @@ function tpMatch(env, nd, tgtTy) {
|
|
|
1531
1575
|
}
|
|
1532
1576
|
};
|
|
1533
1577
|
if (exprTy) {
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
if (!(0, type_predicate_1.isTypeAnnotation)(p)) {
|
|
1537
|
-
dispatchExpr(env, p, undefined);
|
|
1538
|
-
}
|
|
1539
|
-
}
|
|
1540
|
-
}
|
|
1541
|
-
if ((0, type_predicate_2.isTyAnnTyParam)(exprTy)) {
|
|
1578
|
+
// 只有当 exprTy 是未解析的类型(typeParam 或 indexedAccess)时,才需要从 patterns 构造 union 类型来约束它
|
|
1579
|
+
if (isTypeMatch && ((0, type_predicate_2.isTyAnnTyParam)(exprTy) || (0, type_predicate_1.isIndexedType)(exprTy))) {
|
|
1542
1580
|
// 从已有的 match cases 的类型构造出 union-like type
|
|
1543
1581
|
const patTys = nd.cases.flatMap(c => c.patterns).map(getPatTy).filter(types_1.isNotNil);
|
|
1544
|
-
for (const pTy of patTys) {
|
|
1545
|
-
env.unifier.unify(pTy, exprTy); // 各个分支的类型的 union <: 类型变元
|
|
1546
|
-
}
|
|
1547
1582
|
const unionTy = (0, type_manager_1.createUnionTyAnnIfNecessary)(env, patTys);
|
|
1548
1583
|
handleMatchingAgainstTypes(unionTy);
|
|
1549
1584
|
}
|
|
1550
|
-
else {
|
|
1585
|
+
else { // 如果 exprTy 已经是确定的类型(包括 union 类型),直接使用 exprTy 即可
|
|
1551
1586
|
handleMatchingAgainstTypes(exprTy);
|
|
1552
1587
|
}
|
|
1553
1588
|
}
|