@aster-cloud/aster-lang-ts 1.2.4 → 1.2.6

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 (161) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/dist/scripts/generate_error_codes.js +3 -0
  3. package/dist/scripts/generate_error_codes.js.map +1 -1
  4. package/dist/src/browser.d.ts +18 -0
  5. package/dist/src/browser.d.ts.map +1 -1
  6. package/dist/src/browser.js +13 -18
  7. package/dist/src/browser.js.map +1 -1
  8. package/dist/src/cli/utils/error-handler.js +1 -1
  9. package/dist/src/cli/utils/error-handler.js.map +1 -1
  10. package/dist/src/config/semantic.d.ts +12 -1
  11. package/dist/src/config/semantic.d.ts.map +1 -1
  12. package/dist/src/config/semantic.js +20 -1
  13. package/dist/src/config/semantic.js.map +1 -1
  14. package/dist/src/core/interpreter.js +28 -3
  15. package/dist/src/core/interpreter.js.map +1 -1
  16. package/dist/src/core/resolve-typed-references.d.ts.map +1 -1
  17. package/dist/src/core/resolve-typed-references.js +34 -22
  18. package/dist/src/core/resolve-typed-references.js.map +1 -1
  19. package/dist/src/diagnostics/diagnostics.d.ts +33 -2
  20. package/dist/src/diagnostics/diagnostics.d.ts.map +1 -1
  21. package/dist/src/diagnostics/diagnostics.js +47 -1
  22. package/dist/src/diagnostics/diagnostics.js.map +1 -1
  23. package/dist/src/diagnostics/error_codes.d.ts +21 -1
  24. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  25. package/dist/src/diagnostics/error_codes.js +160 -0
  26. package/dist/src/diagnostics/error_codes.js.map +1 -1
  27. package/dist/src/frontend/lexer.js +1 -1
  28. package/dist/src/frontend/lexer.js.map +1 -1
  29. package/dist/src/frontend/resolve-declarations.d.ts.map +1 -1
  30. package/dist/src/frontend/resolve-declarations.js +24 -1
  31. package/dist/src/frontend/resolve-declarations.js.map +1 -1
  32. package/dist/src/lsp/completion.d.ts +2 -2
  33. package/dist/src/lsp/completion.d.ts.map +1 -1
  34. package/dist/src/lsp/completion.js +65 -55
  35. package/dist/src/lsp/completion.js.map +1 -1
  36. package/dist/src/lsp/diagnostics.d.ts.map +1 -1
  37. package/dist/src/lsp/diagnostics.js +4 -0
  38. package/dist/src/lsp/diagnostics.js.map +1 -1
  39. package/dist/src/lsp/member-completion.d.ts +10 -0
  40. package/dist/src/lsp/member-completion.d.ts.map +1 -1
  41. package/dist/src/lsp/member-completion.js +25 -10
  42. package/dist/src/lsp/member-completion.js.map +1 -1
  43. package/dist/src/parser/constraint-parser.d.ts +2 -1
  44. package/dist/src/parser/constraint-parser.d.ts.map +1 -1
  45. package/dist/src/parser/constraint-parser.js +9 -7
  46. package/dist/src/parser/constraint-parser.js.map +1 -1
  47. package/dist/src/parser/context.d.ts.map +1 -1
  48. package/dist/src/parser/context.js +1 -0
  49. package/dist/src/parser/context.js.map +1 -1
  50. package/dist/src/parser/decl-parser.d.ts +4 -3
  51. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  52. package/dist/src/parser/decl-parser.js +19 -17
  53. package/dist/src/parser/decl-parser.js.map +1 -1
  54. package/dist/src/parser/expr-stmt-parser.d.ts +10 -9
  55. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  56. package/dist/src/parser/expr-stmt-parser.js +96 -90
  57. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  58. package/dist/src/parser/field-variant-parser.d.ts +4 -3
  59. package/dist/src/parser/field-variant-parser.d.ts.map +1 -1
  60. package/dist/src/parser/field-variant-parser.js +3 -2
  61. package/dist/src/parser/field-variant-parser.js.map +1 -1
  62. package/dist/src/parser/import-parser.d.ts +5 -5
  63. package/dist/src/parser/import-parser.d.ts.map +1 -1
  64. package/dist/src/parser/import-parser.js +4 -3
  65. package/dist/src/parser/import-parser.js.map +1 -1
  66. package/dist/src/parser/parse-issue.d.ts +44 -0
  67. package/dist/src/parser/parse-issue.d.ts.map +1 -0
  68. package/dist/src/parser/parse-issue.js +37 -0
  69. package/dist/src/parser/parse-issue.js.map +1 -0
  70. package/dist/src/parser/parser-tools.d.ts +5 -5
  71. package/dist/src/parser/parser-tools.d.ts.map +1 -1
  72. package/dist/src/parser/parser-tools.js +20 -7
  73. package/dist/src/parser/parser-tools.js.map +1 -1
  74. package/dist/src/parser/type-parser.d.ts +4 -3
  75. package/dist/src/parser/type-parser.d.ts.map +1 -1
  76. package/dist/src/parser/type-parser.js +18 -16
  77. package/dist/src/parser/type-parser.js.map +1 -1
  78. package/dist/src/typecheck/browser.d.ts.map +1 -1
  79. package/dist/src/typecheck/browser.js +4 -10
  80. package/dist/src/typecheck/browser.js.map +1 -1
  81. package/dist/src/typecheck/context.d.ts.map +1 -1
  82. package/dist/src/typecheck/context.js +5 -2
  83. package/dist/src/typecheck/context.js.map +1 -1
  84. package/dist/src/typecheck/expression.d.ts.map +1 -1
  85. package/dist/src/typecheck/expression.js +12 -9
  86. package/dist/src/typecheck/expression.js.map +1 -1
  87. package/dist/src/typecheck/generics.d.ts.map +1 -1
  88. package/dist/src/typecheck/generics.js +2 -26
  89. package/dist/src/typecheck/generics.js.map +1 -1
  90. package/dist/src/typecheck/module.d.ts.map +1 -1
  91. package/dist/src/typecheck/module.js +4 -9
  92. package/dist/src/typecheck/module.js.map +1 -1
  93. package/dist/src/typecheck/pattern.d.ts.map +1 -1
  94. package/dist/src/typecheck/pattern.js +5 -4
  95. package/dist/src/typecheck/pattern.js.map +1 -1
  96. package/dist/src/typecheck/pure.d.ts +6 -2
  97. package/dist/src/typecheck/pure.d.ts.map +1 -1
  98. package/dist/src/typecheck/pure.js +19 -2
  99. package/dist/src/typecheck/pure.js.map +1 -1
  100. package/dist/src/typecheck/statement.d.ts +8 -0
  101. package/dist/src/typecheck/statement.d.ts.map +1 -1
  102. package/dist/src/typecheck/statement.js +60 -3
  103. package/dist/src/typecheck/statement.js.map +1 -1
  104. package/dist/src/typecheck/workflow.d.ts.map +1 -1
  105. package/dist/src/typecheck/workflow.js +23 -34
  106. package/dist/src/typecheck/workflow.js.map +1 -1
  107. package/dist/test/integration/lsp/lsp-completion.test.js +3 -1
  108. package/dist/test/integration/lsp/lsp-completion.test.js.map +1 -1
  109. package/dist/test/integration/scripts/typecheck-cli-repl.test.js +2 -1
  110. package/dist/test/integration/scripts/typecheck-cli-repl.test.js.map +1 -1
  111. package/dist/test/unit/diagnostics/diagnostic-overlays.test.js +8 -0
  112. package/dist/test/unit/diagnostics/diagnostic-overlays.test.js.map +1 -1
  113. package/dist/test/unit/diagnostics/legacy-codes.test.d.ts +6 -0
  114. package/dist/test/unit/diagnostics/legacy-codes.test.d.ts.map +1 -0
  115. package/dist/test/unit/diagnostics/legacy-codes.test.js +81 -0
  116. package/dist/test/unit/diagnostics/legacy-codes.test.js.map +1 -0
  117. package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.d.ts +9 -0
  118. package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.d.ts.map +1 -0
  119. package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.js +121 -0
  120. package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.js.map +1 -0
  121. package/dist/test/unit/frontend/resolve-declarations.test.js +47 -0
  122. package/dist/test/unit/frontend/resolve-declarations.test.js.map +1 -1
  123. package/dist/test/unit/int-pattern-decimal.test.d.ts +2 -0
  124. package/dist/test/unit/int-pattern-decimal.test.d.ts.map +1 -0
  125. package/dist/test/unit/int-pattern-decimal.test.js +54 -0
  126. package/dist/test/unit/int-pattern-decimal.test.js.map +1 -0
  127. package/dist/test/unit/lsp/completion-lexicon.test.js +1 -1
  128. package/dist/test/unit/lsp/completion-lexicon.test.js.map +1 -1
  129. package/dist/test/unit/lsp/completion-list.test.d.ts +2 -0
  130. package/dist/test/unit/lsp/completion-list.test.d.ts.map +1 -0
  131. package/dist/test/unit/lsp/completion-list.test.js +64 -0
  132. package/dist/test/unit/lsp/completion-list.test.js.map +1 -0
  133. package/dist/test/unit/lsp/member-completion.test.js +99 -1
  134. package/dist/test/unit/lsp/member-completion.test.js.map +1 -1
  135. package/dist/test/unit/lsp/resolution-completion.test.js +2 -2
  136. package/dist/test/unit/lsp/resolution-completion.test.js.map +1 -1
  137. package/dist/test/unit/lsp/resolution-diagnostics.test.js +4 -2
  138. package/dist/test/unit/lsp/resolution-diagnostics.test.js.map +1 -1
  139. package/dist/test/unit/parser/depth-limit.test.js +3 -3
  140. package/dist/test/unit/parser/depth-limit.test.js.map +1 -1
  141. package/dist/test/unit/parser/parser.test.js +4 -1
  142. package/dist/test/unit/parser/parser.test.js.map +1 -1
  143. package/dist/test/unit/rule-call-checks.test.js +11 -5
  144. package/dist/test/unit/rule-call-checks.test.js.map +1 -1
  145. package/dist/test/unit/typecheck/java-parity-281.test.d.ts +2 -0
  146. package/dist/test/unit/typecheck/java-parity-281.test.d.ts.map +1 -0
  147. package/dist/test/unit/typecheck/java-parity-281.test.js +87 -0
  148. package/dist/test/unit/typecheck/java-parity-281.test.js.map +1 -0
  149. package/dist/test/unit/typecheck/regression-fixes.test.js +2 -2
  150. package/dist/test/unit/typecheck/regression-fixes.test.js.map +1 -1
  151. package/dist/test/unit/typecheck/return-paths.test.d.ts +2 -0
  152. package/dist/test/unit/typecheck/return-paths.test.d.ts.map +1 -0
  153. package/dist/test/unit/typecheck/return-paths.test.js +54 -0
  154. package/dist/test/unit/typecheck/return-paths.test.js.map +1 -0
  155. package/dist/test/unit/typecheck/typecheck-advanced.test.js +2 -2
  156. package/dist/test/unit/typecheck/typecheck-advanced.test.js.map +1 -1
  157. package/dist/test/unit/typecheck-followups.test.d.ts +2 -0
  158. package/dist/test/unit/typecheck-followups.test.d.ts.map +1 -0
  159. package/dist/test/unit/typecheck-followups.test.js +165 -0
  160. package/dist/test/unit/typecheck-followups.test.js.map +1 -0
  161. package/package.json +1 -1
