@aster-cloud/aster-lang-ts 1.2.5 → 1.3.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 (179) hide show
  1. package/CHANGELOG.md +73 -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 +16 -2
  5. package/dist/src/browser.d.ts.map +1 -1
  6. package/dist/src/browser.js +12 -19
  7. package/dist/src/browser.js.map +1 -1
  8. package/dist/src/cli/utils/error-handler.js.map +1 -1
  9. package/dist/src/config/lexicons/diagnostic-overlays.generated.d.ts.map +1 -1
  10. package/dist/src/config/lexicons/diagnostic-overlays.generated.js +120 -0
  11. package/dist/src/config/lexicons/diagnostic-overlays.generated.js.map +1 -1
  12. package/dist/src/config/lexicons/identifiers/index.d.ts +1 -0
  13. package/dist/src/config/lexicons/identifiers/index.d.ts.map +1 -1
  14. package/dist/src/config/lexicons/identifiers/index.js +1 -0
  15. package/dist/src/config/lexicons/identifiers/index.js.map +1 -1
  16. package/dist/src/config/lexicons/identifiers/spelling.d.ts +25 -0
  17. package/dist/src/config/lexicons/identifiers/spelling.d.ts.map +1 -0
  18. package/dist/src/config/lexicons/identifiers/spelling.js +44 -0
  19. package/dist/src/config/lexicons/identifiers/spelling.js.map +1 -0
  20. package/dist/src/core/interpreter.js +4 -0
  21. package/dist/src/core/interpreter.js.map +1 -1
  22. package/dist/src/core/resolve-typed-references.d.ts.map +1 -1
  23. package/dist/src/core/resolve-typed-references.js +34 -22
  24. package/dist/src/core/resolve-typed-references.js.map +1 -1
  25. package/dist/src/diagnostics/diagnostics.d.ts +27 -2
  26. package/dist/src/diagnostics/diagnostics.d.ts.map +1 -1
  27. package/dist/src/diagnostics/diagnostics.js +37 -1
  28. package/dist/src/diagnostics/diagnostics.js.map +1 -1
  29. package/dist/src/diagnostics/error_codes.d.ts +21 -1
  30. package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
  31. package/dist/src/diagnostics/error_codes.js +160 -0
  32. package/dist/src/diagnostics/error_codes.js.map +1 -1
  33. package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
  34. package/dist/src/frontend/canonicalizer.js +44 -1
  35. package/dist/src/frontend/canonicalizer.js.map +1 -1
  36. package/dist/src/frontend/lexer.js +1 -1
  37. package/dist/src/frontend/lexer.js.map +1 -1
  38. package/dist/src/frontend/resolve-declarations.d.ts.map +1 -1
  39. package/dist/src/frontend/resolve-declarations.js +24 -1
  40. package/dist/src/frontend/resolve-declarations.js.map +1 -1
  41. package/dist/src/frontend/resolve-policy-types.d.ts +2 -0
  42. package/dist/src/frontend/resolve-policy-types.d.ts.map +1 -1
  43. package/dist/src/frontend/resolve-policy-types.js +2 -1
  44. package/dist/src/frontend/resolve-policy-types.js.map +1 -1
  45. package/dist/src/index.d.ts +2 -2
  46. package/dist/src/index.d.ts.map +1 -1
  47. package/dist/src/index.js +1 -1
  48. package/dist/src/index.js.map +1 -1
  49. package/dist/src/lsp/completion.d.ts +2 -2
  50. package/dist/src/lsp/completion.d.ts.map +1 -1
  51. package/dist/src/lsp/completion.js +65 -55
  52. package/dist/src/lsp/completion.js.map +1 -1
  53. package/dist/src/lsp/diagnostics.d.ts.map +1 -1
  54. package/dist/src/lsp/diagnostics.js +2 -0
  55. package/dist/src/lsp/diagnostics.js.map +1 -1
  56. package/dist/src/lsp/member-completion.d.ts +10 -0
  57. package/dist/src/lsp/member-completion.d.ts.map +1 -1
  58. package/dist/src/lsp/member-completion.js +25 -10
  59. package/dist/src/lsp/member-completion.js.map +1 -1
  60. package/dist/src/parser/constraint-parser.d.ts +2 -1
  61. package/dist/src/parser/constraint-parser.d.ts.map +1 -1
  62. package/dist/src/parser/constraint-parser.js +9 -7
  63. package/dist/src/parser/constraint-parser.js.map +1 -1
  64. package/dist/src/parser/context.d.ts.map +1 -1
  65. package/dist/src/parser/context.js +1 -0
  66. package/dist/src/parser/context.js.map +1 -1
  67. package/dist/src/parser/decl-parser.d.ts +4 -3
  68. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  69. package/dist/src/parser/decl-parser.js +17 -16
  70. package/dist/src/parser/decl-parser.js.map +1 -1
  71. package/dist/src/parser/expr-stmt-parser.d.ts +10 -9
  72. package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
  73. package/dist/src/parser/expr-stmt-parser.js +96 -92
  74. package/dist/src/parser/expr-stmt-parser.js.map +1 -1
  75. package/dist/src/parser/field-variant-parser.d.ts +4 -3
  76. package/dist/src/parser/field-variant-parser.d.ts.map +1 -1
  77. package/dist/src/parser/field-variant-parser.js +3 -2
  78. package/dist/src/parser/field-variant-parser.js.map +1 -1
  79. package/dist/src/parser/import-parser.d.ts +5 -5
  80. package/dist/src/parser/import-parser.d.ts.map +1 -1
  81. package/dist/src/parser/import-parser.js +4 -3
  82. package/dist/src/parser/import-parser.js.map +1 -1
  83. package/dist/src/parser/parse-issue.d.ts +44 -0
  84. package/dist/src/parser/parse-issue.d.ts.map +1 -0
  85. package/dist/src/parser/parse-issue.js +37 -0
  86. package/dist/src/parser/parse-issue.js.map +1 -0
  87. package/dist/src/parser/parser-tools.d.ts +5 -5
  88. package/dist/src/parser/parser-tools.d.ts.map +1 -1
  89. package/dist/src/parser/parser-tools.js +19 -7
  90. package/dist/src/parser/parser-tools.js.map +1 -1
  91. package/dist/src/parser/type-parser.d.ts +4 -3
  92. package/dist/src/parser/type-parser.d.ts.map +1 -1
  93. package/dist/src/parser/type-parser.js +19 -16
  94. package/dist/src/parser/type-parser.js.map +1 -1
  95. package/dist/src/typecheck/browser.d.ts.map +1 -1
  96. package/dist/src/typecheck/browser.js +4 -11
  97. package/dist/src/typecheck/browser.js.map +1 -1
  98. package/dist/src/typecheck/expression.js +2 -2
  99. package/dist/src/typecheck/expression.js.map +1 -1
  100. package/dist/src/typecheck/generics.d.ts.map +1 -1
  101. package/dist/src/typecheck/generics.js +2 -26
  102. package/dist/src/typecheck/generics.js.map +1 -1
  103. package/dist/src/typecheck/module.d.ts.map +1 -1
  104. package/dist/src/typecheck/module.js +4 -10
  105. package/dist/src/typecheck/module.js.map +1 -1
  106. package/dist/src/typecheck/pattern.d.ts.map +1 -1
  107. package/dist/src/typecheck/pattern.js +5 -4
  108. package/dist/src/typecheck/pattern.js.map +1 -1
  109. package/dist/src/typecheck/pure.d.ts +2 -0
  110. package/dist/src/typecheck/pure.d.ts.map +1 -1
  111. package/dist/src/typecheck/pure.js +4 -0
  112. package/dist/src/typecheck/pure.js.map +1 -1
  113. package/dist/src/typecheck/statement.d.ts +8 -0
  114. package/dist/src/typecheck/statement.d.ts.map +1 -1
  115. package/dist/src/typecheck/statement.js +60 -3
  116. package/dist/src/typecheck/statement.js.map +1 -1
  117. package/dist/src/typecheck/workflow.d.ts.map +1 -1
  118. package/dist/src/typecheck/workflow.js +11 -33
  119. package/dist/src/typecheck/workflow.js.map +1 -1
  120. package/dist/test/integration/lsp/lsp-completion.test.js +3 -1
  121. package/dist/test/integration/lsp/lsp-completion.test.js.map +1 -1
  122. package/dist/test/integration/scripts/typecheck-cli-repl.test.js +2 -1
  123. package/dist/test/integration/scripts/typecheck-cli-repl.test.js.map +1 -1
  124. package/dist/test/integration/vocabulary-resolution.test.js +10 -1
  125. package/dist/test/integration/vocabulary-resolution.test.js.map +1 -1
  126. package/dist/test/unit/canonicalizer/article-declaration-names.test.d.ts +2 -0
  127. package/dist/test/unit/canonicalizer/article-declaration-names.test.d.ts.map +1 -0
  128. package/dist/test/unit/canonicalizer/article-declaration-names.test.js +53 -0
  129. package/dist/test/unit/canonicalizer/article-declaration-names.test.js.map +1 -0
  130. package/dist/test/unit/diagnostics/diagnostic-overlays.test.js.map +1 -1
  131. package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.d.ts +9 -0
  132. package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.d.ts.map +1 -0
  133. package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.js +121 -0
  134. package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.js.map +1 -0
  135. package/dist/test/unit/diagnostics/parse-issue-codes.test.d.ts +6 -0
  136. package/dist/test/unit/diagnostics/parse-issue-codes.test.d.ts.map +1 -0
  137. package/dist/test/unit/diagnostics/parse-issue-codes.test.js +82 -0
  138. package/dist/test/unit/diagnostics/parse-issue-codes.test.js.map +1 -0
  139. package/dist/test/unit/frontend/resolve-declarations.test.js +47 -0
  140. package/dist/test/unit/frontend/resolve-declarations.test.js.map +1 -1
  141. package/dist/test/unit/identifiers/spelling.test.d.ts +2 -0
  142. package/dist/test/unit/identifiers/spelling.test.d.ts.map +1 -0
  143. package/dist/test/unit/identifiers/spelling.test.js +51 -0
  144. package/dist/test/unit/identifiers/spelling.test.js.map +1 -0
  145. package/dist/test/unit/int-pattern-decimal.test.d.ts +2 -0
  146. package/dist/test/unit/int-pattern-decimal.test.d.ts.map +1 -0
  147. package/dist/test/unit/int-pattern-decimal.test.js +54 -0
  148. package/dist/test/unit/int-pattern-decimal.test.js.map +1 -0
  149. package/dist/test/unit/lsp/completion-lexicon.test.js +1 -1
  150. package/dist/test/unit/lsp/completion-lexicon.test.js.map +1 -1
  151. package/dist/test/unit/lsp/completion-list.test.d.ts +2 -0
  152. package/dist/test/unit/lsp/completion-list.test.d.ts.map +1 -0
  153. package/dist/test/unit/lsp/completion-list.test.js +64 -0
  154. package/dist/test/unit/lsp/completion-list.test.js.map +1 -0
  155. package/dist/test/unit/lsp/member-completion.test.js +99 -1
  156. package/dist/test/unit/lsp/member-completion.test.js.map +1 -1
  157. package/dist/test/unit/lsp/resolution-completion.test.js +2 -2
  158. package/dist/test/unit/lsp/resolution-completion.test.js.map +1 -1
  159. package/dist/test/unit/lsp/resolution-diagnostics.test.js +4 -2
  160. package/dist/test/unit/lsp/resolution-diagnostics.test.js.map +1 -1
  161. package/dist/test/unit/parser/depth-limit.test.js +3 -4
  162. package/dist/test/unit/parser/depth-limit.test.js.map +1 -1
  163. package/dist/test/unit/parser/parser.test.js +36 -6
  164. package/dist/test/unit/parser/parser.test.js.map +1 -1
  165. package/dist/test/unit/typecheck/effects-and-capabilities.test.js +19 -0
  166. package/dist/test/unit/typecheck/effects-and-capabilities.test.js.map +1 -1
  167. package/dist/test/unit/typecheck/java-parity-281.test.d.ts +2 -0
  168. package/dist/test/unit/typecheck/java-parity-281.test.d.ts.map +1 -0
  169. package/dist/test/unit/typecheck/java-parity-281.test.js +87 -0
  170. package/dist/test/unit/typecheck/java-parity-281.test.js.map +1 -0
  171. package/dist/test/unit/typecheck/regression-fixes.test.js +2 -2
  172. package/dist/test/unit/typecheck/regression-fixes.test.js.map +1 -1
  173. package/dist/test/unit/typecheck/return-paths.test.d.ts +2 -0
  174. package/dist/test/unit/typecheck/return-paths.test.d.ts.map +1 -0
  175. package/dist/test/unit/typecheck/return-paths.test.js +54 -0
  176. package/dist/test/unit/typecheck/return-paths.test.js.map +1 -0
  177. package/dist/test/unit/typecheck/typecheck-advanced.test.js +2 -2
  178. package/dist/test/unit/typecheck/typecheck-advanced.test.js.map +1 -1
  179. package/package.json +1 -1
