@aster-cloud/aster-lang-ts 1.6.0 → 3.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 (424) hide show
  1. package/CHANGELOG.md +64 -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/generate-naming-rules.d.ts +5 -0
  11. package/dist/scripts/generate-naming-rules.d.ts.map +1 -0
  12. package/dist/scripts/generate-naming-rules.js +35 -0
  13. package/dist/scripts/generate-naming-rules.js.map +1 -0
  14. package/dist/scripts/golden.js +1 -1
  15. package/dist/scripts/golden.js.map +1 -1
  16. package/dist/src/ast/ast_visitor.d.ts +27 -27
  17. package/dist/src/ast/ast_visitor.d.ts.map +1 -1
  18. package/dist/src/ast/ast_visitor.js.map +1 -1
  19. package/dist/src/browser/schema.d.ts.map +1 -1
  20. package/dist/src/browser/schema.js +1 -3
  21. package/dist/src/browser/schema.js.map +1 -1
  22. package/dist/src/browser.d.ts +7 -0
  23. package/dist/src/browser.d.ts.map +1 -1
  24. package/dist/src/browser.js +7 -4
  25. package/dist/src/browser.js.map +1 -1
  26. package/dist/src/cli/policy-converter.js +6 -10
  27. package/dist/src/cli/policy-converter.js.map +1 -1
  28. package/dist/src/cli/utils/core-ir-file.d.ts +8 -0
  29. package/dist/src/cli/utils/core-ir-file.d.ts.map +1 -0
  30. package/dist/src/cli/utils/core-ir-file.js +29 -0
  31. package/dist/src/cli/utils/core-ir-file.js.map +1 -0
  32. package/dist/src/cnl-printer.d.ts.map +1 -1
  33. package/dist/src/cnl-printer.js +13 -3
  34. package/dist/src/cnl-printer.js.map +1 -1
  35. package/dist/src/compile-pipeline.d.ts.map +1 -1
  36. package/dist/src/compile-pipeline.js +2 -3
  37. package/dist/src/compile-pipeline.js.map +1 -1
  38. package/dist/src/config/lexicons/diagnostic-overlays.generated.d.ts.map +1 -1
  39. package/dist/src/config/lexicons/diagnostic-overlays.generated.js +18 -6
  40. package/dist/src/config/lexicons/diagnostic-overlays.generated.js.map +1 -1
  41. package/dist/src/config/lexicons/fallback-lexicon.d.ts +1 -1
  42. package/dist/src/config/lexicons/fallback-lexicon.d.ts.map +1 -1
  43. package/dist/src/config/lexicons/fallback-lexicon.js +1 -4
  44. package/dist/src/config/lexicons/fallback-lexicon.js.map +1 -1
  45. package/dist/src/config/lexicons/overlay-loader.d.ts +0 -13
  46. package/dist/src/config/lexicons/overlay-loader.d.ts.map +1 -1
  47. package/dist/src/config/lexicons/overlay-loader.js +0 -18
  48. package/dist/src/config/lexicons/overlay-loader.js.map +1 -1
  49. package/dist/src/config/lexicons/types.d.ts +0 -3
  50. package/dist/src/config/lexicons/types.d.ts.map +1 -1
  51. package/dist/src/config/lexicons/types.js.map +1 -1
  52. package/dist/src/core/canonical-decimal.d.ts +3 -0
  53. package/dist/src/core/canonical-decimal.d.ts.map +1 -0
  54. package/dist/src/core/canonical-decimal.js +19 -0
  55. package/dist/src/core/canonical-decimal.js.map +1 -0
  56. package/dist/src/core/canonical-json.d.ts +59 -0
  57. package/dist/src/core/canonical-json.d.ts.map +1 -0
  58. package/dist/src/core/canonical-json.js +250 -0
  59. package/dist/src/core/canonical-json.js.map +1 -0
  60. package/dist/src/core/core-ir-v2.generated.d.ts +807 -0
  61. package/dist/src/core/core-ir-v2.generated.d.ts.map +1 -0
  62. package/dist/src/core/core-ir-v2.generated.js +6 -0
  63. package/dist/src/core/core-ir-v2.generated.js.map +1 -0
  64. package/dist/src/core/core-ir-v2.schema.generated.d.ts +6 -0
  65. package/dist/src/core/core-ir-v2.schema.generated.d.ts.map +1 -0
  66. package/dist/src/core/core-ir-v2.schema.generated.js +2636 -0
  67. package/dist/src/core/core-ir-v2.schema.generated.js.map +1 -0
  68. package/dist/src/core/core_ir.d.ts +27 -11
  69. package/dist/src/core/core_ir.d.ts.map +1 -1
  70. package/dist/src/core/core_ir.js +118 -63
  71. package/dist/src/core/core_ir.js.map +1 -1
  72. package/dist/src/core/index.d.ts +4 -3
  73. package/dist/src/core/index.d.ts.map +1 -1
  74. package/dist/src/core/index.js +3 -2
  75. package/dist/src/core/index.js.map +1 -1
  76. package/dist/src/core/inferred_fields.d.ts +9 -11
  77. package/dist/src/core/inferred_fields.d.ts.map +1 -1
  78. package/dist/src/core/inferred_fields.js +7 -28
  79. package/dist/src/core/inferred_fields.js.map +1 -1
  80. package/dist/src/core/interpreter.js +16 -35
  81. package/dist/src/core/interpreter.js.map +1 -1
  82. package/dist/src/core/lambda-captures.d.ts +14 -0
  83. package/dist/src/core/lambda-captures.d.ts.map +1 -0
  84. package/dist/src/core/lambda-captures.js +128 -0
  85. package/dist/src/core/lambda-captures.js.map +1 -0
  86. package/dist/src/core/pretty_core.d.ts.map +1 -1
  87. package/dist/src/core/pretty_core.js +6 -10
  88. package/dist/src/core/pretty_core.js.map +1 -1
  89. package/dist/src/core/read-core-ir.d.ts +15 -0
  90. package/dist/src/core/read-core-ir.d.ts.map +1 -0
  91. package/dist/src/core/read-core-ir.js +69 -0
  92. package/dist/src/core/read-core-ir.js.map +1 -0
  93. package/dist/src/core/resolution-mark.d.ts +3 -4
  94. package/dist/src/core/resolution-mark.d.ts.map +1 -1
  95. package/dist/src/core/resolution-mark.js +2 -3
  96. package/dist/src/core/resolution-mark.js.map +1 -1
  97. package/dist/src/core/resolve-typed-references.d.ts.map +1 -1
  98. package/dist/src/core/resolve-typed-references.js +11 -27
  99. package/dist/src/core/resolve-typed-references.js.map +1 -1
  100. package/dist/src/core/serialize-core-ir.d.ts +13 -0
  101. package/dist/src/core/serialize-core-ir.d.ts.map +1 -0
  102. package/dist/src/core/serialize-core-ir.js +125 -0
  103. package/dist/src/core/serialize-core-ir.js.map +1 -0
  104. package/dist/src/core/visitor.d.ts.map +1 -1
  105. package/dist/src/core/visitor.js +4 -1
  106. package/dist/src/core/visitor.js.map +1 -1
  107. package/dist/src/diagnostics/error_codes.d.ts +2 -0
  108. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  109. package/dist/src/diagnostics/error_codes.js +16 -0
  110. package/dist/src/diagnostics/error_codes.js.map +1 -1
  111. package/dist/src/effects/declared-effects.d.ts +17 -0
  112. package/dist/src/effects/declared-effects.d.ts.map +1 -0
  113. package/dist/src/effects/declared-effects.js +27 -0
  114. package/dist/src/effects/declared-effects.js.map +1 -0
  115. package/dist/src/effects/effect_inference.d.ts.map +1 -1
  116. package/dist/src/effects/effect_inference.js +14 -10
  117. package/dist/src/effects/effect_inference.js.map +1 -1
  118. package/dist/src/effects/effect_inference_browser.d.ts.map +1 -1
  119. package/dist/src/effects/effect_inference_browser.js +14 -9
  120. package/dist/src/effects/effect_inference_browser.js.map +1 -1
  121. package/dist/src/frontend/keyword-translator.d.ts.map +1 -1
  122. package/dist/src/frontend/keyword-translator.js +3 -0
  123. package/dist/src/frontend/keyword-translator.js.map +1 -1
  124. package/dist/src/frontend/lexer.d.ts.map +1 -1
  125. package/dist/src/frontend/lexer.js +7 -3
  126. package/dist/src/frontend/lexer.js.map +1 -1
  127. package/dist/src/frontend/resolve-declarations.d.ts.map +1 -1
  128. package/dist/src/frontend/resolve-declarations.js +3 -23
  129. package/dist/src/frontend/resolve-declarations.js.map +1 -1
  130. package/dist/src/governance/input-refs.js +5 -8
  131. package/dist/src/governance/input-refs.js.map +1 -1
  132. package/dist/src/index.d.ts +5 -0
  133. package/dist/src/index.d.ts.map +1 -1
  134. package/dist/src/index.js +4 -0
  135. package/dist/src/index.js.map +1 -1
  136. package/dist/src/jvm/emitter.d.ts.map +1 -1
  137. package/dist/src/jvm/emitter.js +20 -29
  138. package/dist/src/jvm/emitter.js.map +1 -1
  139. package/dist/src/lower_to_core.d.ts +2 -19
  140. package/dist/src/lower_to_core.d.ts.map +1 -1
  141. package/dist/src/lower_to_core.js +194 -384
  142. package/dist/src/lower_to_core.js.map +1 -1
  143. package/dist/src/lsp/pii_diagnostics.d.ts.map +1 -1
  144. package/dist/src/lsp/pii_diagnostics.js +3 -8
  145. package/dist/src/lsp/pii_diagnostics.js.map +1 -1
  146. package/dist/src/mapping/mapping-ir.d.ts +3 -3
  147. package/dist/src/mapping/mapping-ir.js +3 -3
  148. package/dist/src/nodeid/node-id-map.d.ts +6 -15
  149. package/dist/src/nodeid/node-id-map.d.ts.map +1 -1
  150. package/dist/src/nodeid/node-id-map.js +6 -15
  151. package/dist/src/nodeid/node-id-map.js.map +1 -1
  152. package/dist/src/parser/constraint-parser.js +25 -6
  153. package/dist/src/parser/constraint-parser.js.map +1 -1
  154. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  155. package/dist/src/parser/decl-parser.js +30 -59
  156. package/dist/src/parser/decl-parser.js.map +1 -1
  157. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  158. package/dist/src/parser/expr-stmt-parser.js +17 -10
  159. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  160. package/dist/src/parser/field-variant-parser.d.ts.map +1 -1
  161. package/dist/src/parser/field-variant-parser.js +9 -3
  162. package/dist/src/parser/field-variant-parser.js.map +1 -1
  163. package/dist/src/parser/naming-rules.d.ts +19 -0
  164. package/dist/src/parser/naming-rules.d.ts.map +1 -0
  165. package/dist/src/parser/naming-rules.generated.d.ts +7 -0
  166. package/dist/src/parser/naming-rules.generated.d.ts.map +1 -0
  167. package/dist/src/parser/naming-rules.generated.js +392 -0
  168. package/dist/src/parser/naming-rules.generated.js.map +1 -0
  169. package/dist/src/parser/naming-rules.js +2 -0
  170. package/dist/src/parser/naming-rules.js.map +1 -0
  171. package/dist/src/parser/parse-issue.d.ts +2 -0
  172. package/dist/src/parser/parse-issue.d.ts.map +1 -1
  173. package/dist/src/parser/parse-issue.js +2 -0
  174. package/dist/src/parser/parse-issue.js.map +1 -1
  175. package/dist/src/parser/type-inference.d.ts +29 -70
  176. package/dist/src/parser/type-inference.d.ts.map +1 -1
  177. package/dist/src/parser/type-inference.js +82 -212
  178. package/dist/src/parser/type-inference.js.map +1 -1
  179. package/dist/src/parser/type-parser.d.ts +1 -1
  180. package/dist/src/parser/type-parser.d.ts.map +1 -1
  181. package/dist/src/parser/type-parser.js +31 -21
  182. package/dist/src/parser/type-parser.js.map +1 -1
  183. package/dist/src/parser.d.ts.map +1 -1
  184. package/dist/src/parser.js +2 -5
  185. package/dist/src/parser.js.map +1 -1
  186. package/dist/src/stability/stability_gate.d.ts +1 -1
  187. package/dist/src/stability/stability_gate.d.ts.map +1 -1
  188. package/dist/src/stability/stability_gate.js +2 -26
  189. package/dist/src/stability/stability_gate.js.map +1 -1
  190. package/dist/src/typecheck/async.d.ts.map +1 -1
  191. package/dist/src/typecheck/async.js +4 -1
  192. package/dist/src/typecheck/async.js.map +1 -1
  193. package/dist/src/typecheck/browser.d.ts.map +1 -1
  194. package/dist/src/typecheck/browser.js +4 -3
  195. package/dist/src/typecheck/browser.js.map +1 -1
  196. package/dist/src/typecheck/capabilities.d.ts.map +1 -1
  197. package/dist/src/typecheck/capabilities.js +3 -2
  198. package/dist/src/typecheck/capabilities.js.map +1 -1
  199. package/dist/src/typecheck/context.d.ts +5 -5
  200. package/dist/src/typecheck/context.d.ts.map +1 -1
  201. package/dist/src/typecheck/context.js.map +1 -1
  202. package/dist/src/typecheck/diagnostics.d.ts +2 -2
  203. package/dist/src/typecheck/diagnostics.d.ts.map +1 -1
  204. package/dist/src/typecheck/diagnostics.js.map +1 -1
  205. package/dist/src/typecheck/effects.js +18 -11
  206. package/dist/src/typecheck/effects.js.map +1 -1
  207. package/dist/src/typecheck/expression.d.ts +4 -4
  208. package/dist/src/typecheck/expression.d.ts.map +1 -1
  209. package/dist/src/typecheck/expression.js +1 -1
  210. package/dist/src/typecheck/expression.js.map +1 -1
  211. package/dist/src/typecheck/generics.d.ts +2 -2
  212. package/dist/src/typecheck/generics.d.ts.map +1 -1
  213. package/dist/src/typecheck/generics.js +23 -12
  214. package/dist/src/typecheck/generics.js.map +1 -1
  215. package/dist/src/typecheck/governance.d.ts +1 -1
  216. package/dist/src/typecheck/governance.d.ts.map +1 -1
  217. package/dist/src/typecheck/governance.js +1 -1
  218. package/dist/src/typecheck/governance.js.map +1 -1
  219. package/dist/src/typecheck/module.d.ts.map +1 -1
  220. package/dist/src/typecheck/module.js +7 -6
  221. package/dist/src/typecheck/module.js.map +1 -1
  222. package/dist/src/typecheck/pattern.d.ts +2 -2
  223. package/dist/src/typecheck/pattern.d.ts.map +1 -1
  224. package/dist/src/typecheck/pattern.js +12 -46
  225. package/dist/src/typecheck/pattern.js.map +1 -1
  226. package/dist/src/typecheck/pure.d.ts +19 -19
  227. package/dist/src/typecheck/pure.d.ts.map +1 -1
  228. package/dist/src/typecheck/pure.js.map +1 -1
  229. package/dist/src/typecheck/statement.d.ts +6 -6
  230. package/dist/src/typecheck/statement.d.ts.map +1 -1
  231. package/dist/src/typecheck/statement.js +17 -20
  232. package/dist/src/typecheck/statement.js.map +1 -1
  233. package/dist/src/typecheck/symbol_table.d.ts +2 -2
  234. package/dist/src/typecheck/symbol_table.d.ts.map +1 -1
  235. package/dist/src/typecheck/symbol_table.js.map +1 -1
  236. package/dist/src/typecheck/type_system.d.ts +4 -4
  237. package/dist/src/typecheck/type_system.d.ts.map +1 -1
  238. package/dist/src/typecheck/type_system.js +1 -1
  239. package/dist/src/typecheck/type_system.js.map +1 -1
  240. package/dist/src/typecheck/workflow.d.ts +3 -3
  241. package/dist/src/typecheck/workflow.d.ts.map +1 -1
  242. package/dist/src/typecheck/workflow.js.map +1 -1
  243. package/dist/src/typecheck-pii.d.ts.map +1 -1
  244. package/dist/src/typecheck-pii.js +2 -13
  245. package/dist/src/typecheck-pii.js.map +1 -1
  246. package/dist/src/types/type-inference.d.ts +1 -13
  247. package/dist/src/types/type-inference.d.ts.map +1 -1
  248. package/dist/src/types/type-inference.js +1 -2
  249. package/dist/src/types/type-inference.js.map +1 -1
  250. package/dist/src/types.d.ts +160 -172
  251. package/dist/src/types.d.ts.map +1 -1
  252. package/dist/src/types.js.map +1 -1
  253. package/dist/src/version.d.ts +3 -3
  254. package/dist/src/version.js +3 -3
  255. package/dist/test/helpers/core-ir-v2.d.ts +5 -0
  256. package/dist/test/helpers/core-ir-v2.d.ts.map +1 -0
  257. package/dist/test/helpers/core-ir-v2.js +123 -0
  258. package/dist/test/helpers/core-ir-v2.js.map +1 -0
  259. package/dist/test/helpers/locales-core-ir.d.ts +7 -0
  260. package/dist/test/helpers/locales-core-ir.d.ts.map +1 -0
  261. package/dist/test/helpers/locales-core-ir.js +15 -0
  262. package/dist/test/helpers/locales-core-ir.js.map +1 -0
  263. package/dist/test/helpers/locales-type-inference.d.ts +6 -0
  264. package/dist/test/helpers/locales-type-inference.d.ts.map +1 -0
  265. package/dist/test/helpers/locales-type-inference.js +14 -0
  266. package/dist/test/helpers/locales-type-inference.js.map +1 -0
  267. package/dist/test/helpers/test-factories.d.ts +5 -5
  268. package/dist/test/helpers/test-factories.d.ts.map +1 -1
  269. package/dist/test/helpers/test-factories.js +9 -8
  270. package/dist/test/helpers/test-factories.js.map +1 -1
  271. package/dist/test/integration/compliance/compliance-smoke.test.js +1 -2
  272. package/dist/test/integration/compliance/compliance-smoke.test.js.map +1 -1
  273. package/dist/test/integration/pipeline/pipeline.test.js +1 -1
  274. package/dist/test/integration/pipeline/pipeline.test.js.map +1 -1
  275. package/dist/test/integration/vocabulary-resolution.test.js +1 -1
  276. package/dist/test/integration/vocabulary-resolution.test.js.map +1 -1
  277. package/dist/test/regression/type-checker-golden.test.js +1 -1
  278. package/dist/test/regression/type-checker-golden.test.js.map +1 -1
  279. package/dist/test/type-checker/pii-propagation.test.js +7 -6
  280. package/dist/test/type-checker/pii-propagation.test.js.map +1 -1
  281. package/dist/test/types/core-ir-v2.test-d.d.ts +28 -0
  282. package/dist/test/types/core-ir-v2.test-d.d.ts.map +1 -0
  283. package/dist/test/types/core-ir-v2.test-d.js +5 -0
  284. package/dist/test/types/core-ir-v2.test-d.js.map +1 -0
  285. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js +4 -3
  286. package/dist/test/unit/browser/typecheck-browser-pii-failure.test.js.map +1 -1
  287. package/dist/test/unit/canonicalizer/article-declaration-names.test.js +1 -1
  288. package/dist/test/unit/canonicalizer/article-declaration-names.test.js.map +1 -1
  289. package/dist/test/unit/canonicalizer/chinese-function-syntax.test.js +2 -1
  290. package/dist/test/unit/canonicalizer/chinese-function-syntax.test.js.map +1 -1
  291. package/dist/test/unit/core/canonical-json.test.d.ts +2 -0
  292. package/dist/test/unit/core/canonical-json.test.d.ts.map +1 -0
  293. package/dist/test/unit/core/canonical-json.test.js +38 -0
  294. package/dist/test/unit/core/canonical-json.test.js.map +1 -0
  295. package/dist/test/unit/core/caseless-pattern-name.test.js +6 -8
  296. package/dist/test/unit/core/caseless-pattern-name.test.js.map +1 -1
  297. package/dist/test/unit/core/core-ir-conformance.test.d.ts +2 -0
  298. package/dist/test/unit/core/core-ir-conformance.test.d.ts.map +1 -0
  299. package/dist/test/unit/core/core-ir-conformance.test.js +39 -0
  300. package/dist/test/unit/core/core-ir-conformance.test.js.map +1 -0
  301. package/dist/test/unit/core/core-ir-schema-parity.test.d.ts +2 -0
  302. package/dist/test/unit/core/core-ir-schema-parity.test.d.ts.map +1 -0
  303. package/dist/test/unit/core/core-ir-schema-parity.test.js +25 -0
  304. package/dist/test/unit/core/core-ir-schema-parity.test.js.map +1 -0
  305. package/dist/test/unit/core/core-ir-v2-outputs.test.d.ts +2 -0
  306. package/dist/test/unit/core/core-ir-v2-outputs.test.d.ts.map +1 -0
  307. package/dist/test/unit/core/core-ir-v2-outputs.test.js +128 -0
  308. package/dist/test/unit/core/core-ir-v2-outputs.test.js.map +1 -0
  309. package/dist/test/unit/core/read-core-ir.test.d.ts +2 -0
  310. package/dist/test/unit/core/read-core-ir.test.d.ts.map +1 -0
  311. package/dist/test/unit/core/read-core-ir.test.js +129 -0
  312. package/dist/test/unit/core/read-core-ir.test.js.map +1 -0
  313. package/dist/test/unit/core/resolve-typed-references.test.js +22 -18
  314. package/dist/test/unit/core/resolve-typed-references.test.js.map +1 -1
  315. package/dist/test/unit/diagnostics/lowering-diagnostics-parity.test.js +5 -5
  316. package/dist/test/unit/diagnostics/lowering-diagnostics-parity.test.js.map +1 -1
  317. package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.js +3 -2
  318. package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.js.map +1 -1
  319. package/dist/test/unit/effect/effect-caps-explicit-only.test.d.ts +2 -0
  320. package/dist/test/unit/effect/effect-caps-explicit-only.test.d.ts.map +1 -0
  321. package/dist/test/unit/effect/effect-caps-explicit-only.test.js +73 -0
  322. package/dist/test/unit/effect/effect-caps-explicit-only.test.js.map +1 -0
  323. package/dist/test/unit/effect/effect-inference.test.js +17 -13
  324. package/dist/test/unit/effect/effect-inference.test.js.map +1 -1
  325. package/dist/test/unit/emitter/emitter.test.js +47 -46
  326. package/dist/test/unit/emitter/emitter.test.js.map +1 -1
  327. package/dist/test/unit/formatter-corpus-roundtrip.test.js +5 -1
  328. package/dist/test/unit/formatter-corpus-roundtrip.test.js.map +1 -1
  329. package/dist/test/unit/formatter-roundtrip.test.js +5 -4
  330. package/dist/test/unit/formatter-roundtrip.test.js.map +1 -1
  331. package/dist/test/unit/frontend/resolve-declarations.test.js +13 -14
  332. package/dist/test/unit/frontend/resolve-declarations.test.js.map +1 -1
  333. package/dist/test/unit/governance/governance-check.test.js +1 -1
  334. package/dist/test/unit/governance/governance-check.test.js.map +1 -1
  335. package/dist/test/unit/governance/input-refs-parity.test.js +1 -1
  336. package/dist/test/unit/governance/input-refs-parity.test.js.map +1 -1
  337. package/dist/test/unit/governance/input-refs.test.js +2 -2
  338. package/dist/test/unit/governance/input-refs.test.js.map +1 -1
  339. package/dist/test/unit/governance/no-profile-ir-unchanged.test.js +6 -6
  340. package/dist/test/unit/governance/no-profile-ir-unchanged.test.js.map +1 -1
  341. package/dist/test/unit/interpreter/interpreter.test.js +23 -21
  342. package/dist/test/unit/interpreter/interpreter.test.js.map +1 -1
  343. package/dist/test/unit/interpreter/scope-writeback.test.js +28 -27
  344. package/dist/test/unit/interpreter/scope-writeback.test.js.map +1 -1
  345. package/dist/test/unit/keyword-aliases.test.js +1 -1
  346. package/dist/test/unit/lambda-capture-parity.test.js +43 -14
  347. package/dist/test/unit/lambda-capture-parity.test.js.map +1 -1
  348. package/dist/test/unit/lexicons/fallback-lexicon.test.d.ts +1 -1
  349. package/dist/test/unit/lexicons/fallback-lexicon.test.js +2 -4
  350. package/dist/test/unit/lexicons/fallback-lexicon.test.js.map +1 -1
  351. package/dist/test/unit/lowering/core-ir-v2.test.d.ts +2 -0
  352. package/dist/test/unit/lowering/core-ir-v2.test.d.ts.map +1 -0
  353. package/dist/test/unit/lowering/core-ir-v2.test.js +253 -0
  354. package/dist/test/unit/lowering/core-ir-v2.test.js.map +1 -0
  355. package/dist/test/unit/lowering/lowering.test.js +19 -14
  356. package/dist/test/unit/lowering/lowering.test.js.map +1 -1
  357. package/dist/test/unit/lsp/pii-diagnostics.test.js +33 -30
  358. package/dist/test/unit/lsp/pii-diagnostics.test.js.map +1 -1
  359. package/dist/test/unit/lsp/utils.test.js +5 -4
  360. package/dist/test/unit/lsp/utils.test.js.map +1 -1
  361. package/dist/test/unit/parser/effect-unknown-name.test.js +7 -7
  362. package/dist/test/unit/parser/effect-unknown-name.test.js.map +1 -1
  363. package/dist/test/unit/parser/entry-annotations.test.js +2 -1
  364. package/dist/test/unit/parser/entry-annotations.test.js.map +1 -1
  365. package/dist/test/unit/parser/func-type.test.js +3 -3
  366. package/dist/test/unit/parser/func-type.test.js.map +1 -1
  367. package/dist/test/unit/parser/governance-sugar.test.js +4 -4
  368. package/dist/test/unit/parser/governance-sugar.test.js.map +1 -1
  369. package/dist/test/unit/parser/inferred-type-anchor.test.d.ts +2 -0
  370. package/dist/test/unit/parser/inferred-type-anchor.test.d.ts.map +1 -0
  371. package/dist/test/unit/parser/inferred-type-anchor.test.js +83 -0
  372. package/dist/test/unit/parser/inferred-type-anchor.test.js.map +1 -0
  373. package/dist/test/unit/parser/naming-rules-parity.test.d.ts +2 -0
  374. package/dist/test/unit/parser/naming-rules-parity.test.d.ts.map +1 -0
  375. package/dist/test/unit/parser/naming-rules-parity.test.js +26 -0
  376. package/dist/test/unit/parser/naming-rules-parity.test.js.map +1 -0
  377. package/dist/test/unit/parser/parser.test.js +11 -32
  378. package/dist/test/unit/parser/parser.test.js.map +1 -1
  379. package/dist/test/unit/parser/type-inference-vectors.test.d.ts +2 -0
  380. package/dist/test/unit/parser/type-inference-vectors.test.d.ts.map +1 -0
  381. package/dist/test/unit/parser/type-inference-vectors.test.js +40 -0
  382. package/dist/test/unit/parser/type-inference-vectors.test.js.map +1 -0
  383. package/dist/test/unit/parser/type-inference.test.d.ts +2 -1
  384. package/dist/test/unit/parser/type-inference.test.d.ts.map +1 -1
  385. package/dist/test/unit/parser/type-inference.test.js +93 -159
  386. package/dist/test/unit/parser/type-inference.test.js.map +1 -1
  387. package/dist/test/unit/regex-guard.test.js +6 -6
  388. package/dist/test/unit/regex-guard.test.js.map +1 -1
  389. package/dist/test/unit/rule-call-checks.test.js +2 -1
  390. package/dist/test/unit/rule-call-checks.test.js.map +1 -1
  391. package/dist/test/unit/typecheck/async-discipline-extended.test.js +11 -10
  392. package/dist/test/unit/typecheck/async-discipline-extended.test.js.map +1 -1
  393. package/dist/test/unit/typecheck/effect-prefix-injection.test.js +3 -2
  394. package/dist/test/unit/typecheck/effect-prefix-injection.test.js.map +1 -1
  395. package/dist/test/unit/typecheck/function-return-inference.test.js +33 -32
  396. package/dist/test/unit/typecheck/function-return-inference.test.js.map +1 -1
  397. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js +5 -4
  398. package/dist/test/unit/typecheck/pii-cross-runtime-conformance.test.js.map +1 -1
  399. package/dist/test/unit/typecheck/regression-fixes.test.js +110 -112
  400. package/dist/test/unit/typecheck/regression-fixes.test.js.map +1 -1
  401. package/dist/test/unit/typecheck/symbol-table.test.js +3 -2
  402. package/dist/test/unit/typecheck/symbol-table.test.js.map +1 -1
  403. package/dist/test/unit/typecheck/type-system-extended.test.js +6 -5
  404. package/dist/test/unit/typecheck/type-system-extended.test.js.map +1 -1
  405. package/dist/test/unit/typecheck/type-system.test.js +20 -19
  406. package/dist/test/unit/typecheck/type-system.test.js.map +1 -1
  407. package/dist/test/unit/typecheck/typecheck-advanced.test.js +19 -18
  408. package/dist/test/unit/typecheck/typecheck-advanced.test.js.map +1 -1
  409. package/dist/test/unit/typecheck/untyped-field-dynamic.test.js +6 -4
  410. package/dist/test/unit/typecheck/untyped-field-dynamic.test.js.map +1 -1
  411. package/dist/test/unit/version.test.js +3 -3
  412. package/package.json +4 -3
  413. package/dist/src/config/lexicons/type-inference-rules.d.ts +0 -19
  414. package/dist/src/config/lexicons/type-inference-rules.d.ts.map +0 -1
  415. package/dist/src/config/lexicons/type-inference-rules.js +0 -63
  416. package/dist/src/config/lexicons/type-inference-rules.js.map +0 -1
  417. package/dist/src/core/core_ir_json.d.ts +0 -62
  418. package/dist/src/core/core_ir_json.d.ts.map +0 -1
  419. package/dist/src/core/core_ir_json.js +0 -81
  420. package/dist/src/core/core_ir_json.js.map +0 -1
  421. package/dist/test/unit/core_ir_json/core_ir_json.test.d.ts +0 -2
  422. package/dist/test/unit/core_ir_json/core_ir_json.test.d.ts.map +0 -1
  423. package/dist/test/unit/core_ir_json/core_ir_json.test.js +0 -218
  424. package/dist/test/unit/core_ir_json/core_ir_json.test.js.map +0 -1
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Core IR v2 的规范序列化出口与不变式检查(ADR 0055 §3、§5)。
3
+ *
4
+ * - `serializeCoreIr`:输出 core `CanonicalJson` 规则下的字节(键按码点升序、数组保序、
5
+ * null 显式输出、只允许 safe integer)。凡是给持久化、哈希或 parity 用的 IR 都经这里产出。
6
+ * 规范十进制串(Double.value、Range.min/max)由 lowering 负责,这里只原样转义。
7
+ * - `validateCoreIrInvariants`:schema 表达不了的约束,规则与 locales `core-ir/README.md`
8
+ * 「不变式」一节、`build.gradle.kts` 的参考实现 `coreIrInvariantProblems` 逐条对应。
9
+ *
10
+ * 本模块是纯函数,不依赖 ajv 与 Node API,可进浏览器入口;严格读入见 `read-core-ir.ts`。
11
+ */
12
+ import { canonicalJson } from './canonical-json.js';
13
+ /** 授权型具体效应名(schema `$defs/BuiltinEffect`)。 */
14
+ const BUILTIN_EFFECTS = new Set(['io', 'cpu']);
15
+ /** 保留效应名(schema `$defs/ReservedEffectName`),效应参数不得与其大小写不敏感地相同。 */
16
+ const RESERVED_EFFECT_NAMES = new Set(['io', 'cpu', 'pure', 'async']);
17
+ /** 「返回 Verdict」判定用的调用名(与 core `GovernanceChecker.returnsVerdict` 同义)。 */
18
+ const VERDICT_CALLS = new Set([
19
+ 'Verdict.allow',
20
+ 'Verdict.deny',
21
+ 'Verdict.require_approval',
22
+ 'Verdict.escalate',
23
+ ]);
24
+ /** 把 Core IR v2 模块序列化为规范字节。遇到 undefined、非 safe integer 等非规范值即抛 CanonicalJsonError。 */
25
+ export function serializeCoreIr(m) {
26
+ return canonicalJson(m);
27
+ }
28
+ /** 检查 schema 之外的不变式;输入须已通过 schema。结果按 (path, code) 排序。 */
29
+ export function validateCoreIrInvariants(m) {
30
+ const out = [];
31
+ collectDuplicateArgs(m, '', out);
32
+ const hasProfile = m.profile !== null;
33
+ m.decls.forEach((decl, i) => {
34
+ if (decl.kind === 'Func')
35
+ out.push(...funcProblems(decl, `/decls/${i}`, hasProfile));
36
+ });
37
+ return out.sort(compareProblems);
38
+ }
39
+ function compareProblems(a, b) {
40
+ if (a.path !== b.path)
41
+ return a.path < b.path ? -1 : 1;
42
+ if (a.code !== b.code)
43
+ return a.code < b.code ? -1 : 1;
44
+ return 0;
45
+ }
46
+ /** 同一注解内参数名重复:报后出现的那个参数(树中任何位置的 annotations / retAnnotations)。 */
47
+ function collectDuplicateArgs(node, path, out) {
48
+ if (Array.isArray(node)) {
49
+ node.forEach((child, i) => collectDuplicateArgs(child, `${path}/${i}`, out));
50
+ return;
51
+ }
52
+ if (node === null || typeof node !== 'object')
53
+ return;
54
+ for (const [key, child] of Object.entries(node)) {
55
+ if ((key === 'annotations' || key === 'retAnnotations') && Array.isArray(child)) {
56
+ child.forEach((ann, j) => duplicateArgsOf(ann, `${path}/${key}/${j}`, out));
57
+ }
58
+ collectDuplicateArgs(child, `${path}/${key}`, out);
59
+ }
60
+ }
61
+ function duplicateArgsOf(annotation, path, out) {
62
+ const args = annotation.args;
63
+ if (!Array.isArray(args))
64
+ return;
65
+ const seen = new Set();
66
+ args.forEach((arg, k) => {
67
+ const name = String(arg.name);
68
+ if (seen.has(name))
69
+ out.push({ path: `${path}/args/${k}`, code: 'dup-annotation-arg' });
70
+ seen.add(name);
71
+ });
72
+ }
73
+ function funcProblems(func, path, hasProfile) {
74
+ const out = [];
75
+ func.effectParams.forEach((p, k) => {
76
+ if (RESERVED_EFFECT_NAMES.has(asciiLower(p))) {
77
+ out.push({ path: `${path}/effectParams/${k}`, code: 'effect-param-shadows-builtin' });
78
+ }
79
+ });
80
+ // effects 按首次声明顺序去重:重复条目报后出现的那个;非 io / cpu 的条目必须是已声明的效应变量
81
+ const seen = new Set();
82
+ func.effects.forEach((name, k) => {
83
+ if (seen.has(name))
84
+ out.push({ path: `${path}/effects/${k}`, code: 'duplicate-effect' });
85
+ else if (!BUILTIN_EFFECTS.has(name) && !func.effectParams.includes(name)) {
86
+ out.push({ path: `${path}/effects/${k}`, code: 'undeclared-effect-var' });
87
+ }
88
+ seen.add(name);
89
+ });
90
+ // ADR 0055 #12:档案模块中返回 Verdict 的规则必须是数组,其余函数必须为 null
91
+ if (Array.isArray(func.inputRefs) !== (hasProfile && returnsVerdict(func))) {
92
+ out.push({ path: `${path}/inputRefs`, code: 'input-refs-state' });
93
+ }
94
+ return out;
95
+ }
96
+ /** 按 ASCII 大小写不敏感比较所用的小写化(保留效应名都是 ASCII)。 */
97
+ function asciiLower(s) {
98
+ return s.replace(/[A-Z]/g, ch => String.fromCharCode(ch.charCodeAt(0) + 32));
99
+ }
100
+ /** 「返回 Verdict」:ret 是 TypeName Verdict,或可达的某个 Return 是 Verdict.* 调用。 */
101
+ export function returnsVerdict(func) {
102
+ if (func.ret.kind === 'TypeName' && func.ret.name === 'Verdict')
103
+ return true;
104
+ return anyReturnIsVerdictCall(func.body);
105
+ }
106
+ function anyReturnIsVerdictCall(stmt) {
107
+ if (stmt === null)
108
+ return false;
109
+ switch (stmt.kind) {
110
+ case 'Return': {
111
+ const e = stmt.expr;
112
+ return e.kind === 'Call' && e.target.kind === 'Name' && VERDICT_CALLS.has(e.target.name);
113
+ }
114
+ case 'Block':
115
+ case 'Scope':
116
+ return stmt.statements.some(anyReturnIsVerdictCall);
117
+ case 'If':
118
+ return anyReturnIsVerdictCall(stmt.thenBlock) || anyReturnIsVerdictCall(stmt.elseBlock);
119
+ case 'Match':
120
+ return stmt.cases.some(c => anyReturnIsVerdictCall(c.body));
121
+ default:
122
+ return false;
123
+ }
124
+ }
125
+ //# sourceMappingURL=serialize-core-ir.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialize-core-ir.js","sourceRoot":"","sources":["../../../src/core/serialize-core-ir.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../../src/core/visitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW;IACX,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB,YAAY;IACZ,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAIrD;AAED,MAAM,WAAW,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI;IAExC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IACzC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IAGnD,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IACvC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IAG/C,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IACjD,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IAC5C,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;CACvC;AAED;;;;;GAKG;AACH,qBAAa,kBAAkB,CAAC,GAAG,GAAG,cAAc,CAAE,YAAW,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC;IAE9E,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IACxC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IACrD,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAI3C,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAkBrD,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAIzC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAwCjD,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;CAiDpD"}
1
+ {"version":3,"file":"visitor.d.ts","sourceRoot":"","sources":["../../../src/core/visitor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW;IACX,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB,YAAY;IACZ,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACzB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,cAAc,CAIrD;AAED,MAAM,WAAW,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI;IAExC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IACzC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IAGnD,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IACvC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IAG/C,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IACjD,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IAC5C,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;CACvC;AAED;;;;;GAKG;AACH,qBAAa,kBAAkB,CAAC,GAAG,GAAG,cAAc,CAAE,YAAW,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC;IAE9E,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IACxC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IACrD,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAI3C,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAkBrD,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAIzC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IA2CjD,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;CAiDpD"}
@@ -67,7 +67,10 @@ export class DefaultCoreVisitor {
67
67
  return;
68
68
  case 'Scope':
69
69
  // Scope 语义为嵌套 Block
70
- this.visitBlock({ kind: 'Block', statements: s.statements }, ctx);
70
+ this.visitBlock({ ...s, kind: 'Block' }, ctx);
71
+ return;
72
+ case 'Block':
73
+ this.visitBlock(s, ctx);
71
74
  return;
72
75
  case 'Start':
73
76
  this.visitExpression(s.expr, ctx);
@@ -1 +1 @@
1
- {"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../../src/core/visitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visitor.js","sourceRoot":"","sources":["../../../src/core/visitor.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,IAAI,EAAE,IAAI,GAAG,EAAE;KAChB,CAAC;AACJ,CAAC;AAiBD;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAI7B,WAAW,CAAC,CAAc,EAAE,GAAQ;QAClC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;YAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,gBAAgB,CAAC,CAAmB,EAAE,GAAQ;QAC5C,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,QAAQ;gBACX,OAAO;YACT,KAAK,MAAM;gBACT,oBAAoB;gBACpB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE;oBAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC9D,OAAO;YACT,KAAK,MAAM;gBACT,OAAO;YACT,KAAK,MAAM;gBACT,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM;oBAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACxD,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC7B,IAAI,CAAC,CAAC,IAAI;oBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACzC,OAAO;QACX,CAAC;IACH,CAAC;IAED,UAAU,CAAC,CAAa,EAAE,GAAQ;QAChC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU;YAAE,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC;IAED,cAAc,CAAC,CAAiB,EAAE,GAAQ;QACxC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,KAAK,CAAC;YACX,KAAK,KAAK,CAAC;YACX,KAAK,QAAQ;gBACX,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAClC,OAAO;YACT,KAAK,IAAI;gBACP,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAClC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAClC,IAAI,CAAC,CAAC,SAAS;oBAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBACnD,OAAO;YACT,KAAK,OAAO;gBACV,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAClC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBAC3B,IAAI,IAAI,CAAC,OAAO;wBAAE,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBACzD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;wBAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;;wBACtE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACvC,CAAC;gBACD,OAAO;YACT,KAAK,OAAO;gBACV,oBAAoB;gBACpB,IAAI,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC9C,OAAO;YACT,KAAK,OAAO;gBACV,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACxB,OAAO;YACT,KAAK,OAAO;gBACV,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAClC,OAAO;YACT,KAAK,MAAM;gBACT,OAAO;YACT,KAAK,UAAU;gBACb,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBAChC,IAAI,IAAI,CAAC,UAAU;wBAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;gBAC7D,CAAC;gBACD,OAAO;YACT;gBACE,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,eAAe,CAAC,CAAkB,EAAE,GAAQ;QAC1C,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM,CAAC;YACZ,KAAK,KAAK,CAAC;YACX,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM;gBACT,OAAO;YACT,KAAK,MAAM;gBACT,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACpC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI;oBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACrD,OAAO;YACT,KAAK,WAAW;gBACd,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM;oBAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC5D,OAAO;YACT,KAAK,IAAI,CAAC;YACV,KAAK,KAAK,CAAC;YACX,KAAK,MAAM;gBACT,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAClC,OAAO;YACT,KAAK,OAAO;gBACV,kDAAkD;gBAClD,uCAAuC;gBACvC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAClC,OAAO;YACT,KAAK,QAAQ;gBACX,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7B,OAAO;YACT,KAAK,QAAQ;gBACX,wDAAwD;gBACxD,gBAAgB;gBAChB,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAClC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACnC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACnC,OAAO;YACT,KAAK,SAAS;gBACZ,8CAA8C;gBAC9C,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ;oBAAE,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC3D,OAAO;YACT;gBACE,iDAAiD;gBACjD,iCAAiC;gBACjC,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;CACF;AAED,SAAS,qBAAqB,CAAC,CAAQ;IACrC,MAAM,IAAI,KAAK,CACb,uEAAuE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAC3F,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAQ;IACpC,MAAM,IAAI,KAAK,CACb,qEAAqE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CACzF,CAAC;AACJ,CAAC"}
@@ -74,6 +74,7 @@ export declare const enum ErrorCode {
74
74
  EFFECT_VAR_UNDECLARED = "E210",
75
75
  EFFECT_VAR_UNRESOLVED = "E211",
76
76
  EFF_INFER_UNKNOWN_BUILTIN = "E212",
77
+ EFFECT_PARAM_SHADOWS_BUILTIN = "E213",
77
78
  CAPABILITY_NOT_ALLOWED = "E300",
78
79
  EFF_CAP_MISSING = "E301",
79
80
  EFF_CAP_SUPERFLUOUS = "E302",
@@ -122,6 +123,7 @@ export declare const enum ErrorCode {
122
123
  AMBIGUOUS_FIELD = "E805",
123
124
  AMBIGUOUS_PATTERN = "E806",
124
125
  DUPLICATE_DECLARATION = "E807",
126
+ PARSE_DUPLICATE_ANNOTATION_ARG = "E900",
125
127
  SHADOWED_VOCABULARY = "W800",
126
128
  RESOLVED_WITHOUT_TYPE = "W801"
127
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"error_codes.d.ts","sourceRoot":"","sources":["../../../src/diagnostics/error_codes.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,YAAY,GAAG,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,UAAU,GAAG,YAAY,CAAC;AAChI,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAEzD,0BAAkB,SAAS;IACzB,aAAa,SAAS;IACtB,oBAAoB,SAAS;IAC7B,oBAAoB,SAAS;IAC7B,mBAAmB,SAAS;IAC5B,iBAAiB,SAAS;IAC1B,uBAAuB,SAAS;IAChC,oBAAoB,SAAS;IAC7B,kBAAkB,SAAS;IAC3B,qBAAqB,SAAS;IAC9B,oBAAoB,SAAS;IAC7B,aAAa,SAAS;IACtB,mBAAmB,SAAS;IAC5B,sBAAsB,SAAS;IAC/B,cAAc,SAAS;IACvB,UAAU,SAAS;IACnB,mBAAmB,SAAS;IAC5B,oBAAoB,SAAS;IAC7B,mBAAmB,SAAS;IAC5B,yBAAyB,SAAS;IAClC,0BAA0B,SAAS;IACnC,iBAAiB,SAAS;IAC1B,wBAAwB,SAAS;IACjC,2BAA2B,SAAS;IACpC,sBAAsB,SAAS;IAC/B,wBAAwB,SAAS;IACjC,0BAA0B,SAAS;IACnC,8BAA8B,SAAS;IACvC,yBAAyB,SAAS;IAClC,gCAAgC,SAAS;IACzC,4BAA4B,SAAS;IACrC,qBAAqB,SAAS;IAC9B,mBAAmB,SAAS;IAC5B,0BAA0B,SAAS;IACnC,yBAAyB,SAAS;IAClC,iBAAiB,SAAS;IAC1B,0BAA0B,SAAS;IACnC,sBAAsB,SAAS;IAC/B,cAAc,SAAS;IACvB,oBAAoB,SAAS;IAC7B,iBAAiB,SAAS;IAC1B,uBAAuB,SAAS;IAChC,4BAA4B,SAAS;IACrC,qBAAqB,SAAS;IAC9B,sBAAsB,SAAS;IAC/B,0BAA0B,SAAS;IACnC,eAAe,SAAS;IACxB,0BAA0B,SAAS;IACnC,eAAe,SAAS;IACxB,iBAAiB,SAAS;IAC1B,mBAAmB,SAAS;IAC5B,gBAAgB,SAAS;IACzB,kBAAkB,SAAS;IAC3B,oBAAoB,SAAS;IAC7B,oBAAoB,SAAS;IAC7B,iBAAiB,SAAS;IAC1B,sBAAsB,SAAS;IAC/B,kBAAkB,SAAS;IAC3B,oBAAoB,SAAS;IAC7B,sBAAsB,SAAS;IAC/B,gBAAgB,SAAS;IACzB,cAAc,SAAS;IACvB,eAAe,SAAS;IACxB,2BAA2B,SAAS;IACpC,kBAAkB,SAAS;IAC3B,mBAAmB,SAAS;IAC5B,oBAAoB,SAAS;IAC7B,qBAAqB,SAAS;IAC9B,sBAAsB,SAAS;IAC/B,uBAAuB,SAAS;IAChC,+BAA+B,SAAS;IACxC,qBAAqB,SAAS;IAC9B,qBAAqB,SAAS;IAC9B,yBAAyB,SAAS;IAClC,sBAAsB,SAAS;IAC/B,eAAe,SAAS;IACxB,mBAAmB,SAAS;IAC5B,2BAA2B,SAAS;IACpC,4BAA4B,SAAS;IACrC,oBAAoB,SAAS;IAC7B,sBAAsB,SAAS;IAC/B,wBAAwB,SAAS;IACjC,yBAAyB,SAAS;IAClC,mBAAmB,SAAS;IAC5B,sBAAsB,SAAS;IAC/B,sBAAsB,SAAS;IAC/B,qBAAqB,SAAS;IAC9B,oBAAoB,SAAS;IAC7B,uBAAuB,SAAS;IAChC,uBAAuB,SAAS;IAChC,oBAAoB,SAAS;IAC7B,uBAAuB,SAAS;IAChC,uBAAuB,SAAS;IAChC,0BAA0B,SAAS;IACnC,uBAAuB,SAAS;IAChC,oBAAoB,SAAS;IAC7B,oBAAoB,SAAS;IAC7B,gBAAgB,SAAS;IACzB,2BAA2B,SAAS;IACpC,6BAA6B,SAAS;IACtC,2BAA2B,SAAS;IACpC,qBAAqB,SAAS;IAC9B,0BAA0B,SAAS;IACnC,sBAAsB,SAAS;IAC/B,wBAAwB,SAAS;IACjC,mBAAmB,SAAS;IAC5B,qBAAqB,SAAS;IAC9B,qBAAqB,SAAS;IAC9B,8BAA8B,SAAS;IACvC,0BAA0B,SAAS;IACnC,2BAA2B,SAAS;IACpC,yBAAyB,SAAS;IAClC,0BAA0B,SAAS;IACnC,oBAAoB,SAAS;IAC7B,eAAe,SAAS;IACxB,gBAAgB,SAAS;IACzB,eAAe,SAAS;IACxB,kBAAkB,SAAS;IAC3B,cAAc,SAAS;IACvB,eAAe,SAAS;IACxB,iBAAiB,SAAS;IAC1B,qBAAqB,SAAS;IAC9B,mBAAmB,SAAS;IAC5B,qBAAqB,SAAS;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CA4HpD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CA61B3D,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAMnG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAE/D"}
1
+ {"version":3,"file":"error_codes.d.ts","sourceRoot":"","sources":["../../../src/diagnostics/error_codes.ts"],"names":[],"mappings":"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"}
@@ -74,6 +74,7 @@ export const ERROR_MESSAGES = {
74
74
  ["E210" /* ErrorCode.EFFECT_VAR_UNDECLARED */]: "Effect variable {var} undeclared",
75
75
  ["E211" /* ErrorCode.EFFECT_VAR_UNRESOLVED */]: "Effect variable {vars} could not be resolved to concrete effects",
76
76
  ["E212" /* ErrorCode.EFF_INFER_UNKNOWN_BUILTIN */]: "Effect of builtin '{builtin}' called by '{func}' is unknown; it is NOT assumed pure",
77
+ ["E213" /* ErrorCode.EFFECT_PARAM_SHADOWS_BUILTIN */]: "Effect parameter {name} of '{func}' has the same name as a built-in effect",
77
78
  ["E300" /* ErrorCode.CAPABILITY_NOT_ALLOWED */]: "Function '{func}' requires {cap} capability but manifest for module '{module}' denies it.",
78
79
  ["E301" /* ErrorCode.EFF_CAP_MISSING */]: "Function '{func}' uses {cap} capability but header declares [{declared}].",
79
80
  ["E302" /* ErrorCode.EFF_CAP_SUPERFLUOUS */]: "Function '{func}' declares {cap} capability but it is not used.",
@@ -122,6 +123,7 @@ export const ERROR_MESSAGES = {
122
123
  ["E805" /* ErrorCode.AMBIGUOUS_FIELD */]: "Field '{written}' in {role} position is ambiguous between: {candidates}",
123
124
  ["E806" /* ErrorCode.AMBIGUOUS_PATTERN */]: "Pattern '{written}' in {role} position is ambiguous between: {candidates}",
124
125
  ["E807" /* ErrorCode.DUPLICATE_DECLARATION */]: "Duplicate declaration of '{written}' in {role} position",
126
+ ["E900" /* ErrorCode.PARSE_DUPLICATE_ANNOTATION_ARG */]: "Annotation @{annotation} repeats the argument {name}",
125
127
  ["W800" /* ErrorCode.SHADOWED_VOCABULARY */]: "Declaration '{written}' in {role} position shadows a vocabulary entry",
126
128
  ["W801" /* ErrorCode.RESOLVED_WITHOUT_TYPE */]: "Resolved '{written}' in {role} position without a known receiver type",
127
129
  };
@@ -637,6 +639,13 @@ export const ERROR_METADATA = {
637
639
  message: "Effect of builtin '{builtin}' called by '{func}' is unknown; it is NOT assumed pure",
638
640
  help: "Declare it via ASTER_EFFECT_CONFIG prefixes, supply an imported effect signature, or use a known stdlib namespace.",
639
641
  },
642
+ ["E213" /* ErrorCode.EFFECT_PARAM_SHADOWS_BUILTIN */]: {
643
+ code: "E213" /* ErrorCode.EFFECT_PARAM_SHADOWS_BUILTIN */,
644
+ category: 'type',
645
+ severity: 'error',
646
+ message: "Effect parameter {name} of '{func}' has the same name as a built-in effect",
647
+ help: "Rename the effect parameter; the effect names io, cpu, pure and async are reserved in any letter case.",
648
+ },
640
649
  ["E300" /* ErrorCode.CAPABILITY_NOT_ALLOWED */]: {
641
650
  code: "E300" /* ErrorCode.CAPABILITY_NOT_ALLOWED */,
642
651
  category: 'capability',
@@ -972,6 +981,13 @@ export const ERROR_METADATA = {
972
981
  message: "Duplicate declaration of '{written}' in {role} position",
973
982
  help: "Rename one of the declarations or remove the duplicate.",
974
983
  },
984
+ ["E900" /* ErrorCode.PARSE_DUPLICATE_ANNOTATION_ARG */]: {
985
+ code: "E900" /* ErrorCode.PARSE_DUPLICATE_ANNOTATION_ARG */,
986
+ category: 'syntax',
987
+ severity: 'error',
988
+ message: "Annotation @{annotation} repeats the argument {name}",
989
+ help: "Give each named argument of an annotation at most once.",
990
+ },
975
991
  ["W800" /* ErrorCode.SHADOWED_VOCABULARY */]: {
976
992
  code: "W800" /* ErrorCode.SHADOWED_VOCABULARY */,
977
993
  category: 'scope',
@@ -1 +1 @@
1
- {"version":3,"file":"error_codes.js","sourceRoot":"","sources":["../../../src/diagnostics/error_codes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error_codes.js","sourceRoot":"","sources":["../../../src/diagnostics/error_codes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Core IR v2 的 `Func.effects`(ADR 0055 #5)到效应检查用的效应引用。
3
+ *
4
+ * v2 的 effects 只含授权型具体效应 `io` / `cpu`(小写)与已声明的效应变量(名字等于 effectParams 中某项),
5
+ * 不再有 declaredEffects。这里把小写名映射回 Effect 枚举、把效应变量映射为 EffectVar;
6
+ * 其余名字(只可能出现在手工构造的 IR 中)按 pure 处理,与 core EffectChecker 一致。
7
+ * 纯函数,Node 与浏览器两份效应推断共用。
8
+ */
9
+ import { Effect } from '../types.js';
10
+ import type { Core, Ty } from '../types.js';
11
+ /** 一个函数声明的效应:具体效应枚举或效应变量。 */
12
+ export type DeclaredEffect = Effect | Ty.EffectVar;
13
+ /** 按源码顺序返回函数声明的效应。 */
14
+ export declare function declaredEffectsOf(func: Pick<Core.Func, 'effects' | 'effectParams'>): DeclaredEffect[];
15
+ /** 函数是否声明了某个具体效应(io / cpu)。 */
16
+ export declare function declaresEffect(func: Pick<Core.Func, 'effects'>, effect: 'io' | 'cpu'): boolean;
17
+ //# sourceMappingURL=declared-effects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declared-effects.d.ts","sourceRoot":"","sources":["../../../src/effects/declared-effects.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAE5C,6BAA6B;AAC7B,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC;AAEnD,sBAAsB;AACtB,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,GAAG,cAAc,CAAC,GAAG,cAAc,EAAE,CAQrG;AAED,+BAA+B;AAC/B,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,OAAO,CAE9F"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Core IR v2 的 `Func.effects`(ADR 0055 #5)到效应检查用的效应引用。
3
+ *
4
+ * v2 的 effects 只含授权型具体效应 `io` / `cpu`(小写)与已声明的效应变量(名字等于 effectParams 中某项),
5
+ * 不再有 declaredEffects。这里把小写名映射回 Effect 枚举、把效应变量映射为 EffectVar;
6
+ * 其余名字(只可能出现在手工构造的 IR 中)按 pure 处理,与 core EffectChecker 一致。
7
+ * 纯函数,Node 与浏览器两份效应推断共用。
8
+ */
9
+ import { Effect } from '../types.js';
10
+ /** 按源码顺序返回函数声明的效应。 */
11
+ export function declaredEffectsOf(func) {
12
+ const params = new Set(func.effectParams);
13
+ return func.effects.map((name) => {
14
+ if (params.has(name))
15
+ return { kind: 'EffectVar', name };
16
+ if (name === 'io')
17
+ return Effect.IO;
18
+ if (name === 'cpu')
19
+ return Effect.CPU;
20
+ return Effect.PURE;
21
+ });
22
+ }
23
+ /** 函数是否声明了某个具体效应(io / cpu)。 */
24
+ export function declaresEffect(func, effect) {
25
+ return func.effects.includes(effect);
26
+ }
27
+ //# sourceMappingURL=declared-effects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declared-effects.js","sourceRoot":"","sources":["../../../src/effects/declared-effects.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAMrC,sBAAsB;AACtB,MAAM,UAAU,iBAAiB,CAAC,IAAiD;IACjF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAkB,EAAE;QAC/C,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QACzD,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,EAAE,CAAC;QACpC,IAAI,IAAI,KAAK,KAAK;YAAE,OAAO,MAAM,CAAC,GAAG,CAAC;QACtC,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,+BAA+B;AAC/B,MAAM,UAAU,cAAc,CAAC,IAAgC,EAAE,MAAoB;IACnF,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"effect_inference.d.ts","sourceRoot":"","sources":["../../../src/effects/effect_inference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAOrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE9E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA6DD,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,4GAA4G;IAC5G,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAC/D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,mBAAmB,EAAE,CA4HvG"}
1
+ {"version":3,"file":"effect_inference.d.ts","sourceRoot":"","sources":["../../../src/effects/effect_inference.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAY,MAAM,aAAa,CAAC;AAQ/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE9E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA6DD,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,4GAA4G;IAC5G,qBAAqB,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;CAC/D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,mBAAmB,EAAE,CAyHvG"}
@@ -1,4 +1,5 @@
1
1
  import { Effect } from '../types.js';
2
+ import { declaredEffectsOf } from './declared-effects.js';
2
3
  import { getIOPrefixes, getCPUPrefixes } from '../config/effect_config.js';
3
4
  import { DefaultCoreVisitor, createVisitorContext } from '../core/visitor.js';
4
5
  import { resolveAlias } from '../typecheck/utils.js';
@@ -62,9 +63,7 @@ export function inferEffects(core, options) {
62
63
  effectParams.set(func.name, paramSet);
63
64
  bindings.set(func.name, initBindings(paramSet));
64
65
  const declared = new Set();
65
- const declaredSource = func.declaredEffects ??
66
- func.effects;
67
- for (const eff of declaredSource)
66
+ for (const eff of declaredEffectsOf(func))
68
67
  declared.add(normalizeEffectRef(eff));
69
68
  const inferred = new Set(declared);
70
69
  const required = new Set();
@@ -100,7 +99,7 @@ export function inferEffects(core, options) {
100
99
  for (const [funcName, unknowns] of unknownBuiltinsByFunc) {
101
100
  const fn = funcIndex.get(funcName);
102
101
  for (const [builtin, origin] of unknowns) {
103
- const span = originToSpan(origin) ?? fn?.span;
102
+ const span = originToSpan(origin) ?? originToSpan(fn?.origin);
104
103
  const diag = {
105
104
  severity: 'warning',
106
105
  message: `函数 '${funcName}' 调用的 builtin '${builtin}' 效果未知,不按 pure 处理。`,
@@ -511,7 +510,7 @@ function buildDiagnostics(funcIndex, declared, inferred, required, bindings, eff
511
510
  message: `函数 '${name}' 缺少 @io 效果声明,推断要求 IO。`,
512
511
  code: "E205" /* ErrorCode.EFF_INFER_MISSING_IO */,
513
512
  help: '根据推断结果为函数添加 @io 效果。',
514
- ...(func.span ? { span: func.span } : {}),
513
+ ...spanOf(func.origin),
515
514
  data: { func: name, effect: 'io' },
516
515
  };
517
516
  diagnostics.push(diag);
@@ -522,7 +521,7 @@ function buildDiagnostics(funcIndex, declared, inferred, required, bindings, eff
522
521
  message: `函数 '${name}' 缺少 @cpu 效果声明,推断要求 CPU(或 @io)。`,
523
522
  code: "E206" /* ErrorCode.EFF_INFER_MISSING_CPU */,
524
523
  help: '根据推断结果补齐 @cpu 或 @io 效果。',
525
- ...(func.span ? { span: func.span } : {}),
524
+ ...spanOf(func.origin),
526
525
  data: { func: name, effect: 'cpu' },
527
526
  };
528
527
  diagnostics.push(diag);
@@ -535,7 +534,7 @@ function buildDiagnostics(funcIndex, declared, inferred, required, bindings, eff
535
534
  message: `函数 '${name}' 声明了 @io,但推断未发现 IO 副作用。`,
536
535
  code: "E207" /* ErrorCode.EFF_INFER_REDUNDANT_IO */,
537
536
  help: '确认是否需要保留 @io 声明。',
538
- ...(func.span ? { span: func.span } : {}),
537
+ ...spanOf(func.origin),
539
538
  data: { func: name, effect: 'io' },
540
539
  };
541
540
  diagnostics.push(diag);
@@ -547,7 +546,7 @@ function buildDiagnostics(funcIndex, declared, inferred, required, bindings, eff
547
546
  message: `函数 '${name}' 声明了 @cpu,但推断未发现 CPU 副作用。`,
548
547
  code: "E208" /* ErrorCode.EFF_INFER_REDUNDANT_CPU */,
549
548
  help: '若无 CPU 副作用,可删除 @cpu 声明。',
550
- ...(func.span ? { span: func.span } : {}),
549
+ ...spanOf(func.origin),
551
550
  data: { func: name, effect: 'cpu' },
552
551
  };
553
552
  diagnostics.push(diag);
@@ -558,7 +557,7 @@ function buildDiagnostics(funcIndex, declared, inferred, required, bindings, eff
558
557
  message: `函数 '${name}' 同时声明 @cpu 和 @io;由于需要 @io,@cpu 可移除。`,
559
558
  code: "E209" /* ErrorCode.EFF_INFER_REDUNDANT_CPU_WITH_IO */,
560
559
  help: '保留 @io 即可满足需求,移除多余的 @cpu。',
561
- ...(func.span ? { span: func.span } : {}),
560
+ ...spanOf(func.origin),
562
561
  data: { func: name, effect: 'cpu' },
563
562
  };
564
563
  diagnostics.push(diag);
@@ -579,7 +578,7 @@ function buildDiagnostics(funcIndex, declared, inferred, required, bindings, eff
579
578
  code: "E211" /* ErrorCode.EFFECT_VAR_UNRESOLVED */,
580
579
  message: `效应变量 ${unresolved.join(', ')} 无法推断出具体效果`,
581
580
  help: '参考调用或声明补充明确的效果(pure/cpu/io/workflow),或移除未使用的效应变量。',
582
- ...(func.span ? { span: func.span } : {}),
581
+ ...spanOf(func.origin),
583
582
  data: { func: name, vars: unresolved },
584
583
  };
585
584
  diagnostics.push(diag);
@@ -614,4 +613,9 @@ function toEffectSet(source) {
614
613
  }
615
614
  return result;
616
615
  }
616
+ /** 有源码位置时给出 `{ span }`,否则不带 span 键(exactOptionalPropertyTypes)。 */
617
+ function spanOf(origin) {
618
+ const span = originToSpan(origin);
619
+ return span ? { span } : {};
620
+ }
617
621
  //# sourceMappingURL=effect_inference.js.map