@@ -0,0 +1,44 @@
1
+ /**
2
+ * 解析诊断的「码 + 命名参数 + 英文消息」三元组(ADR 0051 §16 R56)。
3
+ *
4
+ * 解析器的每个报错点都必须给出共享码表 E050–E069 中的一个码与命名参数;`message` 只是英文渲染结果。
5
+ * message 必须显式给出并沿用改码前的原句:参数是结构化值(`kw.*` / `token.*`),不能直接代入英文
6
+ * 模板,且 aster-cloud 过渡期仍按英文原句反查译文。按码取译文的消费方用 code + params 渲染。
7
+ *
8
+ * 参数取值约定见 {@link ParseDiagnosticParams}:关键词 `kw.<规范关键词>`、抽象 token / 构造
9
+ * `token.<名称>`、字面片段带单引号。
10
+ */
11
+ import { ErrorCode } from '../diagnostics/error_codes.js';
12
+ import type { ParseDiagnosticParams } from '../diagnostics/diagnostics.js';
13
+ import type { Token } from '../types.js';
14
+ export interface ParseIssue {
15
+ readonly code: ErrorCode;
16
+ readonly params: ParseDiagnosticParams;
17
+ readonly message: string;
18
+ }
19
+ /** 报告解析错误并中止。所有解析器报错点统一使用此签名(不再接受裸字符串)。 */
20
+ export type ParseErrorFn = (issue: ParseIssue, tok?: Token) => never;
21
+ /** 关键词槽位参数。 */
22
+ export declare const kwParam: (canonical: string) => string;
23
+ /** 抽象 token / 语法构造参数。 */
24
+ export declare const tokenName: (name: string) => string;
25
+ /** 字面片段参数(带单引号)。 */
26
+ export declare const lit: (text: string) => string;
27
+ /** 每个码一个构造函数;参数名与 shared/error_codes.json 模板一一对应。 */
28
+ export declare const Issue: {
29
+ readonly expected: (token: string, message: string) => ParseIssue;
30
+ readonly expectedAfter: (token: string, after: string, message: string) => ParseIssue;
31
+ readonly expectedIn: (token: string, context: string, message: string) => ParseIssue;
32
+ readonly expectedAfterIn: (token: string, after: string, context: string, message: string) => ParseIssue;
33
+ readonly expectedStatementEnd: (token: string, message: string) => ParseIssue;
34
+ readonly unexpected: (token: string, message: string) => ParseIssue;
35
+ readonly unexpectedConstruct: (construct: string, message: string) => ParseIssue;
36
+ readonly misplaced: (construct: string, position: string, message: string) => ParseIssue;
37
+ readonly emptyBlock: (block: string, item: string, message: string) => ParseIssue;
38
+ readonly invalidValue: (construct: string, value: string | number, allowed: string, message: string) => ParseIssue;
39
+ readonly callArity: (callee: string, expected: number, actual: number, message: string) => ParseIssue;
40
+ readonly unknownName: (kind: string, name: string, message: string) => ParseIssue;
41
+ };
42
+ /** 源码 token 作为字面片段参数(取其文本;无文本时取词法种类)。 */
43
+ export declare const tokenLit: (tok: Token) => string;
44
+ //# sourceMappingURL=parse-issue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-issue.d.ts","sourceRoot":"","sources":["../../../src/parser/parse-issue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,2CAA2C;AAC3C,MAAM,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC;AAMrE,eAAe;AACf,eAAO,MAAM,OAAO,GAAI,WAAW,MAAM,KAAG,MAAyC,CAAC;AACtF,yBAAyB;AACzB,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,KAAG,MAAyB,CAAC;AACnE,oBAAoB;AACpB,eAAO,MAAM,GAAG,GAAI,MAAM,MAAM,KAAG,MAAqB,CAAC;AAEzD,qDAAqD;AACrD,eAAO,MAAM,KAAK;+BACE,MAAM,WAAW,MAAM,KAAG,UAAU;oCAE/B,MAAM,SAAS,MAAM,WAAW,MAAM,KAAG,UAAU;iCAEtD,MAAM,WAAW,MAAM,WAAW,MAAM,KAAG,UAAU;sCAEhD,MAAM,SAAS,MAAM,WAAW,MAAM,WAAW,MAAM,KAAG,UAAU;2CAE/D,MAAM,WAAW,MAAM,KAAG,UAAU;iCAE9C,MAAM,WAAW,MAAM,KAAG,UAAU;8CAEvB,MAAM,WAAW,MAAM,KAAG,UAAU;oCAE9C,MAAM,YAAY,MAAM,WAAW,MAAM,KAAG,UAAU;iCAEzD,MAAM,QAAQ,MAAM,WAAW,MAAM,KAAG,UAAU;uCAE5C,MAAM,SAAS,MAAM,GAAG,MAAM,WAAW,MAAM,WAAW,MAAM,KAAG,UAAU;iCAEnF,MAAM,YAAY,MAAM,UAAU,MAAM,WAAW,MAAM,KAAG,UAAU;iCAEtE,MAAM,QAAQ,MAAM,WAAW,MAAM,KAAG,UAAU;CAE9D,CAAC;AAEX,yCAAyC;AACzC,eAAO,MAAM,QAAQ,GAAI,KAAK,KAAK,KAAG,MAA4C,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * 解析诊断的「码 + 命名参数 + 英文消息」三元组(ADR 0051 §16 R56)。
3
+ *
4
+ * 解析器的每个报错点都必须给出共享码表 E050–E069 中的一个码与命名参数;`message` 只是英文渲染结果。
5
+ * message 必须显式给出并沿用改码前的原句:参数是结构化值(`kw.*` / `token.*`),不能直接代入英文
6
+ * 模板,且 aster-cloud 过渡期仍按英文原句反查译文。按码取译文的消费方用 code + params 渲染。
7
+ *
8
+ * 参数取值约定见 {@link ParseDiagnosticParams}:关键词 `kw.<规范关键词>`、抽象 token / 构造
9
+ * `token.<名称>`、字面片段带单引号。
10
+ */
11
+ function issue(code, params, message) {
12
+ return { code, params, message };
13
+ }
14
+ /** 关键词槽位参数。 */
15
+ export const kwParam = (canonical) => `kw.${canonical.toLowerCase()}`;
16
+ /** 抽象 token / 语法构造参数。 */
17
+ export const tokenName = (name) => `token.${name}`;
18
+ /** 字面片段参数(带单引号)。 */
19
+ export const lit = (text) => `'${text}'`;
20
+ /** 每个码一个构造函数;参数名与 shared/error_codes.json 模板一一对应。 */
21
+ export const Issue = {
22
+ expected: (token, message) => issue("E055" /* ErrorCode.PARSE_EXPECTED */, { token }, message),
23
+ expectedAfter: (token, after, message) => issue("E056" /* ErrorCode.PARSE_EXPECTED_AFTER */, { token, after }, message),
24
+ expectedIn: (token, context, message) => issue("E057" /* ErrorCode.PARSE_EXPECTED_IN */, { token, context }, message),
25
+ expectedAfterIn: (token, after, context, message) => issue("E058" /* ErrorCode.PARSE_EXPECTED_AFTER_IN */, { token, after, context }, message),
26
+ expectedStatementEnd: (token, message) => issue("E059" /* ErrorCode.PARSE_EXPECTED_STATEMENT_END */, { token }, message),
27
+ unexpected: (token, message) => issue("E061" /* ErrorCode.PARSE_UNEXPECTED_TOKEN */, { token }, message),
28
+ unexpectedConstruct: (construct, message) => issue("E064" /* ErrorCode.PARSE_UNEXPECTED_CONSTRUCT */, { construct }, message),
29
+ misplaced: (construct, position, message) => issue("E065" /* ErrorCode.PARSE_MISPLACED */, { construct, position }, message),
30
+ emptyBlock: (block, item, message) => issue("E066" /* ErrorCode.PARSE_EMPTY_BLOCK */, { block, item }, message),
31
+ invalidValue: (construct, value, allowed, message) => issue("E067" /* ErrorCode.PARSE_INVALID_VALUE */, { construct, value, allowed }, message),
32
+ callArity: (callee, expected, actual, message) => issue("E068" /* ErrorCode.PARSE_CALL_ARITY */, { callee, expected, actual }, message),
33
+ unknownName: (kind, name, message) => issue("E069" /* ErrorCode.PARSE_UNKNOWN_NAME */, { kind, name }, message),
34
+ };
35
+ /** 源码 token 作为字面片段参数(取其文本;无文本时取词法种类)。 */
36
+ export const tokenLit = (tok) => lit(String(tok.value ?? tok.kind));
37
+ //# sourceMappingURL=parse-issue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-issue.js","sourceRoot":"","sources":["../../../src/parser/parse-issue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAeH,SAAS,KAAK,CAAC,IAAe,EAAE,MAA6B,EAAE,OAAe;IAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AACnC,CAAC;AAED,eAAe;AACf,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAU,EAAE,CAAC,MAAM,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;AACtF,yBAAyB;AACzB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC;AACnE,oBAAoB;AACpB,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC;AAEzD,qDAAqD;AACrD,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,QAAQ,EAAE,CAAC,KAAa,EAAE,OAAe,EAAc,EAAE,CACvD,KAAK,wCAA2B,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC;IACrD,aAAa,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,OAAe,EAAc,EAAE,CAC3E,KAAK,8CAAiC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC;IAClE,UAAU,EAAE,CAAC,KAAa,EAAE,OAAe,EAAE,OAAe,EAAc,EAAE,CAC1E,KAAK,2CAA8B,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC;IACjE,eAAe,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,OAAe,EAAE,OAAe,EAAc,EAAE,CAC9F,KAAK,iDAAoC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC;IAC9E,oBAAoB,EAAE,CAAC,KAAa,EAAE,OAAe,EAAc,EAAE,CACnE,KAAK,sDAAyC,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC;IACnE,UAAU,EAAE,CAAC,KAAa,EAAE,OAAe,EAAc,EAAE,CACzD,KAAK,gDAAmC,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC;IAC7D,mBAAmB,EAAE,CAAC,SAAiB,EAAE,OAAe,EAAc,EAAE,CACtE,KAAK,oDAAuC,EAAE,SAAS,EAAE,EAAE,OAAO,CAAC;IACrE,SAAS,EAAE,CAAC,SAAiB,EAAE,QAAgB,EAAE,OAAe,EAAc,EAAE,CAC9E,KAAK,yCAA4B,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC;IACpE,UAAU,EAAE,CAAC,KAAa,EAAE,IAAY,EAAE,OAAe,EAAc,EAAE,CACvE,KAAK,2CAA8B,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC;IAC9D,YAAY,EAAE,CAAC,SAAiB,EAAE,KAAsB,EAAE,OAAe,EAAE,OAAe,EAAc,EAAE,CACxG,KAAK,6CAAgC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC;IAC9E,SAAS,EAAE,CAAC,MAAc,EAAE,QAAgB,EAAE,MAAc,EAAE,OAAe,EAAc,EAAE,CAC3F,KAAK,0CAA6B,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC;IAC1E,WAAW,EAAE,CAAC,IAAY,EAAE,IAAY,EAAE,OAAe,EAAc,EAAE,CACvE,KAAK,4CAA+B,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC;CACtD,CAAC;AAEX,yCAAyC;AACzC,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAU,EAAU,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * 解析器工具函数集合
3
3
  * 提供错误报告、期望验证和标识符解析等辅助功能
