@lcap/nasl-language-server-core 4.4.0-beta.3 → 4.4.0-beta.31

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 (142) hide show
  1. package/out/checker.d.ts +4 -1
  2. package/out/checker.d.ts.map +1 -1
  3. package/out/checker.js +996 -96
  4. package/out/checker.js.map +1 -1
  5. package/out/index.d.ts +1 -1
  6. package/out/index.d.ts.map +1 -1
  7. package/out/index.js +5 -3
  8. package/out/index.js.map +1 -1
  9. package/out/reference-manager/build-q-name-def.d.ts.map +1 -1
  10. package/out/reference-manager/build-q-name-def.js +11 -0
  11. package/out/reference-manager/build-q-name-def.js.map +1 -1
  12. package/out/reference-manager/builtin-q-name.js +2 -2
  13. package/out/reference-manager/builtin-q-name.js.map +1 -1
  14. package/out/reference-manager/collect-q-name.d.ts +1 -1
  15. package/out/reference-manager/collect-q-name.d.ts.map +1 -1
  16. package/out/reference-manager/collect-q-name.js +64 -27
  17. package/out/reference-manager/collect-q-name.js.map +1 -1
  18. package/out/reference-manager/def-key-helpers.d.ts +38 -0
  19. package/out/reference-manager/def-key-helpers.d.ts.map +1 -0
  20. package/out/reference-manager/{get-q-name.js → def-key-helpers.js} +195 -23
  21. package/out/reference-manager/def-key-helpers.js.map +1 -0
  22. package/out/reference-manager/helper.js +2 -2
  23. package/out/reference-manager/helper.js.map +1 -1
  24. package/out/reference-manager/reference-manager.d.ts +146 -47
  25. package/out/reference-manager/reference-manager.d.ts.map +1 -1
  26. package/out/reference-manager/reference-manager.js +632 -204
  27. package/out/reference-manager/reference-manager.js.map +1 -1
  28. package/out/reference-manager/remove-q-name.d.ts +1 -1
  29. package/out/reference-manager/remove-q-name.d.ts.map +1 -1
  30. package/out/reference-manager/remove-q-name.js +14 -14
  31. package/out/reference-manager/remove-q-name.js.map +1 -1
  32. package/out/reference-manager/rename-q-name.d.ts +26 -26
  33. package/out/reference-manager/rename-q-name.d.ts.map +1 -1
  34. package/out/reference-manager/rename-q-name.js +48 -167
  35. package/out/reference-manager/rename-q-name.js.map +1 -1
  36. package/out/reference-manager/symbol-type.d.ts +8 -3
  37. package/out/reference-manager/symbol-type.d.ts.map +1 -1
  38. package/out/reference-manager/symbol-type.js +9 -2
  39. package/out/reference-manager/symbol-type.js.map +1 -1
  40. package/out/reference-manager/update-nasl-fragment.d.ts +2 -2
  41. package/out/reference-manager/update-nasl-fragment.d.ts.map +1 -1
  42. package/out/reference-manager/update-nasl-fragment.js +33 -28
  43. package/out/reference-manager/update-nasl-fragment.js.map +1 -1
  44. package/out/services/bindable-logic-service.js.map +1 -1
  45. package/out/symbol/traverse/concepts/index.d.ts +1 -1
  46. package/out/symbol/traverse/concepts/index.d.ts.map +1 -1
  47. package/out/symbol/traverse/concepts/logic/expression/member-expression.js.map +1 -1
  48. package/out/typer/collectGlobalDefs.d.ts +8 -0
  49. package/out/typer/collectGlobalDefs.d.ts.map +1 -1
  50. package/out/typer/collectGlobalDefs.js +102 -54
  51. package/out/typer/collectGlobalDefs.js.map +1 -1
  52. package/out/typer/component-def-manager/component-def-manager.d.ts +16 -0
  53. package/out/typer/component-def-manager/component-def-manager.d.ts.map +1 -1
  54. package/out/typer/component-def-manager/component-def-manager.js +63 -2
  55. package/out/typer/component-def-manager/component-def-manager.js.map +1 -1
  56. package/out/typer/component-def-manager/utils.d.ts.map +1 -1
  57. package/out/typer/component-def-manager/utils.js +26 -0
  58. package/out/typer/component-def-manager/utils.js.map +1 -1
  59. package/out/typer/dispatch-all.d.ts +3 -1
  60. package/out/typer/dispatch-all.d.ts.map +1 -1
  61. package/out/typer/dispatch-all.js +51 -6
  62. package/out/typer/dispatch-all.js.map +1 -1
  63. package/out/typer/dispatch-call.d.ts +27 -1
  64. package/out/typer/dispatch-call.d.ts.map +1 -1
  65. package/out/typer/dispatch-call.js +151 -107
  66. package/out/typer/dispatch-call.js.map +1 -1
  67. package/out/typer/dispatch-def.d.ts.map +1 -1
  68. package/out/typer/dispatch-def.js +51 -23
  69. package/out/typer/dispatch-def.js.map +1 -1
  70. package/out/typer/dispatch-expr.d.ts +2 -1
  71. package/out/typer/dispatch-expr.d.ts.map +1 -1
  72. package/out/typer/dispatch-expr.js +240 -199
  73. package/out/typer/dispatch-expr.js.map +1 -1
  74. package/out/typer/dispatch-process.d.ts +8 -1
  75. package/out/typer/dispatch-process.d.ts.map +1 -1
  76. package/out/typer/dispatch-process.js +37 -4
  77. package/out/typer/dispatch-process.js.map +1 -1
  78. package/out/typer/dispatch-stmt.d.ts.map +1 -1
  79. package/out/typer/dispatch-stmt.js +39 -25
  80. package/out/typer/dispatch-stmt.js.map +1 -1
  81. package/out/typer/dispatch-view.d.ts +1 -1
  82. package/out/typer/dispatch-view.d.ts.map +1 -1
  83. package/out/typer/dispatch-view.js +87 -48
  84. package/out/typer/dispatch-view.js.map +1 -1
  85. package/out/typer/fix-use-before-assign.js.map +1 -1
  86. package/out/typer/get-oql-files.d.ts.map +1 -1
  87. package/out/typer/get-oql-files.js +3 -9
  88. package/out/typer/get-oql-files.js.map +1 -1
  89. package/out/typer/incremental-update.d.ts +14 -7
  90. package/out/typer/incremental-update.d.ts.map +1 -1
  91. package/out/typer/incremental-update.js +396 -43
  92. package/out/typer/incremental-update.js.map +1 -1
  93. package/out/typer/oql-checker/chain-call-transformer.d.ts.map +1 -1
  94. package/out/typer/oql-checker/chain-call-transformer.js +17 -4
  95. package/out/typer/oql-checker/chain-call-transformer.js.map +1 -1
  96. package/out/typer/oql-checker/ts-parser.d.ts.map +1 -1
  97. package/out/typer/oql-checker/ts-parser.js +252 -37
  98. package/out/typer/oql-checker/ts-parser.js.map +1 -1
  99. package/out/typer/overload-helper.d.ts.map +1 -1
  100. package/out/typer/overload-helper.js +190 -23
  101. package/out/typer/overload-helper.js.map +1 -1
  102. package/out/typer/solver.d.ts +8 -9
  103. package/out/typer/solver.d.ts.map +1 -1
  104. package/out/typer/solver.js +54 -31
  105. package/out/typer/solver.js.map +1 -1
  106. package/out/typer/subster.d.ts +1 -1
  107. package/out/typer/subster.d.ts.map +1 -1
  108. package/out/typer/subster.js +251 -57
  109. package/out/typer/subster.js.map +1 -1
  110. package/out/typer/topo-sort.d.ts +38 -0
  111. package/out/typer/topo-sort.d.ts.map +1 -1
  112. package/out/typer/topo-sort.js +272 -3
  113. package/out/typer/topo-sort.js.map +1 -1
  114. package/out/typer/type-manager.d.ts +1 -0
  115. package/out/typer/type-manager.d.ts.map +1 -1
  116. package/out/typer/type-manager.js +14 -11
  117. package/out/typer/type-manager.js.map +1 -1
  118. package/out/typer/type-predicate.d.ts +1 -0
  119. package/out/typer/type-predicate.d.ts.map +1 -1
  120. package/out/typer/type-predicate.js +83 -14
  121. package/out/typer/type-predicate.js.map +1 -1
  122. package/out/typer/typer.d.ts +51 -6
  123. package/out/typer/typer.d.ts.map +1 -1
  124. package/out/typer/typer.js +248 -46
  125. package/out/typer/typer.js.map +1 -1
  126. package/out/typer/unifier.d.ts +12 -1
  127. package/out/typer/unifier.d.ts.map +1 -1
  128. package/out/typer/unifier.js +110 -37
  129. package/out/typer/unifier.js.map +1 -1
  130. package/out/utils/debug.js.map +1 -1
  131. package/out/utils/type-operator.d.ts +15 -0
  132. package/out/utils/type-operator.d.ts.map +1 -1
  133. package/out/utils/type-operator.js +65 -3
  134. package/out/utils/type-operator.js.map +1 -1
  135. package/package.json +5 -5
  136. package/out/reference-manager/get-q-name.d.ts +0 -9
  137. package/out/reference-manager/get-q-name.d.ts.map +0 -1
  138. package/out/reference-manager/get-q-name.js.map +0 -1
  139. package/out/reference-manager/view-elem-logic.d.ts +0 -44
  140. package/out/reference-manager/view-elem-logic.d.ts.map +0 -1
  141. package/out/reference-manager/view-elem-logic.js +0 -164
  142. package/out/reference-manager/view-elem-logic.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"typer.js","sourceRoot":"","sources":["../../src/typer/typer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typer.js","sourceRoot":"","sources":["../../src/typer/typer.ts"],"names":[],"mappings":";;;AAAA,uDA0B6B;AAE7B,yDAAoE;AAEpE,yDAA0D;AAC1D,yDAA2F;AAE3F,iDAcwB;AAGxB,qCAAuD;AAEvD,0EAAuF;AACvF,8EAA0E;AAE1E,uCAAoC;AACpC,qCAA0D;AAC1D,wCAAsD;AACtD,qDAAgG;AAChG,qDAAiE;AACjE,6EAAwE;AACxE,iEAA4D;AAC5D,4EAA+D;AAC/D,uCAA0E;AAC1E,4EAAmE;AAEnE,mDAAwC;AAgBxC,MAAa,MAAM;IAoCjB,cAAc;QACZ,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IACnC,CAAC;IAuDD,sBAAsB;IACtB,gBAAgB,CAAC,EAAY,EAAE,IAA8C;QAC3E,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC;QAC/C,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC;QAE7C,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,MAAiB,EAAE,EAAE;YACjD,MAAM,gBAAgB,GAAG,GAAG,CAAC,YAAY,CAAC;YAC1C,MAAM,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC;YACrC,GAAG,CAAC,YAAY,GAAG,oBAAoB,CAAC;YACxC,GAAG,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;YACxC,IAAI,CAAC;gBACH,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACpB,CAAC;oBAAS,CAAC;gBACT,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBACjC,GAAG,CAAC,YAAY,GAAG,gBAAgB,CAAC;YACtC,CAAC;QACH,CAAC,CAAC;QAEF,YAAY;QACZ,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7E,IAAI,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,6BAA6B;IACrB,mBAAmB;QACzB,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,6BAA6B;IAC7B,cAAc;IACN,kBAAkB;QACxB,IAAI,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,6DAA6D;YAC7D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;YAC5G,CAAC;YACD,oBAAoB;YACpB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,WAAW;QACzC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,kBAAkB,CAAI,EAAW;QACtC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAwBD,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,CAAa;QAC7B,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IACpC,CAAC;IAuCD,wGAAwG;IAExG,6EAA6E;aACtE,qBAAgB,GAA0C,IAAI,GAAG,EAAE,AAAnD,CAAoD;IAE3E,cAAc;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,0BAA0B,GAAG,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IAED,6BAA6B;QAC3B,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACzC,CAAC;IAED,wBAAwB;QACtB,OAAO,IAAI,CAAC,0BAA0B,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,yBAAyB,CAAI,KAAU;QACrC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAa,CAAC;QACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO;YACL,MAAM,EAAE,CAAC,IAAO,EAAE,EAAE;gBAClB,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,KAAK,EAAE,CAAC,IAAO,EAAE,EAAE;gBACjB,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,CAAC,EAAE,CAAC;oBAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC9B,CAAC;gBACD,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAE,GAAG,CAAC,CAAC,CAAC;YAChD,CAAC;SACF,CAAC;IACJ,CAAC;IAED,QAAQ,CACN,OAAe,EACf,UAAuB,EACvB,aAA0B,EAC1B,WAAgC,IAAI,CAAC,WAAW,EAChD,SAA+B;QAC/B,MAAM,QAAQ,GAAG,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,IAAI,aAAa,IAAI,IAAI,CAAC,WAAW,CAAC;QAE7E,iBAAiB;QACjB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,0BAA0B,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAQ;YACnB,QAAQ;YACR,QAAQ,EAAE,QAAoB;YAC9B,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC;SAChD,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,OAAe,EAAE,EAAc,EAAE,QAAoB;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,EAAE,CAAC,CAAC;QACjC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;IAkBD,UAAU,CAAC,EAAc;QACvB,IAAI,EAAE,CAAC,OAAO,KAAK,YAAY,IAAI,EAAE,CAAC,SAAS,KAAK,uBAAuB,EAAE,CAAC;YAC5E,OAAO,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;QACzC,CAAC;aAAM,IAAI,EAAE,CAAC,OAAO,KAAK,YAAY,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACjE,OAAO,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;QACzC,CAAC;aAAM,IAAI,EAAE,CAAC,OAAO,KAAK,YAAY,IAAI,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACrI,eAAe;YACf,mDAAmD;YACnD,4BAA4B;YAC5B,MAAM,gBAAgB,GAAG,EAAE,CAAC,aAAa,CAAC;YAC1C,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,aAAa,GAAG,EAAE,CAAC,IAAI,CAAC;YAC9B,MAAM,KAAK,GAAG,GAAG,IAAA,iCAAe,EAAC,gBAAgB,CAAC,IAAI,aAAa,EAAE,CAAC;YACtE,OAAO,CAAC,IAAA,oBAAW,EAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACvF,CAAC;aAAM,IAAI,EAAE,CAAC,OAAO,KAAK,WAAW,IAAI,EAAE,CAAC,eAAe,IAAI,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACpJ,kDAAkD;YAClD,MAAM,QAAQ,GAAG,IAAA,qBAAK,EAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YACzC,mCAAmC;YACnC,IAAI,QAAQ,EAAE,OAAO,KAAK,eAAe,EAAE,CAAC;gBAC1C,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,kCAAkC;YAClC,mEAAmE;YACnE,MAAM,aAAa,GAAG,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,gBAAgB,GAAG,EAAE,CAAC,aAAa,CAAC;YAC1C,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,SAAS,GAAG,IAAA,iCAAe,EAAC,gBAAgB,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,YAAY,GAAG,GAAG,SAAS,IAAI,aAAa,EAAE,CAAC;YACrD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAGjD,CAAC;YACd,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC3C,IAAI,IAAA,uBAAa,EAAC,cAAc,CAAC,IAAI,IAAA,0BAAgB,EAAC,EAAE,CAAC,EAAE,CAAC;gBAC1D,IAAI,EAAE,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;oBACzC,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;oBACpF,8DAA8D;oBAC9D,OAAO,MAAM,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,GAAG,cAAc,CAAC;oBAC3B,sCAAsC;oBACtC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBAC9C,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC5E,mBAAmB;oBACnB,OAAO,CAAC,CAAC;gBACX,CAAC;YACH,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,IAAG,EAAE,CAAC,OAAO,KAAK,YAAY,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/E,6BAA6B;YAE7B,6BAA6B;YAC7B,2DAA2D;YAC3D,yCAAyC;YAEzC,MAAM,aAAa,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACnD,MAAM,gBAAgB,GAAG,EAAE,CAAC,aAAa,CAAC;YAC1C,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,SAAS,GAAG,IAAA,iCAAe,EAAC,gBAAgB,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,YAAY,GAAG,GAAG,SAAS,IAAI,aAAa,EAAE,CAAC;YACrD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAY,CAAC;YAC3E,IAAI,CAAC,IAAA,uBAAa,EAAC,cAAc,CAAC,EAAE,CAAC;gBACnC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,EAAE,CAAC,IAA0B,CAAC;YAChD,IAAG,CAAC,SAAS,IAAI,CAAC,IAAA,0BAAgB,EAAC,EAAE,CAAC,EAAE,CAAC;gBACvC,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,aAAa,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxF,IAAI,aAAa,KAAK,cAAc,EAAE,CAAC;gBACrC,yDAAyD;gBACzD,8DAA8D;gBAC9D,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAEzD,CAAC;gBACd,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,MAAM,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;gBACvE,OAAO,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAc,EAAE,CAAC,IAAA,iBAAO,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,IAAI,EAAE,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;oBACzC,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,cAAc,CAAC;oBAChF,8DAA8D;oBAC9D,OAAO,MAAM,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,MAAM,GAAG,GAAG,cAAc,CAAC;oBAC3B,sCAAsC;oBACtC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBAC9C,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBAC7E,mBAAmB;oBACnB,OAAO,CAAC,CAAC;gBACX,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,KAAK,GAAG,IAAA,iCAAe,EAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,mEAAmE;QACnE,MAAM,QAAQ,GAAG,IAAA,gCAAc,EAAC,EAAE,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,CAAC,QAAQ,IAAI,IAAA,oBAAW,EAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,IAAI,IAAA,oBAAW,EAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QACxH,MAAM,GAAG,GAAG,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7D,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IACnD,CAAC;IAkGD,0DAA0D;IAC1D,cAAc,CAAC,EAA4B,EAAE,WAAmB,EAAE,SAAoD;QACpH,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAM,CAAkC,CAAC;IAC7E,CAAC;IAiFD,IAAI,WAAW;QACb,kCAAkC;QAClC,OAAO,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC;IAChE,CAAC;IAED,cAAc,CAAC,CAAa;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,CAAC,EAAE,CAAC;QACJ,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;IACtB,CAAC;IAED,YAAY,MAAwB,EAAE,OAAO,GAAG,KAAK;QA5oBrD,QAAG,GAAe,IAAI,CAAC;QAEvB,uBAAkB,GAAG,KAAK,CAAC;QAE3B,WAAM,GAAG,KAAK,CAAC;QAEf,kBAAkB;QAClB,mBAAc,GAAG,KAAK,CAAC;QAEvB;;;;;WAKG;QACH,WAAM,GAAG,KAAK,CAAC;QACf,iBAAY,GAAG,KAAK,CAAC;QACrB,mBAAc,GAAG,KAAK,CAAC;QAEvB,wEAAwE;QACxE,iBAAY,GAAgB,IAAI,GAAG,EAAE,CAAC;QAEtC,UAAK,GAAG;YACN,QAAQ,EAAE,KAAK;YACf;;eAEG;YACH,cAAc,EAAE,KAAK;YACrB;;;eAGG;YACH,sBAAsB,EAAE,IAAI;SAC7B,CAAC;QAUF,wCAAwC;QACxC,YAAO,GAA+C,IAAI,GAAG,EAAE,CAAC;QAEhE;;;;;;;WAOG;QACH,0BAA0B;QAC1B,uCAAuC;QACvC,wBAAmB,GAAwB,IAAI,OAAO,EAAE,CAAC;QAEzD,0BAA0B;QAC1B,sBAAiB,GAAuD,IAAI,OAAO,EAAE,CAAC;QAEtF,YAAY;QACZ,iBAAY,GAA0B,SAAS,CAAC;QAChD,8DAA8D;QAC9D,qBAAgB,GAAqB,IAAI,CAAC;QAC1C,+BAA+B;QAC/B,0BAAqB,GAAG,IAAI,GAAG,EAAqB,CAAC;QACrD,oBAAoB;QACpB,uBAAkB,GAAyB,IAAI,CAAC;QAEhD,gCAAgC;QAChC,kFAAkF;QAElF,2CAA2C;QAC3C,WAAW;QACX,iBAAY,GAAc,IAAI,GAAG,EAAE,CAAC,CAAC,sBAAsB;QAE3D,sBAAsB;QACtB,oEAAoE;QAC5D,2BAAsB,GAAiG,IAAI,GAAG,EAAE,CAAC;QAEzI,+BAA+B;QACvB,sBAAiB,GAAW,CAAC,CAAC;QAEtC,wCAAwC;QACxC,gBAAW,GAAgC,IAAI,GAAG,EAAE,CAAC;QAErD,iBAAiB;QACjB,sBAAiB,GAAG,IAAI,KAAK,EAAU,CAAC;QAExC,uDAAuD;QACvD,iEAAiE;QACjE,kDAAkD;QAClD,+BAA+B;QAC/B,0BAAqB,GAAG,IAAI,GAAG,EAAsD,CAAC;QA+DtF,6BAA6B;QAC7B,wBAAmB,GAA8E,EAAE,CAAC;QAEpG,YAAY;QACZ,4BAAuB,GAAG,IAAI,OAAO,EAAqB,CAAC;QAE3D,6CAA6C;QAC7C,6CAA6C;QAC7C,qBAAgB,GAAgC,IAAI,GAAG,EAAE,CAAC;QAE1D,cAAS,GAAiB,EAAE,CAAC;QAE7B,gBAAW,GAAsB,IAAI,CAAC;QAEtC,+BAA+B;QAC/B,uBAAkB,GAA+B,IAAI,CAAC;QAEtD,0DAA0D;QAC1D,+BAA0B,GAAW,CAAC,CAAC;QAE/B,mBAAc,GAAsB,IAAI,CAAC;QAqBjD,gBAAW,GAAwB,OAAO,CAAC;QAE3C,aAAQ,GACsG,SAAS,CAAA,CAAC,6BAA6B;QAErJ,kBAAa,GAA+B,SAAS,CAAC,CAAC,YAAY;QAEnE,oBAAoB;QACpB,WAAM,GAAmC,SAAS,CAAC;QAEnD,0BAAqB,GAAgC,IAAI,GAAG,EAAE,CAAC,CAAC,kCAAkC;QAMlG,YAAO,GAAY,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC;QACrC,aAAa;QACb,WAAM,GAAW,IAAI,CAAC;QAMtB,MAAM;QACN,oDAAoD;QACpD,eAAe;QACf,cAAS,GAA6C,IAAI,GAAG,EAAE,CAAC;QAEhE,OAAO;QACP,cAAS,GAA+B,IAAI,GAAG,EAAE,CAAC;QAElD,sDAAsD;QACtD,oBAAe,GAAoC,IAAI,OAAO,EAAE,CAAC;QAEjE,cAAS,GAAY,KAAK,CAAC;QA4F3B,sBAAiB,GAAG,IAAI,GAAG,EAAmJ,CAAC;QAE/K,wBAAmB,GAAG,CAAC,EAAc,EAAE,eAA+B,EAAE,IAAY,EAAE,aAAwC,EAAE,WAA8B,EAAE,EAAE;YAChK,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC,EAAC,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAC,CAAC,CAAC;YACpF,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC,CAAA;QAED,wBAAmB,GAAG,CAAC,EAAc,EAAE,EAAE;YACvC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAA,qBAAK,EAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAA;QAED,2BAAsB,GAAG,GAAG,EAAE;YAC5B,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QACjC,CAAC,CAAA;QAwHD;;;;WAIG;QACH,eAAU,GAAG,CAAC,EAAwB,EAA8B,EAAE;YACpE,EAAE,GAAG,IAAA,qBAAK,EAAC,EAAE,CAAC,CAAC;YACf,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;gBACpC,OAAO,EAAoB,CAAC;YAC9B,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,yCAAyC;gBACxE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;YACD;;;;;eAKG;YAEH,IAAI,oCAAgB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3D,mBAAmB;gBACnB,OAAO,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,cAAc,IAAI,IAAA,oCAAqB,EAAC,EAAuC,EAAE,IAAI,CAAC,CAAC;YAC1H,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,EAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,mBAAmB;gBACnB,OAAO,CAAC,EAAE,CAAC,CAAC,cAAc,IAAI,SAAS,CAAC;YAC1C,CAAC;YAED,OAAO,GAAG,CAAC,gBAAgB,IAAI,mBAAmB;gBAChD,CAAC,oCAAgB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;oBACtD,CAAC,CAAC,IAAA,oCAAqB,EAAC,GAAwC,EAAE,IAAI,CAAC;oBACvE,CAAC,CAAC,SAAS,CAAC,CAAA;QAClB,CAAC,CAAA;QAED,WAAM,GAAG;YACP,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;gBAC5B,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YACzB,CAAC;YACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;gBAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAC,GAAG,IAAI,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;gBAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;oBACrB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAC,GAAG,IAAI,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;YACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;gBAC3B,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YACxB,CAAC;SACF,CAAA;QAED,OAAO;QACP,mBAAc,GAAG,CAAC,EAAc,EAC9B,OAIC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAEtD;;;;;;;;;;;;WAYG;QACH,YAAO,GAAG,CAAC,EAAwB,EAA8B,EAAE;YACjE,IAAI,CAAC;gBACH,wDAAwD;gBACxD,sGAAsG;gBACtG,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,IAAA,qBAAK,EAAC,EAAE,CAAC,CAAC,CAAC;gBACtC,IAAI,EAAE,EAAE,CAAC;oBACP,OAAO,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;gBAC5B,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrB,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC,CAAA;QAQD,oBAAe,GAAG,CAAC,EAA4B,EAAE,WAAmB,EAAE,SAAoD,EAAU,EAAE;YACpI,IAAI,KAAyB,CAAC;YAC9B,IAAI,EAAE,CAAC,OAAO,KAAK,cAAc,IAAI,EAAE,CAAC,eAAe,KAAK,kBAAkB,EAAE,CAAC;gBAC/E,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,OAAO,WAAW,CAAC;gBACrB,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;gBACpD,KAAK,GAAG,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,GAAG,EAAE,CAAC,eAAe,IAAI,WAAW,EAAE,CAAC;YACjD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAA;QAED,4BAAuB,GAAG,CAAC,SAAwC,EAAU,EAAE;YAC7E,OAAO,oBAAoB,SAAS,EAAE,CAAC;QACzC,CAAC,CAAC;QAEF,2EAA2E;QACnE,eAAU,GAAmE,EAAE,CAAC;QAExF,kEAAkE;QAC1D,mBAAc,GAAyC,IAAI,GAAG,EAAE,CAAC;QAEzE,kBAAa,GAAG,CAAC,IAAwB,EAAgC,EAAE;YACzE,IAAI,CAAC,IAAI;gBAAE,OAAO,SAAS,CAAC;YAC5B,OAAO,IAAA,oBAAW,EAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC,CAAA;QAED,mDAAmD;QACnD,kBAAa,GAAG,CAAC,EAA4D,EAAE,EAAE;YAC/E,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI;gBAAE,OAAO;YAC5B,MAAM,QAAQ,GAAG,IAAA,gCAAc,EAAC,EAAE,CAAC,CAAC;YACpC,IAAI,QAAQ;gBAAE,IAAA,qBAAY,EAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC,CAAA;QAED,qBAAgB,GAAG,CAAC,EAA4D,EAAE,EAAE;YAClF,MAAM,QAAQ,GAAG,IAAA,gCAAc,EAAC,EAAE,CAAC,CAAC;YACpC,IAAI,QAAQ;gBAAE,IAAA,uBAAc,EAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YAC5D,uEAAuE;QACzE,CAAC,CAAA;QAED,2BAAsB,GAAG,CAAC,IAAwB,EAAE,EAAE;YACpD,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,IAAA,uBAAc,EAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAA;QAEM,sBAAiB,GAAG,GAAG,EAAE;YAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QAClC,CAAC,CAAA;QAED;;;;WAIG;QACH,eAAU,GAAG,CAAC,EAAa,EAAE,YAAsC,EAAE,EAAE;YACrE,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAwC,CAAC;YACtF,IAAI,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;gBAClD,IAAI,GAAG,YAAY,CAAC;YACtB,CAAC;YACD,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC,CAAA;QAED;;WAEG;QACH,cAAS,GAAG,GAAG,EAAE;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG;gBAAE,OAAO;YACjB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC,CAAA;QAED,2BAA2B;QACnB,aAAQ,GAA+B,MAAM,CAAC;QA2BtD;;;;WAIG;QACK,sBAAiB,GAAsD,IAAI,OAAO,EAAE,CAAC;QAEnF,sBAAiB,GAAkE,IAAI,GAAG,EAAE,CAAC;QAErG,yBAAoB,GAAG,CAAC,EAAY,EAAE,EAAE;YACtC,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAA,qBAAK,EAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAA;QAED,yBAAoB,GAAG,CAAC,EAAY,EAAE,GAAmD,EAAE,EAAE;YAC3F,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAA,qBAAK,EAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7C,CAAC,CAAA;QAED;;;;;WAKG;QACH,wBAAmB,GAAG,CAAC,OAAoB,EAAE,SAAiB,EAAE,cAA8B,EAAE,EAAE;YAChG,MAAM,UAAU,GAAG,IAAA,qBAAK,EAAC,OAAO,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;YAC3D,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC5C,CAAC,CAAC;QAEF;;;;;WAKG;QACH,wBAAmB,GAAG,CAAC,OAAoB,EAAE,cAAsB,EAA8B,EAAE;YACjG,MAAM,SAAS,GAAG,IAAA,4BAAY,EAAC,MAAM,cAAc,EAAE,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAA,qBAAK,EAAC,OAAO,CAAC,CAAC,CAAC;YAC9D,OAAO,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC,CAAC;QAEF;;;;WAIG;QACH,4BAAuB,GAAG,CAAC,OAAoB,EAA2C,EAAE;YAC1F,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAA,qBAAK,EAAC,OAAO,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC;QAEF;;;;;WAKG;QACH,YAAO,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAW,EAAE;YAC9D,OAAO,IAAA,wBAAO,EAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC,CAAC;QAMJ,YAAO,GAAG,CAAC,EAAwB,EAAE,EAA8B,EAAE,EAAE;YACrE,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO;YACT,CAAC;YAED,oCAAoC;YACpC,iDAAiD;YACjD,gGAAgG;YAChG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAA,qBAAK,EAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACrC,IAAI,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;gBACpC,IAAI,IAAA,iCAAgB,EAAC,EAAE,CAAC,EAAE,CAAC;oBACzB,EAAE,CAAC,gBAAgB,GAAG,EAAG,CAAC;gBAC5B,CAAC;qBAAM,CAAC,CAAC,mBAAmB;oBAC1B,EAAE,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC,sBAAsB;gBACzD,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,IAAI,EAAE,EAAE,QAAQ,KAAK,WAAW,EAAE,CAAC;oBACjC,mBAAmB;oBACnB,EAAE,CAAC,IAAI,GAAG,EAAG,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC,CAAA;QAED;;;WAGG;QACI,gBAAW,GAAG,CAAC,EAAwB,EAAE,EAAE;YAChD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACR,OAAO;YACT,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,cAAc,kCAAmB,CAAC;YAC9C,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;QACpC,CAAC,CAAA;QAED,mBAAc,GAAG,CAAC,QAA6B,EAAE,EAAE;YACjD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,GAAG,kBAAQ,CAAC,KAAK,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,GAAG,kBAAQ,CAAC,IAAI,CAAC;YACnC,CAAC;QACH,CAAC,CAAA;QAED,sBAAsB;QACtB,kCAAkC;QAC3B,kBAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC9C,iCAAiC;YACjC,MAAM,MAAM,GAAG,IAAA,2BAAiB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA2F,CAAC;YAE/H,KAAK,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,EAAE,CAAC;gBACnE,MAAM,SAAS,GAAkF,EAAE,CAAC;gBAEpG,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;oBACjC,4BAA4B;oBAC5B,IAAI,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACnD,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;wBAC7B,gBAAgB;oBAClB,CAAC;yBAAM,CAAC;wBACN,8BAA8B;wBAC9B,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBAED,gCAAgC;gBAChC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC;YAED,wBAAwB;YACxB,IAAI,CAAC,sBAAsB,GAAG,mBAAmB,CAAC;QACpD,CAAC,CAAA;QAeD,YAAO,GAAG,GAAG,EAAE;YACb,IAAA,yBAAgB,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpC,CAAC,CAAA;QA0BD;;WAEG;QACH,qBAAgB,GAAG,GAAG,EAAE;YACtB,cAAc;YACd,MAAM,KAAK,GAAwB;gBACjC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;aACpC,CAAC;YACF,MAAM,MAAM,GAAwB;gBAClC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE;aACjC,CAAC;YACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;oBACzB,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;oBAClC,IAAI,SAAS,GAAG,CAAC,CAAC;oBAClB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;wBAC/B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BACrB,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC;wBACtB,CAAC;6BAAM,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BAC5B,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC;wBACtB,CAAC;6BAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC5B,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC;wBACxB,CAAC;wBACD,SAAS;wBACT,yCAAyC;wBACzC,wCAAwC;wBACxC,IAAI;6BACC,CAAC;4BACJ,SAAS,IAAI,CAAC,CAAC;wBACjB,CAAC;oBACH,CAAC;oBACD,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,SAAS,CAAC;gBACxC,CAAC;qBAAM,IAAI,KAAK,YAAY,GAAG,EAAE,CAAC;oBAChC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;oBAClC,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;gBACzC,CAAC;qBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChC,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;oBACpC,MAAM,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC3C,CAAC;gBACD,SAAS;gBACT,iDAAiD;gBACjD,oBAAoB;gBACpB,sDAAsD;gBACtD,IAAI;qBACC,CAAC;oBACJ,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;YACD,8BAA8B;YAC9B,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;QACxD,CAAC,CAAA;QA5PC,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAe,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,GAAG,IAAI,qCAAY,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,KAAK,CAAC,eAAe,GAAG,GAAG,CAAC;QAC9B,CAAC;IACH,CAAC;IAmEM,SAAS,CAAC,MAAwB;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAmFD,sCAAsC;IACtC,yCAAyC;IAClC,mBAAmB;QACxB,iCAAiC;QACjC,OAAO,IAAI,GAAG,EAAE,CAAC;IACnB,CAAC;IAED,sCAAsC;IACtC,yCAAyC;IAClC,sBAAsB,CAAC,KAAqE;QACjG,6BAA6B;IAC/B,CAAC;IAMD,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,IAAI,qCAAY,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,mCAAe,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,uBAAuB,GAAG,IAAI,OAAO,EAAE,CAAC;QAC7C,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,sFAAsF;QACtF,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,CAAC,CAAiB,EAAE,CAAiB;QACvC,OAAO,IAAA,0BAAS,EAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;;AAr1BH,wBA24BC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CACvB,GAAW,EACX,UAA+C,EAC/C,UAAkB;IAElB,MAAM,cAAc,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACtE,OAAO,cAAc,EAAE,cAAc;QACnC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,cAAc,CAAC;QAC/C,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,2BAA2B,CACzC,GAAW,EACX,SAAyB,EACzB,GAAc,EACd,UAAkB;IAElB,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;IACxC,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhF,gCAAgC;IAChC,IAAI,UAAU,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,MAAM,cAAc,GAAG,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAC1E,IAAI,cAAc,EAAE,cAAc,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,sBAAsB;IACtB,MAAM,cAAc,GAAG,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IAC1E,IAAI,CAAC,cAAc,EAAE,cAAc,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,mBAAmB;IACnB,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAA,+BAAgB,EAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,IAAA,wBAAc,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IAErD,oBAAoB;IACpB,MAAM,yBAAyB,GAAG,IAAA,oBAAU,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC3F,OAAO,SAAS,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;AACnD,CAAC;AA/BD,kEA+BC;AAED,SAAgB,SAAS,CAAC,GAAW,EAAE,EAAkB;IACvD,IAAI,IAAA,8BAAa,EAAC,EAAE,CAAC,EAAE,CAAC;QACtB,8BAA8B;QAC9B,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC,UAAW,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,SAAU,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,8BAAc,CAAC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,6CAA6C;QACvF,IAAI,CAAC,IAAA,2BAAU,EAAC,GAAG,CAAC,IAAI,IAAA,wBAAO,EAAC,GAAG,CAAC,IAAI,IAAA,yBAAQ,EAAC,GAAG,CAAC,CAAC,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;YAClF,OAAO,yBAAU,CAAC;QACpB,CAAC;QACD,IAAI,IAAA,wBAAO,EAAC,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,wBAAS,CAAC;QACnB,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;YACjE,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,0CAA0C;YAC1C,OAAO,wBAAS,CAAC;QACnB,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAA0B,CAAC;YACzD,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAClE,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,2CAA2C;gBAC3C,OAAO,wBAAS,CAAC;YACnB,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAA0B,CAAC;YACzD,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,MAAM,GAAG,2BAA2B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;gBACtE,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,MAAM,CAAC;gBAChB,CAAC;gBACD,4EAA4E;gBAC5E,IAAI,GAAG,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;oBAChC,OAAO,wBAAS,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QACH,4EAA4E;QAC5E,gDAAgD;QAChD,sBAAsB;IACtB,CAAC;SAAM,IAAI,EAAE,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QACnE,EAAE,CAAC,aAAa,GAAG,MAAM,CAAC;IAC5B,CAAC;SAAM,IAAI,EAAE,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,IAAA,yCAAgB,EAAC,EAAE,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,EAAE,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,UAAW,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,qDAAqD;gBAC9E,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,EAAE,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,IAAA,0CAA2B,EAAC,GAAG,EAAE,EAAE,CAAC,aAAc,CAAC,CAAC;IAC7D,CAAC;IAED,8BAA8B;IAC9B,OAAO,EAAE,CAAC;AACZ,CAAC;AAlED,8BAkEC"}