@@ -12,6 +12,7 @@ import { parseType, parseEffectList, separateEffectsAndCaps } from './type-parse
12
12
  import { parseBlock, parseExplicitBlock, parseParamList } from './expr-stmt-parser.js';
13
13
  import { parseFieldList, parseVariantList } from './field-variant-parser.js';
14
14
  import { assignSpan, spanFromSources, lastConsumedToken, lastNonLayoutToken, spanFromTokens } from './span-utils.js';
15
+ import { Issue, kwParam, lit, tokenName } from './parse-issue.js';
15
16
  /**
16
17
  * R30+ audit P1:原本写满 14 处 {@code (node as any).nameSpan = ...} / variantSpans。
17
18
  * 把单一职责的辅助器抽出来:保留 readonly 字段的设计意图(声明阶段不可改),
@@ -41,7 +42,7 @@ function parseEffectParams(ctx, skipLayoutTrivia, error) {
41
42
  while (more) {
42
43
  skipLayoutTrivia();
43
44
  if (!ctx.at(TokenKind.TYPE_IDENT)) {
44
- error("Expected effect type parameter (capitalized identifier)");
45
+ error(Issue.expected(tokenName('effectTypeParameter'), "Expected effect type parameter (capitalized identifier)"));
45
46
  }
46
47
  names.push(ctx.next().value);
47
48
  skipLayoutTrivia();
@@ -58,7 +59,7 @@ function parseEffectParams(ctx, skipLayoutTrivia, error) {
58
59
  more = false;
59
60
  }
60
61
  if (!ctx.at(TokenKind.GT)) {
61
- error("Expected '>' after effect parameter list");
62
+ error(Issue.expectedAfter(lit('>'), tokenName('effectParameterList'), "Expected '>' after effect parameter list"));
62
63
  }
63
64
  ctx.next(); // consume '>'
64
65
  skipLayoutTrivia();
@@ -80,7 +81,7 @@ function parseAnnotationValue(ctx, error) {
80
81
  ctx.next();
81
82
  return tok.value;
82
83
  default:
83
- error('Expected annotation argument value', tok);
84
+ error(Issue.expected(tokenName('annotationArgumentValue'), 'Expected annotation argument value'), tok);
84
85
  }
85
86
  }
86
87
  /** 当前位置是否为 `name: value` 形式的命名注解参数(标识符后紧跟冒号)。 */