4
4
  */
5
- import type { Token } from '../types.js';
5
+ import type { ParseErrorFn, ParseIssue } from './parse-issue.js';
6
6
  import type { ParserContext } from './context.js';
7
7
  /**
8
8
  * 解析器工具函数接口
@@ -10,16 +10,16 @@ import type { ParserContext } from './context.js';
10
10
  export interface ParserTools {
11
11
  /**
12
12
  * 报告解析错误并中止
13
- * @param msg 错误消息
13
+ * @param issue 错误码、命名参数与英文消息(见 parse-issue.ts)
14
14
  * @param tok 可选的错误位置 token(默认使用当前 token)
15
15
  */
16
- error: (msg: string, tok?: Token) => never;
16
+ error: ParseErrorFn;
17
17
  /**
18
18
  * 期望并消费指定关键字
19
19
  * @param kw 期望的关键字
20
- * @param msg 错误消息
20
+ * @param issue 缺失时报告的诊断
21
21
  */
22
- expectKeyword: (kw: string, msg: string) => void;
22
+ expectKeyword: (kw: string, issue: ParseIssue) => void;
23
23
  /**
24
24
  * 期望并消费点号
25
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"parser-tools.d.ts","sourceRoot":"","sources":["../../../src/parser/parser-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC;IAE3C;;;;OAIG;IACH,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjD;;OAEG;IACH,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B;;OAEG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B;;;OAGG;IACH,UAAU,EAAE,MAAM,MAAM,CAAC;IAEzB;;;OAGG;IACH,cAAc,EAAE,MAAM,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,CAqDjE"}
1
+ {"version":3,"file":"parser-tools.d.ts","sourceRoot":"","sources":["../../../src/parser/parser-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC;IAEpB;;;;OAIG;IACH,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAEvD;;OAEG;IACH,SAAS,EAAE,MAAM,IAAI,CAAC;IAEtB;;OAEG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B;;OAEG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;IAE1B;;;OAGG;IACH,UAAU,EAAE,MAAM,MAAM,CAAC;IAEzB;;;OAGG;IACH,cAAc,EAAE,MAAM,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,WAAW,CAkEjE"}
@@ -12,18 +12,27 @@ import { tryReadTranslatedIdent } from './context.js';
12
12
  */
