@lcap/nasl-language-server-core 4.4.0-beta.6 → 4.4.0-beta.8
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 +60 -1
- package/out/checker.js.map +1 -1
- package/out/typer/collectGlobalDefs.d.ts.map +1 -1
- package/out/typer/collectGlobalDefs.js +25 -2
- package/out/typer/collectGlobalDefs.js.map +1 -1
- package/out/typer/dispatch-expr.d.ts.map +1 -1
- package/out/typer/dispatch-expr.js +84 -82
- 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 +25 -23
- package/out/typer/dispatch-stmt.js.map +1 -1
- package/out/typer/subster.d.ts.map +1 -1
- package/out/typer/subster.js +103 -28
- package/out/typer/subster.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 +5 -2
- package/out/typer/type-predicate.js.map +1 -1
- package/out/typer/typer.d.ts +9 -0
- package/out/typer/typer.d.ts.map +1 -1
- package/out/typer/typer.js +71 -14
- package/out/typer/typer.js.map +1 -1
- package/out/typer/unifier.d.ts +9 -0
- package/out/typer/unifier.d.ts.map +1 -1
- package/out/typer/unifier.js +43 -1
- package/out/typer/unifier.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectGlobalDefs.d.ts","sourceRoot":"","sources":["../../src/typer/collectGlobalDefs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,SAAS,EACT,KAAK,EAGL,cAAc,EAEd,UAAU,EACV,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAY7B,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;AAC1D,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC;AACnD,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACtD,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEtD,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzD,eAAO,MAAM,aAAa,cAAc,CAAC;AACzC,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AACrD,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,eAAO,MAAM,mBAAmB,0BAA0B,CAAC;AAE3D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAsB/E,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,QAqBxF;
|
|
1
|
+
{"version":3,"file":"collectGlobalDefs.d.ts","sourceRoot":"","sources":["../../src/typer/collectGlobalDefs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,SAAS,EACT,KAAK,EAGL,cAAc,EAEd,UAAU,EACV,QAAQ,EACT,MAAM,qBAAqB,CAAC;AAY7B,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC;AAC1D,MAAM,MAAM,qBAAqB,GAAG,cAAc,CAAC;AACnD,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACtD,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AAEtD,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAEzD,eAAO,MAAM,aAAa,cAAc,CAAC;AACzC,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AACrD,eAAO,MAAM,kBAAkB,mBAAmB,CAAC;AACnD,eAAO,MAAM,qBAAqB,eAAe,CAAC;AAElD,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,eAAO,MAAM,mBAAmB,0BAA0B,CAAC;AAE3D,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAsB/E,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,QAqBxF;AAuZD,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAIpE;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,KAAK,CAAC,qBAAqB,CAAC,CAmJvF;AAED,eAAO,MAAM,yBAAyB,SAAU,MAAM,kBAAkB,cAAc,QAAQ,UAAU,GAAG,IAAI,aAK9G,CAAC"}
|
|
@@ -51,7 +51,7 @@ function parseTsFnToNaslQNameRefMaps(refMgr, fileContent) {
|
|
|
51
51
|
}
|
|
52
52
|
const ast = ts.createSourceFile(`whatever.ts`, fileContent, ts.ScriptTarget.Latest, true);
|
|
53
53
|
const m = new Map();
|
|
54
|
-
parseTsDeclarationsToNasl(m)(ast);
|
|
54
|
+
parseTsDeclarationsToNasl(m, refMgr)(ast);
|
|
55
55
|
m.forEach((v, k) => {
|
|
56
56
|
addToTargetByDefKind(v, k);
|
|
57
57
|
});
|
|
@@ -67,7 +67,7 @@ function parseTsFnToNaslQNameRefMaps(refMgr, fileContent) {
|
|
|
67
67
|
}
|
|
68
68
|
exports.parseTsFnToNaslQNameRefMaps = parseTsFnToNaslQNameRefMaps;
|
|
69
69
|
// 断言: 所有的声明语句必须在namespace之下
|
|
70
|
-
const parseTsDeclarationsToNasl = (m) => (node) => {
|
|
70
|
+
const parseTsDeclarationsToNasl = (m, refMgr) => (node) => {
|
|
71
71
|
function visit(node, nsp) {
|
|
72
72
|
if (ts.isModuleDeclaration(node)) {
|
|
73
73
|
const newNspPart = node.name.getText();
|
|
@@ -125,6 +125,29 @@ const parseTsDeclarationsToNasl = (m) => (node) => {
|
|
|
125
125
|
});
|
|
126
126
|
}
|
|
127
127
|
}
|
|
128
|
+
else if (ts.isImportEqualsDeclaration(node)) { // 处理 import equals 声明,如: import A = B.C
|
|
129
|
+
(0, assertion_1.assertTrusy)(nsp);
|
|
130
|
+
const name = node.name.getText();
|
|
131
|
+
const moduleReference = node.moduleReference;
|
|
132
|
+
if (ts.isQualifiedName(moduleReference)) {
|
|
133
|
+
const qualifiedName = moduleReference.getText();
|
|
134
|
+
const referencedDef = refMgr.queryQNameDef(qualifiedName);
|
|
135
|
+
if (referencedDef) {
|
|
136
|
+
m.set(`${nsp}.${name}`, referencedDef);
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
// 如果引用的定义不存在,可能是依赖顺序问题或定义不存在
|
|
140
|
+
console.error(`parseTsFnToNaslQNameRefMaps: Cannot find referenced definition "${qualifiedName}" for import equals "${nsp}.${name}"`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else if (ts.isTypeAliasDeclaration(node)) { // 处理类型别名声明,如: type A = B.C
|
|
145
|
+
const name = node.name.getText();
|
|
146
|
+
const ty = (0, parseTsClassType_1.parseTsType)(nsp ?? '')([])(node.type);
|
|
147
|
+
if (ty) {
|
|
148
|
+
m.set(`${nsp}.${name}`, ty);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
128
151
|
ts.forEachChild(node, (n) => visit(n, nsp));
|
|
129
152
|
}
|
|
130
153
|
const classDefs = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectGlobalDefs.js","sourceRoot":"","sources":["../../src/typer/collectGlobalDefs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"collectGlobalDefs.js","sourceRoot":"","sources":["../../src/typer/collectGlobalDefs.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,EACL,YAAY,EAKZ,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,CA0DvI;AAquBD,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,
|
|
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,EACL,YAAY,EAKZ,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,CA0DvI;AAquBD,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;AA0jBD,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,CAoJ7G;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAS3H;AA2CD,eAAO,MAAM,cAAc,OAAQ,eAAe,GAAG,YAAY,WAAW,MAAM,WAAW,MAAM,KAAG,aAMrG,CAAC"}
|
|
@@ -793,90 +793,92 @@ const tpAnonymousFunction = (env, nd, _tgtTy, isListSort = false) => {
|
|
|
793
793
|
};
|
|
794
794
|
exports.tpAnonymousFunction = tpAnonymousFunction;
|
|
795
795
|
const tpSubLogic = (env, nd, tgtTy, isListSort = false) => {
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
param.typeAnnotation
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
const subLogicVars = [...nd.params, ...nd.returns, ...nd.variables];
|
|
812
|
-
env.refMgr.setLocalSymBindings(nd, subLogicVars);
|
|
813
|
-
subLogicVars.forEach(v => (0, dispatch_def_1.dispatchDef)(env, v));
|
|
814
|
-
// 处理 tgtTy 缺失的情况
|
|
815
|
-
if (expectedTy && !(0, type_predicate_2.isFuncTy)(expectedTy) && !isListSort) {
|
|
816
|
-
env.setType(nd, type_manager_1.naslAnyTy);
|
|
817
|
-
env.addError((0, sem_diag_1.mkIncompatibleTyErr)(env, '函数', expectedTy));
|
|
818
|
-
return (0, type_manager_1.createFnTyFromTyAnns)([], type_manager_1.naslAnyTy);
|
|
819
|
-
}
|
|
820
|
-
// 如果有 tgtTy 且是函数类型,则进行 unification
|
|
821
|
-
if (expectedTy && (0, type_predicate_2.isFuncTy)(expectedTy)) {
|
|
822
|
-
// 对于“作为表达式出现的 SubLogic”(例如由 TS arrow-function block 生成),通常没有显式参数类型。
|
|
823
|
-
// 只做 contravariant unify 很难把参数类型从 expected type 传播进来,进而导致闭包捕获变量上的成员访问类型变成 Any。
|
|
824
|
-
// 因此:当参数未声明类型(或当前是 Any/未解),先用 expected param type 填充。
|
|
825
|
-
nd.params.forEach((param, idx) => {
|
|
826
|
-
const expected = expectedTy.typeArguments?.[idx];
|
|
827
|
-
if (!expected)
|
|
828
|
-
return;
|
|
829
|
-
const cur = env.getRawType(param);
|
|
830
|
-
if (!param.typeAnnotation && (!cur || (0, type_predicate_2.isAnyTy)(cur) || (0, type_predicate_1.isUnResolvedTy)(cur))) {
|
|
831
|
-
env.setType(param, expected);
|
|
832
|
-
}
|
|
833
|
-
});
|
|
834
|
-
// TODO: 通过 default value 生成 constraints
|
|
835
|
-
nd.params.forEach((param, idx) => {
|
|
836
|
-
// v4.1 AI 相关需求要求它也能推
|
|
837
|
-
const paramTy = env.getRawType(param);
|
|
838
|
-
env.unifier.unifyContravariant(paramTy, expectedTy.typeArguments[idx], param); // contravariant
|
|
839
|
-
});
|
|
840
|
-
}
|
|
841
|
-
// 若非前端,则 shallow copy,因为内部会触发 solve,会把进来前的约束清掉;
|
|
842
|
-
// 若是前端,则无需 copy
|
|
843
|
-
const csCopy = env.isView ? env.unifier.cs : new Map(env.unifier.cs);
|
|
844
|
-
// 直接用 Solver 求解约束,并仅把求解结果代回到 SubLogic 的 params(避免 traverseSubstRunCheck 对 Identifier 的假设)
|
|
845
|
-
if (!env.isView) {
|
|
846
|
-
// 使用局部 Solver
|
|
847
|
-
const localSolver = new solver_1.Solver(env);
|
|
848
|
-
const subst = localSolver.simpleSolveConstraints();
|
|
849
|
-
// 只替换 nd.params 上的类型变元
|
|
850
|
-
const pSubst = (0, subster_1.inPlaceSubstTyAnn)(env, subst);
|
|
851
|
-
for (const param of nd.params) {
|
|
852
|
-
const rawTy = env.getRawType(param);
|
|
853
|
-
if (rawTy) {
|
|
854
|
-
const replaced = pSubst(rawTy);
|
|
855
|
-
env.setType(param, replaced);
|
|
856
|
-
}
|
|
796
|
+
return env.withPostCheckScope(() => {
|
|
797
|
+
// 保持与 tpAnonymousFunction 一致:先展开 expected function type 中的 tuple spread
|
|
798
|
+
const expectedTy = tgtTy ? desugarTupleSpreadInArgsOfFunctionType(tgtTy) : undefined;
|
|
799
|
+
// 仅对"表达式中的临时 SubLogic"(TS arrow-function block 解析产物)做参数类型的"预填充":
|
|
800
|
+
// - 让 tpParam 直接用 expected type,而不是先生成 free type var
|
|
801
|
+
// - 保证闭包捕获变量(如外层 record 参数)具备正确成员类型,避免 Any 化
|
|
802
|
+
if (expectedTy && (0, type_predicate_2.isFuncTy)(expectedTy) && typeof nd.name === 'string' && nd.name.startsWith('$anon$')) {
|
|
803
|
+
nd.params.forEach((param, idx) => {
|
|
804
|
+
const exp = expectedTy.typeArguments?.[idx];
|
|
805
|
+
if (!exp)
|
|
806
|
+
return;
|
|
807
|
+
if (!param.typeAnnotation) {
|
|
808
|
+
param.typeAnnotation = (0, type_manager_1.copyTyAnn)(exp);
|
|
809
|
+
}
|
|
810
|
+
});
|
|
857
811
|
}
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
812
|
+
const subLogicVars = [...nd.params, ...nd.returns, ...nd.variables];
|
|
813
|
+
env.refMgr.setLocalSymBindings(nd, subLogicVars);
|
|
814
|
+
subLogicVars.forEach(v => (0, dispatch_def_1.dispatchDef)(env, v));
|
|
815
|
+
// 处理 tgtTy 缺失的情况
|
|
816
|
+
if (expectedTy && !(0, type_predicate_2.isFuncTy)(expectedTy) && !isListSort) {
|
|
817
|
+
env.setType(nd, type_manager_1.naslAnyTy);
|
|
818
|
+
env.addError((0, sem_diag_1.mkIncompatibleTyErr)(env, '函数', expectedTy));
|
|
819
|
+
return (0, type_manager_1.createFnTyFromTyAnns)([], type_manager_1.naslAnyTy);
|
|
820
|
+
}
|
|
821
|
+
// 如果有 tgtTy 且是函数类型,则进行 unification
|
|
822
|
+
if (expectedTy && (0, type_predicate_2.isFuncTy)(expectedTy)) {
|
|
823
|
+
// 对于“作为表达式出现的 SubLogic”(例如由 TS arrow-function block 生成),通常没有显式参数类型。
|
|
824
|
+
// 只做 contravariant unify 很难把参数类型从 expected type 传播进来,进而导致闭包捕获变量上的成员访问类型变成 Any。
|
|
825
|
+
// 因此:当参数未声明类型(或当前是 Any/未解),先用 expected param type 填充。
|
|
826
|
+
nd.params.forEach((param, idx) => {
|
|
827
|
+
const expected = expectedTy.typeArguments?.[idx];
|
|
828
|
+
if (!expected)
|
|
829
|
+
return;
|
|
830
|
+
const cur = env.getRawType(param);
|
|
831
|
+
if (!param.typeAnnotation && (!cur || (0, type_predicate_2.isAnyTy)(cur) || (0, type_predicate_1.isUnResolvedTy)(cur))) {
|
|
832
|
+
env.setType(param, expected);
|
|
833
|
+
}
|
|
834
|
+
});
|
|
835
|
+
// TODO: 通过 default value 生成 constraints
|
|
836
|
+
nd.params.forEach((param, idx) => {
|
|
837
|
+
// v4.1 AI 相关需求要求它也能推
|
|
838
|
+
const paramTy = env.getRawType(param);
|
|
839
|
+
env.unifier.unifyContravariant(paramTy, expectedTy.typeArguments[idx], param); // contravariant
|
|
840
|
+
});
|
|
865
841
|
}
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
842
|
+
// 若非前端,则 shallow copy,因为内部会触发 solve,会把进来前的约束清掉;
|
|
843
|
+
// 若是前端,则无需 copy
|
|
844
|
+
const csCopy = env.isView ? env.unifier.cs : new Map(env.unifier.cs);
|
|
845
|
+
// 直接用 Solver 求解约束,并仅把求解结果代回到 SubLogic 的 params(避免 traverseSubstRunCheck 对 Identifier 的假设)
|
|
846
|
+
if (!env.isView) {
|
|
847
|
+
// 使用局部 Solver
|
|
848
|
+
const localSolver = new solver_1.Solver(env);
|
|
849
|
+
const subst = localSolver.simpleSolveConstraints();
|
|
850
|
+
// 只替换 nd.params 上的类型变元
|
|
851
|
+
const pSubst = (0, subster_1.inPlaceSubstTyAnn)(env, subst);
|
|
852
|
+
for (const param of nd.params) {
|
|
853
|
+
const rawTy = env.getRawType(param);
|
|
854
|
+
if (rawTy) {
|
|
855
|
+
const replaced = pSubst(rawTy);
|
|
856
|
+
env.setType(param, replaced);
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
// 运行后置校验并把 postChecks 触发
|
|
860
|
+
const normalizedSemTyMap = (0, subster_1.traverseAndSubst)(env)(nd, subst);
|
|
861
|
+
const errs = localSolver.postCheckSolution(subst, localSolver.cs, normalizedSemTyMap) || [];
|
|
862
|
+
if (!env.isErrorReportingDisabled() && !env.hasErrorDelegatee) {
|
|
863
|
+
for (const err of errs) {
|
|
864
|
+
env.addError(err.message, env.getCurFileNode(), err.errBoundary, err.fromPlayground ? 'warning' : 'error');
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
env.runPostChecks(subst);
|
|
868
|
+
}
|
|
869
|
+
(0, dispatch_stmt_2.tpSolvingStmts)(env, nd.body);
|
|
870
|
+
(0, dispatch_stmt_1.tpSolvingPlayground)(env, nd.playground);
|
|
871
|
+
subLogicVars.forEach(env.removeLexicalSym);
|
|
872
|
+
const ndTy = (0, type_manager_1.createRefTyAnnFromDef)(nd, env);
|
|
873
|
+
if (expectedTy && ndTy.typeKind === 'function') {
|
|
874
|
+
// 从 expected type 上 copy sync 字段,保证 SubLogic 的函数类型和 Param 处声明的字段一致
|
|
875
|
+
ndTy.sync = expectedTy.sync;
|
|
876
|
+
}
|
|
877
|
+
env.setType(nd, ndTy);
|
|
878
|
+
env.unifier.cs = csCopy;
|
|
879
|
+
!isListSort && env.unifier.unify(ndTy, expectedTy); // 这里需要额外的 unify,否则 SubLogic 算出来的类型不能与外侧进来时的约束产生关系
|
|
880
|
+
return ndTy;
|
|
881
|
+
});
|
|
880
882
|
};
|
|
881
883
|
exports.tpSubLogic = tpSubLogic;
|
|
882
884
|
function tpArgument(env, nd, tgtTy) {
|