@aster-cloud/aster-lang-ts 1.6.0 → 2.0.0

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 (345) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/scripts/aster.js +5 -12
  3. package/dist/scripts/aster.js.map +1 -1
  4. package/dist/scripts/emit-classfiles.js +3 -1
  5. package/dist/scripts/emit-classfiles.js.map +1 -1
  6. package/dist/scripts/generate-core-ir-types.d.ts +16 -0
  7. package/dist/scripts/generate-core-ir-types.d.ts.map +1 -0
  8. package/dist/scripts/generate-core-ir-types.js +116 -0
  9. package/dist/scripts/generate-core-ir-types.js.map +1 -0
  10. package/dist/scripts/golden.js +1 -1
  11. package/dist/scripts/golden.js.map +1 -1
  12. package/dist/src/ast/ast_visitor.d.ts +27 -27
  13. package/dist/src/ast/ast_visitor.d.ts.map +1 -1
  14. package/dist/src/ast/ast_visitor.js.map +1 -1
  15. package/dist/src/browser.d.ts +7 -0
  16. package/dist/src/browser.d.ts.map +1 -1
  17. package/dist/src/browser.js +6 -1
  18. package/dist/src/browser.js.map +1 -1
  19. package/dist/src/cli/policy-converter.js +6 -10
  20. package/dist/src/cli/policy-converter.js.map +1 -1
  21. package/dist/src/cli/utils/core-ir-file.d.ts +8 -0
  22. package/dist/src/cli/utils/core-ir-file.d.ts.map +1 -0
  23. package/dist/src/cli/utils/core-ir-file.js +29 -0
  24. package/dist/src/cli/utils/core-ir-file.js.map +1 -0
  25. package/dist/src/cnl-printer.d.ts.map +1 -1
  26. package/dist/src/cnl-printer.js +13 -3
  27. package/dist/src/cnl-printer.js.map +1 -1
  28. package/dist/src/compile-pipeline.js +1 -1
  29. package/dist/src/compile-pipeline.js.map +1 -1
  30. package/dist/src/config/lexicons/diagnostic-overlays.generated.d.ts.map +1 -1
  31. package/dist/src/config/lexicons/diagnostic-overlays.generated.js +18 -6
  32. package/dist/src/config/lexicons/diagnostic-overlays.generated.js.map +1 -1
  33. package/dist/src/core/canonical-decimal.d.ts +3 -0
  34. package/dist/src/core/canonical-decimal.d.ts.map +1 -0
  35. package/dist/src/core/canonical-decimal.js +19 -0
  36. package/dist/src/core/canonical-decimal.js.map +1 -0
  37. package/dist/src/core/canonical-json.d.ts +59 -0
  38. package/dist/src/core/canonical-json.d.ts.map +1 -0
  39. package/dist/src/core/canonical-json.js +250 -0
  40. package/dist/src/core/canonical-json.js.map +1 -0
  41. package/dist/src/core/core-ir-v2.generated.d.ts +807 -0
  42. package/dist/src/core/core-ir-v2.generated.d.ts.map +1 -0
  43. package/dist/src/core/core-ir-v2.generated.js +6 -0
  44. package/dist/src/core/core-ir-v2.generated.js.map +1 -0
  45. package/dist/src/core/core-ir-v2.schema.generated.d.ts +6 -0
  46. package/dist/src/core/core-ir-v2.schema.generated.d.ts.map +1 -0
  47. package/dist/src/core/core-ir-v2.schema.generated.js +2636 -0
  48. package/dist/src/core/core-ir-v2.schema.generated.js.map +1 -0
  49. package/dist/src/core/core_ir.d.ts +27 -11
  50. package/dist/src/core/core_ir.d.ts.map +1 -1
  51. package/dist/src/core/core_ir.js +118 -63
  52. package/dist/src/core/core_ir.js.map +1 -1
  53. package/dist/src/core/index.d.ts +4 -3
  54. package/dist/src/core/index.d.ts.map +1 -1
  55. package/dist/src/core/index.js +3 -2
  56. package/dist/src/core/index.js.map +1 -1
  57. package/dist/src/core/inferred_fields.d.ts +9 -11
  58. package/dist/src/core/inferred_fields.d.ts.map +1 -1
  59. package/dist/src/core/inferred_fields.js +7 -28
  60. package/dist/src/core/inferred_fields.js.map +1 -1
  61. package/dist/src/core/interpreter.js +16 -35
  62. package/dist/src/core/interpreter.js.map +1 -1
  63. package/dist/src/core/pretty_core.d.ts.map +1 -1
  64. package/dist/src/core/pretty_core.js +6 -10
  65. package/dist/src/core/pretty_core.js.map +1 -1
  66. package/dist/src/core/read-core-ir.d.ts +15 -0
  67. package/dist/src/core/read-core-ir.d.ts.map +1 -0
  68. package/dist/src/core/read-core-ir.js +69 -0
  69. package/dist/src/core/read-core-ir.js.map +1 -0
  70. package/dist/src/core/resolution-mark.d.ts +3 -4
  71. package/dist/src/core/resolution-mark.d.ts.map +1 -1
  72. package/dist/src/core/resolution-mark.js +2 -3
  73. package/dist/src/core/resolution-mark.js.map +1 -1
  74. package/dist/src/core/resolve-typed-references.d.ts.map +1 -1
  75. package/dist/src/core/resolve-typed-references.js +11 -27
  76. package/dist/src/core/resolve-typed-references.js.map +1 -1
  77. package/dist/src/core/serialize-core-ir.d.ts +13 -0
  78. package/dist/src/core/serialize-core-ir.d.ts.map +1 -0
  79. package/dist/src/core/serialize-core-ir.js +125 -0
  80. package/dist/src/core/serialize-core-ir.js.map +1 -0
  81. package/dist/src/core/visitor.d.ts.map +1 -1
  82. package/dist/src/core/visitor.js +4 -1
  83. package/dist/src/core/visitor.js.map +1 -1
  84. package/dist/src/diagnostics/error_codes.d.ts +2 -0
  85. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  86. package/dist/src/diagnostics/error_codes.js +16 -0
  87. package/dist/src/diagnostics/error_codes.js.map +1 -1
  88. package/dist/src/effects/declared-effects.d.ts +17 -0
  89. package/dist/src/effects/declared-effects.d.ts.map +1 -0
  90. package/dist/src/effects/declared-effects.js +27 -0
  91. package/dist/src/effects/declared-effects.js.map +1 -0
  92. package/dist/src/effects/effect_inference.d.ts.map +1 -1
  93. package/dist/src/effects/effect_inference.js +14 -10
  94. package/dist/src/effects/effect_inference.js.map +1 -1
  95. package/dist/src/effects/effect_inference_browser.d.ts.map +1 -1
  96. package/dist/src/effects/effect_inference_browser.js +14 -9
  97. package/dist/src/effects/effect_inference_browser.js.map +1 -1
  98. package/dist/src/frontend/keyword-translator.d.ts.map +1 -1
  99. package/dist/src/frontend/keyword-translator.js +3 -0
  100. package/dist/src/frontend/keyword-translator.js.map +1 -1
  101. package/dist/src/frontend/lexer.d.ts.map +1 -1
  102. package/dist/src/frontend/lexer.js +7 -3
  103. package/dist/src/frontend/lexer.js.map +1 -1
  104. package/dist/src/frontend/resolve-declarations.d.ts.map +1 -1
  105. package/dist/src/frontend/resolve-declarations.js +3 -23
  106. package/dist/src/frontend/resolve-declarations.js.map +1 -1
  107. package/dist/src/governance/input-refs.js +5 -8
  108. package/dist/src/governance/input-refs.js.map +1 -1
  109. package/dist/src/index.d.ts +5 -0
  110. package/dist/src/index.d.ts.map +1 -1
  111. package/dist/src/index.js +4 -0
  112. package/dist/src/index.js.map +1 -1
  113. package/dist/src/jvm/emitter.d.ts.map +1 -1
  114. package/dist/src/jvm/emitter.js +20 -29
  115. package/dist/src/jvm/emitter.js.map +1 -1
  116. package/dist/src/lower_to_core.d.ts +2 -1
  117. package/dist/src/lower_to_core.d.ts.map +1 -1
  118. package/dist/src/lower_to_core.js +150 -300
  119. package/dist/src/lower_to_core.js.map +1 -1
  120. package/dist/src/lsp/pii_diagnostics.d.ts.map +1 -1
  121. package/dist/src/lsp/pii_diagnostics.js +3 -8
  122. package/dist/src/lsp/pii_diagnostics.js.map +1 -1
  123. package/dist/src/mapping/mapping-ir.d.ts +3 -3
  124. package/dist/src/mapping/mapping-ir.js +3 -3
  125. package/dist/src/nodeid/node-id-map.d.ts +6 -15
  126. package/dist/src/nodeid/node-id-map.d.ts.map +1 -1
  127. package/dist/src/nodeid/node-id-map.js +6 -15
  128. package/dist/src/nodeid/node-id-map.js.map +1 -1
  129. package/dist/src/parser/constraint-parser.js +25 -6
  130. package/dist/src/parser/constraint-parser.js.map +1 -1
  131. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  132. package/dist/src/parser/decl-parser.js +30 -59
  133. package/dist/src/parser/decl-parser.js.map +1 -1
  134. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  135. package/dist/src/parser/expr-stmt-parser.js +3 -2
  136. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  137. package/dist/src/parser/field-variant-parser.d.ts.map +1 -1
  138. package/dist/src/parser/field-variant-parser.js +6 -0
  139. package/dist/src/parser/field-variant-parser.js.map +1 -1
  140. package/dist/src/parser/parse-issue.d.ts +2 -0
  141. package/dist/src/parser/parse-issue.d.ts.map +1 -1
  142. package/dist/src/parser/parse-issue.js +2 -0
  143. package/dist/src/parser/parse-issue.js.map +1 -1
  144. package/dist/src/parser/type-parser.d.ts +1 -1
  145. package/dist/src/parser/type-parser.d.ts.map +1 -1
  146. package/dist/src/parser/type-parser.js +19 -2
  147. package/dist/src/parser/type-parser.js.map +1 -1
  148. package/dist/src/stability/stability_gate.d.ts +1 -1
  149. package/dist/src/stability/stability_gate.d.ts.map +1 -1
  150. package/dist/src/stability/stability_gate.js +2 -26
  151. package/dist/src/stability/stability_gate.js.map +1 -1
  152. package/dist/src/typecheck/async.d.ts.map +1 -1
  153. package/dist/src/typecheck/async.js +4 -1
  154. package/dist/src/typecheck/async.js.map +1 -1
  155. package/dist/src/typecheck/browser.d.ts.map +1 -1
  156. package/dist/src/typecheck/browser.js +4 -3
  157. package/dist/src/typecheck/browser.js.map +1 -1
  158. package/dist/src/typecheck/capabilities.d.ts.map +1 -1
  159. package/dist/src/typecheck/capabilities.js +3 -2
  160. package/dist/src/typecheck/capabilities.js.map +1 -1
  161. package/dist/src/typecheck/context.d.ts +5 -5
  162. package/dist/src/typecheck/context.d.ts.map +1 -1
  163. package/dist/src/typecheck/context.js.map +1 -1
  164. package/dist/src/typecheck/diagnostics.d.ts +2 -2
  165. package/dist/src/typecheck/diagnostics.d.ts.map +1 -1
  166. package/dist/src/typecheck/diagnostics.js.map +1 -1
  167. package/dist/src/typecheck/effects.js +7 -7
  168. package/dist/src/typecheck/effects.js.map +1 -1
  169. package/dist/src/typecheck/expression.d.ts +4 -4
  170. package/dist/src/typecheck/expression.d.ts.map +1 -1
  171. package/dist/src/typecheck/expression.js +1 -1
  172. package/dist/src/typecheck/expression.js.map +1 -1
  173. package/dist/src/typecheck/generics.d.ts +2 -2
  174. package/dist/src/typecheck/generics.d.ts.map +1 -1
  175. package/dist/src/typecheck/generics.js +23 -12
  176. package/dist/src/typecheck/generics.js.map +1 -1
  177. package/dist/src/typecheck/governance.d.ts +1 -1
  178. package/dist/src/typecheck/governance.d.ts.map +1 -1
  179. package/dist/src/typecheck/governance.js +1 -1
  180. package/dist/src/typecheck/governance.js.map +1 -1
  181. package/dist/src/typecheck/module.d.ts.map +1 -1
  182. package/dist/src/typecheck/module.js +7 -6
  183. package/dist/src/typecheck/module.js.map +1 -1
  184. package/dist/src/typecheck/pattern.d.ts +2 -2
  185. package/dist/src/typecheck/pattern.d.ts.map +1 -1
  186. package/dist/src/typecheck/pattern.js +12 -46
  187. package/dist/src/typecheck/pattern.js.map +1 -1
  188. package/dist/src/typecheck/pure.d.ts +19 -19
  189. package/dist/src/typecheck/pure.d.ts.map +1 -1
  190. package/dist/src/typecheck/pure.js.map +1 -1
  191. package/dist/src/typecheck/statement.d.ts +6 -6
  192. package/dist/src/typecheck/statement.d.ts.map +1 -1
  193. package/dist/src/typecheck/statement.js +17 -20
  194. package/dist/src/typecheck/statement.js.map +1 -1
  195. package/dist/src/typecheck/symbol_table.d.ts +2 -2
  196. package/dist/src/typecheck/symbol_table.d.ts.map +1 -1
  197. package/dist/src/typecheck/symbol_table.js.map +1 -1
  198. package/dist/src/typecheck/type_system.d.ts +4 -4
  199. package/dist/src/typecheck/type_system.d.ts.map +1 -1
  200. package/dist/src/typecheck/type_system.js +1 -1
  201. package/dist/src/typecheck/type_system.js.map +1 -1
  202. package/dist/src/typecheck/workflow.d.ts +3 -3
  203. package/dist/src/typecheck/workflow.d.ts.map +1 -1
  204. package/dist/src/typecheck/workflow.js.map +1 -1
  205. package/dist/src/typecheck-pii.d.ts.map +1 -1
  206. package/dist/src/typecheck-pii.js +2 -13
  207. package/dist/src/typecheck-pii.js.map +1 -1
  208. package/dist/src/types.d.ts +160 -172
  209. package/dist/src/types.d.ts.map +1 -1
  210. package/dist/src/types.js.map +1 -1
  211. package/dist/src/version.d.ts +3 -3
  212. package/dist/src/version.js +3 -3
  213. package/dist/test/helpers/core-ir-v2.d.ts +5 -0
  214. package/dist/test/helpers/core-ir-v2.d.ts.map +1 -0
  215. package/dist/test/helpers/core-ir-v2.js +123 -0
  216. package/dist/test/helpers/core-ir-v2.js.map +1 -0
  217. package/dist/test/helpers/locales-core-ir.d.ts +7 -0
  218. package/dist/test/helpers/locales-core-ir.d.ts.map +1 -0
  219. package/dist/test/helpers/locales-core-ir.js +15 -0
  220. package/dist/test/helpers/locales-core-ir.js.map +1 -0
  221. package/dist/test/helpers/test-factories.d.ts +5 -5
  222. package/dist/test/helpers/test-factories.d.ts.map +1 -1
  223. package/dist/test/helpers/test-factories.js +9 -8
  224. package/dist/test/helpers/test-factories.js.map +1 -1
  225. package/dist/test/integration/pipeline/pipeline.test.js +1 -1
  226. package/dist/test/integration/pipeline/pipeline.test.js.map +1 -1
  227. package/dist/test/integration/vocabulary-resolution.test.js +1 -1
  228. package/dist/test/integration/vocabulary-resolution.test.js.map +1 -1
  229. package/dist/test/regression/type-checker-golden.test.js +1 -1
  230. package/dist/test/regression/type-checker-golden.test.js.map +1 -1
  231. package/dist/test/type-checker/pii-propagation.test.js +7 -6
  232. package/dist/test/type-checker/pii-propagation.test.js.map +1 -1
  233. package/dist/test/types/core-ir-v2.test-d.d.ts +28 -0
  234. package/dist/test/types/core-ir-v2.test-d.d.ts.map +1 -0
  235. package/dist/test/types/core-ir-v2.test-d.js +5 -0
  236. package/dist/test/types/core-ir-v2.test-d.js.map +1 -0
  237. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js +4 -3
  238. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js.map +1 -1
  239. package/dist/test/unit/canonicalizer/article-declaration-names.test.js +1 -1
  240. package/dist/test/unit/canonicalizer/article-declaration-names.test.js.map +1 -1
  241. package/dist/test/unit/canonicalizer/chinese-function-syntax.test.js +2 -1
  242. package/dist/test/unit/canonicalizer/chinese-function-syntax.test.js.map +1 -1
  243. package/dist/test/unit/core/canonical-json.test.d.ts +2 -0
  244. package/dist/test/unit/core/canonical-json.test.d.ts.map +1 -0
  245. package/dist/test/unit/core/canonical-json.test.js +38 -0
  246. package/dist/test/unit/core/canonical-json.test.js.map +1 -0
  247. package/dist/test/unit/core/caseless-pattern-name.test.js +6 -8
  248. package/dist/test/unit/core/caseless-pattern-name.test.js.map +1 -1
  249. package/dist/test/unit/core/core-ir-conformance.test.d.ts +2 -0
  250. package/dist/test/unit/core/core-ir-conformance.test.d.ts.map +1 -0
  251. package/dist/test/unit/core/core-ir-conformance.test.js +39 -0
  252. package/dist/test/unit/core/core-ir-conformance.test.js.map +1 -0
  253. package/dist/test/unit/core/core-ir-schema-parity.test.d.ts +2 -0
  254. package/dist/test/unit/core/core-ir-schema-parity.test.d.ts.map +1 -0
  255. package/dist/test/unit/core/core-ir-schema-parity.test.js +25 -0
  256. package/dist/test/unit/core/core-ir-schema-parity.test.js.map +1 -0
  257. package/dist/test/unit/core/core-ir-v2-outputs.test.d.ts +2 -0
  258. package/dist/test/unit/core/core-ir-v2-outputs.test.d.ts.map +1 -0
  259. package/dist/test/unit/core/core-ir-v2-outputs.test.js +128 -0
  260. package/dist/test/unit/core/core-ir-v2-outputs.test.js.map +1 -0
  261. package/dist/test/unit/core/read-core-ir.test.d.ts +2 -0
  262. package/dist/test/unit/core/read-core-ir.test.d.ts.map +1 -0
  263. package/dist/test/unit/core/read-core-ir.test.js +129 -0
  264. package/dist/test/unit/core/read-core-ir.test.js.map +1 -0
  265. package/dist/test/unit/core/resolve-typed-references.test.js +19 -16
  266. package/dist/test/unit/core/resolve-typed-references.test.js.map +1 -1
  267. package/dist/test/unit/diagnostics/lowering-diagnostics-parity.test.js +5 -5
  268. package/dist/test/unit/diagnostics/lowering-diagnostics-parity.test.js.map +1 -1
  269. package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.js +3 -2
  270. package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.js.map +1 -1
  271. package/dist/test/unit/effect/effect-inference.test.js +17 -13
  272. package/dist/test/unit/effect/effect-inference.test.js.map +1 -1
  273. package/dist/test/unit/emitter/emitter.test.js +47 -46
  274. package/dist/test/unit/emitter/emitter.test.js.map +1 -1
  275. package/dist/test/unit/formatter-corpus-roundtrip.test.js +5 -1
  276. package/dist/test/unit/formatter-corpus-roundtrip.test.js.map +1 -1
  277. package/dist/test/unit/formatter-roundtrip.test.js +5 -4
  278. package/dist/test/unit/formatter-roundtrip.test.js.map +1 -1
  279. package/dist/test/unit/frontend/resolve-declarations.test.js +13 -14
  280. package/dist/test/unit/frontend/resolve-declarations.test.js.map +1 -1
  281. package/dist/test/unit/governance/governance-check.test.js +1 -1
  282. package/dist/test/unit/governance/governance-check.test.js.map +1 -1
  283. package/dist/test/unit/governance/input-refs-parity.test.js +1 -1
  284. package/dist/test/unit/governance/input-refs-parity.test.js.map +1 -1
  285. package/dist/test/unit/governance/input-refs.test.js +2 -2
  286. package/dist/test/unit/governance/input-refs.test.js.map +1 -1
  287. package/dist/test/unit/governance/no-profile-ir-unchanged.test.js +6 -6
  288. package/dist/test/unit/governance/no-profile-ir-unchanged.test.js.map +1 -1
  289. package/dist/test/unit/interpreter/interpreter.test.js +23 -21
  290. package/dist/test/unit/interpreter/interpreter.test.js.map +1 -1
  291. package/dist/test/unit/interpreter/scope-writeback.test.js +28 -27
  292. package/dist/test/unit/interpreter/scope-writeback.test.js.map +1 -1
  293. package/dist/test/unit/keyword-aliases.test.js +1 -1
  294. package/dist/test/unit/lowering/core-ir-v2.test.d.ts +2 -0
  295. package/dist/test/unit/lowering/core-ir-v2.test.d.ts.map +1 -0
  296. package/dist/test/unit/lowering/core-ir-v2.test.js +253 -0
  297. package/dist/test/unit/lowering/core-ir-v2.test.js.map +1 -0
  298. package/dist/test/unit/lowering/lowering.test.js +19 -14
  299. package/dist/test/unit/lowering/lowering.test.js.map +1 -1
  300. package/dist/test/unit/lsp/pii-diagnostics.test.js +33 -30
  301. package/dist/test/unit/lsp/pii-diagnostics.test.js.map +1 -1
  302. package/dist/test/unit/lsp/utils.test.js +5 -4
  303. package/dist/test/unit/lsp/utils.test.js.map +1 -1
  304. package/dist/test/unit/parser/effect-unknown-name.test.js +7 -7
  305. package/dist/test/unit/parser/effect-unknown-name.test.js.map +1 -1
  306. package/dist/test/unit/parser/entry-annotations.test.js +2 -1
  307. package/dist/test/unit/parser/entry-annotations.test.js.map +1 -1
  308. package/dist/test/unit/parser/func-type.test.js +3 -3
  309. package/dist/test/unit/parser/func-type.test.js.map +1 -1
  310. package/dist/test/unit/parser/governance-sugar.test.js +4 -4
  311. package/dist/test/unit/parser/governance-sugar.test.js.map +1 -1
  312. package/dist/test/unit/parser/parser.test.js +5 -4
  313. package/dist/test/unit/parser/parser.test.js.map +1 -1
  314. package/dist/test/unit/rule-call-checks.test.js +2 -1
  315. package/dist/test/unit/rule-call-checks.test.js.map +1 -1
  316. package/dist/test/unit/typecheck/async-discipline-extended.test.js +11 -10
  317. package/dist/test/unit/typecheck/async-discipline-extended.test.js.map +1 -1
  318. package/dist/test/unit/typecheck/effect-prefix-injection.test.js +3 -2
  319. package/dist/test/unit/typecheck/effect-prefix-injection.test.js.map +1 -1
  320. package/dist/test/unit/typecheck/function-return-inference.test.js +33 -32
  321. package/dist/test/unit/typecheck/function-return-inference.test.js.map +1 -1
  322. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js +5 -4
  323. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js.map +1 -1
  324. package/dist/test/unit/typecheck/regression-fixes.test.js +110 -112
  325. package/dist/test/unit/typecheck/regression-fixes.test.js.map +1 -1
  326. package/dist/test/unit/typecheck/symbol-table.test.js +3 -2
  327. package/dist/test/unit/typecheck/symbol-table.test.js.map +1 -1
  328. package/dist/test/unit/typecheck/type-system-extended.test.js +6 -5
  329. package/dist/test/unit/typecheck/type-system-extended.test.js.map +1 -1
  330. package/dist/test/unit/typecheck/type-system.test.js +20 -19
  331. package/dist/test/unit/typecheck/type-system.test.js.map +1 -1
  332. package/dist/test/unit/typecheck/typecheck-advanced.test.js +19 -18
  333. package/dist/test/unit/typecheck/typecheck-advanced.test.js.map +1 -1
  334. package/dist/test/unit/typecheck/untyped-field-dynamic.test.js +6 -4
  335. package/dist/test/unit/typecheck/untyped-field-dynamic.test.js.map +1 -1
  336. package/dist/test/unit/version.test.js +3 -3
  337. package/package.json +4 -3
  338. package/dist/src/core/core_ir_json.d.ts +0 -62
  339. package/dist/src/core/core_ir_json.d.ts.map +0 -1
  340. package/dist/src/core/core_ir_json.js +0 -81
  341. package/dist/src/core/core_ir_json.js.map +0 -1
  342. package/dist/test/unit/core_ir_json/core_ir_json.test.d.ts +0 -2
  343. package/dist/test/unit/core_ir_json/core_ir_json.test.d.ts.map +0 -1
  344. package/dist/test/unit/core_ir_json/core_ir_json.test.js +0 -218
  345. package/dist/test/unit/core_ir_json/core_ir_json.test.js.map +0 -1
