@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.
@@ -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;AAiYD,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"}
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,SAgGvI,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"}
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
- // 保持与 tpAnonymousFunction 一致:先展开 expected function type 中的 tuple spread
797
- const expectedTy = tgtTy ? desugarTupleSpreadInArgsOfFunctionType(tgtTy) : undefined;
798
- // 仅对“表达式中的临时 SubLogic”(TS arrow-function block 解析产物)做参数类型的“预填充”:
799
- // - tpParam 直接用 expected type,而不是先生成 free type var
800
- // - 保证闭包捕获变量(如外层 record 参数)具备正确成员类型,避免 Any
801
- if (expectedTy && (0, type_predicate_2.isFuncTy)(expectedTy) && typeof nd.name === 'string' && nd.name.startsWith('$anon$')) {
802
- nd.params.forEach((param, idx) => {
803
- const exp = expectedTy.typeArguments?.[idx];
804
- if (!exp)
805
- return;
806
- if (!param.typeAnnotation) {
807
- param.typeAnnotation = (0, type_manager_1.copyTyAnn)(exp);
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
- // 运行后置校验并把 postChecks 触发
859
- const normalizedSemTyMap = (0, subster_1.traverseAndSubst)(env)(nd, subst);
860
- const errs = localSolver.postCheckSolution(subst, localSolver.cs, normalizedSemTyMap) || [];
861
- if (!env.isErrorReportingDisabled() && !env.hasErrorDelegatee) {
862
- for (const err of errs) {
863
- env.addError(err.message, env.getCurFileNode(), err.errBoundary, err.fromPlayground ? 'warning' : 'error');
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
- env.runPostChecks(subst);
867
- }
868
- (0, dispatch_stmt_2.tpSolvingStmts)(env, nd.body);
869
- (0, dispatch_stmt_1.tpSolvingPlayground)(env, nd.playground);
870
- subLogicVars.forEach(env.removeLexicalSym);
871
- const ndTy = (0, type_manager_1.createRefTyAnnFromDef)(nd, env);
872
- if (expectedTy && ndTy.typeKind === 'function') {
873
- // expected type 上 copy sync 字段,保证 SubLogic 的函数类型和 Param 处声明的字段一致
874
- ndTy.sync = expectedTy.sync;
875
- }
876
- env.setType(nd, ndTy);
877
- env.unifier.cs = csCopy;
878
- !isListSort && env.unifier.unify(ndTy, expectedTy); // 这里需要额外的 unify,否则 SubLogic 算出来的类型不能与外侧进来时的约束产生关系
879
- return ndTy;
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) {