@lcap/nasl-language-server-core 4.4.0-beta.9 → 4.4.0-rc.2

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.
Files changed (95) hide show
  1. package/out/checker.d.ts +2 -1
  2. package/out/checker.d.ts.map +1 -1
  3. package/out/checker.js +613 -92
  4. package/out/checker.js.map +1 -1
  5. package/out/reference-manager/collect-q-name.d.ts.map +1 -1
  6. package/out/reference-manager/collect-q-name.js +6 -3
  7. package/out/reference-manager/collect-q-name.js.map +1 -1
  8. package/out/reference-manager/get-q-name.d.ts.map +1 -1
  9. package/out/reference-manager/get-q-name.js +12 -4
  10. package/out/reference-manager/get-q-name.js.map +1 -1
  11. package/out/reference-manager/reference-manager.d.ts +94 -12
  12. package/out/reference-manager/reference-manager.d.ts.map +1 -1
  13. package/out/reference-manager/reference-manager.js +270 -77
  14. package/out/reference-manager/reference-manager.js.map +1 -1
  15. package/out/reference-manager/remove-q-name.d.ts.map +1 -1
  16. package/out/reference-manager/remove-q-name.js +7 -4
  17. package/out/reference-manager/remove-q-name.js.map +1 -1
  18. package/out/reference-manager/symbol-type.d.ts +1 -1
  19. package/out/reference-manager/symbol-type.d.ts.map +1 -1
  20. package/out/reference-manager/symbol-type.js +1 -0
  21. package/out/reference-manager/symbol-type.js.map +1 -1
  22. package/out/reference-manager/update-nasl-fragment.d.ts +2 -2
  23. package/out/reference-manager/update-nasl-fragment.d.ts.map +1 -1
  24. package/out/reference-manager/update-nasl-fragment.js +29 -24
  25. package/out/reference-manager/update-nasl-fragment.js.map +1 -1
  26. package/out/reference-manager/view-elem-logic.js.map +1 -1
  27. package/out/services/bindable-logic-service.js.map +1 -1
  28. package/out/symbol/traverse/concepts/index.d.ts +1 -1
  29. package/out/symbol/traverse/concepts/index.d.ts.map +1 -1
  30. package/out/symbol/traverse/concepts/logic/expression/member-expression.js.map +1 -1
  31. package/out/typer/collectGlobalDefs.d.ts +8 -0
  32. package/out/typer/collectGlobalDefs.d.ts.map +1 -1
  33. package/out/typer/collectGlobalDefs.js +74 -49
  34. package/out/typer/collectGlobalDefs.js.map +1 -1
  35. package/out/typer/dispatch-all.d.ts.map +1 -1
  36. package/out/typer/dispatch-all.js +3 -1
  37. package/out/typer/dispatch-all.js.map +1 -1
  38. package/out/typer/dispatch-call.d.ts.map +1 -1
  39. package/out/typer/dispatch-call.js +4 -0
  40. package/out/typer/dispatch-call.js.map +1 -1
  41. package/out/typer/dispatch-def.d.ts.map +1 -1
  42. package/out/typer/dispatch-def.js +45 -19
  43. package/out/typer/dispatch-def.js.map +1 -1
  44. package/out/typer/dispatch-expr.d.ts.map +1 -1
  45. package/out/typer/dispatch-expr.js +69 -60
  46. package/out/typer/dispatch-expr.js.map +1 -1
  47. package/out/typer/dispatch-process.d.ts +8 -1
  48. package/out/typer/dispatch-process.d.ts.map +1 -1
  49. package/out/typer/dispatch-process.js +34 -1
  50. package/out/typer/dispatch-process.js.map +1 -1
  51. package/out/typer/dispatch-stmt.js.map +1 -1
  52. package/out/typer/dispatch-view.d.ts.map +1 -1
  53. package/out/typer/dispatch-view.js +56 -20
  54. package/out/typer/dispatch-view.js.map +1 -1
  55. package/out/typer/fix-use-before-assign.js.map +1 -1
  56. package/out/typer/get-oql-files.d.ts.map +1 -1
  57. package/out/typer/get-oql-files.js +2 -8
  58. package/out/typer/get-oql-files.js.map +1 -1
  59. package/out/typer/incremental-update.d.ts +2 -5
  60. package/out/typer/incremental-update.d.ts.map +1 -1
  61. package/out/typer/incremental-update.js +95 -19
  62. package/out/typer/incremental-update.js.map +1 -1
  63. package/out/typer/oql-checker/ts-parser.d.ts.map +1 -1
  64. package/out/typer/oql-checker/ts-parser.js +99 -20
  65. package/out/typer/oql-checker/ts-parser.js.map +1 -1
  66. package/out/typer/overload-helper.d.ts.map +1 -1
  67. package/out/typer/overload-helper.js +185 -23
  68. package/out/typer/overload-helper.js.map +1 -1
  69. package/out/typer/solver.d.ts +1 -1
  70. package/out/typer/solver.d.ts.map +1 -1
  71. package/out/typer/solver.js +16 -4
  72. package/out/typer/solver.js.map +1 -1
  73. package/out/typer/subster.d.ts.map +1 -1
  74. package/out/typer/subster.js +32 -5
  75. package/out/typer/subster.js.map +1 -1
  76. package/out/typer/topo-sort.d.ts +1 -0
  77. package/out/typer/topo-sort.d.ts.map +1 -1
  78. package/out/typer/topo-sort.js +15 -5
  79. package/out/typer/topo-sort.js.map +1 -1
  80. package/out/typer/type-predicate.d.ts.map +1 -1
  81. package/out/typer/type-predicate.js +11 -3
  82. package/out/typer/type-predicate.js.map +1 -1
  83. package/out/typer/typer.d.ts +1 -1
  84. package/out/typer/typer.d.ts.map +1 -1
  85. package/out/typer/typer.js +14 -3
  86. package/out/typer/typer.js.map +1 -1
  87. package/out/typer/unifier.d.ts.map +1 -1
  88. package/out/typer/unifier.js +9 -7
  89. package/out/typer/unifier.js.map +1 -1
  90. package/out/utils/debug.js.map +1 -1
  91. package/out/utils/type-operator.d.ts +15 -0
  92. package/out/utils/type-operator.d.ts.map +1 -1
  93. package/out/utils/type-operator.js +65 -3
  94. package/out/utils/type-operator.js.map +1 -1
  95. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-call.js","sourceRoot":"","sources":["../../src/typer/dispatch-call.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dispatch-call.js","sourceRoot":"","sources":["../../src/typer/dispatch-call.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dispatch-def.d.ts","sourceRoot":"","sources":["../../src/typer/dispatch-def.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,EAIL,UAAU,EAGV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,eAAe,EACf,SAAS,EACT,yBAAyB,EACzB,cAAc,EAEd,SAAS,EACT,GAAG,EACH,SAAS,EACT,MAAM,EAEN,aAAa,EACb,wBAAwB,EAExB,IAAI,EAMJ,WAAW,EAIX,cAAc,EAEjB,MAAM,qBAAqB,CAAC;AA2B7B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,EAAuB,iBAAiB,EAA2C,MAAM,6BAA6B,CAAC;AAoB9H,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,aAwDtD;AAsCD,eAAO,MAAM,kBAAkB,oCAAqC,CAAC,YAEtC,IAAI,GAwBlC,CAAA;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,cAAc,CAyBvF;AAUD,eAAO,MAAM,qBAAqB,QAAS,MAAM,UAAU,MAAM,iBAAiB,CAAC,KAAG,MAAM,MAAM,IAAI,CAWrG,CAAA;AAED,eAAO,MAAM,qBAAqB,WAAY,MAAM,iBAAiB,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,CAAC,SAUhH,CAAA;AA8HD,eAAO,MAAM,WAAW,QAAS,MAAM,MAAM,SAAS,SAarD,CAAA;AAGD,eAAO,MAAM,WAAW,QAAS,MAAM,MAAM,SAAS,SAgBrD,CAAA;AAGD,eAAO,MAAM,QAAQ,QAAS,MAAM,MAAM,MAAM,SAiB/C,CAAA;AAED;;;;;GAKG;AAEH,4CAA4C;AAC5C,wBAAgB,+DAA+D,CAAC,EAAE,EAAE,GAAG,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAClH,KAAK,CAAC,KAAK,GAAG,eAAe,GAAG,SAAS,GAAG,yBAAyB,GAAG,cAAc,CAAC,CA2B5F;AAID,wBAAgB,iDAAiD,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAC9F,KAAK,CAAC,IAAI,GAAG,aAAa,GAAG,wBAAwB,CAAC,CAW3D;AAUD,eAAO,MAAM,aAAa,QAAS,MAAM,MAAM,WAAW,SAEzD,CAAA"}