@@ -65,30 +65,38 @@ function parseEffectParams(ctx, skipLayoutTrivia, error) {
65
65
  skipLayoutTrivia();
66
66
  return names;
67
67
  }
68
+ /**
69
+ * 注解参数值(ADR 0055 #3):只接受字符串、Int32 整数、布尔与标识符(按字符串)。
70
+ * 浮点、Long 字面量与 null 在 v2 IR 中没有对应形状,报 E067(与 Java AstBuilder 同码同参数,控制裁决);
71
+ * 其它 token 报「需要注解参数值」。
72
+ */
68
73
  function parseAnnotationValue(ctx, error) {
69
74
  const tok = ctx.peek();
70
75
  switch (tok.kind) {
71
76
  case TokenKind.STRING:
72
77
  case TokenKind.INT:
73
- case TokenKind.FLOAT:
74
- case TokenKind.LONG:
75
78
  case TokenKind.BOOL:
76
- case TokenKind.NULL:
77
79
  ctx.next();
78
80
  return tok.value;
79
81
  case TokenKind.IDENT:
80
82
  case TokenKind.TYPE_IDENT:
81
83
  ctx.next();
82
84
  return tok.value;
85
+ case TokenKind.FLOAT:
86
+ case TokenKind.LONG:
87
+ case TokenKind.NULL: {
88
+ const text = tok.kind === TokenKind.NULL ? 'null' : tok.raw ?? String(tok.value);
89
+ return error(Issue.invalidValue(tokenName('annotationArgumentValue'), text, 'string, Int or Bool', `Annotation argument value must be a string, Int or Bool: ${text}`), tok);
90
+ }
83
91
  default:
84
- error(Issue.expected(tokenName('annotationArgumentValue'), 'Expected annotation argument value'), tok);
92
+ return error(Issue.expected(tokenName('annotationArgumentValue'), 'Expected annotation argument value'), tok);
85
93
  }
86
94
  }
