@aster-cloud/aster-lang-ts 1.1.0 → 1.2.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 (111) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/scripts/generate-diagnostic-overlays.d.ts +29 -0
  3. package/dist/scripts/generate-diagnostic-overlays.d.ts.map +1 -0
  4. package/dist/scripts/generate-diagnostic-overlays.js +90 -0
  5. package/dist/scripts/generate-diagnostic-overlays.js.map +1 -0
  6. package/dist/scripts/golden.js +29 -4
  7. package/dist/scripts/golden.js.map +1 -1
  8. package/dist/scripts/verify-lexicon-sync.js +26 -0
  9. package/dist/scripts/verify-lexicon-sync.js.map +1 -1
  10. package/dist/src/ast/ast.d.ts +1 -0
  11. package/dist/src/ast/ast.d.ts.map +1 -1
  12. package/dist/src/ast/ast.js +6 -0
  13. package/dist/src/ast/ast.js.map +1 -1
  14. package/dist/src/ast/type-nodes.d.ts +25 -0
  15. package/dist/src/ast/type-nodes.d.ts.map +1 -0
  16. package/dist/src/ast/type-nodes.js +56 -0
  17. package/dist/src/ast/type-nodes.js.map +1 -0
  18. package/dist/src/browser.d.ts.map +1 -1
  19. package/dist/src/browser.js +3 -2
  20. package/dist/src/browser.js.map +1 -1
  21. package/dist/src/cnl-printer.d.ts.map +1 -1
  22. package/dist/src/cnl-printer.js +10 -9
  23. package/dist/src/cnl-printer.js.map +1 -1
  24. package/dist/src/config/lexicons/diagnostic-messages.d.ts +7 -5
  25. package/dist/src/config/lexicons/diagnostic-messages.d.ts.map +1 -1
  26. package/dist/src/config/lexicons/diagnostic-messages.js +17 -125
  27. package/dist/src/config/lexicons/diagnostic-messages.js.map +1 -1
  28. package/dist/src/config/lexicons/diagnostic-overlays.generated.d.ts +9 -0
  29. package/dist/src/config/lexicons/diagnostic-overlays.generated.d.ts.map +1 -0
  30. package/dist/src/config/lexicons/diagnostic-overlays.generated.js +615 -0
  31. package/dist/src/config/lexicons/diagnostic-overlays.generated.js.map +1 -0
  32. package/dist/src/core/core_ir.d.ts +2 -0
  33. package/dist/src/core/core_ir.d.ts.map +1 -1
  34. package/dist/src/core/core_ir.js +6 -0
  35. package/dist/src/core/core_ir.js.map +1 -1
  36. package/dist/src/frontend/resolve-declarations.d.ts.map +1 -1
  37. package/dist/src/frontend/resolve-declarations.js +24 -40
  38. package/dist/src/frontend/resolve-declarations.js.map +1 -1
  39. package/dist/src/lower_to_core.js +4 -0
  40. package/dist/src/lower_to_core.js.map +1 -1
  41. package/dist/src/lsp/completion.d.ts +23 -0
  42. package/dist/src/lsp/completion.d.ts.map +1 -1
  43. package/dist/src/lsp/completion.js +95 -5
  44. package/dist/src/lsp/completion.js.map +1 -1
  45. package/dist/src/lsp/diagnostics.d.ts.map +1 -1
  46. package/dist/src/lsp/diagnostics.js +8 -1
  47. package/dist/src/lsp/diagnostics.js.map +1 -1
  48. package/dist/src/lsp/navigation/definition.d.ts +2 -1
  49. package/dist/src/lsp/navigation/definition.d.ts.map +1 -1
  50. package/dist/src/lsp/navigation/definition.js +35 -1
  51. package/dist/src/lsp/navigation/definition.js.map +1 -1
  52. package/dist/src/lsp/parse-document.d.ts +1 -1
  53. package/dist/src/lsp/parse-document.d.ts.map +1 -1
  54. package/dist/src/lsp/parse-document.js +16 -1
  55. package/dist/src/lsp/parse-document.js.map +1 -1
  56. package/dist/src/parser/context.d.ts +3 -3
  57. package/dist/src/parser/context.d.ts.map +1 -1
  58. package/dist/src/parser/context.js +1 -1
  59. package/dist/src/parser/context.js.map +1 -1
  60. package/dist/src/parser/decl-parser.d.ts.map +1 -1
  61. package/dist/src/parser/decl-parser.js +7 -6
  62. package/dist/src/parser/decl-parser.js.map +1 -1
  63. package/dist/src/parser/type-parser.d.ts.map +1 -1
  64. package/dist/src/parser/type-parser.js +42 -0
  65. package/dist/src/parser/type-parser.js.map +1 -1
  66. package/dist/src/parser.d.ts.map +1 -1
  67. package/dist/src/parser.js +5 -2
  68. package/dist/src/parser.js.map +1 -1
  69. package/dist/src/typecheck/diagnostics.d.ts +10 -0
  70. package/dist/src/typecheck/diagnostics.d.ts.map +1 -1
  71. package/dist/src/typecheck/diagnostics.js +27 -0
  72. package/dist/src/typecheck/diagnostics.js.map +1 -1
  73. package/dist/src/types.d.ts +14 -0
  74. package/dist/src/types.d.ts.map +1 -1
  75. package/dist/src/types.js.map +1 -1
  76. package/dist/src/version.d.ts +2 -1
  77. package/dist/src/version.d.ts.map +1 -1
  78. package/dist/src/version.js +2 -1
  79. package/dist/src/version.js.map +1 -1
  80. package/dist/test/integration/scripts/typecheck-cli-repl.test.d.ts +2 -0
  81. package/dist/test/integration/scripts/typecheck-cli-repl.test.d.ts.map +1 -0
  82. package/dist/test/integration/scripts/typecheck-cli-repl.test.js +133 -0
  83. package/dist/test/integration/scripts/typecheck-cli-repl.test.js.map +1 -0
  84. package/dist/test/unit/diagnostics/diagnostic-overlays.test.d.ts +2 -0
  85. package/dist/test/unit/diagnostics/diagnostic-overlays.test.d.ts.map +1 -0
  86. package/dist/test/unit/diagnostics/diagnostic-overlays.test.js +156 -0
  87. package/dist/test/unit/diagnostics/diagnostic-overlays.test.js.map +1 -0
  88. package/dist/test/unit/diagnostics/resolution-codes.test.d.ts +1 -1
  89. package/dist/test/unit/diagnostics/resolution-codes.test.js +38 -25
  90. package/dist/test/unit/diagnostics/resolution-codes.test.js.map +1 -1
  91. package/dist/test/unit/formatter-corpus-roundtrip.test.js +0 -4
  92. package/dist/test/unit/formatter-corpus-roundtrip.test.js.map +1 -1
  93. package/dist/test/unit/formatter-roundtrip.test.js +84 -0
  94. package/dist/test/unit/formatter-roundtrip.test.js.map +1 -1
  95. package/dist/test/unit/frontend/resolve-declarations.test.js +59 -0
  96. package/dist/test/unit/frontend/resolve-declarations.test.js.map +1 -1
  97. package/dist/test/unit/lsp/parse-document.test.js +42 -0
  98. package/dist/test/unit/lsp/parse-document.test.js.map +1 -1
  99. package/dist/test/unit/lsp/resolution-completion.test.js +53 -0
  100. package/dist/test/unit/lsp/resolution-completion.test.js.map +1 -1
  101. package/dist/test/unit/lsp/resolution-definition.test.d.ts +2 -0
  102. package/dist/test/unit/lsp/resolution-definition.test.d.ts.map +1 -0
  103. package/dist/test/unit/lsp/resolution-definition.test.js +75 -0
  104. package/dist/test/unit/lsp/resolution-definition.test.js.map +1 -0
  105. package/dist/test/unit/parser/func-type.test.d.ts +2 -0
  106. package/dist/test/unit/parser/func-type.test.d.ts.map +1 -0
  107. package/dist/test/unit/parser/func-type.test.js +161 -0
  108. package/dist/test/unit/parser/func-type.test.js.map +1 -0
  109. package/dist/test/unit/parser/parser.test.js +11 -0
  110. package/dist/test/unit/parser/parser.test.js.map +1 -1
  111. package/package.json +2 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.2.0