1
+ {"version":3,"file":"dispatch-def.d.ts","sourceRoot":"","sources":["../../src/typer/dispatch-def.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,EAIL,UAAU,EAGV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,eAAe,EACf,SAAS,EACT,yBAAyB,EACzB,cAAc,EAEd,SAAS,EACT,GAAG,EACH,SAAS,EACT,MAAM,EAEN,aAAa,EACb,wBAAwB,EAExB,IAAI,EAMJ,WAAW,EAIX,cAAc,EAEjB,MAAM,qBAAqB,CAAC;AA2B7B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,EAAuB,iBAAiB,EAA2C,MAAM,6BAA6B,CAAC;AAoB9H,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,aAwDtD;AA+BD,eAAO,MAAM,kBAAkB,oCAAqC,CAAC,YAEtC,IAAI,GAwBlC,CAAA;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,cAAc,CAyBvF;AAUD,eAAO,MAAM,qBAAqB,QAAS,MAAM,UAAU,MAAM,iBAAiB,CAAC,KAAG,MAAM,MAAM,IAAI,CAWrG,CAAA;AAED,eAAO,MAAM,qBAAqB,WAAY,MAAM,iBAAiB,GAAG,SAAS,GAAG,aAAa,GAAG,YAAY,CAAC,SAUhH,CAAA;AA2JD,eAAO,MAAM,WAAW,QAAS,MAAM,MAAM,SAAS,SAarD,CAAA;AAGD,eAAO,MAAM,WAAW,QAAS,MAAM,MAAM,SAAS,SAgBrD,CAAA;AAGD,eAAO,MAAM,QAAQ,QAAS,MAAM,MAAM,MAAM,SAiB/C,CAAA;AAED;;;;;GAKG;AAEH,4CAA4C;AAC5C,wBAAgB,+DAA+D,CAAC,EAAE,EAAE,GAAG,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAClH,KAAK,CAAC,KAAK,GAAG,eAAe,GAAG,SAAS,GAAG,yBAAyB,GAAG,cAAc,CAAC,CA2B5F;AAID,wBAAgB,iDAAiD,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAC9F,KAAK,CAAC,IAAI,GAAG,aAAa,GAAG,wBAAwB,CAAC,CAW3D;AAYD,eAAO,MAAM,aAAa,QAAS,MAAM,MAAM,WAAW,SAEzD,CAAA"}
@@ -148,12 +148,7 @@ const tpInterface = (env, nd) => {
148
148
  ndRefs.add(logicDef);
149
149
  env.refMgr.setSymbolRefs(nd, ndRefs);
150
150
  }
151
- const logicDefCachedRefs = env.refMgr.gCachedQNameSymbolRefs.get(`app.logics.${nd.originLogicName}`);
152
- // @ts-expect-error 凑合一下吧遭不住
153
- logicDefCachedRefs?.add(nd);
154
- const ndCachedRefs = env.refMgr.gCachedQNameSymbolRefs.get(`${(0, get_q_name_1.getTokenQualifiedName)(nd)}`);
155
- // @ts-expect-error 凑合一下吧遭不住
156
- ndCachedRefs?.add(logicDef);
151
+ // 注意:引用会在类型检查时自动建立,不再使用缓存机制
157
152
  }