87
95
  /** 当前位置是否为 `name: value` 形式的命名注解参数(标识符后紧跟冒号)。 */
88
96
  function isNamedAnnotationArg(ctx) {
89
97
  return (ctx.at(TokenKind.IDENT) || ctx.at(TokenKind.TYPE_IDENT)) && ctx.peek(1)?.kind === TokenKind.COLON;
90
98
  }
91
- function parseAnnotationArgs(ctx, error) {
99
+ function parseAnnotationArgs(ctx, error, annotation) {
92
100
  if (!ctx.at(TokenKind.LPAREN))
93
101
  return undefined;
94
102
  ctx.next();
@@ -101,7 +109,11 @@ function parseAnnotationArgs(ctx, error) {
101
109
  args.push({ name: `$${positionalIndex++}`, value });
102
110
  }
103
111
  else {
104
- const name = String(ctx.next().value);
112
+ const nameTok = ctx.next();
113
+ const name = String(nameTok.value);
114
+ // ADR 0055 #3:同一注解内参数名重复在解析期报 E900(IR 不变式 dup-annotation-arg 兜底)
115
+ if (args.some(a => a.name === name))
116
+ error(Issue.duplicateAnnotationArg(annotation, name), nameTok);
105
117
  ctx.next();
106
118
  const value = parseAnnotationValue(ctx, error);
107
119
  args.push({ name, value });
@@ -128,7 +140,7 @@ function parseDeclAnnotations(ctx, error) {
128
140
  error(Issue.expectedAfter(tokenName('annotationName'), lit('@'), "Expected annotation name after '@'"));
129
141
  }
130
142
  const name = String(ctx.next().value);
131
- const args = parseAnnotationArgs(ctx, error);
143
+ const args = parseAnnotationArgs(ctx, error, name);
132
144
  annotations.push(args && args.length > 0 ? { name, args } : { name });
133
145
  ctx.consumeNewlines();
134
146
  }
@@ -266,7 +278,7 @@ export function parseFuncDecl(ctx, error, expectCommaOr, expectKeyword, expectNe
266
278
  // 允许函数名后换行或缩进
267
279
  skipLayoutTrivia();
268
280
  // 解析可选的类型参数: 'of' TypeId ('and' TypeId)*
269
- let typeParams = [];
281
+ const typeParams = [];
270
282
  skipLayoutTrivia();
271
283
  if (ctx.isKeyword('of')) {
272
284
  ctx.nextWord();
@@ -355,7 +367,7 @@ export function parseFuncDecl(ctx, error, expectCommaOr, expectKeyword, expectNe
355
367
  let effects = [];
356
368
  // 允许在返回类型后声明效果:produce Result ... with IO.
357
369
  if (ctx.isKeyword(KW.WITH)) {
358
- const retTypeEffects = parseEffectList(ctx, error);
370
+ const retTypeEffects = parseEffectList(ctx, error, name);
359
371
  effects.push(...retTypeEffects);
360
372
  skipLayoutTrivia();
361
373
  }
@@ -373,7 +385,7 @@ export function parseFuncDecl(ctx, error, expectCommaOr, expectKeyword, expectNe
373
385
  if (!ctx.isKeywordSeq(KW.PERFORMS))
374
386
  ctx.nextWord();
375
387
  ctx.nextWords(kwParts(KW.PERFORMS));
376
- effects = parseEffectList(ctx, error);
388
+ effects = parseEffectList(ctx, error, name);
377
389
  if (ctx.at(TokenKind.DOT)) {
378
390
  ctx.next();
379
391
  }
@@ -392,7 +404,7 @@ export function parseFuncDecl(ctx, error, expectCommaOr, expectKeyword, expectNe
392
404
  if (!ctx.isKeywordSeq(KW.PERFORMS))
393
405
  ctx.nextWord();
394
406
  ctx.nextWords(kwParts(KW.PERFORMS));
395
- effects = parseEffectList(ctx, error);
407
+ effects = parseEffectList(ctx, error, name);
396
408
  if (ctx.at(TokenKind.DOT)) {
397
409
  ctx.next();
398
410
  }
@@ -412,53 +424,8 @@ export function parseFuncDecl(ctx, error, expectCommaOr, expectKeyword, expectNe
412
424
  else {
413
425
  error(Issue.expectedAfter(tokenName('dotOrColon'), tokenName('returnType'), "Expected '.' or ':' after return type"));
414
426
  }
415
- // 如果没有显式声明类型参数,尝试从类型使用中推断
416
- if (typeParams.length === 0) {
417
- // 与 aster-lang-core AstBuilder.BUILTIN_TYPE_NAMES 一致:Decimal 是内置标量(ADR 0025),不能当作隐式类型参数(#276)
418
- const BUILTINS = new Set(['Int', 'Bool', 'Text', 'Long', 'Double', 'Decimal', 'Number', 'Float', 'Option', 'Result', 'List', 'Map', 'Verdict']);
419
- const found = new Set();
420
- const visitType = (t) => {
421
- switch (t.kind) {
422
- case 'TypeName':
423
- if (/^[A-Z][A-Za-z0-9_]*$/.test(t.name) &&
424
- !BUILTINS.has(t.name) &&
425
- !ctx.declaredTypes.has(t.name)) {
426
- found.add(t.name);
427
- }
428
- break;
429
- case 'TypeApp':
430
- t.args.forEach(visitType);
431
- break;
432
- // R30+ audit P1:TypeScript 在 union 上对 'kind' 已经能精确收窄,
433
- // 这里直接用收窄后的 t,不需要 as any。
434
- case 'Maybe':
435
- case 'Option':
436
- case 'List':
437
- visitType(t.type);
438
- break;
439
- case 'Result':
440
- visitType(t.ok);
441
- visitType(t.err);
442
- break;
443
- case 'Map':
444
- visitType(t.key);
445
- visitType(t.val);
446
- break;
447
- case 'FuncType':
448
- t.params.forEach(visitType);
449
- visitType(t.ret);
450
- break;
451
- default:
452
- break;
453
- }
454
- };
455
- for (const p of params)
456
- visitType(p.type);
457
- visitType(retType);
458
- if (found.size > 0) {
459
- typeParams = Array.from(found);
460
- }
461
- }
427
+ // typeParams 只含源码 `of T` 声明的类型参数(ADR 0055 #10,与 Java AstBuilder 一致):不再从签名中
428
+ // 未声明的大写类型名推断隐式类型参数;查不到的类型名由名称解析 R1 报 E800。
462
429
  // ★用 lastNonLayoutToken:直接取 ctx.tokens[ctx.index-1] 会把尾随的
463
430
  // NEWLINE/DEDENT 算进 span,使声明范围延伸到下一个声明的起始行(span 重叠)。
464
431
  const endTok = lastNonLayoutToken(ctx);
@@ -472,7 +439,11 @@ export function parseFuncDecl(ctx, error, expectCommaOr, expectKeyword, expectNe
472
439
  // 分离基本效果和能力约束
473
440
  const { baseEffects, effectCaps, hasExplicitCaps, effectVars } = separateEffectsAndCaps(effects, error, activeEffectVars);
474
441
  ctx.currentEffectVars = savedEffectVars;
475
- const declaredEffects = [...baseEffects, ...effectVars];
442
+ // 效应保持源码顺序(基效应与效应变量交错时同样如此,与 Java 按首次出现顺序一致)
443
+ const declaredNames = new Set([...baseEffects, ...effectVars]);
444
+ const declaredEffects = effects
445
+ .map((e) => (['io', 'cpu', 'pure'].includes(e.toLowerCase()) ? e.toLowerCase() : e))
446
+ .filter((e) => declaredNames.has(e));
476
447
  // 创建函数节点并附加元数据
477
448
  const fn = Node.Func(name, typeParams, params, retType, declaredEffects, effectCaps, hasExplicitCaps, body, effectParams, annotations);
478
449
  if (retTypeInferred) {
@@ -1 +1 @@
1
- {"version":3,"file":"decl-parser.js","sourceRoot":"","sources":["../../../src/parser/decl-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAErH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAsC,MAAM,kBAAkB,CAAC;AAEtG;;;;;;GAMG;AACH,SAAS,cAAc,CAAmB,IAAO,EAAE,QAA0B;IAC3E,IAAI,QAAQ,EAAE,CAAC;QACZ,IAA4B,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAmB,IAAO,EAAE,YAAyC;IAC9F,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,IAA2C,CAAC,YAAY,GAAG,YAAY,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CACxB,GAAkB,EAClB,gBAA4B,EAC5B,KAAmB;IAEnB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc;IAC1B,gBAAgB,EAAE,CAAC;IACnB,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,OAAO,IAAI,EAAE,CAAC;QACZ,gBAAgB,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,yDAAyD,CAAC,CAAC,CAAC;QACrH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC,CAAC;QACvC,gBAAgB,EAAE,CAAC;QACnB,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,gBAAgB,EAAE,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,QAAQ,EAAE,CAAC;YACf,gBAAgB,EAAE,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,qBAAqB,CAAC,EAAE,0CAA0C,CAAC,CAAC,CAAC;IACrH,CAAC;IACD,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc;IAC1B,gBAAgB,EAAE,CAAC;IACnB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAkB,EAAE,KAAmB;IACnE,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACvB,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,SAAS,CAAC,MAAM,CAAC;QACtB,KAAK,SAAS,CAAC,GAAG,CAAC;QACnB,KAAK,SAAS,CAAC,KAAK,CAAC;QACrB,KAAK,SAAS,CAAC,IAAI,CAAC;QACpB,KAAK,SAAS,CAAC,IAAI,CAAC;QACpB,KAAK,SAAS,CAAC,IAAI;YACjB,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,KAAwB,CAAC;QACtC,KAAK,SAAS,CAAC,KAAK,CAAC;QACrB,KAAK,SAAS,CAAC,UAAU;YACvB,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,KAAe,CAAC;QAC7B;YACE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,yBAAyB,CAAC,EAAE,oCAAoC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3G,CAAC;AACH,CAAC;AAED,iDAAiD;AACjD,SAAS,oBAAoB,CAAC,GAAkB;IAC9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC;AAC5G,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAkB,EAAE,KAAmB;IAClE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,MAAM,IAAI,GAAoB,EAAE,CAAC;IACjC,wDAAwD;IACxD,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3D,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,eAAe,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;YACtC,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QACD,MAAM;IACR,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,qBAAqB,CAAC,EAAE,yCAAyC,CAAC,CAAC,CAAC;IACpH,CAAC;IACD,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAC3B,GAAkB,EAClB,KAAmB;IAEnB,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,IAAI,QAA2B,CAAC;IAChC,OAAO,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACzB,QAAQ,KAAK,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,oCAAoC,CAAC,CAAC,CAAC;QAC1G,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,GAAG,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC;IACD,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;AAChE,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAkB,EAClB,KAAmB,EACnB,SAAqB,EACrB,cAA4B;IAE5B,aAAa;IACb,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC7B,GAAG,CAAC,QAAQ,EAAE,CAAC;IAEf,QAAQ;IACR,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAElC,iBAAiB;IACjB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5D,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,EAAE,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;IACvK,CAAC;IACD,GAAG,CAAC,QAAQ,EAAE,CAAC;IAEf,SAAS;IACT,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAE1C,SAAS;IACT,SAAS,EAAE,CAAC;IACZ,0DAA0D;IAC1D,uDAAuD;IACvD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEvC,kBAAkB;IAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAChF,UAAU,CAAC,QAAQ,EAAE,eAAe,CAAC,SAAS,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAC1E,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEhC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAkB,EAClB,KAAmB,EACnB,SAAqB,EACrB,cAA4B;IAE5B,aAAa;IACb,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC7B,GAAG,CAAC,QAAQ,EAAE,CAAC;IAEf,QAAQ;IACR,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;IAElC,gBAAgB;IAChB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,gBAAgB,CAAC,EAAE,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAC7K,CAAC;IACD,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAElC,SAAS;IACT,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAEhE,SAAS;IACT,SAAS,EAAE,CAAC;IACZ,0DAA0D;IAC1D,uDAAuD;IACvD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEvC,wBAAwB;IACxB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzC,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QAC/D,UAAU,CAAC,EAAE,EAAE,eAAe,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IAChF,CAAC;SAAM,CAAC;QACN,UAAU,CAAC,EAAE,EAAE,eAAe,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,kBAAkB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACrC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEhC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAkB,EAClB,KAAmB,EACnB,aAAyB,EACzB,aAAsD,EACtD,aAAyB,EACzB,UAAwB,EACxB,cAAqC,EAAE,EACvC,YAAoB;IAEpB,WAAW;IACX,MAAM,KAAK,GAAG,YAAY,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;IACzC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,YAAY;IAE5B,UAAU;IACV,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,+BAA+B;IAC/B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC;IAExD,MAAM,gBAAgB,GAAG,GAAS,EAAE;QAClC,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;QACnB,OAAO,SAAS,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;YAC/B,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC;YACtB,GAAG,CAAC,eAAe,EAAE,CAAC;YACtB,OAAO,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5D,GAAG,CAAC,IAAI,EAAE,CAAC;gBACX,GAAG,CAAC,eAAe,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,gCAAgC;IAChC,iEAAiE;IACjE,sEAAsE;IACtE,8DAA8D;IAC9D,sDAAsD;IACtD,EAAE;IACF,wDAAwD;IACxD,mEAAmE;IACnE,wDAAwD;IACxD,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7E,MAAM,cAAc,GAAG,GAAU,EAAE;QACjC,IAAI,eAAe,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,2BAA2B;YAC3B,OAAO,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxC,CAAC;QACD,aAAa,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;YAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,cAAc;IACd,gBAAgB,EAAE,CAAC;IAEnB,yCAAyC;IACzC,IAAI,UAAU,GAAa,EAAE,CAAC;IAC9B,gBAAgB,EAAE,CAAC;IACnB,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,QAAQ,EAAE,CAAC;QACf,gBAAgB,EAAE,CAAC;QACnB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,OAAO,IAAI,EAAE,CAAC;YACZ,gBAAgB,EAAE,CAAC;YACnB,0BAA0B;YAC1B,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9G,MAAM;YACR,CAAC;YACD,mCAAmC;YACnC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC;gBACrC,CAAC,CAAE,GAAG,CAAC,IAAI,EAAE,CAAC,KAAgB;gBAC9B,CAAC,CAAC,UAAU,EAAE,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEpB,gBAAgB,EAAE,CAAC;YACnB,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACf,gBAAgB,EAAE,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,IAAI,EAAE,CAAC;gBACX,gBAAgB,EAAE,CAAC;gBACnB,sCAAsC;gBACtC,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;oBACnF,IAAI,GAAG,KAAK,CAAC;oBACb,MAAM;gBACR,CAAC;gBACD,SAAS;YACX,CAAC;YACD,IAAI,GAAG,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,gBAAgB,EAAE,CAAC;IAEnB,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QACzB,YAAY,GAAG,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,2BAA2B;IAC3B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACvD,GAAG,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,GAAG,CAAC,iBAAiB,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;IAC9C,MAAM,gBAAgB,GAAG,GAAG,CAAC,iBAAiB,CAAC;IAE/C,SAAS;IACT,gBAAgB,EAAE,CAAC;IACnB,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1C,gBAAgB,EAAE,CAAC;IACnB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,aAAa,EAAE,CAAC;SAClC,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,GAAG,CAAC,IAAI,EAAE,CAAC;IAE7C,6EAA6E;IAC7E,yBAAyB;IACzB,uDAAuD;IACvD,yEAAyE;IACzE,yDAAyD;IACzD,gBAAgB,EAAE,CAAC;IACnB,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,OAAa,CAAC;IAClB,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACnC,gBAAgB,EAAE,CAAC;QACnB,IACE,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;YACvB,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;YACrB,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC;YACtB,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC;YAC7B,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,UAAU,CAAC,EACtF,CAAC;YACD,eAAe,GAAG,IAAI,CAAC;YACvB,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACnC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,sCAAsC;QACtC,eAAe,GAAG,IAAI,CAAC;QACvB,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACnC,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,OAAO,GAAa,EAAE,CAAC;IAC3B,2CAA2C;IAC3C,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,cAAc,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;QAChC,gBAAgB,EAAE,CAAC;IACrB,CAAC;IACD,gBAAgB;IAChB,MAAM,aAAa,GAAoB,GAAG,CAAC,gBAAgB,CAAC;IAC5D,GAAG,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC1B,IAAI,IAAI,GAAiB,IAAI,CAAC;IAE9B,aAAa;IACb,yCAAyC;IACzC,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,IACE,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC;YAC7B,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,UAAU,CAAC,EACtF,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC;gBAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;YACnD,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YACpC,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtC,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,CAAC;iBAAM,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACX,IAAI,GAAG,cAAc,EAAE,CAAC,CAAC,mBAAmB;YAC9C,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,yCAAyC,CAAC,CAAC,CAAC;YAC5H,CAAC;QACH,CAAC;IACH,CAAC;IACD,+CAA+C;SAC1C,IACH,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC;QAC7B,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,UAAU,CAAC,EACtF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC;YAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QACnD,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpC,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;aAAM,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,IAAI,GAAG,cAAc,EAAE,CAAC,CAAC,mBAAmB;QAC9C,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,yCAAyC,CAAC,CAAC,CAAC;QAC5H,CAAC;IACH,CAAC;IACD,kCAAkC;SAC7B,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,IAAI,GAAG,cAAc,EAAE,CAAC,CAAC,mBAAmB;IAC9C,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,YAAY,CAAC,EAAE,uCAAuC,CAAC,CAAC,CAAC;IACxH,CAAC;IAED,0BAA0B;IAC1B,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,8FAA8F;QAC9F,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QAChJ,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAEhC,MAAM,SAAS,GAAG,CAAC,CAAO,EAAQ,EAAE;YAClC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,UAAU;oBACb,IACE,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;wBACnC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;wBACrB,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAC9B,CAAC;wBACD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC;oBACD,MAAM;gBACR,KAAK,SAAS;oBACZ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBAC1B,MAAM;gBACR,sDAAsD;gBACtD,0BAA0B;gBAC1B,KAAK,OAAO,CAAC;gBACb,KAAK,QAAQ,CAAC;gBACd,KAAK,MAAM;oBACT,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAClB,MAAM;gBACR,KAAK,QAAQ;oBACX,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAChB,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACjB,MAAM;gBACR,KAAK,KAAK;oBACR,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACjB,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACjB,MAAM;gBACR,KAAK,UAAU;oBACb,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBAC5B,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACjB,MAAM;gBACR;oBACE,MAAM;YACV,CAAC;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1C,SAAS,CAAC,OAAO,CAAC,CAAC;QACnB,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACnB,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,0DAA0D;IAC1D,uDAAuD;IACvD,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEvC,cAAc;IACd,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3E,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED,kBAAkB;IAClB,GAAG,CAAC,gBAAgB,GAAG,aAAa,CAAC;IACrC,GAAG,CAAC,eAAe,GAAG,aAAa,CAAC;IAEpC,cAAc;IACd,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,GAAG,sBAAsB,CACrF,OAAO,EACP,KAAK,EACL,gBAAgB,CACjB,CAAC;IACF,GAAG,CAAC,iBAAiB,GAAG,eAAe,CAAC;IACxC,MAAM,eAAe,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC;IAExD,eAAe;IACf,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAClB,IAAI,EACJ,UAAU,EACV,MAAM,EACN,OAAO,EACP,eAAe,EACf,UAAU,EACV,eAAe,EACf,IAAI,EACJ,YAAY,EACZ,WAAW,CACZ,CAAC;IACF,IAAI,eAAe,EAAE,CAAC;QACnB,EAAoC,CAAC,eAAe,GAAG,IAAI,CAAC;IAC/D,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,IAAI,MAAM,CAAC;IACrC,UAAU,CAAC,EAAE,EAAE,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,uBAAuB;IACvB,cAAc,CAAC,EAAE,EAAE,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAEzD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;GAOG;AACH;;;;;;;;;;GAUG;AACH,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,EAAE,CAAC,SAAS;IACZ,EAAE,CAAC,IAAI;IACP,EAAE,CAAC,MAAM;IACT,EAAE,CAAC,GAAG;CACP,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,GAAkB;IACxC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QAC7B,IAAI,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM;YACR,CAAC;QACH,CAAC;QACD,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,oBAAoB,CAAC,GAAkB;IAC9C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,MAAM,cAAc,GAAG,CAAC,GAAW,EAAW,EAAE;QAC9C,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;YAC1B,IAAI,CAAC,KAAK,SAAS,CAAC,MAAM;gBAAE,SAAS,CAAC,sBAAsB;YAC5D,OAAO,CAAC,KAAK,SAAS,CAAC,OAAO,IAAI,CAAC,KAAK,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,SAAS,CAAC,GAAG,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,KAAK;IACpB,CAAC,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI;YAAE,SAAS;QAC/C,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YAAE,SAAS,CAAC,uBAAuB;QACzD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5F,SAAS;QACX,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC;YAClB,sDAAsD;YACtD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,IAAK,SAAS,CAAC,KAAgB,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvE,SAAS;YACX,CAAC;YACD,6DAA6D;YAC7D,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAe,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,KAAe,CAAC,CAAC;YAC/C,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,KAAe,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,GAAkB,EAClB,KAAkB;IAElB,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,0CAA0C;IAC1C,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,UAAU;IAC5B,GAAG,CAAC,eAAe,EAAE,CAAC;IAEtB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;YAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC;YAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5C,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;YAAE,MAAM;QAEjC,IAAI,CAAC;YACH,yBAAyB;YACzB,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnC,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;oBAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,iBAAiB,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBACzJ,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;gBACrD,8DAA8D;gBAC9D,GAAG,CAAC,eAAe,EAAE,CAAC;gBACtB,IAAI,aAAa,CAAC,GAAG,CAAC;oBAAE,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9E,CAAC;YACD,qCAAqC;iBAChC,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,uBAAuB,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAC5G,CAAC;YACD,2CAA2C;iBACtC,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC5B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;gBACnG,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBACtC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBACtD,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;gBACzD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzB,CAAC;YACD,qBAAqB;iBAChB,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;gBAClC,8BAA8B;gBAC9B,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACjC,QAAQ;gBACR,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;gBAExC,mBAAmB;gBACnB,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC1D,MAAM,QAAQ,GAAG,SAAS,CAAC;oBAC3B,6BAA6B;oBAC7B,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACf,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;oBAChD,KAAK,CAAC,SAAS,EAAE,CAAC;oBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAC7C,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;oBACtC,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;oBACvD,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAChC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;qBAAM,IAAI,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvC,MAAM,QAAQ,GAAG,SAAS,CAAC;oBAC3B,oCAAoC;oBACpC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;oBAClC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;oBACtE,KAAK,CAAC,SAAS,EAAE,CAAC;oBAClB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;oBACzC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;oBACtC,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;oBACjD,IAAI,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;wBAChD,kBAAkB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;oBACvC,CAAC;oBACD,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAChC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAC7J,CAAC;YACH,CAAC;YACD,6BAA6B;YAC7B,oDAAoD;YACpD,qDAAqD;YACrD,8CAA8C;YAC9C,qDAAqD;YACrD,yCAAyC;iBACpC,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,YAAY;gBAC7C,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;gBACzC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,EAAE,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACjJ,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC3C,KAAK,CAAC,SAAS,EAAE,CAAC;gBAClB,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACjC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YACrH,CAAC;YACD,+BAA+B;iBAC1B,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,wBAAwB,CAAC,EAAE,YAAY,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC;gBACjK,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;YACtJ,CAAC;YACD,iBAAiB;iBACZ,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/H,CAAC;YACD,iBAAiB;iBACZ,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3F,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,CAAC;YACD,SAAS;iBACJ,CAAC;gBACJ,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,+BAA+B,CAAC,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,cAAc,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;QAED,GAAG,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"decl-parser.js","sourceRoot":"","sources":["../../../src/parser/decl-parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"expr-stmt-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/expr-stmt-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAGL,UAAU,EAEV,SAAS,EACT,OAAO,EAGP,SAAS,EAET,KAAK,EACL,IAAI,EAIL,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAclD,OAAO,EAA4C,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA2DhH,oCAAoC;AACpC,KAAK,gBAAgB,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AA8BjE;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,KAAK,CAqDP;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,KAAK,CAiBP;AAiMD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,EACnB,kBAAkB,GAAE,gBAAwB,GAC3C,SAAS,CAuMX;AA+ND;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,UAAU,CAiBZ;AAy/BD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,UAAU,EAAE,CAcd;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,OAAO,CAiDT;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,SAAS,EAAE,CAsIb;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CA2BzD"}
1
+ {"version":3,"file":"expr-stmt-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/expr-stmt-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAGL,UAAU,EAEV,SAAS,EACT,OAAO,EAGP,SAAS,EAET,KAAK,EACL,IAAI,EAIL,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAclD,OAAO,EAA4C,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA2DhH,oCAAoC;AACpC,KAAK,gBAAgB,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AA8BjE;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,KAAK,CAqDP;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,KAAK,CAiBP;AAiMD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,EACnB,kBAAkB,GAAE,gBAAwB,GAC3C,SAAS,CAuMX;AA+ND;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,UAAU,CAiBZ;AAy/BD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,UAAU,EAAE,CAcd;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,OAAO,CAkDT;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,SAAS,EAAE,CAsIb;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CA2BzD"}
@@ -1581,7 +1581,7 @@ function parsePrimary(ctx, error) {
1581
1581
  }
1582
1582
  if (ctx.at(TokenKind.FLOAT)) {
1583
1583
  const tok = ctx.next();
1584
- const node = Node.Double(tok.value);
1584
+ const node = tok.raw === undefined ? Node.Double(tok.value) : { ...Node.Double(tok.value), raw: tok.raw };
1585
1585
  assignSpan(node, spanFromToken(tok));
1586
1586
  return node;
1587
1587
  }
@@ -1838,7 +1838,8 @@ export function parsePattern(ctx, error) {
1838
1838
  if (!ctx.at(TokenKind.RPAREN))
1839
1839
  error(Issue.expectedIn(lit(')'), tokenName('pattern'), "Expected ')' in pattern"));
1840
1840
  const rparenTok = ctx.next();
1841
- const node = Node.PatternCtor(typeName, names);
1841
+ // ADR 0055 #15、#17:IR 把每个绑定名降为带自己位置的 PatName,这里记下各名字的 span
1842
+ const node = { ...Node.PatternCtor(typeName, names), nameSpans: nameTokens.map(spanFromToken) };
1842
1843
  assignSpan(node, spanFromSources(typeTok, lparenTok, rparenTok, ...nameTokens));
1843
1844
  return node;
1844
1845
  }