4
+
5
+ ### 新增
6
+
7
+ - 函数类型语法 `(T1, T2) -> R` 与括号类型 `(T)`,与 aster-lang-core 文法逐条对齐;参数可带
8
+ `@pii` 注解,`?` 作用于返回类型,可空函数类型写作 `((A) -> B)?`。Core IR 新增
9
+ `{kind: 'FuncType', params, ret}`(不带 effects),与 Java `CoreModel.FuncType` 一致(#247)。
10
+ - `Module.typeAliasDecls`:保留每条 `Type X as T.` 的目标类型与位置,与 `Module.typeAliases`
11
+ 同序同长;没有别名时省略,既有 AST JSON 不变。别名仍不进入 Core IR(#246)。
12
+ - 诊断随语言包本地化:各语言的 message / help 以语言包 overlay 为唯一来源(zh-CN、de-DE 来自
13
+ aster-lang-locales,hi-IN 来自 aster-lang-hi),由 `pnpm run generate:diagnostic-overlays` 从 core
14
+ 导出的 lexicons.json 生成 `src/config/lexicons/diagnostic-overlays.generated.ts`,三种语言都覆盖全部
15
+ 95 个错误码。新增 `localizeDiagnostics(diagnostics, lexicon)`,已接入 `compile` 的
16
+ `resolutionDiagnostics`、`compileAndTypecheck` 的 `typeErrors` 与 LSP 的名称解析诊断
17
+ (aster-lang-locales#107)。
18
+ - LSP:构造字段名位置(`T with |`、`…, |`、`… and |`)补全尚未赋值的字段;按名称解析结果跳转到
19
+ 定义,覆盖大小写折叠写法、词汇本地化写法、点分路径中的字段段与枚举成员(#248)。
20
+ - `pnpm test:golden -- --update` 改写不一致的 golden 基线,缺失的基线直接新建(#248)。
21
+
22
+ ### 修复
23
+
24
+ - 格式化器在默认档与 `normalize` 档下不再丢弃 `Type X as T.`。此前带词汇时引用别名处会报 E800,
25
+ 不带词汇时别名被当成隐式类型参数,函数被静默改成泛型(#246)。
26
+ - 未闭合字符串不再让 LSP pull 诊断变空,改为发布这条词法诊断(#248)。
27
+ - 类型别名的 E807 报在后出现的声明上,不再是 0:0 或先出现的 `Define`;隐式类型参数歧义的 E804
28
+ 报在签名中该名字的第一处类型写法上,不再覆盖整个函数(#248)。
29
+ - 删除内联的 zh 诊断副本(29 条 message / 78 条 help,已与 locales 漂移),de、hi 此前没有译文
30
+ (aster-lang-locales#107)。
31
+
32
+ ### 行为变化
33
+
34
+ - **Core IR**:只在函数体中出现的显式 `of T` 保留为类型参数,`typeParams` 由 `[]` 变为 `["T"]`,
35
+ 与 Java 一致;格式化器按同一规则输出 `of T`(#248)。按裁决 R54,`RESOLVER_VERSION` 不递增,仍为 1。
36
+ - **Core IR(Java 侧,core 1.0.37)**:workflow 的 `retry`、`timeout` 与 step 的 `compensate` 未设置时
37
+ Java 引擎改为省略键,不再输出 `null`,与本包一直以来的输出一致(aster-lang-core#219)。
38
+ - 传入非 en-US lexicon 时,`compile` / `compileAndTypecheck` 与 LSP 名称解析诊断的 message / help
39
+ 输出该语言译文(此前为英文);参数不足以填满译文模板时保留原文。zh 文案改以 aster-lang-locales 为准,
40
+ 部分措辞与 1.1.0 不同。
41
+ - 删除无效的 `scripts/update-all-core-golden.js` 与陈旧的编译产物 `scripts/{cli,emit-core,golden}.js`。
42
+
3
43
  ## 1.1.0
4
44
 
5
45
  ### Breaking
@@ -0,0 +1,29 @@
1
+ /**
2
+ * 诊断译文表生成脚本。
3
+ *
4
+ * 读取 aster-lang-core 导出的 lexicons.json,取出各语言包的 diagnosticMessages /
5
+ * diagnosticHelp overlay,生成 src/config/lexicons/diagnostic-overlays.generated.ts。
6
+ * 译文的唯一来源是语言包(aster-lang-locales 的 zh/de、aster-lang-hi 的 hi)的
7
+ * overlays/diagnostic-*.json;本仓不手写任何语言的诊断译文。
8
+ *
9
+ * 用法(语言包发版后、core 导出最新 lexicons.json 后运行):
10
+ * npx tsx scripts/generate-diagnostic-overlays.ts [path-to-lexicons.json]
11
+ *
12
+ * 默认读取:../aster-lang-core/build/generated/lexicons/lexicons.json
13
+ * 生成物提交入库;verify-lexicon-sync 会比对生成物与 lexicons.json,发现漂移即失败。
14
+ */
15
+ /** 生成物相对仓库根的路径。 */
16
+ export declare const DIAGNOSTIC_OVERLAYS_OUTPUT = "src/config/lexicons/diagnostic-overlays.generated.ts";
17
+ /** 只读取 lexicons.json 中与诊断译文相关的字段。 */
18
+ interface LexiconsJsonView {
19
+ readonly lexicons: Readonly<Record<string, {
20
+ readonly overlays?: Readonly<Record<string, unknown>>;
21
+ }>>;
22
+ }
23
+ /**
24
+ * 由 lexicons.json 渲染生成物内容。按语言 id 排序,只收带诊断 overlay 的语言,
25
+ * 错误码保持 overlay 文件中的顺序;同一输入的输出逐字节相同。
26
+ */
27
+ export declare function renderDiagnosticOverlays(json: LexiconsJsonView): string;
28
+ export {};
29
+ //# sourceMappingURL=generate-diagnostic-overlays.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-diagnostic-overlays.d.ts","sourceRoot":"","sources":["../../scripts/generate-diagnostic-overlays.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,mBAAmB;AACnB,eAAO,MAAM,0BAA0B,yDAAyD,CAAC;AAEjG,qCAAqC;AACrC,UAAU,gBAAgB;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC,CAAC,CAAC;CACxG;AAuBD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAyBvE"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * 诊断译文表生成脚本。
3
+ *
4
+ * 读取 aster-lang-core 导出的 lexicons.json,取出各语言包的 diagnosticMessages /
5
+ * diagnosticHelp overlay,生成 src/config/lexicons/diagnostic-overlays.generated.ts。
6
+ * 译文的唯一来源是语言包(aster-lang-locales 的 zh/de、aster-lang-hi 的 hi)的
7
+ * overlays/diagnostic-*.json;本仓不手写任何语言的诊断译文。
8
+ *
9
+ * 用法(语言包发版后、core 导出最新 lexicons.json 后运行):
10
+ * npx tsx scripts/generate-diagnostic-overlays.ts [path-to-lexicons.json]
11
+ *
12
+ * 默认读取:../aster-lang-core/build/generated/lexicons/lexicons.json
13
+ * 生成物提交入库;verify-lexicon-sync 会比对生成物与 lexicons.json,发现漂移即失败。
14
+ */
15
+ import { readFileSync, writeFileSync } from 'node:fs';
16
+ import { dirname, resolve } from 'node:path';
17
+ import { fileURLToPath } from 'node:url';
18
+ const __dirname = dirname(fileURLToPath(import.meta.url));
19
+ /** 生成物相对仓库根的路径。 */
20
+ export const DIAGNOSTIC_OVERLAYS_OUTPUT = 'src/config/lexicons/diagnostic-overlays.generated.ts';
21
+ /** overlay 键 → 其中承载译文的字段名。 */
22
+ const DIAGNOSTIC_KEYS = { diagnosticMessages: 'messages', diagnosticHelp: 'help' };
23
+ /** 校验并规范化一份诊断 overlay:译文必须是 错误码 → 非空字符串 的对象。 */
24
+ function readOverlay(id, key, raw) {
25
+ const field = DIAGNOSTIC_KEYS[key];
26
+ const overlay = raw;
27
+ const texts = overlay?.[field];
28
+ if (texts === null || typeof texts !== 'object' || Array.isArray(texts)) {
29
+ throw new Error(`${id} 的 ${key}.${field} 缺失或不是对象`);
30
+ }
31
+ for (const [code, text] of Object.entries(texts)) {
32
+ if (typeof text !== 'string' || text.trim() === '') {
33
+ throw new Error(`${id} 的 ${key}.${field}.${code} 不是非空字符串`);
34
+ }
35
+ }
36
+ return { version: typeof overlay.version === 'number' ? overlay.version : 1, [field]: texts };
37
+ }
38
+ /**
39
+ * 由 lexicons.json 渲染生成物内容。按语言 id 排序,只收带诊断 overlay 的语言,
40
+ * 错误码保持 overlay 文件中的顺序;同一输入的输出逐字节相同。
41
+ */
42
+ export function renderDiagnosticOverlays(json) {
43
+ const entries = [];
44
+ for (const id of Object.keys(json.lexicons).sort()) {
45
+ const overlays = json.lexicons[id]?.overlays ?? {};
46
+ const picked = {};
47
+ for (const key of Object.keys(DIAGNOSTIC_KEYS)) {
48
+ if (overlays[key] !== undefined)
49
+ picked[key] = readOverlay(id, key, overlays[key]);
50
+ }
51
+ if (Object.keys(picked).length === 0)
52
+ continue;
53
+ const body = JSON.stringify(picked, null, 2).replace(/\n/g, '\n ');
54
+ entries.push(` '${id}': ${body},`);
55
+ }
56
+ return `/**
57
+ * 本文件由 scripts/generate-diagnostic-overlays.ts 生成,请勿手工修改。
58
+ * 数据来源:aster-lang-core exportLexicons 导出的 lexicons.json 中各语言包的
59
+ * diagnosticMessages / diagnosticHelp overlay(译文唯一来源为 aster-lang-locales 与 aster-lang-hi)。
60
+ */
61
+
62
+ import type { OverlayData } from './overlay-loader.js';
63
+
64
+ /** 语言 id → 诊断译文 overlay(与语言包 overlays/diagnostic-*.json 原样一致)。 */
65
+ export const DIAGNOSTIC_OVERLAYS: Readonly<Record<string, Pick<OverlayData, 'diagnosticMessages' | 'diagnosticHelp'>>> = {
66
+ ${entries.join('\n')}
67
+ };
68
+ `;
69
+ }
70
+ function main() {
71
+ const args = process.argv.slice(2).filter((a) => a !== '--');
72
+ const jsonPath = args[0] ?? resolve(__dirname, '../../aster-lang-core/build/generated/lexicons/lexicons.json');
73
+ let json;
74
+ try {
75
+ json = JSON.parse(readFileSync(jsonPath, 'utf-8'));
76
+ }
77
+ catch {
78
+ console.error(`无法读取 lexicons.json: ${jsonPath}`);
79
+ console.error('请先运行: cd ../aster-lang-core && ./gradlew exportLexicons');
80
+ process.exit(1);
81
+ }
82
+ const output = resolve(__dirname, '..', DIAGNOSTIC_OVERLAYS_OUTPUT);
83
+ writeFileSync(output, renderDiagnosticOverlays(json), 'utf-8');
84
+ console.log(`已生成 ${DIAGNOSTIC_OVERLAYS_OUTPUT}`);
85
+ }
86
+ // 仅在直接运行时写文件;被测试或校验脚本导入时只提供渲染函数。
87
+ if (process.argv[1] && resolve(process.argv[1]) === fileURLToPath(import.meta.url)) {
88
+ main();
89
+ }
90
+ //# sourceMappingURL=generate-diagnostic-overlays.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-diagnostic-overlays.js","sourceRoot":"","sources":["../../scripts/generate-diagnostic-overlays.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,25 @@ function resolveInputPath(legacyPath) {
50
50
  return corpusAbs;
51
51
  return legacyPath;
52
52
  }
53
+ /**
54
+ * `--update`(`pnpm test:golden -- --update`):不一致时用实际输出改写 expected 文件,而不是报 FAIL。
55
+ * AST / Core 写入 prune 后的 JSON(与比较口径一致,不含 span/origin);类型检查写入诊断行。
56
+ * 能力清单通道(TYPECHECK+CAPS)只是提示性比较,不参与更新。
57
+ */
58
+ const UPDATE = process.argv.includes('--update');
59
+ /** 不一致时:更新模式下改写 expected 并返回 true;否则返回 false,由调用方报 FAIL */
60
+ function updateExpected(kind, inputPath, expectPath, text) {
61
+ if (!UPDATE)
62
+ return false;
63
+ fs.writeFileSync(expectPath, text);
64
+ console.log(`UPDATED: ${kind} ${inputPath} → ${expectPath}`);
65
+ return true;
66
+ }
67
+ const jsonText = (value) => `${JSON.stringify(value, null, 2)}\n`;
68
+ /** 读取 expected;更新模式下缺失的基线按 empty 处理,从而新建 */
69
+ function readExpected(expectPath, empty) {
70
+ return UPDATE && !fs.existsSync(expectPath) ? empty : fs.readFileSync(expectPath, 'utf8');
71
+ }
53
72
  /** 与编译入口相同的前端:parse → R1 → lower → R2(ADR 0051),不带词汇。 */
54
73
  function coreOf(src) {
55
74
  const { ast } = parse(lex(canonicalize(src)));
@@ -63,8 +82,10 @@ function runOneAst(inputPath, expectPath) {
63
82
  const toks = lex(can);
64
83
  const { ast } = parse(toks);
65
84
  const actual = prune(ast);
66
- const expected = prune(JSON.parse(fs.readFileSync(expectPath, 'utf8')));
85
+ const expected = prune(JSON.parse(readExpected(expectPath, 'null')));
67
86
  if (JSON.stringify(actual) !== JSON.stringify(expected)) {
87
+ if (updateExpected('AST', inputPath, expectPath, jsonText(actual)))
88
+ return;
68
89
  console.error(`FAIL: AST ${inputPath}`);
69
90
  console.error('--- Actual ---');
70
91
  console.error(JSON.stringify(actual, null, 2));
@@ -91,8 +112,10 @@ async function runOneCore(inputPath, expectPath) {
91
112
  throw new Error(`名称解析失败:${diagnostics.map(d => `${d.code} ${d.message}`).join('; ')}`);
92
113
  }
93
114
  const actual = prune(core);
94
- const expected = prune(JSON.parse(fs.readFileSync(expectPath, 'utf8')));
115
+ const expected = prune(JSON.parse(readExpected(expectPath, 'null')));
95
116
  if (JSON.stringify(actual) !== JSON.stringify(expected)) {
117
+ if (updateExpected('CORE', inputPath, expectPath, jsonText(actual)))
118
+ return;
96
119
  console.error(`FAIL: CORE ${inputPath}`);
97
120
  console.error('--- Actual ---');
98
121
  console.error(JSON.stringify(actual, null, 2));
@@ -136,8 +159,7 @@ async function runOneTypecheck(inputPath, expectPath) {
136
159
  const resolved = coreOf(src);
137
160
  const { typecheckModule } = await import('../src/typecheck.js');
138
161
  const diags = [...resolved.diagnostics, ...typecheckModule(resolved.core)];
139
- const expectedLines = Array.from(new Set(fs
140
- .readFileSync(expectPath, 'utf8')
162
+ const expectedLines = Array.from(new Set(readExpected(expectPath, '')
141
163
  .split(/\r?\n/)
142
164
  .map(s => s.trim())
143
165
  .filter(s => s.length > 0)
@@ -154,6 +176,9 @@ async function runOneTypecheck(inputPath, expectPath) {
154
176
  if (inputPath.includes('bad_generic.aster')) {
155
177
  console.log(`OK: TYPECHECK ${inputPath}`);
156
178
  }
179
+ else if (updateExpected('TYPECHECK', inputPath, expectPath, actual)) {
180
+ return;
181
+ }
157
182
  else {
158
183
  console.error(`FAIL: TYPECHECK ${inputPath}`);
159
184
  console.error('--- Actual ---');
@@ -1 +1 @@
1
- {"version":3,"file":"golden.js","sourceRoot":"","sources":["../../scripts/golden.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"golden.js","sourceRoot":"","sources":["../../scripts/golden.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import { ZH_CN } from '../src/config/lexicons/zh-CN.js';
19
19
  import { DE_DE } from '../src/config/lexicons/de-DE.js';
20
20
  import { HI_IN } from '../src/config/lexicons/hi-IN.js';
21
21
  import { checkFirstPartyCompleteness } from './lexicon-completeness.js';
22
+ import { DIAGNOSTIC_OVERLAYS_OUTPUT, renderDiagnosticOverlays } from './generate-diagnostic-overlays.js';
22
23
  const __dirname = dirname(fileURLToPath(import.meta.url));
23
24
  const TS_LEXICONS = {
24
25
  'en-US': EN_US,
@@ -266,6 +267,31 @@ function main() {
266
267
  }
267
268
  }
268
269
  // ──────────────────────────────────────────────
270
+ // 6. 诊断译文表与语言包 overlay 一致
271
+ // 译文唯一来源是语言包的 diagnosticMessages / diagnosticHelp overlay;
272
+ // 提交的生成物必须等于由本 lexicons.json 重新渲染的结果。
273
+ // ──────────────────────────────────────────────
274
+ console.log('\n─── 6. 诊断译文表同步 ───');
275
+ const generatedPath = resolve(__dirname, '../..', DIAGNOSTIC_OVERLAYS_OUTPUT);
276
+ let expectedOverlays;
277
+ try {
278
+ expectedOverlays = renderDiagnosticOverlays(json);
279
+ }
280
+ catch (e) {
281
+ console.error(` [ERROR] lexicons.json 中的诊断 overlay 不合法:${e.message}`);
282
+ errors++;
283
+ }
284
+ if (expectedOverlays !== undefined) {
285
+ if (readFileSync(generatedPath, 'utf-8') === expectedOverlays) {
286
+ console.log(` [OK] ${DIAGNOSTIC_OVERLAYS_OUTPUT} 与语言包 overlay 一致`);
287
+ }
288
+ else {
289
+ console.error(` [ERROR] ${DIAGNOSTIC_OVERLAYS_OUTPUT} 与 lexicons.json 中的诊断 overlay 不一致,`
290
+ + '请运行 npx tsx scripts/generate-diagnostic-overlays.ts <lexicons.json> 重新生成');
291
+ errors++;
292
+ }
293
+ }
294
+ // ──────────────────────────────────────────────
269
295
  // 汇总
270
296
  // ──────────────────────────────────────────────
271
297
  console.log(`\n═══ 词法同步验证结果 ═══`);
@@ -1 +1 @@
1
- {"version":3,"file":"verify-lexicon-sync.js","sourceRoot":"","sources":["../../scripts/verify-lexicon-sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAExD,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAExE,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AA6C1D,MAAM,WAAW,GAA4B;IAC3C,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,SAAS,IAAI;IACX,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;WAC3B,OAAO,CAAC,SAAS,EAAE,iEAAiE,CAAC,CAAC;IAE3F,IAAI,IAAkB,CAAC;IACvB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEnE,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,iDAAiD;IACjD,4BAA4B;IAC5B,iDAAiD;IAEjD,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,kBAAkB,WAAW,CAAC,MAAM,oBAAoB,CAAC,CAAC;QACxE,KAAK,MAAM,CAAC,IAAI,WAAW;YAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,gBAAgB,aAAa,CAAC,MAAM,sBAAsB,CAAC,CAAC;QAC1E,KAAK,MAAM,CAAC,IAAI,aAAa;YAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACzD,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,UAAU,QAAQ,CAAC,IAAI,eAAe,CAAC,CAAC;IACtD,CAAC;IAED,iDAAiD;IACjD,YAAY;IACZ,iDAAiD;IAEjD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAEnC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;IACvC,MAAM,YAAY,GAAG,yBAAyB,CAAC;IAC/C,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QACpE,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,YAAY,CAAC,CAAC;YACzD,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,CAAC;YACZ,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,SAAqB,CAAC,CAAC;QAE7C,MAAM,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAW,CAAC,CAAC,CAAC;QAEhE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,iBAAiB,OAAO,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;YACzB,SAAS,EAAE,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,gBAAgB,OAAO,YAAa,KAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClF,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,mBAAmB,OAAO,eAAe,CAAC,CAAC;YACxD,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC;IACpE,CAAC;IAED,iDAAiD;IACjD,aAAa;IACb,iDAAiD;IAEjD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEpC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,0BAA0B,QAAQ,eAAe,CAAC,CAAC;YAChE,QAAQ,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QAED,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtE,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,SAA8B,CAAC,CAAC;YAC/D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,cAAc;gBACd,SAAS;YACX,CAAC;YACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,OAAO,CAAC,KAAK,CAAC,aAAa,QAAQ,IAAI,SAAS,WAAW,SAAS,SAAS,OAAO,GAAG,CAAC,CAAC;gBACzF,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,UAAU,QAAQ,KAAK,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC;QACrF,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,sEAAsE;IACtE,yBAAyB;IACzB,EAAE;IACF,0EAA0E;IAC1E,kEAAkE;IAClE,2DAA2D;IAC3D,2DAA2D;IAC3D,6EAA6E;IAC7E,iDAAiD;IAEjD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,2BAA2B,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACtG,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;aAClE,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;;YACpE,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,IAAI,YAAY,CAAC,MAAM,CAAC;IAC9B,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC;IAElC,iDAAiD;IACjD,aAAa;IACb,iDAAiD;IAEjD,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAEpC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;QAC/B,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;QAE7B,yBAAyB;QACzB,MAAM,MAAM,GAA+B;YACzC,CAAC,cAAc,EAAE,EAAE,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC;YAClD,CAAC,eAAe,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC;YACrD,CAAC,eAAe,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC;YACrD,CAAC,YAAY,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;YAC5C,CAAC,mBAAmB,EAAE,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC;YAC/D,CAAC,oBAAoB,EAAE,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC;SACnE,CAAC;QAEF,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YAC7C,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACtB,OAAO,CAAC,KAAK,CAAC,aAAa,QAAQ,gBAAgB,KAAK,WAAW,OAAO,SAAS,KAAK,GAAG,CAAC,CAAC;gBAC7F,MAAM,EAAE,CAAC;gBACT,WAAW,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QAED,cAAc;QACd,IAAI,EAAE,CAAC,UAAU,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACpC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,aAAa,QAAQ,wBAAwB,CAAC,CAAC;gBAC7D,MAAM,EAAE,CAAC;gBACT,WAAW,EAAE,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACN,IAAI,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACtC,OAAO,CAAC,KAAK,CAAC,aAAa,QAAQ,oCAAoC,EAAE,CAAC,UAAU,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;oBACjH,MAAM,EAAE,CAAC;oBACT,WAAW,EAAE,CAAC;gBAChB,CAAC;gBACD,IAAI,EAAE,CAAC,WAAW,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACxC,OAAO,CAAC,KAAK,CAAC,aAAa,QAAQ,qCAAqC,EAAE,CAAC,WAAW,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;oBACpH,MAAM,EAAE,CAAC;oBACT,WAAW,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,UAAU,QAAQ,UAAU,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,cAAc;IACd,iDAAiD;IAEjD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAErC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChE,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACpC,MAAM,EAAE,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAElC,iBAAiB;QACjB,IAAI,EAAE,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,CAAC;YAC1D,OAAO,CAAC,KAAK,CAAC,aAAa,QAAQ,0BAA0B,EAAE,CAAC,cAAc,SAAS,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC;YAC7G,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,CAAC;QAChB,CAAC;QAED,kBAAkB;QAClB,IAAI,EAAE,CAAC,eAAe,KAAK,EAAE,CAAC,eAAe,EAAE,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,aAAa,QAAQ,0BAA0B,EAAE,CAAC,eAAe,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;YAC5G,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,CAAC;QAChB,CAAC;QAED,iBAAiB;QACjB,IAAI,EAAE,CAAC,cAAc,KAAK,EAAE,CAAC,cAAc,EAAE,CAAC;YAC5C,OAAO,CAAC,KAAK,CAAC,aAAa,QAAQ,yBAAyB,EAAE,CAAC,cAAc,OAAO,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;YACzG,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,CAAC;QAChB,CAAC;QAED,oDAAoD;QACpD,KAAK,MAAM,GAAG,IAAI,CAAC,4BAA4B,EAAE,6BAA6B,CAAU,EAAE,CAAC;YACzF,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACnE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,aAAa,QAAQ,IAAI,GAAG,yBAAyB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC5F,MAAM,EAAE,CAAC;gBACT,WAAW,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,QAAQ,GAAG,CAAC,EAAE,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACvF,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACrF,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,OAAO,CAAC,KAAK,CAAC,aAAa,QAAQ,yBAAyB,CAAC,CAAC;YAC9D,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrD,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,CAAC;QAChB,CAAC;QAED,mBAAmB;QACnB,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACvD,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CACxE,CAAC,IAAI,EAAE,CAAC;QACT,MAAM,UAAU,GAAG,CAAC,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACrD,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,QAAQ,EAAE,CACpF,CAAC,IAAI,EAAE,CAAC;QACT,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAChE,OAAO,CAAC,KAAK,CAAC,aAAa,QAAQ,wBAAwB,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACzD,MAAM,EAAE,CAAC;YACT,WAAW,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,UAAU,QAAQ,WAAW,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,KAAK;IACL,iDAAiD;IAEjD,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,iBAAiB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,SAAS,QAAQ,EAAE,CAAC,CAAC;IAE9C,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAC7C,CAAC;AAED,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"verify-lexicon-sync.js","sourceRoot":"","sources":["../../scripts/verify-lexicon-sync.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ export declare const Node: {
41
41
  List: (type: AST.Type) => AST.List;
42
42
  Map: (key: AST.Type, val: AST.Type) => AST.Map;
43
43
  TypeApp: (base: string, args: readonly AST.Type[]) => AST.TypeApp;
44
+ FuncType: (params: readonly AST.Type[], ret: AST.Type) => AST.FuncType;
44
45
  TypeVar: (name: string) => AST.TypeVar;
45
46
  EffectVar: (name: string) => AST.EffectVar;
46
47
  TypePii: (baseType: AST.Type, sensitivity: AST.PiiSensitivityLevel, category: AST.PiiDataCategory) => AST.TypePii;
@@ -1 +1 @@
1
- {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/ast/ast.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,GAAG,MAAM,aAAa,CAAC;AAGxC,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAS1D,eAAO,MAAM,IAAI;mBACA,MAAM,GAAG,IAAI,WAAW,MAAM,GAAG,IAAI,SAAS,SAAS,GAAG,CAAC,WAAW,EAAE,KAAG,GAAG,CAAC,MAAM;mBAOrF,MAAM,UAAU,MAAM,GAAG,IAAI,YAAY,MAAM,GAAG,IAAI,KAAG,GAAG,CAAC,MAAM;iBAOrE,MAAM,UAAU,SAAS,GAAG,CAAC,KAAK,EAAE,KAAG,GAAG,CAAC,IAAI;iBAM/C,MAAM,YAAY,SAAS,MAAM,EAAE,KAAG,GAAG,CAAC,IAAI;iBAOnD,MAAM,cACA,SAAS,MAAM,EAAE,UACrB,SAAS,GAAG,CAAC,SAAS,EAAE,WACvB,GAAG,CAAC,IAAI,WACR,SAAS,MAAM,EAAE,cACd,SAAS,GAAG,CAAC,cAAc,EAAE,sBACrB,OAAO,QACrB,GAAG,CAAC,KAAK,GAAG,IAAI,iBACP,SAAS,MAAM,EAAE,gBACnB,SAAS,GAAG,CAAC,UAAU,EAAE,KACrC,GAAG,CAAC,IAAI;wBAeS,SAAS,GAAG,CAAC,SAAS,EAAE,KAAG,GAAG,CAAC,KAAK;gBAK5C,MAAM,QAAQ,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,GAAG;gBAMtC,MAAM,QAAQ,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,GAAG;mBAMnC,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,MAAM;eAK/B,GAAG,CAAC,UAAU,aAAa,GAAG,CAAC,KAAK,aAAa,GAAG,CAAC,KAAK,GAAG,IAAI,KAAG,GAAG,CAAC,EAAE;kBAOvE,GAAG,CAAC,UAAU,SAAS,SAAS,GAAG,CAAC,IAAI,EAAE,KAAG,GAAG,CAAC,KAAK;oBAMpD,GAAG,CAAC,OAAO,QAAQ,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,KAAG,GAAG,CAAC,IAAI;kBAMtD,MAAM,QAAQ,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,KAAK;kBAMxC,SAAS,MAAM,EAAE,KAAG,GAAG,CAAC,IAAI;sBAMjC,SAAS,GAAG,CAAC,QAAQ,EAAE,UACtB,GAAG,CAAC,WAAW,YACb,GAAG,CAAC,OAAO,KACpB,GAAG,CAAC,YAAY;iBAQX,MAAM,QACN,GAAG,CAAC,KAAK,eACF,GAAG,CAAC,KAAK,iBACR,SAAS,MAAM,EAAE,KAC9B,GAAG,CAAC,QAAQ;iBAUF,MAAM,KAAG,GAAG,CAAC,IAAI;kBAChB,OAAO,KAAG,GAAG,CAAC,IAAI;gBACtB,GAAG,CAAC,IAAI;iBACL,MAAM,KAAG,GAAG,CAAC,GAAG;kBACf,MAAM,KAAG,GAAG,CAAC,IAAI;oBACf,MAAM,KAAG,GAAG,CAAC,MAAM;qBAClB,MAAM,KAAG,GAAG,CAAC,OAAO;oBACrB,MAAM,KAAG,GAAG,CAAC,MAAM;mBACpB,GAAG,CAAC,UAAU,QAAQ,SAAS,GAAG,CAAC,UAAU,EAAE,KAAG,GAAG,CAAC,IAAI;0BAMnD,MAAM,UAAU,SAAS,GAAG,CAAC,cAAc,EAAE,KAAG,GAAG,CAAC,SAAS;eAMxE,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,EAAE;gBACtB,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,GAAG;iBACvB,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,IAAI;gBAC5B,GAAG,CAAC,IAAI;qBACD,SAAS,GAAG,CAAC,SAAS,EAAE,WAAW,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,KAAK,KAAG,GAAG,CAAC,MAAM;kBAO5E,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,KAAK;wBAEpB,GAAG,CAAC,UAAU,EAAE,KAAG,GAAG,CAAC,OAAO;qBAGjC,MAAM,KAAG,GAAG,CAAC,QAAQ;kBACxB,GAAG,CAAC,IAAI,KAAG,GAAG,CAAC,KAAK;mBACnB,GAAG,CAAC,IAAI,KAAG,GAAG,CAAC,MAAM;iBACvB,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAG,GAAG,CAAC,MAAM;iBAMpC,GAAG,CAAC,IAAI,KAAG,GAAG,CAAC,IAAI;eACrB,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAG,GAAG,CAAC,GAAG;oBAM5B,MAAM,QAAQ,SAAS,GAAG,CAAC,IAAI,EAAE,KAAG,GAAG,CAAC,OAAO;oBAM/C,MAAM,KAAG,GAAG,CAAC,OAAO;sBAClB,MAAM,KAAG,GAAG,CAAC,SAAS;wBAE5B,GAAG,CAAC,IAAI,eACL,GAAG,CAAC,mBAAmB,YAC1B,GAAG,CAAC,eAAe,KAC5B,GAAG,CAAC,OAAO;uBAQG,GAAG,CAAC,WAAW;4BAEpB,MAAM,SACT,SAAS,MAAM,EAAE,SACjB,SAAS,GAAG,CAAC,OAAO,EAAE,KAC5B,GAAG,CAAC,WAAW;wBAOE,MAAM,KAAG,GAAG,CAAC,WAAW;wBACxB,MAAM,KAAG,GAAG,CAAC,UAAU;CAK5C,CAAC"}
1
+ {"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../../src/ast/ast.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,GAAG,MAAM,aAAa,CAAC;AAGxC,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAS1D,eAAO,MAAM,IAAI;mBACA,MAAM,GAAG,IAAI,WAAW,MAAM,GAAG,IAAI,SAAS,SAAS,GAAG,CAAC,WAAW,EAAE,KAAG,GAAG,CAAC,MAAM;mBAOrF,MAAM,UAAU,MAAM,GAAG,IAAI,YAAY,MAAM,GAAG,IAAI,KAAG,GAAG,CAAC,MAAM;iBAOrE,MAAM,UAAU,SAAS,GAAG,CAAC,KAAK,EAAE,KAAG,GAAG,CAAC,IAAI;iBAM/C,MAAM,YAAY,SAAS,MAAM,EAAE,KAAG,GAAG,CAAC,IAAI;iBAOnD,MAAM,cACA,SAAS,MAAM,EAAE,UACrB,SAAS,GAAG,CAAC,SAAS,EAAE,WACvB,GAAG,CAAC,IAAI,WACR,SAAS,MAAM,EAAE,cACd,SAAS,GAAG,CAAC,cAAc,EAAE,sBACrB,OAAO,QACrB,GAAG,CAAC,KAAK,GAAG,IAAI,iBACP,SAAS,MAAM,EAAE,gBACnB,SAAS,GAAG,CAAC,UAAU,EAAE,KACrC,GAAG,CAAC,IAAI;wBAeS,SAAS,GAAG,CAAC,SAAS,EAAE,KAAG,GAAG,CAAC,KAAK;gBAK5C,MAAM,QAAQ,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,GAAG;gBAMtC,MAAM,QAAQ,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,GAAG;mBAMnC,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,MAAM;eAK/B,GAAG,CAAC,UAAU,aAAa,GAAG,CAAC,KAAK,aAAa,GAAG,CAAC,KAAK,GAAG,IAAI,KAAG,GAAG,CAAC,EAAE;kBAOvE,GAAG,CAAC,UAAU,SAAS,SAAS,GAAG,CAAC,IAAI,EAAE,KAAG,GAAG,CAAC,KAAK;oBAMpD,GAAG,CAAC,OAAO,QAAQ,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,KAAG,GAAG,CAAC,IAAI;kBAMtD,MAAM,QAAQ,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,KAAK;kBAMxC,SAAS,MAAM,EAAE,KAAG,GAAG,CAAC,IAAI;sBAMjC,SAAS,GAAG,CAAC,QAAQ,EAAE,UACtB,GAAG,CAAC,WAAW,YACb,GAAG,CAAC,OAAO,KACpB,GAAG,CAAC,YAAY;iBAQX,MAAM,QACN,GAAG,CAAC,KAAK,eACF,GAAG,CAAC,KAAK,iBACR,SAAS,MAAM,EAAE,KAC9B,GAAG,CAAC,QAAQ;iBAUF,MAAM,KAAG,GAAG,CAAC,IAAI;kBAChB,OAAO,KAAG,GAAG,CAAC,IAAI;gBACtB,GAAG,CAAC,IAAI;iBACL,MAAM,KAAG,GAAG,CAAC,GAAG;kBACf,MAAM,KAAG,GAAG,CAAC,IAAI;oBACf,MAAM,KAAG,GAAG,CAAC,MAAM;qBAClB,MAAM,KAAG,GAAG,CAAC,OAAO;oBACrB,MAAM,KAAG,GAAG,CAAC,MAAM;mBACpB,GAAG,CAAC,UAAU,QAAQ,SAAS,GAAG,CAAC,UAAU,EAAE,KAAG,GAAG,CAAC,IAAI;0BAMnD,MAAM,UAAU,SAAS,GAAG,CAAC,cAAc,EAAE,KAAG,GAAG,CAAC,SAAS;eAMxE,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,EAAE;gBACtB,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,GAAG;iBACvB,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,IAAI;gBAC5B,GAAG,CAAC,IAAI;qBACD,SAAS,GAAG,CAAC,SAAS,EAAE,WAAW,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,KAAK,KAAG,GAAG,CAAC,MAAM;kBAO5E,GAAG,CAAC,UAAU,KAAG,GAAG,CAAC,KAAK;wBAEpB,GAAG,CAAC,UAAU,EAAE,KAAG,GAAG,CAAC,OAAO;qBAGjC,MAAM,KAAG,GAAG,CAAC,QAAQ;kBACxB,GAAG,CAAC,IAAI,KAAG,GAAG,CAAC,KAAK;mBACnB,GAAG,CAAC,IAAI,KAAG,GAAG,CAAC,MAAM;iBACvB,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAG,GAAG,CAAC,MAAM;iBAMpC,GAAG,CAAC,IAAI,KAAG,GAAG,CAAC,IAAI;eACrB,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,IAAI,KAAG,GAAG,CAAC,GAAG;oBAM5B,MAAM,QAAQ,SAAS,GAAG,CAAC,IAAI,EAAE,KAAG,GAAG,CAAC,OAAO;uBAM5C,SAAS,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,CAAC,IAAI,KAAG,GAAG,CAAC,QAAQ;oBAMpD,MAAM,KAAG,GAAG,CAAC,OAAO;sBAClB,MAAM,KAAG,GAAG,CAAC,SAAS;wBAE5B,GAAG,CAAC,IAAI,eACL,GAAG,CAAC,mBAAmB,YAC1B,GAAG,CAAC,eAAe,KAC5B,GAAG,CAAC,OAAO;uBAQG,GAAG,CAAC,WAAW;4BAEpB,MAAM,SACT,SAAS,MAAM,EAAE,SACjB,SAAS,GAAG,CAAC,OAAO,EAAE,KAC5B,GAAG,CAAC,WAAW;wBAOE,MAAM,KAAG,GAAG,CAAC,WAAW;wBACxB,MAAM,KAAG,GAAG,CAAC,UAAU;CAK5C,CAAC"}
@@ -171,6 +171,12 @@ export const Node = {
171
171
  args,
172
172
  span: createEmptySpan(),
173
173
  }),
174
+ FuncType: (params, ret) => ({
175
+ kind: 'FuncType',
176
+ params,
177
+ ret,
178
+ span: createEmptySpan(),
179
+ }),
174
180
  TypeVar: (name) => ({ kind: 'TypeVar', name, span: createEmptySpan() }),
175
181
  EffectVar: (name) => ({ kind: 'EffectVar', name, span: createEmptySpan() }),
176
182
  TypePii: (baseType, sensitivity, category) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../src/ast/ast.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast.js","sourceRoot":"","sources":["../../../src/ast/ast.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * AST 类型树遍历(名称解析与格式化器共用)。
3
+ *
4
+ * 判断函数的类型参数是显式 `of T` 还是解析器推断的隐式参数,两处都要看签名里的
5
+ * 类型写法;共用同一遍历,避免两套递归各自漏掉新类型节点(如 FuncType)。
6
+ */
7
+ import type { Func, Span, Type } from '../types.js';
8
+ /** 先序遍历类型树的全部节点(含自身) */
9
+ export declare function typeNodes(t: Type): Generator<Type>;
10
+ /** 函数签名中类型参数相关的写法 */
11
+ export interface SignatureTypeNames {
12
+ /** 以 TypeVar 出现的名字:只有显式 `of T` 的使用才会解析成 TypeVar */
13
+ readonly typeVars: ReadonlySet<string>;
14
+ /** 以 TypeName 出现的名字及其第一处位置:隐式类型参数全部来自这里 */
15
+ readonly firstTypeNameUse: ReadonlyMap<string, Span>;
16
+ }
17
+ /** 收集签名(参数类型 + 返回类型)中的 TypeVar 与 TypeName 写法 */
18
+ export declare function signatureTypeNames(f: Pick<Func, 'params' | 'retType'>): SignatureTypeNames;
19
+ /**
20
+ * 类型参数是否显式声明(`of T`)。隐式参数由解析器从签名里的 TypeName 推断,
21
+ * 所以:签名里以 TypeVar 出现,或签名里根本没有它的 TypeName 写法(只在函数体内使用、
22
+ * 或未使用)的,都只能来自显式 `of`。
23
+ */
24
+ export declare function isExplicitTypeParam(names: SignatureTypeNames, name: string): boolean;
25
+ //# sourceMappingURL=type-nodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-nodes.d.ts","sourceRoot":"","sources":["../../../src/ast/type-nodes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AA8BpD,wBAAwB;AACxB,wBAAiB,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAGnD;AAED,qBAAqB;AACrB,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,2CAA2C;IAC3C,QAAQ,CAAC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;CACtD;AAED,gDAAgD;AAChD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC,GAAG,kBAAkB,CAU1F;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpF"}
@@ -0,0 +1,56 @@
1
+ /** 直接子类型(不含自身) */
2
+ function childTypes(t) {
3
+ switch (t.kind) {
4
+ case 'TypeApp':
5
+ return t.args;
6
+ case 'Maybe':
7
+ case 'Option':
8
+ case 'List':
9
+ return [t.type];
10
+ case 'Result':
11
+ return [t.ok, t.err];
12
+ case 'Map':
13
+ return [t.key, t.val];
14
+ case 'FuncType':
15
+ return [...t.params, t.ret];
16
+ case 'TypePii':
17
+ return [t.baseType];
18
+ case 'TypeName':
19
+ case 'TypeVar':
20
+ case 'EffectVar':
21
+ return [];
22
+ default: {
23
+ const never = t;
24
+ throw new Error(`未处理的类型节点:${JSON.stringify(never)}`);
25
+ }
26
+ }
27
+ }
28
+ /** 先序遍历类型树的全部节点(含自身) */
29
+ export function* typeNodes(t) {
30
+ yield t;
31
+ for (const child of childTypes(t))
32
+ yield* typeNodes(child);
33
+ }
34
+ /** 收集签名(参数类型 + 返回类型)中的 TypeVar 与 TypeName 写法 */
35
+ export function signatureTypeNames(f) {
36
+ const typeVars = new Set();
37
+ const firstTypeNameUse = new Map();
38
+ for (const root of [...f.params.map((p) => p.type), f.retType]) {
39
+ for (const t of typeNodes(root)) {
40
+ if (t.kind === 'TypeVar')
41
+ typeVars.add(t.name);
42
+ else if (t.kind === 'TypeName' && !firstTypeNameUse.has(t.name))
43
+ firstTypeNameUse.set(t.name, t.span);
44
+ }
45
+ }
46
+ return { typeVars, firstTypeNameUse };
47
+ }
48
+ /**
49
+ * 类型参数是否显式声明(`of T`)。隐式参数由解析器从签名里的 TypeName 推断,
50
+ * 所以:签名里以 TypeVar 出现,或签名里根本没有它的 TypeName 写法(只在函数体内使用、
51
+ * 或未使用)的,都只能来自显式 `of`。
52
+ */
53
+ export function isExplicitTypeParam(names, name) {
54
+ return names.typeVars.has(name) || !names.firstTypeNameUse.has(name);
55
+ }
56
+ //# sourceMappingURL=type-nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-nodes.js","sourceRoot":"","sources":["../../../src/ast/type-nodes.ts"],"names":[],"mappings":"AAQA,kBAAkB;AAClB,SAAS,UAAU,CAAC,CAAO;IACzB,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,IAAI,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,MAAM;YACT,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAClB,KAAK,QAAQ;YACX,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACvB,KAAK,KAAK;YACR,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QACxB,KAAK,UAAU;YACb,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9B,KAAK,SAAS;YACZ,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACtB,KAAK,UAAU,CAAC;QAChB,KAAK,SAAS,CAAC;QACf,KAAK,WAAW;YACd,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,KAAK,GAAU,CAAC,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC;AAED,wBAAwB;AACxB,MAAM,SAAS,CAAC,CAAC,SAAS,CAAC,CAAO;IAChC,MAAM,CAAC,CAAC;IACR,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC;QAAE,KAAK,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAUD,gDAAgD;AAChD,MAAM,UAAU,kBAAkB,CAAC,CAAmC;IACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAgB,CAAC;IACjD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/D,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;gBAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;iBAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;gBAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACxG,CAAC;IACH,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAyB,EAAE,IAAY;IACzE,OAAO,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC"}