158
153
  };
159
154
  const fixUseBeforeAssign = (nd) => {
@@ -245,7 +240,6 @@ exports.setParamOptionalFlags = setParamOptionalFlags;
245
240
  * @param nd
246
241
  */
247
242
  function tpVariable(env, nd) {
248
- env.allRefsInPlayground.add(nd);
249
243
  env.addLexicalSym(nd); // 当前 namespace 为 '' 或 undefined
250
244
  const varTy = nd.typeAnnotation ?? env.unifier.nextFreshTyAnn('free');
251
245
  if (nd.defaultValue) {
@@ -265,11 +259,39 @@ function tpFrontendVariable(env, nd) {
265
259
  (0, dispatch_expr_1.dispatchExpr)(env, nd.defaultValue, nd.typeAnnotation);
266
260
  env.setType(nd, nd.typeAnnotation);
267
261
  }
268
- const tpReturn = (env, nd) => tpVariable(env, nd);
269
- function tpParam(env, nd) {
270
- if (nd.concept !== 'InterfaceParam') {
271
- env.allRefsInPlayground.add(nd);
262
+ // 单独处理 Return,支持占位符类型
263
+ function tpReturn(env, nd) {
264
+ env.addLexicalSym(nd);
265
+ // 优先级:用户显式指定的 typeAnnotation > 占位符类型 > 创建新类型
266
+ // 如果用户显式指定了类型,优先使用它;如果存在占位符类型,需要统一化
267
+ const placeholderTy = env.typeBindings.get(nd);
268
+ let varTy;
269
+ if (nd.typeAnnotation) {
270
+ // 用户显式指定了类型,优先使用
271
+ varTy = nd.typeAnnotation;
272
+ // 如果存在占位符类型,需要统一化(占位符可能已经被调用者约束)
273
+ if (placeholderTy) {
274
+ env.unifier.unify(varTy, placeholderTy);
275
+ }
276
+ }
277
+ else if (placeholderTy) {
278
+ // 使用占位符类型(可能已经被统一化,包含了调用者的约束)
279
+ varTy = placeholderTy;
280
+ }
281
+ else {
282
+ // 创建新的自由类型变量
283
+ varTy = env.unifier.nextFreshTyAnn('free');
272
284
  }
285
+ if (nd.defaultValue) {
286
+ const defValTy = (0, dispatch_expr_1.tpSolvingExpr)(env, nd.defaultValue, varTy);
287
+ const ty = nd.typeAnnotation ?? defValTy;
288
+ env.setType(nd, ty);
289
+ }
290
+ else {
291
+ env.setType(nd, varTy);
292
+ }
293
+ }
294
+ function tpParam(env, nd) {
273
295
  env.addLexicalSym(nd); // 当前 namespace 为 '' 或 undefined
274
296
  // v4.1 AI 相关需求要求它也能推
275
297
  const ndTy = nd.typeAnnotation ?? env.unifier.nextFreshTyAnn('free');
@@ -303,7 +325,7 @@ function tpStructure(env, nd) {
303
325
  });
304
326
  env.unifier.clearAll();
305
327
  // 有点危险 注释部分兼容 1.0.5,我看还是算了吧,加了又不兼容 1.1.7 的类型推导,让 1.0.5 的客户自己升级吧
306
- if (nd.name === 'ExcelParseResult') {
328
+ if (nd.name === 'ExcelParseResult' && nd.getAncestor('Module')?.type === 'extension') {
307
329
  const dataProp = nd.properties.find(p => p.name === 'data');
308
330
  if (dataProp) {
309
331
  dataProp.typeAnnotation = (0, type_manager_1.createListTyAnn)(type_manager_1.naslAnyTy);
@@ -311,7 +333,7 @@ function tpStructure(env, nd) {
311
333
  }
312
334
  }
313
335
  // 这下好了,全是局部符号了,namespace + name 的架构完全失效
314
- const getLocalDefs = (nd) => {
336
+ const getLocalDefs = (env, nd) => {
315
337
  const defs = new Array();
316
338
  nd.enums && defs.push(...nd.enums);
317
339
  nd.interfaces && defs.push(...nd.interfaces);
@@ -326,25 +348,27 @@ const getLocalDefs = (nd) => {
326
348
  nd.authLogicsForCallInterface && defs.push(...nd.authLogicsForCallInterface);
327
349
  nd.authLogics && defs.push(...nd.authLogics);
328
350
  nd.createLogic && defs.push(nd.createLogic);
329
- nd.metadataTypes && defs.push(...nd.metadataTypes);
351
+ if (String(env.app?.preferenceMap?.metadataTypeEnable) === 'true') {
352
+ nd.metadataTypes && defs.push(...nd.metadataTypes);
353
+ }
330
354
  return defs;
331
355
  };
332
356
  const addLocalQNameDefs = (env, nd, defs) => {
333
357
  if (!defs) {
334
- defs = getLocalDefs(nd);
358
+ defs = getLocalDefs(env, nd);
335
359
  }
336
360
  env.refMgr.setLocalSymBindings(nd, defs);
337
361
  defs.forEach(env.addLexicalSym);
338
362
  };
339
363
  const removeLocalQNameDefs = (env, nd, defs) => {
340
364
  if (!defs) {
341
- defs = getLocalDefs(nd);
365
+ defs = getLocalDefs(env, nd);
342
366
  }
343
367
  // 不需要 removeLocalScopeVarBindings,因为要给后续过程接着用
344
368
  defs.forEach(env.removeLexicalSym);
345
369
  };
346
370
  const tpConnector = (env, nd) => {
347
- const defs = getLocalDefs(nd);
371
+ const defs = getLocalDefs(env, nd);
348
372
  addLocalQNameDefs(env, nd, defs);
349
373
  const [callableNodes, others] = (0, helper_1.divideBy)(defs, service_1.isCallableNaslConcept);
350
374
  others.forEach(def => dispatchDef(env, def));
@@ -356,7 +380,7 @@ const tpConnector = (env, nd) => {
356
380
  exports.tpConnector = tpConnector;
357
381
  // Invoke it when a new Namespace node is added
358
382
  const tpNamespace = (env, nd) => {
359
- const defs = getLocalDefs(nd);
383
+ const defs = getLocalDefs(env, nd);
360
384
  addLocalQNameDefs(env, nd, defs);
361
385
  const [callableNodes, others] = (0, helper_1.divideBy)(defs, service_1.isCallableNaslConcept);
362
386
  others.forEach(def => dispatchDef(env, def));
@@ -370,7 +394,7 @@ const tpNamespace = (env, nd) => {
370
394
  exports.tpNamespace = tpNamespace;
371
395
  // Invoke it when a new Module node is added
372
396
  const tpModule = (env, nd) => {
373
- const defs = getLocalDefs(nd);
397
+ const defs = getLocalDefs(env, nd);
374
398
  addLocalQNameDefs(env, nd, defs);
375
399
  nd.processV2s?.forEach(proc => dispatchDef(env, proc));
376
400
  const [callableNodes, others] = (0, helper_1.divideBy)(defs, service_1.isCallableNaslConcept);
@@ -435,6 +459,8 @@ function tpMetaDatatype(env, nd) {
435
459
  // the underlying type
436
460
  const qName = (0, get_q_name_1.getTokenQualifiedName)(nd);
437
461
  qName && env.typeAlias.set(qName, nd.typeAnnotation);
462
+ (0, dispatch_stmt_2.tpSolvingStmts)(env, nd.rules);
463
+ (0, dispatch_stmt_1.tpSolvingPlayground)(env, nd.playground);
438
464
  }
439
465
  const tpConfigGroup = (env, nd) => {
440
466
  nd.properties.forEach(p => tpConfigProp(env, p));
@@ -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,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"}
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;AA2tBD,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;AA2jBD,eAAO,MAAM,iBAAiB,QAAS,MAAM,MAAM,cAAc,GAAG,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC,CAapH,CAAA;AAiHD;;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;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"}
@@ -167,9 +167,7 @@ function tpBooleanLiteral(env, nd, tgtTy) {
167
167
  if (nd.value !== 'true' && nd.value !== 'false') {
168
168
  env.addError((0, sem_diag_1.mkSyntaxErr)('布尔值'));
169
169
  }
170
- if ((0, type_predicate_2.isTyAnnTyParam)(tgtTy)) {
171
- env.unifier.unify(type_manager_1.naslBooleanTy, tgtTy);
172
- }
170
+ env.unifier.unify(type_manager_1.naslBooleanTy, tgtTy);
173
171
  env.setType(nd, type_manager_1.naslBooleanTy);
174
172
  return env.getRawType(nd);
175
173
  }
@@ -208,10 +206,19 @@ function tpIdentifier(env, nd, tgtTy) {
208
206
  // a.b.c 中的 b 和 c 不应指向局部变量、不收集草稿区的推导
209
207
  if (!env.isInMemberExpr && (0, service_1.isTypeInferConcept)(def)) {
210
208
  env.idToVar.set(nd, def);
211
- !env.isPlayground && env.allRefsInPlayground.delete(def);
209
+ // 如果 Identifier 在草稿区,将它加入到 Set 中
210
+ if (env.isPlayground) {
211
+ env.allRefsInPlayground.add(nd);
212
+ }
213
+ else {
214
+ // 如果不在草稿区,确保从 Set 中删除(可能之前添加过)
215
+ env.allRefsInPlayground.delete(nd);
216
+ }
212
217
  }
213
218
  else {
214
219
  env.idToVar.delete(nd);
220
+ // 从 idToVar 中删除时,也要从 allRefsInPlayground 中删除
221
+ env.allRefsInPlayground.delete(nd);
215
222
  }
216
223
  env.unifier.unify(ndTy, tgtTy);
217
224
  return ndTy;
@@ -371,50 +378,31 @@ function createIndexedAccessType(env, nd, simplifiedObjectType) {
371
378
  env.setType(nd.property, indexedTy);
372
379
  }
373
380
  function tpBinaryArithExpr(env, nd, tgtTy) {
374
- let leftTy = dispatchExpr(env, nd.left, undefined);
375
- let rightTy = dispatchExpr(env, nd.right, undefined);
381
+ // 注意:此函数只处理 -, *, /, % 操作符,+ 操作符在 tpBinaryExpression 中单独处理
382
+ let leftTy = dispatchExpr(env, nd.left, type_manager_1.naslDecimalTy);
383
+ let rightTy = dispatchExpr(env, nd.right, type_manager_1.naslDecimalTy);
376
384
  let ndTy;
377
385
  // 启发式,兼容老程序就行了。速度至上。
378
386
  if ((0, type_predicate_2.isTyAnnTyParam)(leftTy) && !(0, type_predicate_2.isTyAnnTyParam)(rightTy)) {
379
- if ((0, type_predicate_2.isDecimalTy)(rightTy)) {
380
- env.unifier.unify(leftTy, type_manager_1.naslDecimalTy);
381
- }
382
- else if ((0, type_predicate_2.isIntegerTy)(rightTy)) {
383
- env.unifier.unify(type_manager_1.naslLongTy, leftTy);
384
- }
387
+ env.unifier.unify(type_manager_1.naslLongTy, leftTy);
385
388
  }
386
389
  else if (!(0, type_predicate_2.isTyAnnTyParam)(leftTy) && (0, type_predicate_2.isTyAnnTyParam)(rightTy)) {
387
- if ((0, type_predicate_2.isDecimalTy)(leftTy)) {
388
- env.unifier.unify(rightTy, type_manager_1.naslDecimalTy);
389
- }
390
- else if ((0, type_predicate_2.isIntegerTy)(leftTy)) {
391
- env.unifier.unify(type_manager_1.naslLongTy, rightTy);
392
- }
390
+ env.unifier.unify(type_manager_1.naslLongTy, rightTy);
393
391
  }
394
392
  // 人肉 solve
395
- const hasString = (0, type_predicate_2.isStringTy)(leftTy) || (0, type_predicate_2.isStringTy)(rightTy);
396
- const hasDecimal = (0, type_predicate_2.isDecimalTy)(leftTy) || (0, type_predicate_2.isDecimalTy)(rightTy);
397
- const hasLong = (0, type_predicate_2.isIntegerTy)(leftTy) || (0, type_predicate_2.isIntegerTy)(rightTy);
398
- if (nd.operator === '+' && hasString) {
399
- ndTy = type_manager_1.naslStringTy;
400
- }
401
- else if (nd.operator === '/') {
393
+ if (nd.operator === '/') { // 除法运算,结果必须是 decimal
402
394
  // 必须是 decimal
403
395
  ndTy = type_manager_1.naslDecimalTy;
404
396
  }
405
397
  else {
406
- if (hasDecimal) {
407
- ndTy = type_manager_1.naslDecimalTy;
408
- }
409
- else if (hasLong) {
410
- ndTy = type_manager_1.naslLongTy;
411
- }
412
- else {
413
- // 较大的类型
414
- ndTy = env.unifier.nextFreshTyAnn('free');
415
- env.unifier.unify(leftTy, ndTy);
416
- env.unifier.unify(rightTy, ndTy);
417
- }
398
+ // 较大的类型
399
+ ndTy = env.unifier.nextFreshTyAnn('free');
400
+ // 约束 ndTy 的上界为 Decimal
401
+ env.unifier.unify(ndTy, type_manager_1.naslDecimalTy);
402
+ // 约束 ndTy 的下界为 Long
403
+ env.unifier.unify(type_manager_1.naslLongTy, ndTy);
404
+ env.unifier.unify(leftTy, ndTy);
405
+ env.unifier.unify(rightTy, ndTy);
418
406
  }
419
407
  env.setType(nd, ndTy);
420
408
  env.unifier.unify(ndTy, tgtTy);
@@ -520,10 +508,9 @@ function tpBinaryExpression(env, nd, tgtTy) {
520
508
  }
521
509
  case 'in': {
522
510
  const leftTy = dispatchExpr(env, nd.left, undefined);
523
- const rightTy = dispatchExpr(env, nd.right, undefined);
511
+ dispatchExpr(env, nd.right, (0, type_manager_1.createListTyAnn)(leftTy ?? type_manager_1.naslAnyTy));
524
512
  // T in List<T>
525
513
  env.setType(nd, type_manager_1.naslBooleanTy);
526
- env.unifier.unify((0, type_manager_1.createListTyAnn)(leftTy ?? type_manager_1.naslAnyTy), rightTy);
527
514
  env.unifier.unify(type_manager_1.naslBooleanTy, tgtTy);
528
515
  return type_manager_1.naslBooleanTy;
529
516
  }
@@ -1248,8 +1235,7 @@ function tpOqlQueryComponent(env, nd, tgtTy) {
1248
1235
  }
1249
1236
  const logicNd = parser.parseInLogicContext(`const $queryResult$ = ${code};`, '$queryResult$');
1250
1237
  if (logicNd) {
1251
- // @ts-expect-error
1252
- logicNd.parentNode = null;
1238
+ logicNd.parentNode = nd;
1253
1239
  logicNd.name = 'oqlTempLogic';
1254
1240
  env.setErrorDelegatee(nd);
1255
1241
  const oldCS = env.unifier.cs;
@@ -1264,6 +1250,8 @@ function tpOqlQueryComponent(env, nd, tgtTy) {
1264
1250
  env.logger?.fatal?.('[tpOqlQueryComponent] error:', err);
1265
1251
  }
1266
1252
  finally {
1253
+ // @ts-expect-error
1254
+ logicNd.parentNode = null;
1267
1255
  env.unifier.cs = oldCS;
1268
1256
  env.resetErrorDelegatee();
1269
1257
  }
@@ -1359,7 +1347,7 @@ function tpNewComposite(env, nd, tgtTy) {
1359
1347
  // setType 应该够了,直接 dispatchExpr 会因为 pIdent 没有加到 env.lexicalVarStacks 里,导致找不到而报错
1360
1348
  if (!lPropTyAnn) {
1361
1349
  if (nd.typeAnnotation?.typeKind === 'anonymousStructure') {
1362
- lPropTyAnn = type_manager_1.naslStringTy;
1350
+ lPropTyAnn = tgtTy?.properties?.find((p) => p.name === pIdent.name)?.typeAnnotation ?? type_manager_1.naslStringTy;
1363
1351
  }
1364
1352
  else {
1365
1353
  lPropTyAnn = env.unifier.nextFreshTyAnn('free');
@@ -1417,11 +1405,17 @@ function tpNewList(env, nd, tgtTy) {
1417
1405
  env.setType(nd, nd.typeAnnotation);
1418
1406
  }
1419
1407
  else {
1420
- const itemTys = toRaws(nd.items).map(item => dispatchExpr(env, item, undefined)).filter(Boolean);
1421
- const itemUnionTy = (0, type_manager_1.createUnionTyAnnIfNecessary)(env, itemTys);
1408
+ const isTgtTyLegal = (0, type_predicate_2.isListTy)(tgtTy);
1409
+ const itemTys = toRaws(nd.items).map(item => dispatchExpr(env, item, undefined)).filter((ty) => {
1410
+ if (!ty)
1411
+ return false;
1412
+ return !isTgtTyLegal || !(0, type_predicate_2.isAnyTy)(ty);
1413
+ });
1414
+ // 页面下是延迟求解的,此处如果加上合法性判断,会导致从左到右的推导失效
1415
+ const itemUnionTy = !itemTys.length ? env.unifier.nextFreshTyAnn('free') : (0, type_manager_1.createUnionTyAnnIfNecessary)(env, itemTys);
1422
1416
  const listTy = (0, type_manager_1.createListTyAnn)(itemUnionTy);
1423
1417
  // TODO: 不精确的检查,如果 tgtTy 是 A | List<T>,则会走到下一个分支,就没要求 invariance 了,以后再修吧
1424
- if ((0, type_predicate_2.isListTy)(tgtTy)) {
1418
+ if (isTgtTyLegal) {
1425
1419
  const tgtItemTy = tgtTy.typeArguments?.[0];
1426
1420
  env.unifier.unifyEq(itemUnionTy, tgtItemTy);
1427
1421
  }
@@ -1472,18 +1466,36 @@ function tpNewMap(env, nd, tgtTy) {
1472
1466
  return nd.typeAnnotation;
1473
1467
  }
1474
1468
  else {
1475
- const valFv = env.unifier.nextFreshTyAnn('free');
1469
+ const isTgtTyLegal = (0, type_predicate_2.isMapTy)(tgtTy);
1470
+ let tgtKeyTy = undefined;
1471
+ let tgtValTy = undefined;
1472
+ if (isTgtTyLegal) {
1473
+ tgtKeyTy = tgtTy?.typeArguments?.[0];
1474
+ tgtValTy = tgtTy?.typeArguments?.[1];
1475
+ }
1476
1476
  const keys = toRaws(nd.keys);
1477
1477
  const firstKeyTy = dispatchExpr(env, keys[0], undefined);
1478
+ const hasFirstKeyTy = firstKeyTy && !(0, type_predicate_2.isAnyTy)(firstKeyTy);
1479
+ // 页面下是延迟求解的,如果没有推导出 key 类型,使用 fresh type variable
1480
+ const keyTy = hasFirstKeyTy ? firstKeyTy : tgtKeyTy ?? env.unifier.nextFreshTyAnn('free');
1478
1481
  for (let i = 1; i < keys.length; i++) {
1479
- dispatchExpr(env, keys[i], firstKeyTy); // 内部会产生类型不匹配的报错
1482
+ dispatchExpr(env, keys[i], keyTy); // 内部会产生类型不匹配的报错
1480
1483
  }
1481
1484
  // 规定:key 类型不能是 union。仅 value 类型可以是 union。
1482
- const valTys = toRaws(nd.values).map(value => dispatchExpr(env, value, undefined)).filter(Boolean);
1483
- const valUnionTys = (0, type_manager_1.createUnionTyAnnIfNecessary)(env, valTys);
1485
+ const valTys = toRaws(nd.values).map(value => dispatchExpr(env, value, undefined)).filter((ty) => {
1486
+ if (!ty)
1487
+ return false;
1488
+ return !isTgtTyLegal || !(0, type_predicate_2.isAnyTy)(ty);
1489
+ });
1490
+ const hasValTy = valTys.length > 0;
1491
+ const valUnionTys = hasValTy ? (0, type_manager_1.createUnionTyAnnIfNecessary)(env, valTys) : tgtValTy ?? type_manager_1.naslAnyTy;
1492
+ // 都是“indexedAccess”的情况,需要用 fresh 类型去约束
1493
+ const valFv = env.unifier.nextFreshTyAnn('free');
1484
1494
  env.unifier.unify(valUnionTys, valFv);
1485
- const mapTy = (0, type_manager_1.createMapTyAnn)(firstKeyTy ?? type_manager_1.naslAnyTy, valFv);
1486
- env.unifier.unify(mapTy, tgtTy);
1495
+ const mapTy = (0, type_manager_1.createMapTyAnn)(keyTy, valFv);
1496
+ if (hasFirstKeyTy || hasValTy) {
1497
+ env.unifier.unify(mapTy, tgtTy);
1498
+ }
1487
1499
  env.setType(nd, mapTy);
1488
1500
  return mapTy;
1489
1501
  }
@@ -1544,7 +1556,11 @@ function tpMatch(env, nd, tgtTy) {
1544
1556
  }
1545
1557
  // 值匹配
1546
1558
  if (!isTypeMatch) {
1547
- toRaws(mc.patterns).forEach(pattern => dispatchExpr(env, pattern, exprRefinedTy));
1559
+ toRaws(mc.patterns).forEach(pattern => {
1560
+ env.withPostCheckScope(() => {
1561
+ tpSolvingExpr(env, pattern, exprRefinedTy);
1562
+ });
1563
+ });
1548
1564
  }
1549
1565
  }
1550
1566
  const allocatedVars = new Set();
@@ -1590,13 +1606,6 @@ function tpMatch(env, nd, tgtTy) {
1590
1606
  }
1591
1607
  };
1592
1608
  if (exprTy) {
1593
- for (const cs of nd.cases) {
1594
- for (const p of cs.patterns) {
1595
- if (!(0, type_predicate_1.isTypeAnnotation)(p)) {
1596
- dispatchExpr(env, p, undefined);
1597
- }
1598
- }
1599
- }
1600
1609
  // 只有当 exprTy 是未解析的类型(typeParam 或 indexedAccess)时,才需要从 patterns 构造 union 类型来约束它
1601
1610
  if (isTypeMatch && ((0, type_predicate_2.isTyAnnTyParam)(exprTy) || (0, type_predicate_1.isIndexedType)(exprTy))) {
1602
1611
  // 从已有的 match cases 的类型构造出 union-like type
@@ -1645,7 +1654,7 @@ function tpIfExpression(env, nd, tgtTy) {
1645
1654
  env.unifier.unify(conditionTy, type_manager_1.naslBooleanTy);
1646
1655
  const consequentTy = dispatchExpr(env, nd.consequent, undefined);
1647
1656
  const alternateTy = dispatchExpr(env, nd.alternate, undefined);
1648
- const ifTy = (0, type_manager_1.createUnionTyAnnIfNecessary)(env, [consequentTy, alternateTy].filter(Boolean));
1657
+ const ifTy = (0, type_manager_1.createUnionTyAnnIfNecessary)(env, [consequentTy, alternateTy].filter(e => Boolean(e) && !(0, type_predicate_2.isAnyTy)(e)));
1649
1658
  env.setType(nd, ifTy);
1650
1659
  env.unifier.unify(ifTy, tgtTy);
1651
1660
  return ifTy;