@@ -112,7 +113,7 @@ function parseAnnotationArgs(ctx, error) {
112
113
  break;
113
114
  }
114
115
  if (!ctx.at(TokenKind.RPAREN)) {
115
- error("Expected ')' after annotation arguments");
116
+ error(Issue.expectedAfter(lit(')'), tokenName('annotationArguments'), "Expected ')' after annotation arguments"));
116
117
  }
117
118
  ctx.next();
118
119
  return args;
@@ -124,7 +125,7 @@ function parseDeclAnnotations(ctx, error) {
124
125
  const atTok = ctx.next();
125
126
  startTok ??= atTok;
126
127
  if (!ctx.at(TokenKind.IDENT) && !ctx.at(TokenKind.TYPE_IDENT)) {
127
- error("Expected annotation name after '@'");
128
+ error(Issue.expectedAfter(tokenName('annotationName'), lit('@'), "Expected annotation name after '@'"));
128
129
  }
129
130
  const name = String(ctx.next().value);
130
131
  const args = parseAnnotationArgs(ctx, error);
@@ -151,7 +152,7 @@ export function parseDataDecl(ctx, error, expectDot, parseTypeIdent) {
151
152
  const typeName = parseTypeIdent();
152
153
  // 期望: with / has
153
154
  if (!ctx.isKeywordSeq(KW.WITH) && !ctx.isKeywordSeq(KW.HAS)) {
154
- error(`Expected ${kwq(ctx, KW.HAS)} after type name in data definition`);
155
+ error(Issue.expectedAfterIn(kwParam(KW.HAS), tokenName('typeName'), tokenName('dataDefinition'), `Expected ${kwq(ctx, KW.HAS)} after type name in data definition`));
155
156
  }
156
157
  ctx.nextWord();
157
158
  // 解析字段列表
@@ -186,7 +187,7 @@ export function parseEnumDecl(ctx, error, expectDot, parseTypeIdent) {
186
187
  const typeName = parseTypeIdent();
187
188
  // 期望: as one of
188
189
  if (!ctx.isKeywordSeq(KW.ONE_OF)) {
189
- error(`Expected ${kwq(ctx, KW.ONE_OF)} after type name in enum definition`);
190
+ error(Issue.expectedAfterIn(kwParam(KW.ONE_OF), tokenName('typeName'), tokenName('enumDefinition'), `Expected ${kwq(ctx, KW.ONE_OF)} after type name in enum definition`));
190
191
  }
191
192
  ctx.nextWords(kwParts(KW.ONE_OF));
192
193
  // 解析变体列表
@@ -381,7 +382,7 @@ export function parseFuncDecl(ctx, error, expectCommaOr, expectKeyword, expectNe
381
382
  body = parseColonBody(); // ADR 0028:缩进块或显式块
382
383
  }
383
384
  else {
384
- error("Expected '.' or ':' after effect clause");
385
+ error(Issue.expectedAfter(tokenName('dotOrColon'), tokenName('effectClause'), "Expected '.' or ':' after effect clause"));
385
386
  }
386
387
  }
387
388
  }
@@ -400,7 +401,7 @@ export function parseFuncDecl(ctx, error, expectCommaOr, expectKeyword, expectNe
400
401
  body = parseColonBody(); // ADR 0028:缩进块或显式块
401
402
  }
402
403
  else {
403
- error("Expected '.' or ':' after effect clause");
404
+ error(Issue.expectedAfter(tokenName('dotOrColon'), tokenName('effectClause'), "Expected '.' or ':' after effect clause"));
404
405
  }
405
406
  }