@@ -11,6 +11,8 @@ export declare class Unifier {
11
11
  isUnifyContravariant: boolean;
12
12
  get traceEnabled(): boolean;
13
13
  constructor(env: SemEnv);
14
+ /** 主线约束写入 cs;草稿区约束写入 playgroundCs。playgroundCs 在主线阶段通过镜像保持与 cs 同步。 */
15
+ getCurrentCs: () => Constraints;
14
16
  nextFreshVars: (kind: 'bound' | 'free', num?: number) => Array<string>;
15
17
  nextFreshCurrent: () => string;
16
18
  getPreviousCurrent(): string;
@@ -22,7 +24,16 @@ export declare class Unifier {
22
24
  nextFreshTyParam: (kind: 'bound' | 'free') => import("@lcap/nasl-concepts").TypeParam;
23
25
  unifyEq: (ty1: TypeAnnotation | undefined, ty2: TypeAnnotation | undefined) => void;
24
26
  uAnonymous: (ty1: TypeAnnotation, ty2: TypeAnnotation) => void;
25
- unifyWithBoundary: (sub: TypeAnnotation | undefined | null, sup: TypeAnnotation | undefined | null, errBoundary: SyntaxNode) => void;
27
+ unifyWithBoundary: (sub: TypeAnnotation | undefined | null, sup: TypeAnnotation | undefined | null, errBoundary: SyntaxNode, context?: Record<string, any>) => void;
28
+ /**
29
+ * 统一 SelectOverload 类型与泛型类型
30
+ * 为泛型类型的每个类型参数创建 SelectOverloadGenericItem 并统一
31
+ * @param selectOverloadTypeArgs SelectOverload 类型的 typeArguments
32
+ * @param genericTypeName 泛型类型的名称
33
+ * @param genericTypeArgs 泛型类型的 typeArguments
34
+ * @param reverseUnify 是否反向统一(true: unify(ty, deferredRet), false: unify(deferredRet, ty))
35
+ */
36
+ private unifySelectOverloadWithGeneric;
26
37
  unify: (sub: TypeAnnotation | undefined | null, sup: TypeAnnotation | undefined | null) => void;
27
38
  unifyContravariant: (sub: TypeAnnotation | undefined, sup: TypeAnnotation | undefined, errBoundary?: SyntaxNode) => void;
28
39
  uLGeneric: (sub: TypeAnnotation, sup: TypeAnnotation) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"unifier.d.ts","sourceRoot":"","sources":["../../src/typer/unifier.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EACV,cAAc,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAUH,KAAK,WAAW,EAOhB,MAAM,EAET,MAAM,SAAS,CAAC;AAKjB,OAAO,EAAsB,aAAa,EAAa,MAAM,gBAAgB,CAAC;AAI9E,OAAO,EAAE,YAAY,EAAE,MAAM,uCAAuC,CAAC;AAGrE,qBAAa,OAAO;IAChB,UAAU,EAAE,MAAM,CAAK;IAEvB,aAAa,EAAE,MAAM,CAAK;IAE1B,EAAE,EAAE,WAAW,CAAa;IAE5B,mBAAmB,EAAE,cAAc,GAAG,SAAS,CAAC;IAEhD,GAAG,EAAE,MAAM,CAAC;IAEZ,oBAAoB,EAAE,OAAO,CAAS;IAEtC,IAAI,YAAY,YAEf;gBAEW,GAAG,EAAE,MAAM;IAMvB,aAAa,SAAU,OAAO,GAAG,MAAM,QAAO,MAAM,KAAO,MAAM,MAAM,CAAC,CAUvE;IAED,gBAAgB,eAIf;IAED,kBAAkB;IAQlB,aAAa;IAQb,sBAAsB;IAItB,eAAe,SAAU,OAAO,GAAG,MAAM,QAAO,MAAM,sBAErD;IAED,cAAc,SAAU,OAAO,GAAG,MAAM,oBAEvC;IAGD,iBAAiB,SAAU,OAAO,GAAG,MAAM,QAAO,MAAM,sBAEvD;IAED,gBAAgB,SAAU,OAAO,GAAG,MAAM,6CAEzC;IAED,OAAO,QAAS,cAAc,GAAG,SAAS,OAAO,cAAc,GAAG,SAAS,UAK1E;IAED,UAAU,QAAS,cAAc,OAAO,cAAc,UAoCrD;IAGD,iBAAiB,QAAS,cAAc,GAAG,SAAS,GAAG,IAAI,OAAO,cAAc,GAAG,SAAS,GAAG,IAAI,eAAe,UAAU,UAK3H;IAGD,KAAK,QAAS,cAAc,GAAG,SAAS,GAAG,IAAI,OAAO,cAAc,GAAG,SAAS,GAAG,IAAI,UAoCtF;IAED,kBAAkB,QAAS,cAAc,GAAG,SAAS,OAAO,cAAc,GAAG,SAAS,gBAAgB,UAAU,UAa/G;IAED,SAAS,QAAS,cAAc,OAAO,cAAc,UAiBpD;IAED,SAAS,QAAS,cAAc,OAAO,cAAc,UAkBpD;IAED,iBAAiB,QAAS,cAAc,OAAO,cAAc,UAc5D;IAED,iBAAiB,QAAS,cAAc,OAAO,cAAc,UAU5D;IAGD,WAAW,QAAS,cAAc,OAAO,cAAc,UA0BtD;IAGD,WAAW,QAAS,cAAc,OAAO,cAAc,UAsBtD;IAED,SAAS,QAAS,cAAc,OAAO,cAAc,UAMpD;IAGD,OAAO,QAAS,cAAc,OAAO,cAAc,UAQlD;IAGD,UAAU,QAAS,cAAc,OAAO,cAAc,UA2CrD;IAGD,gBAAgB,QAAS,cAAc,OAAO,cAAc,GAAG;QAAC,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAA;KAAC,UAmCrG;IAED,QAAQ,QAAS,cAAc,OAAO,cAAc,UAYnD;IAGD,UAAU,QAAS,cAAc,OAAO,cAAc,UAKrD;IAED,cAAc,QAAS,MAAM,cAAc,CAAC,KAAG,MAAM,cAAc,CAAC,CAGnE;IAGD,eAAe,WAAY,cAAc,KAAG,IAAI,CAgB/C;IAED,QAAQ,uBAA6B;IAErC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAM9B,UAAU,CAAC,GAAG,EAAE,MAAM;IAStB,QAAQ,uBAAwB,MAAM,KAAK,cAAc,UAwBxD;IAED,QAAQ,uBAAwB,MAAM,KAAK,cAAc,UAyBxD;IAED,UAAU,mCACC,MAAM,MAAM,cAAc,mBAAyB;IAE9D,OAAO,aAEN;IACD,QAAQ,aAIP;IAGD,sBAAsB,OAAQ,cAAc,aAuB3C;IAED,mBAAmB,CAAC,CAAC,EAAE,cAAc;IAMrC,QAAQ;;;;CAoBX"}
1
+ {"version":3,"file":"unifier.d.ts","sourceRoot":"","sources":["../../src/typer/unifier.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,9 @@ const assertion_1 = require("../utils/assertion");
8
8
  const types_1 = require("../utils/types");
9
9
  const type_manager_1 = require("./type-manager");
10
10
  const type_predicate_1 = require("./type-predicate");
11
- const type_predicate_2 = require("./type-predicate");
12
11
  const subster_1 = require("./subster");
13
12
  const type_hint_manager_1 = require("./type-hint-manager/type-hint-manager");
13
+ const overload_helper_1 = require("./overload-helper");
14
14
  class Unifier {
15
15
  get traceEnabled() {
16
16
  return false;
@@ -20,6 +20,8 @@ class Unifier {
20
20
  this.curVarCounter = 0; // current, current1, ...
21
21
  this.cs = new Map();
22
22
  this.isUnifyContravariant = false;
23
+ /** 主线约束写入 cs;草稿区约束写入 playgroundCs。playgroundCs 在主线阶段通过镜像保持与 cs 同步。 */
24
+ this.getCurrentCs = () => this.env.isPlayground ? this.env.playgroundCs : this.cs;
23
25
  // 'bound': type variables introduced by the signature of a function
24
26
  // 'free': type variables automatically introduced by the unification algorithm
25
27
  this.nextFreshVars = (kind, num = 1) => {
@@ -92,11 +94,41 @@ class Unifier {
92
94
  // ty2.properties?.map(p => p.typeAnnotation).filter(isNotNil) ?? []);
93
95
  };
94
96
  // 多一个入口处理速度快一些
95
- this.unifyWithBoundary = (sub, sup, errBoundary) => {
97
+ this.unifyWithBoundary = (sub, sup, errBoundary, context) => {
96
98
  const oldErrBoundary = this.env.errBoundary;
99
+ const oldContext = this.env.errBoundaryContext;
97
100
  this.env.errBoundary = errBoundary;
101
+ this.env.errBoundaryContext = context ?? null;
98
102
  this.unify(sub, sup);
99
103
  this.env.errBoundary = oldErrBoundary;
104
+ this.env.errBoundaryContext = oldContext;
105
+ };
106
+ /**
107
+ * 统一 SelectOverload 类型与泛型类型
108
+ * 为泛型类型的每个类型参数创建 SelectOverloadGenericItem 并统一
109
+ * @param selectOverloadTypeArgs SelectOverload 类型的 typeArguments
110
+ * @param genericTypeName 泛型类型的名称
111
+ * @param genericTypeArgs 泛型类型的 typeArguments
112
+ * @param reverseUnify 是否反向统一(true: unify(ty, deferredRet), false: unify(deferredRet, ty))
113
+ */
114
+ this.unifySelectOverloadWithGeneric = (selectOverloadTypeArgs, genericTypeName, genericTypeArgs, reverseUnify = false) => {
115
+ if (!genericTypeArgs) {
116
+ return;
117
+ }
118
+ genericTypeArgs.forEach((ty, index) => {
119
+ const deferredRet = nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
120
+ typeKind: 'generic',
121
+ typeNamespace: 'nasl.core',
122
+ typeName: 'SelectOverloadGenericItem',
123
+ typeArguments: [...(selectOverloadTypeArgs ?? []), (0, overload_helper_1.createStringLiteralType)(genericTypeName), (0, overload_helper_1.createStringLiteralType)(`${index}`)],
124
+ });
125
+ if (reverseUnify) {
126
+ this.unify(ty, deferredRet);
127
+ }
128
+ else {
129
+ this.unify(deferredRet, ty);
130
+ }
131
+ });
100
132
  };
101
133
  // sub:子类型 sup:父类型
102
134
  this.unify = (sub, sup) => {
@@ -113,7 +145,21 @@ class Unifier {
113
145
  this.uReference(sub, sup);
114
146
  }
115
147
  else if ((0, index_1.isNaslGenericTy)(sub) && (0, index_1.isNaslGenericTy)(sup)) {
116
- this.uGeneric(sub, sup);
148
+ if ((0, type_predicate_1.isSelectOverload)(sub) && !(0, type_predicate_1.isSelectOverload)(sup)) {
149
+ const typeName = sup.typeName;
150
+ if (typeName && typeName.length > 0 && sup?.typeArguments) {
151
+ this.unifySelectOverloadWithGeneric(sub.typeArguments, typeName, sup.typeArguments, false);
152
+ }
153
+ }
154
+ else if (!(0, type_predicate_1.isSelectOverload)(sub) && (0, type_predicate_1.isSelectOverload)(sup)) {
155
+ const typeName = sub.typeName;
156
+ if (typeName && typeName.length > 0 && sub?.typeArguments) {
157
+ this.unifySelectOverloadWithGeneric(sup.typeArguments, typeName, sub.typeArguments, true);
158
+ }
159
+ }
160
+ else {
161
+ this.uGeneric(sub, sup);
162
+ }
117
163
  }
118
164
  else if ((0, index_1.isFuncTy)(sub) && (0, index_1.isFuncTy)(sup)) {
119
165
  this.uFunction(sub, sup);
@@ -130,16 +176,16 @@ class Unifier {
130
176
  else if ((0, index_1.isAnonymousTy)(sub) && (0, index_1.isAnonymousTy)(sup)) {
131
177
  this.uAnonymous(sub, sup);
132
178
  }
133
- else if ((0, type_predicate_2.isAStructureTy)(sub)) {
179
+ else if ((0, type_predicate_1.isAStructureTy)(sub)) {
134
180
  this.unify(sub.typeArguments[0], sup);
135
181
  }
136
- else if ((0, type_predicate_2.isAStructureTy)(sup)) {
182
+ else if ((0, type_predicate_1.isAStructureTy)(sup)) {
137
183
  this.unify(sub, sup.typeArguments[0]);
138
184
  }
139
- else if ((0, type_predicate_2.isIndexedType)(sub)) {
185
+ else if ((0, type_predicate_1.isIndexedType)(sub)) {
140
186
  return this.unifyLIndexedType(sub, sup);
141
187
  }
142
- else if ((0, type_predicate_2.isIndexedType)(sup)) {
188
+ else if ((0, type_predicate_1.isIndexedType)(sup)) {
143
189
  return this.unifyRIndexedType(sub, sup);
144
190
  }
145
191
  else if ((0, index_1.isSubTy)(this.env, sub, sup)) {
@@ -164,13 +210,13 @@ class Unifier {
164
210
  }
165
211
  };
166
212
  this.uLGeneric = (sub, sup) => {
167
- if ((0, type_predicate_2.isListTy)(sub)) {
213
+ if ((0, type_predicate_1.isListTy)(sub)) {
168
214
  const newSup = nasl_concepts_1.TypeAnnotation.createGeneric('DeList', { typeArguments: [sup] });
169
215
  const newSub = sub.typeArguments[0];
170
216
  this.unify(newSub, newSup);
171
217
  return;
172
218
  }
173
- else if ((0, type_predicate_2.isMapTy)(sub)) {
219
+ else if ((0, type_predicate_1.isMapTy)(sub)) {
174
220
  const valueSup = nasl_concepts_1.TypeAnnotation.createGeneric('DeMapValue', { typeArguments: [sup] });
175
221
  const valueSub = sub.typeArguments?.[1];
176
222
  this.unify(valueSub, valueSup);
@@ -182,13 +228,13 @@ class Unifier {
182
228
  mkUnificationPostErr(this.env, sub, sup, this.isUnifyContravariant);
183
229
  };
184
230
  this.uRGeneric = (sub, sup) => {
185
- if ((0, type_predicate_2.isListTy)(sup)) {
231
+ if ((0, type_predicate_1.isListTy)(sup)) {
186
232
  const newSub = nasl_concepts_1.TypeAnnotation.createGeneric('DeList', { typeArguments: [sub] });
187
233
  const newSup = sup.typeArguments[0];
188
234
  this.unify(newSub, newSup);
189
235
  return;
190
236
  }
191
- else if ((0, type_predicate_2.isMapTy)(sup)) {
237
+ else if ((0, type_predicate_1.isMapTy)(sup)) {
192
238
  const valueSub = nasl_concepts_1.TypeAnnotation.createGeneric('DeMapValue', { typeArguments: [sub] });
193
239
  const valueSup = sup.typeArguments?.[1];
194
240
  this.unify(valueSub, valueSup);
@@ -204,10 +250,10 @@ class Unifier {
204
250
  (0, assertion_1.assertTrusy)(sub.objectType);
205
251
  (0, assertion_1.assertTrusy)(sub.indexType);
206
252
  if (sub.indexType.typeKind === 'literal') {
207
- if ((0, type_predicate_2.isListTy)(sup)) {
253
+ if ((0, type_predicate_1.isListTy)(sup)) {
208
254
  this.uRGeneric(sub, sup);
209
255
  }
210
- else if ((0, type_predicate_2.isMapTy)(sup)) {
256
+ else if ((0, type_predicate_1.isMapTy)(sup)) {
211
257
  this.uRGeneric(sub, sup);
212
258
  }
213
259
  }
@@ -232,14 +278,15 @@ class Unifier {
232
278
  // X <: Long
233
279
  this.uLTypeParam = (ty1, ty2) => {
234
280
  (0, assertion_1.assertTrusy)(ty1.typeName);
235
- if ((0, type_predicate_2.isAnyTy)(ty2)) {
281
+ const cs = this.getCurrentCs();
282
+ if ((0, type_predicate_1.isAnyTy)(ty2)) {
236
283
  // 初始化 ty1 的 bounds
237
284
  if (this.containsEmptyBounds(ty1)) {
238
- this.cs.set(ty1.typeName, new index_1.Bounds());
285
+ cs.set(ty1.typeName, new index_1.Bounds());
239
286
  }
240
287
  return;
241
288
  }
242
- this.pushToUb(this.cs, ty1.typeName, ty2);
289
+ this.pushToUb(cs, ty1.typeName, ty2);
243
290
  if (ty1.constraints) {
244
291
  const ub1 = ty1.constraints;
245
292
  ty1.constraints = undefined; // 防止无限循环
@@ -248,9 +295,9 @@ class Unifier {
248
295
  // HACK wudengke 这里额外处理了generic 和dataSource,动机都是通过type desctrutor添加反向约束。这里应当统一一下处理方式。
249
296
  if ((0, index_1.isTyAnnTyParam)(ty2)) {
250
297
  (0, assertion_1.assertTrusy)(ty2.typeName);
251
- this.pushToLb(this.cs, ty2.typeName, ty1);
298
+ this.pushToLb(cs, ty2.typeName, ty1);
252
299
  }
253
- else if ((0, type_predicate_2.isListTy)(ty2) || (0, type_predicate_2.isMapTy)(ty2)) {
300
+ else if ((0, type_predicate_1.isListTy)(ty2) || (0, type_predicate_1.isMapTy)(ty2)) {
254
301
  this.uRGeneric(ty1, ty2);
255
302
  }
256
303
  else if (this.env.typeHintManager.isDataSourceTy(ty2)) {
@@ -260,15 +307,16 @@ class Unifier {
260
307
  };
261
308
  // Long <: X
262
309
  this.uRTypeParam = (ty1, ty2) => {
263
- if ((0, type_predicate_2.isAnyTy)(ty1)) {
310
+ const cs = this.getCurrentCs();
311
+ if ((0, type_predicate_1.isAnyTy)(ty1)) {
264
312
  // 初始化 ty2 的 bounds
265
313
  if (this.containsEmptyBounds(ty2) && ty2.typeName) {
266
- this.cs.set(ty2.typeName, new index_1.Bounds());
314
+ cs.set(ty2.typeName, new index_1.Bounds());
267
315
  }
268
316
  return;
269
317
  }
270
318
  (0, assertion_1.assertTrusy)(ty2.typeName);
271
- this.pushToLb(this.cs, ty2.typeName, ty1);
319
+ this.pushToLb(cs, ty2.typeName, ty1);
272
320
  if (ty2.constraints) {
273
321
  const ub2 = ty2.constraints;
274
322
  ty2.constraints = undefined;
@@ -276,9 +324,9 @@ class Unifier {
276
324
  }
277
325
  if ((0, index_1.isTyAnnTyParam)(ty1)) {
278
326
  (0, assertion_1.assertTrusy)(ty1.typeName);
279
- this.pushToUb(this.cs, ty1.typeName, ty2);
327
+ this.pushToUb(cs, ty1.typeName, ty2);
280
328
  }
281
- else if ((0, type_predicate_2.isListTy)(ty1) || (0, type_predicate_2.isMapTy)(ty1)) {
329
+ else if ((0, type_predicate_1.isListTy)(ty1) || (0, type_predicate_1.isMapTy)(ty1)) {
282
330
  this.uLGeneric(ty1, ty2);
283
331
  }
284
332
  return;
@@ -292,12 +340,14 @@ class Unifier {
292
340
  };
293
341
  // the left ty is not union whereas the right ty is union
294
342
  this.uRUnion = (ty1, ty2) => {
343
+ // 先检查 ty1 是否已经是 ty2 的子类型(匹配 union 的某个非泛型分支)
344
+ if ((0, index_1.isSubTy)(this.env, ty1, ty2)) {
345
+ return;
346
+ }
347
+ // 只有不匹配时,才尝试用含类型参数的分支做推断
295
348
  if (this.tyContainingTyParam) {
296
349
  this.unify(ty1, this.tyContainingTyParam);
297
350
  }
298
- else if ((0, index_1.isSubTy)(this.env, ty1, ty2)) {
299
- return;
300
- }
301
351
  else {
302
352
  mkUnificationPostErr(this.env, ty1, ty2, this.isUnifyContravariant);
303
353
  }
@@ -306,6 +356,26 @@ class Unifier {
306
356
  this.uUnionDist = (ty1, ty2) => {
307
357
  (0, assertion_1.assertTrusy)(ty1.typeArguments);
308
358
  // assertTrusy(ty2.typeArguments);
359
+ if (this.env.isAIStrictMode) {
360
+ // 严格模式下:
361
+ // 1)Union 不能整体赋给完全具体的单值类型(非 union、不含类型变元)
362
+ // 2)Any 接受所有类型,逐成员分派对 Any 无意义
363
+ // 3)Union <: Union 时,成员数不能变少(如 A|B|C 赋给 A|B)
364
+ if ((!(0, index_1.isUnionTy)(ty2) && (0, type_predicate_1.isResolvedTy)(ty2)) && !(0, type_predicate_1.isAnyTy)(ty2)) {
365
+ mkUnificationPostErr(this.env, ty1, ty2, this.isUnifyContravariant);
366
+ return;
367
+ }
368
+ if ((0, type_predicate_1.isAnyTy)(ty2)) {
369
+ return;
370
+ }
371
+ if ((0, index_1.isUnionTy)(ty2)) {
372
+ (0, assertion_1.assertTrusy)(ty2.typeArguments);
373
+ if (ty2.typeArguments?.length < ty1.typeArguments?.length) {
374
+ mkUnificationPostErr(this.env, ty1, ty2, this.isUnifyContravariant);
375
+ return;
376
+ }
377
+ }
378
+ }
309
379
  for (const t1 of ty1.typeArguments) {
310
380
  this.unify(t1, ty2);
311
381
  }
@@ -347,13 +417,13 @@ class Unifier {
347
417
  // 断言:以下两者必有其一。这个未证明,但是姑且可以这么假定
348
418
  // 1. ty2 形如 List<T> | { list: List<T>, total: Integer }
349
419
  // 2. ty2 形如 List<T>
350
- const listTyInTy2 = (0, type_predicate_2.isListTy)(ty2) ? ty2 : ty2.typeArguments?.find(type_predicate_2.isListTy);
420
+ const listTyInTy2 = (0, type_predicate_1.isListTy)(ty2) ? ty2 : ty2.typeArguments?.find(type_predicate_1.isListTy);
351
421
  (0, assertion_1.assertTrusy)(listTyInTy2);
352
422
  if (ty1.typeKind === 'anonymousStructure') {
353
423
  const listProp = ty1.properties?.find(p => p.name === 'list');
354
424
  this.unify(listProp?.typeAnnotation, listTyInTy2);
355
425
  }
356
- else if ((0, type_predicate_2.isListTy)(ty1)) {
426
+ else if ((0, type_predicate_1.isListTy)(ty1)) {
357
427
  this.unify(ty1, listTyInTy2);
358
428
  }
359
429
  else if (ty1.typeKind === 'reference') {
@@ -368,7 +438,7 @@ class Unifier {
368
438
  else if ((0, index_1.isFuncTy)(ty1)) {
369
439
  this.unify(ty1?.returnType?.[0], ty2);
370
440
  }
371
- else if ((0, type_predicate_2.isIndexedType)(ty1)) {
441
+ else if ((0, type_predicate_1.isIndexedType)(ty1)) {
372
442
  this.unifyLIndexedType(ty1, ty2);
373
443
  const T = listTyInTy2?.typeArguments?.[0];
374
444
  if (T) {
@@ -470,9 +540,11 @@ class Unifier {
470
540
  this.addToSubst = (subst) => (from, to) => subst.set(from, to);
471
541
  this.clearCs = () => {
472
542
  this.cs.clear();
543
+ this.env.playgroundCs.clear();
473
544
  };
474
545
  this.clearAll = () => {
475
546
  this.cs.clear();
547
+ this.env.playgroundCs.clear();
476
548
  // this.varCounter = 0; 不清空了
477
549
  this.curVarCounter = 0;
478
550
  };
@@ -536,7 +608,7 @@ class Unifier {
536
608
  }
537
609
  containsEmptyBounds(x) {
538
610
  (0, assertion_1.assertTrusy)(x.typeName);
539
- const bounds = this.cs.get(x.typeName);
611
+ const bounds = this.getCurrentCs().get(x.typeName);
540
612
  return !bounds || index_1.Bounds.isEmpty(bounds);
541
613
  }
542
614
  genStats() {
@@ -572,29 +644,30 @@ const mkUnificationPostErr = (env, sub, sup, isContravariant = false) => {
572
644
  if (!env.errBoundary || env.errBoundary?.concept === 'View') {
573
645
  return;
574
646
  }
647
+ const capturedContext = env.errBoundaryContext ? { ...env.errBoundaryContext } : undefined;
575
648
  // debug 模式下保存错误堆栈,用于调试
576
649
  let errorStack = null;
577
650
  if (env.isDebugMode) {
578
651
  errorStack = new Error();
579
652
  }
580
653
  const postChk = (fileNode, errBoundary, severity, sub, sup) => (env, pSubst) => {
581
- if (isIgnored(sub, sup)) {
654
+ if (isIgnored(sub, sup) || env.hasErrorDelegatee) {
582
655
  return;
583
656
  }
584
657
  const resolvedSubTy = (0, subster_1.normalizeWithSubst)(env, pSubst, sub);
585
658
  const resolvedSupTy = (0, subster_1.normalizeWithSubst)(env, pSubst, sup);
586
659
  if (!(0, type_predicate_1.isResolvedTy)(resolvedSubTy) || !(0, type_predicate_1.isResolvedTy)(resolvedSupTy) || !(0, index_1.isSubTy)(env, resolvedSubTy, resolvedSupTy)) {
587
660
  const errorMessage = (0, sem_diag_1.mkIncompatibleTyErr)(env, resolvedSubTy, resolvedSupTy);
588
- // 暂时先不忽略,避免 OQL 问题修复比较,等后续修复了再统一忽略
589
- // hack: 忽略赋值右侧的类型不匹配错误,会跟赋值报错重复
590
- // if (errorMessage?.startsWith('类型不匹配:期望类型为') && errBoundary?.parentKey === 'right')
591
- // return;
661
+ // hack: 忽略赋值右侧的类型不匹配错误,但只有当赋值左侧也有类型不匹配时才忽略,避免忽略范围太广
662
+ if (errorMessage?.startsWith('类型不匹配:期望类型为') && errBoundary?.parentKey === 'right' && errBoundary?.parentNode?.concept === 'Assignment') {
663
+ return;
664
+ }
592
665
  if (env.isDebugMode) {
593
666
  // logTypeUnificationDebugInfo(sub, sup, resolvedSubTy, resolvedSupTy, errorMessage, errBoundary, fileNode);
594
- env.addError(errorMessage, fileNode, errBoundary, severity);
667
+ env.addError(errorMessage, fileNode, errBoundary, severity, capturedContext);
595
668
  }
596
669
  else {
597
- env.addError(errorMessage, fileNode, errBoundary, severity);
670
+ env.addError(errorMessage, fileNode, errBoundary, severity, capturedContext);
598
671
  }
599
672
  }
600
673
  };
@@ -1 +1 @@
1
- {"version":3,"file":"unifier.js","sourceRoot":"","sources":["../../src/typer/unifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unifier.js","sourceRoot":"","sources":["../../src/typer/unifier.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/utils/debug.ts"],"names":[],"mappings":"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"}