13
13
  export function createParserTools(ctx) {
14
14
  return {
15
- error(msg, tok = ctx.peek()) {
16
- Diagnostics.unexpectedToken(msg, tok.start).withMessage(msg).throw();
15
+ error(issue, tok = ctx.peek()) {
16
+ // 本地码 P005 作为 legacyCode 保留一个车次(aster-cloud 的启发式仍按 P005 识别)。
17
+ Diagnostics.unexpectedToken(issue.message, tok.start)
18
+ .withErrorCode(issue.code, issue.params)
19
+ .withMessage(issue.message)
20
+ .throw();
17
21
  throw new Error('unreachable');
18
22
  },
19
- expectKeyword(kw, msg) {
23
+ expectKeyword(kw, issue) {
20
24
  if (!ctx.isKeyword(kw))
21
- Diagnostics.expectedKeyword(kw, ctx.peek().start).withMessage(msg).throw();
25
+ Diagnostics.expectedKeyword(kw, ctx.peek().start)
26
+ .withErrorCode(issue.code, issue.params)
27
+ .withMessage(issue.message)
28
+ .throw();
22
29
  ctx.nextWord();
23
30
  },
24
31
  expectDot() {
25
32
  if (!ctx.at(TokenKind.DOT))
26
- Diagnostics.expectedPunctuation('.', ctx.peek().start).throw();
33
+ Diagnostics.expectedPunctuation('.', ctx.peek().start)
34
+ .withErrorCode("E059" /* ErrorCode.PARSE_EXPECTED_STATEMENT_END */, { token: "'.'" })
35
+ .throw();
27
36
  ctx.next();
28
37
  },
29
38
  expectCommaOr() {
@@ -33,7 +42,9 @@ export function createParserTools(ctx) {
33
42
  },
34
43
  expectNewline() {
35
44
  if (!ctx.at(TokenKind.NEWLINE))
36
- Diagnostics.expectedToken('newline', ctx.peek().kind, ctx.peek().start).throw();
45
+ Diagnostics.expectedToken('newline', ctx.peek().kind, ctx.peek().start)
46
+ .withErrorCode("E055" /* ErrorCode.PARSE_EXPECTED */, { token: 'token.newline' })
47
+ .throw();
37
48
  ctx.next();
38
49
  },
39
50
  parseIdent() {
@@ -55,7 +66,9 @@ export function createParserTools(ctx) {
55
66
  // In English, type names are capitalized (User, Order) -> TYPE_IDENT
56
67
  // In Chinese, type names look like regular words (用户, 订单) -> IDENT
57
68
  if (!ctx.at(TokenKind.TYPE_IDENT) && !ctx.at(TokenKind.IDENT))
58
- Diagnostics.expectedToken('Type identifier', ctx.peek().kind, ctx.peek().start).throw();
69
+ Diagnostics.expectedToken('Type identifier', ctx.peek().kind, ctx.peek().start)
70
+ .withErrorCode("E055" /* ErrorCode.PARSE_EXPECTED */, { token: 'token.typeName' })
71
+ .throw();
59
72
  return ctx.next().value;
60
73
  },
61
74
  };
@@ -1 +1 @@
1
- {"version":3,"file":"parser-tools.js","sourceRoot":"","sources":["../../../src/parser/parser-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAgDtD;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAkB;IAClD,OAAO;QACL,KAAK,CAAC,GAAW,EAAE,MAAa,GAAG,CAAC,IAAI,EAAE;YACxC,WAAW,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QACjC,CAAC;QAED,aAAa,CAAC,EAAU,EAAE,GAAW;YACnC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpB,WAAW,CAAC,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7E,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,CAAC;QAED,SAAS;YACP,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC;gBACxB,WAAW,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YACjE,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;QAED,aAAa;YACX,IAAI,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,aAAa;YACX,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC;gBAC5B,WAAW,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YAClF,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;QAED,UAAU;YACR,2CAA2C;YAC3C,oCAAoC;YACpC,MAAM,SAAS,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,SAAS,KAAK,IAAI;gBAAE,OAAO,SAAS,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC1B,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YAC3D,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC;QACpC,CAAC;QAED,cAAc;YACZ,wCAAwC;YACxC,MAAM,SAAS,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,SAAS,KAAK,IAAI;gBAAE,OAAO,SAAS,CAAC;YACzC,+FAA+F;YAC/F,qEAAqE;YACrE,mEAAmE;YACnE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC3D,WAAW,CAAC,aAAa,CAAC,iBAAiB,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YAC1F,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC,KAAe,CAAC;QACpC,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"parser-tools.js","sourceRoot":"","sources":["../../../src/parser/parser-tools.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,25 @@
1
1
  import type { Type } from '../types.js';
2
2
  import type { ParserContext } from './context.js';
3
3
  import type { CapabilityKind } from '../config/semantic.js';
4
+ import { type ParseErrorFn } from './parse-issue.js';
4
5
  /**
5
6
  * 解析效果列表(io, cpu, 能力等)
6
7
  * @param ctx Parser 上下文
7
8
  * @param error 错误报告函数
8
9
  * @returns 效果字符串数组
9
10
  */
10
- export declare function parseEffectList(ctx: ParserContext, error: (msg: string) => never): string[];
11
+ export declare function parseEffectList(ctx: ParserContext, error: ParseErrorFn): string[];
11
12
  /**
12
13
  * 分离基础效果和能力类型
13
14
  * @param effects 效果字符串数组
14
15
  * @param error 错误报告函数
15
16
  * @returns 基础效果、能力类型和是否有显式能力声明
16
17
  */
17
- export declare function separateEffectsAndCaps(effects: string[], error: (msg: string) => never, effectVars?: ReadonlySet<string>): {
18
+ export declare function separateEffectsAndCaps(effects: string[], error: ParseErrorFn, effectVars?: ReadonlySet<string>): {
18
19
  baseEffects: string[];
19
20
  effectCaps: CapabilityKind[];
20
21
  hasExplicitCaps: boolean;
21
22
  effectVars: string[];
22
23
  };
23
- export declare function parseType(ctx: ParserContext, error: (msg: string) => never): Type;
24
+ export declare function parseType(ctx: ParserContext, error: ParseErrorFn): Type;
24
25
  //# sourceMappingURL=type-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/type-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA+C,IAAI,EAAE,MAAM,aAAa,CAAC;AAErF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAMlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAsB5D;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,MAAM,EAAE,CAoFV;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,EAC7B,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC/B;IACD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAuDA;AA2ND,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,IAAI,CAmBN"}
1
+ {"version":3,"file":"type-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/type-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA+C,IAAI,EAAE,MAAM,aAAa,CAAC;AAErF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAMlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D,OAAO,EAAkC,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAqBrF;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,MAAM,EAAE,CAoFV;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,EAAE,EACjB,KAAK,EAAE,YAAY,EACnB,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC/B;IACD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,CAuDA;AA4ND,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,IAAI,CAmBN"}
@@ -5,6 +5,7 @@ import { Node } from '../ast/ast.js';
5
5
  import { Diagnostics } from '../diagnostics/diagnostics.js';
6
6
  import { isCapabilityKind, parseLegacyCapability } from '../effects/capabilities.js';
7
7
  import { assignSpan, spanFromSources, spanFromTokens } from './span-utils.js';
8
+ import { Issue, kwParam, lit, tokenName } from './parse-issue.js';
8
9
  /**
9
10
  * 控制流/声明关键词集合——在类型位置出现时不应被视为类型名。
10
11
  * 用于非拉丁文脚本的 IDENT 歧义消解。
@@ -45,7 +46,7 @@ export function parseEffectList(ctx, error) {
45
46
  ctx.nextWord(); // consume 'with'
46
47
  // First capability after 'with'
47
48
  if (!ctx.at(TokenKind.TYPE_IDENT)) {
48
- error(`Expected capability name (capitalized identifier) after ${kwq(ctx, KW.WITH)}`);
49
+ error(Issue.expectedAfter(tokenName('capabilityName'), kwParam(KW.WITH), `Expected capability name (capitalized identifier) after ${kwq(ctx, KW.WITH)}`));
49
50
  }
50
51
  const cap = ctx.next().value;
51
52
  effs.push(cap);
@@ -53,7 +54,7 @@ export function parseEffectList(ctx, error) {
53
54
  while (ctx.isKeyword(KW.AND)) {
54
55
  ctx.nextWord(); // consume 'and'
55
56
  if (!ctx.at(TokenKind.TYPE_IDENT)) {
56
- error(`Expected capability name (capitalized identifier) after ${kwq(ctx, KW.AND)}`);
57
+ error(Issue.expectedAfter(tokenName('capabilityName'), kwParam(KW.AND), `Expected capability name (capitalized identifier) after ${kwq(ctx, KW.AND)}`));
57
58
  }
58
59
  const cap2 = ctx.next().value;
59
60
  effs.push(cap2);
@@ -77,7 +78,7 @@ export function parseEffectList(ctx, error) {
77
78
  effs.push('cpu');
78
79
  continue;
79
80
  }
80
- error(`Expected capability name (capitalized identifier) after ${kwq(ctx, KW.AND)}`);
81
+ error(Issue.expectedAfter(tokenName('capabilityName'), kwParam(KW.AND), `Expected capability name (capitalized identifier) after ${kwq(ctx, KW.AND)}`));
81
82
  }
82
83
  const cap = ctx.next().value;
83
84
  effs.push(cap);
@@ -88,7 +89,7 @@ export function parseEffectList(ctx, error) {
88
89
  while (!ctx.at(TokenKind.RBRACKET) && !ctx.at(TokenKind.EOF)) {
89
90
  // Capabilities are TYPE_IDENT (capitalized names like Http, Sql, Time)
90
91
  if (!ctx.at(TokenKind.TYPE_IDENT)) {
91
- error("Expected capability name (capitalized identifier)");
92
+ error(Issue.expected(tokenName('capabilityName'), "Expected capability name (capitalized identifier)"));
92
93
  }
93
94
  const cap = ctx.next().value;
94
95
  effs.push(cap);
@@ -100,7 +101,7 @@ export function parseEffectList(ctx, error) {
100
101
  }
101
102
  }
102
103
  if (!ctx.at(TokenKind.RBRACKET))
103
- error("Expected ']' after capability list");
104
+ error(Issue.expectedAfter(lit(']'), tokenName('capabilityList'), "Expected ']' after capability list"));
104
105
  ctx.next(); // consume ']'
105
106
  }
106
107
  return effs;
@@ -149,7 +150,7 @@ export function separateEffectsAndCaps(effects, error, effectVars) {
149
150
  effectVarRefs.push(capText);
150
151
  continue;
151
152
  }
152
- error(`Unknown capability '${capText}'`);
153
+ error(Issue.unknownName(tokenName('capability'), lit(capText), `Unknown capability '${capText}'`));
153
154
  }
154
155
  }
155
156
  else {
@@ -194,7 +195,7 @@ function parseParenOrFuncType(ctx, error) {
194
195
  params.push(parseType(ctx, error));
195
196
  } while (ctx.at(TokenKind.COMMA));
196
197
  if (!ctx.at(TokenKind.RPAREN))
197
- error("Expected ')' after type");
198
+ error(Issue.expectedAfter(lit(')'), tokenName('type'), "Expected ')' after type"));
198
199
  ctx.next(); // 消费 ')'
199
200
  if (atArrow(ctx)) {
200
201
  ctx.next(); // '-'
@@ -205,9 +206,9 @@ function parseParenOrFuncType(ctx, error) {
205
206
  return node;
206
207
  }
207
208
  if (params.length > 1)
208
- error("Expected '->' after function parameter types");
209
+ error(Issue.expectedAfter(lit('->'), tokenName('functionParameterTypes'), "Expected '->' after function parameter types"));
209
210
  if (annotated)
210
- error("Expected '->' after annotated function parameter type");
211
+ error(Issue.expectedAfter(lit('->'), tokenName('annotatedFunctionParameterType'), "Expected '->' after annotated function parameter type"));
211
212
  return params[0];
212
213
  }
213
214
  function parseTypePrimary(ctx, error) {
@@ -264,6 +265,7 @@ function parseTypePrimary(ctx, error) {
264
265
  const keyType = parseType(ctx, error);
265
266
  if (!ctx.isKeyword(KW.TO_WORD)) {
266
267
  Diagnostics.expectedKeyword(KW.TO_WORD, ctx.peek().start)
268
+ .withErrorCode("E057" /* ErrorCode.PARSE_EXPECTED_IN */, { token: kwParam(KW.TO_WORD), context: tokenName('mapType') })
267
269
  .withMessage(`Expected ${kwq(ctx, KW.TO_WORD)} in map type`)
268
270
  .throw();
269
271
  }
@@ -354,7 +356,7 @@ function parseTypePrimary(ctx, error) {
354
356
  assignSpan(node, spanFromTokens(typeTok, typeTok));
355
357
  return node;
356
358
  }
357
- error('Expected type');
359
+ error(Issue.expected(tokenName('type'), 'Expected type'));
358
360
  }
359
361
  export function parseType(ctx, error) {
360
362
  // ★类型递归的深度护栏(issue #145)。
@@ -382,27 +384,27 @@ function parseTypeInner(ctx, error) {
382
384
  if (ctx.at(TokenKind.AT)) {
383
385
  const atTok = ctx.next();
384
386
  if (!ctx.isKeyword('pii')) {
385
- error("Expected 'pii' after '@'");
387
+ error(Issue.expectedAfter(lit('pii'), lit('@'), "Expected 'pii' after '@'"));
386
388
  }
387
389
  ctx.nextWord(); // consume 'pii'
388
390
  if (!ctx.at(TokenKind.LPAREN)) {
389
- error("Expected '(' after '@pii'");
391
+ error(Issue.expectedAfter(lit('('), lit('@pii'), "Expected '(' after '@pii'"));
390
392
  }
391
393
  ctx.next(); // consume '('
392
394
  if (!ctx.at(TokenKind.TYPE_IDENT) && !ctx.at(TokenKind.IDENT)) {
393
- error("Expected PII level (e.g., L1, L2, L3)");
395
+ error(Issue.expected(tokenName('piiLevel'), 'Expected PII level (e.g., L1, L2, L3)'));
394
396
  }
395
397
  const levelTok = ctx.next();
396
398
  if (!ctx.at(TokenKind.COMMA)) {
397
- error("Expected ',' after PII level");
399
+ error(Issue.expectedAfter(lit(','), tokenName('piiLevel'), "Expected ',' after PII level"));
398
400
  }
399
401
  ctx.next(); // consume ','
400
402
  if (!ctx.at(TokenKind.IDENT)) {
401
- error("Expected PII category (e.g., email, phone, ssn)");
403
+ error(Issue.expected(tokenName('piiCategory'), 'Expected PII category (e.g., email, phone, ssn)'));
402
404
  }
403
405
  const categoryTok = ctx.next();
404
406
  if (!ctx.at(TokenKind.RPAREN)) {
405
- error("Expected ')' after PII category");
407
+ error(Issue.expectedAfter(lit(')'), tokenName('piiCategory'), "Expected ')' after PII category"));
406
408
  }
407
409
  ctx.next(); // consume ')'
408
410
  annotation = {
@@ -1 +1 @@
1
- {"version":3,"file":"type-parser.js","sourceRoot":"","sources":["../../../src/parser/type-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-parser.js","sourceRoot":"","sources":["../../../src/parser/type-parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/typecheck/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGtE,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,KAAK,YAAY,GAAG,OAAO,qBAAqB,CAAC;AAGjD;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,OAAO,CAEtD;AAgDD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CASpE;AAED,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA4BjE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE/C;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,IAAI,CAAC,MAAM,EACd,OAAO,CAAC,EAAE,uBAAuB,GAChC,mBAAmB,EAAE,CA6JvB;AA+FD,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/typecheck/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAGtE,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,KAAK,YAAY,GAAG,OAAO,qBAAqB,CAAC;AAGjD;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,OAAO,CAEtD;AAgDD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CASpE;AAED,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAyBjE;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE/C;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,EAAE,IAAI,CAAC,MAAM,EACd,OAAO,CAAC,EAAE,uBAAuB,GAChC,mBAAmB,EAAE,CA6JvB;AAwFD,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC"}
@@ -92,9 +92,9 @@ import { defineSymbol, } from './context.js';
92
92
  // R15 (codex round 14): browser entry 不得 transitively 拉入 node:* 模块.
93
93
  // utils.ts 含 loadPrefixes → require('node:module'), 不适合 browser bundle.
94
94
  // 改 import from './pure.js' (browser-safe leaf).
95
- import { buildFieldTypeMap, checkEntryRuleUniqueness, formatType, isUnknown, normalizeType, signatureParamTypes, typesEqual, unknownType, } from './pure.js';
95
+ import { buildFieldTypeMap, checkEntryRuleUniqueness, isUnknown, normalizeType, signatureParamTypes, } from './pure.js';
96
96
  import { checkAsyncDiscipline } from './async.js';
97
- import { typecheckBlock } from './statement.js';
97
+ import { typecheckFunctionBody } from './statement.js';
98
98
  import { checkCapabilities } from './capabilities.js';
99
99
  import { checkEffects, checkCapabilityInferredEffects } from './effects.js';
100
100
  import { unifyTypeParameters, checkGenericTypeParameters } from './generics.js';
@@ -333,15 +333,9 @@ function typecheckFunc(ctx, f, diagnostics) {
333
333
  }
334
334
  // Check function body
335
335
  const declaredReturn = normalizeType(f.ret);
336
- const bodyReturn = f.body ? typecheckBlock(ctx, symbols, f.body, diagnostics) : unknownType();
337
336
  const retTypeInferred = f.retTypeInferred === true;
338
- // Check return type match
339
- if (!retTypeInferred && !typesEqual(bodyReturn, declaredReturn)) {
340
- diagnostics.error("E003" /* ErrorCode.RETURN_TYPE_MISMATCH */, f.body?.span ?? f.ret?.span ?? f.span, {
341
- expected: formatType(declaredReturn),
342
- actual: formatType(bodyReturn),
343
- });
344
- }
337
+ // 每条 Return 路径都与声明类型比较,另有函数级兜底(aster-lang-ts#283)
338
+ const bodyReturn = typecheckFunctionBody(ctx, symbols, f, declaredReturn, retTypeInferred, diagnostics);
345
339
  // Additional checks
346
340
  checkEffects(ctx, f, diagnostics);
347
341
  checkCapabilityInferredEffects(f, diagnostics);
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/typecheck/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/typecheck/browser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/typecheck/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMhE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC/C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC9C,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;CACtF;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CACxC;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,UAAU,EAChB,IAAI,CAAC,EAAE,IAAI,EACX,YAAY,UAAQ,GACnB,IAAI,CAgBN;AAoBD,wBAAgB,YAAY,CAAC,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAyB9G"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/typecheck/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMhE,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC/C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC9C,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;;;;;;;;;;;OAcG;IACH,cAAc,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC;CACtF;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CACxC;AAED,wBAAgB,YAAY,CAC1B,OAAO,EAAE,sBAAsB,EAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,UAAU,EAChB,IAAI,CAAC,EAAE,IAAI,EACX,YAAY,UAAQ,GACnB,IAAI,CAoBN;AAoBD,wBAAgB,YAAY,CAAC,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAyB9G"}
@@ -1,5 +1,5 @@
1
1
  import { TypeSystem } from './type_system.js';
2
- import { argumentFits, formatType, typesEqual } from './pure.js';
2
+ import { argumentFits, formatType, markNameInferredType, typesEqual } from './pure.js';
3
3
  export function defineSymbol(context, name, type, kind, span, typeInferred = false) {
4
4
  const existing = context.symbols.lookupInCurrentScope(name);
5
5
  if (existing) {
@@ -13,8 +13,11 @@ export function defineSymbol(context, name, type, kind, span, typeInferred = fal
13
13
  const options = {};
14
14
  if (span)
15
15
  options.span = span;
16
- if (typeInferred)
16
+ if (typeInferred) {
17
17
  options.typeInferred = true;
18
+ // 按名字推断出的类型实例:在 argumentFits 中视为未知,随 Let、Set、Some(...)、返回值原样传播(aster-lang-core#232)
19
+ markNameInferredType(type);
20
+ }
18
21
  // ADR 0052:只有 Let 绑定可被 Set 赋值;形参、lambda 形参、模式绑定不可变(与 Java BaseTypeChecker 一致)。
19
22
  options.mutable = kind === 'var';
20
23
  context.symbols.define(name, type, kind, options);
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/typecheck/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/typecheck/context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../src/typecheck/expression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKxD,OAAO,KAAK,EAAqB,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAML,YAAY,EAEb,MAAM,WAAW,CAAC;AAUnB,qBAAa,iBAAkB,SAAQ,kBAAkB,CAAC,sBAAsB,CAAC;IACxE,OAAO,UAAS;IAChB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAiB;IAEhC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,sBAAsB,GAAG,IAAI;CA+c7F;AAyFD,wBAAgB,UAAU,CACxB,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,CAAC,UAAU,EACrB,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CAAC,IAAI,CAIX;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,IAAI,CAAC,IAAI,EACjB,IAAI,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EACrC,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CAIN"}
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../../src/typecheck/expression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKxD,OAAO,KAAK,EAAqB,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE7F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAKL,YAAY,EAEb,MAAM,WAAW,CAAC;AAUnB,qBAAa,iBAAkB,SAAQ,kBAAkB,CAAC,sBAAsB,CAAC;IACxE,OAAO,UAAS;IAChB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAiB;IAEhC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,sBAAsB,GAAG,IAAI;CAid7F;AA0FD,wBAAgB,UAAU,CACxB,GAAG,EAAE,aAAa,EAClB,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,IAAI,CAAC,UAAU,EACrB,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CAAC,IAAI,CAIX;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,IAAI,CAAC,IAAI,EACjB,IAAI,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,EACrC,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CAIN"}