406
407
  // 场景3: produce Type: ...(直接进入函数体)
@@ -409,7 +410,7 @@ export function parseFuncDecl(ctx, error, expectCommaOr, expectKeyword, expectNe
409
410
  body = parseColonBody(); // ADR 0028:缩进块或显式块
410
411
  }
411
412
  else {
412
- error("Expected '.' or ':' after return type");
413
+ error(Issue.expectedAfter(tokenName('dotOrColon'), tokenName('returnType'), "Expected '.' or ':' after return type"));
413
414
  }
414
415
  // 如果没有显式声明类型参数,尝试从类型使用中推断
415
416
  if (typeParams.length === 0) {
@@ -593,7 +594,7 @@ export function collectTopLevelDecls(ctx, tools) {
593
594
  // 解析模块头: Module foo.bar.
594
595
  if (ctx.isKeywordSeq(KW.MODULE_IS)) {
595
596
  if (ctx.moduleName !== null || decls.length > 0)
596
- tools.error(MODULE_MISPLACED);
597
+ tools.error(Issue.misplaced(tokenName('moduleHeader'), tokenName('onceAtFileStart'), MODULE_MISPLACED));
597
598
  parseModuleHeader(ctx, tools.error, tools.expectDot);
598
599
  // ADR 0046:Profile 只能紧跟模块头(中间可有空行);模块头唯一,故此处至多解析一条,其余交给下方分支报错
599
600
  ctx.consumeNewlines();
@@ -602,7 +603,7 @@ export function collectTopLevelDecls(ctx, tools) {
602
603
  }
603
604
  // 其余位置出现的 Profile(重复、模块头之前或声明之间)一律报错
604
605
  else if (ctx.isKeyword(KW.PROFILE)) {
605
- tools.error(PROFILE_MISPLACED);
606
+ tools.error(Issue.misplaced(tokenName('profile'), tokenName('onceAfterModuleHeader'), PROFILE_MISPLACED));
606
607
  }
607
608
  // 解析导入: use foo.bar. 或 use foo.bar as Baz.
608
609
  else if (ctx.isKeyword(KW.USE)) {
@@ -648,7 +649,7 @@ export function collectTopLevelDecls(ctx, tools) {
648
649
  decls.push(en);
649
650
  }
650
651
  else {
651
- tools.error(`Expected ${kwq(ctx, KW.HAS)} or ${kwq(ctx, KW.ONE_OF)} after type name`);
652
+ tools.error(Issue.expectedAfter(tokenName('hasOrOneOf'), tokenName('typeName'), `Expected ${kwq(ctx, KW.HAS)} or ${kwq(ctx, KW.ONE_OF)} after type name`));
652
653
  }
653
654
  }
654
655
  // 解析类型别名: Type Score as Int.
@@ -660,7 +661,7 @@ export function collectTopLevelDecls(ctx, tools) {
660
661
  else if (ctx.isKeyword(KW.TYPE)) {
661
662
  const startTok = ctx.nextWord(); // 消费 'Type'
662
663
  const aliasName = tools.parseTypeIdent();
663
- tools.expectKeyword(KW.AS, `Expected ${kwq(ctx, KW.AS)} after type alias name`);
664
+ tools.expectKeyword(KW.AS, Issue.expectedAfter(kwParam(KW.AS), tokenName('typeAliasName'), `Expected ${kwq(ctx, KW.AS)} after type alias name`));
664
665
  const target = parseType(ctx, tools.error);
665
666
  tools.expectDot();
666
667
  ctx.declaredTypes.add(aliasName);
@@ -670,7 +671,7 @@ export function collectTopLevelDecls(ctx, tools) {
670
671
  else if (ctx.at(TokenKind.AT)) {
671
672
  const { annotations, startTok } = parseDeclAnnotations(ctx, tools.error);
672
673
  if (!ctx.isKeyword(KW.RULE)) {
673
- tools.error(`Expected ${kwq(ctx, KW.RULE, 'Rule')} after declaration annotations`);
674
+ tools.error(Issue.expectedAfter(kwParam(KW.RULE), tokenName('declarationAnnotations'), `Expected ${kwq(ctx, KW.RULE, 'Rule')} after declaration annotations`));
674
675
  }
675
676
  decls.push(parseFuncDecl(ctx, tools.error, tools.expectCommaOr, tools.expectKeyword, tools.expectNewline, tools.parseIdent, annotations, startTok));
676
677
  }
@@ -684,7 +685,7 @@ export function collectTopLevelDecls(ctx, tools) {
684
685
  }
685
686
  // 其他情况报错
686
687
  else {
687
- tools.error('Unexpected token at top level');
688
+ tools.error(Issue.unexpectedConstruct(tokenName('topLevelToken'), 'Unexpected token at top level'));
688
689
  }
689
690
  }
690
691
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"decl-parser.js","sourceRoot":"","sources":["../../../src/parser/decl-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decl-parser.js","sourceRoot":"","sources":["../../../src/parser/decl-parser.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,15 @@
1
- import type { Block, Expression, Parameter, Pattern, Statement, Type } from '../types.js';
1
+ import type { Block, Expression, Parameter, Pattern, Statement, Token, Type } from '../types.js';
2
2
  import type { ParserContext } from './context.js';
3
+ import { type ParseErrorFn, type ParseIssue } from './parse-issue.js';
3
4
  /** 语法糖结论非法时的报告方式:立即抛错,或记下待块结束再报。 */
4
- type OutcomeErrorSink = (msg: string) => void;
5
+ type OutcomeErrorSink = (issue: ParseIssue, tok?: Token) => void;
5
6
  /**
6
7
  * 解析代码块(Block)
7
8
  * @param ctx Parser 上下文
8
9
  * @param error 错误报告函数
9
10
  * @returns Block 节点
10
11
  */
11
- export declare function parseBlock(ctx: ParserContext, error: (msg: string) => never): Block;
12
+ export declare function parseBlock(ctx: ParserContext, error: ParseErrorFn): Block;
12
13
  /**
13
14
  * ADR 0028:解析**显式块**(explicit block)——`COLON` 之后语句立即开始、不靠缩进,以显式
14
15
  * 块结束词(BLOCK_END,如「毕」)收尾。语句间靠 DOT 分隔(各 stmt 自行消费句末 DOT),
@@ -17,36 +18,36 @@ export declare function parseBlock(ctx: ParserContext, error: (msg: string) => n
17
18
  * 调用前提:调用方已消费 COLON,且已确认其后**不是** NEWLINE+INDENT(那走缩进块 parseBlock)。
18
19
  * 独立于 parseBlock(不复用其 fallback 分支),终止条件只认 BLOCK_END,空块报错(对齐 stmt+)。
19
20
  */
20
- export declare function parseExplicitBlock(ctx: ParserContext, error: (msg: string) => never): Block;
21
- export declare function parseStatement(ctx: ParserContext, error: (msg: string) => never, reportOutcomeError?: OutcomeErrorSink): Statement;
21
+ export declare function parseExplicitBlock(ctx: ParserContext, error: ParseErrorFn): Block;
22
+ export declare function parseStatement(ctx: ParserContext, error: ParseErrorFn, reportOutcomeError?: OutcomeErrorSink): Statement;
22
23
  /**
23
24
  * 解析表达式
24
25
  * @param ctx Parser 上下文
25
26
  * @param error 错误报告函数
26
27
  * @returns Expression 节点
27
28
  */
28
- export declare function parseExpr(ctx: ParserContext, error: (msg: string) => never): Expression;
29
+ export declare function parseExpr(ctx: ParserContext, error: ParseErrorFn): Expression;
29
30
  /**
30
31
  * 解析参数列表
31
32
  * @param ctx Parser 上下文
32
33
  * @param error 错误报告函数
33
34
  * @returns Expression 数组
34
35
  */
35
- export declare function parseArgList(ctx: ParserContext, error: (msg: string) => never): Expression[];
36
+ export declare function parseArgList(ctx: ParserContext, error: ParseErrorFn): Expression[];
36
37
  /**
37
38
  * 解析模式(Pattern)
38
39
  * @param ctx Parser 上下文
39
40
  * @param error 错误报告函数
40
41
  * @returns Pattern 节点
41
42
  */
42
- export declare function parsePattern(ctx: ParserContext, error: (msg: string) => never): Pattern;
43
+ export declare function parsePattern(ctx: ParserContext, error: ParseErrorFn): Pattern;
43
44
  /**
44
45
  * 解析参数列表(函数声明)
45
46
  * @param ctx Parser 上下文
46
47
  * @param error 错误报告函数
47
48
  * @returns Parameter 数组
48
49
  */
49
- export declare function parseParamList(ctx: ParserContext, error: (msg: string, tok?: import('../types.js').Token) => never): Parameter[];
50
+ export declare function parseParamList(ctx: ParserContext, error: ParseErrorFn): Parameter[];
50
51
  /**
51
52
  * 推断 Lambda 返回类型(用于短形式 Lambda)
52
53
  * @param e Expression
@@ -1 +1 @@
1
- {"version":3,"file":"expr-stmt-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/expr-stmt-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAGL,UAAU,EAEV,SAAS,EACT,OAAO,EAGP,SAAS,EAGT,IAAI,EAIL,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAiElD,oCAAoC;AACpC,KAAK,gBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;AA4B9C;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,KAAK,CAqDP;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,KAAK,CAiBP;AAiMD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,EAC7B,kBAAkB,GAAE,gBAAwB,GAC3C,SAAS,CAuMX;AA6ND;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,UAAU,CAiBZ;AAq/BD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,UAAU,EAAE,CAcd;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,KAAK,GAC5B,OAAO,CAiDT;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,aAAa,EAAE,KAAK,KAAK,KAAK,GAC/D,SAAS,EAAE,CAsIb;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CA2BzD"}
1
+ {"version":3,"file":"expr-stmt-parser.d.ts","sourceRoot":"","sources":["../../../src/parser/expr-stmt-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,KAAK,EAGL,UAAU,EAEV,SAAS,EACT,OAAO,EAGP,SAAS,EAET,KAAK,EACL,IAAI,EAIL,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAclD,OAAO,EAA4C,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AA2DhH,oCAAoC;AACpC,KAAK,gBAAgB,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AA8BjE;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,KAAK,CAqDP;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,KAAK,CAiBP;AAiMD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,EACnB,kBAAkB,GAAE,gBAAwB,GAC3C,SAAS,CAuMX;AA+ND;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,UAAU,CAiBZ;AAy/BD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,UAAU,EAAE,CAcd;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,OAAO,CAiDT;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,YAAY,GAClB,SAAS,EAAE,CAsIb;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI,CA2BzD"}