@aster-cloud/aster-lang-ts 1.0.30 → 1.0.31
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.
- package/dist/scripts/aster.js +11 -26
- package/dist/scripts/aster.js.map +1 -1
- package/dist/scripts/corpus-loader.d.ts +17 -0
- package/dist/scripts/corpus-loader.d.ts.map +1 -0
- package/dist/scripts/corpus-loader.js +60 -0
- package/dist/scripts/corpus-loader.js.map +1 -0
- package/dist/scripts/emit-classfiles-core.js +5 -13
- package/dist/scripts/emit-classfiles-core.js.map +1 -1
- package/dist/scripts/emit-classfiles.js +7 -12
- package/dist/scripts/emit-classfiles.js.map +1 -1
- package/dist/scripts/generate_error_codes.js +2 -0
- package/dist/scripts/generate_error_codes.js.map +1 -1
- package/dist/scripts/golden.js +4 -1
- package/dist/scripts/golden.js.map +1 -1
- package/dist/scripts/test-lossless-golden.js +2 -1
- package/dist/scripts/test-lossless-golden.js.map +1 -1
- package/dist/scripts/validate_error_codes.js +1 -0
- package/dist/scripts/validate_error_codes.js.map +1 -1
- package/dist/scripts/verify-lexicon-sync.js +5 -1
- package/dist/scripts/verify-lexicon-sync.js.map +1 -1
- package/dist/src/ast/ast.d.ts +1 -1
- package/dist/src/ast/ast.d.ts.map +1 -1
- package/dist/src/ast/ast.js +2 -1
- package/dist/src/ast/ast.js.map +1 -1
- package/dist/src/browser.d.ts +7 -0
- package/dist/src/browser.d.ts.map +1 -1
- package/dist/src/browser.js +4 -0
- package/dist/src/browser.js.map +1 -1
- package/dist/src/cli/utils/gradle-env.d.ts +9 -0
- package/dist/src/cli/utils/gradle-env.d.ts.map +1 -0
- package/dist/src/cli/utils/gradle-env.js +18 -0
- package/dist/src/cli/utils/gradle-env.js.map +1 -0
- package/dist/src/cli/utils/out-dir.d.ts +18 -0
- package/dist/src/cli/utils/out-dir.d.ts.map +1 -0
- package/dist/src/cli/utils/out-dir.js +49 -0
- package/dist/src/cli/utils/out-dir.js.map +1 -0
- package/dist/src/cnl-printer.d.ts +10 -0
- package/dist/src/cnl-printer.d.ts.map +1 -0
- package/dist/src/cnl-printer.js +360 -0
- package/dist/src/cnl-printer.js.map +1 -0
- package/dist/src/config/lexicons/de-DE.d.ts.map +1 -1
- package/dist/src/config/lexicons/de-DE.js +8 -2
- package/dist/src/config/lexicons/de-DE.js.map +1 -1
- package/dist/src/config/lexicons/en-US.d.ts.map +1 -1
- package/dist/src/config/lexicons/en-US.js +8 -4
- package/dist/src/config/lexicons/en-US.js.map +1 -1
- package/dist/src/config/lexicons/hi-IN.d.ts.map +1 -1
- package/dist/src/config/lexicons/hi-IN.js +8 -2
- package/dist/src/config/lexicons/hi-IN.js.map +1 -1
- package/dist/src/config/lexicons/template.d.ts.map +1 -1
- package/dist/src/config/lexicons/template.js +12 -0
- package/dist/src/config/lexicons/template.js.map +1 -1
- package/dist/src/config/lexicons/zh-CN.d.ts.map +1 -1
- package/dist/src/config/lexicons/zh-CN.js +9 -3
- package/dist/src/config/lexicons/zh-CN.js.map +1 -1
- package/dist/src/config/semantic.d.ts +6 -0
- package/dist/src/config/semantic.d.ts.map +1 -1
- package/dist/src/config/semantic.js +8 -0
- package/dist/src/config/semantic.js.map +1 -1
- package/dist/src/config/token-kind.d.ts +12 -0
- package/dist/src/config/token-kind.d.ts.map +1 -1
- package/dist/src/config/token-kind.js +18 -0
- package/dist/src/config/token-kind.js.map +1 -1
- package/dist/src/core/core_ir.d.ts +1 -1
- package/dist/src/core/core_ir.d.ts.map +1 -1
- package/dist/src/core/core_ir.js +3 -1
- package/dist/src/core/core_ir.js.map +1 -1
- package/dist/src/core/interpreter.d.ts.map +1 -1
- package/dist/src/core/interpreter.js +222 -18
- package/dist/src/core/interpreter.js.map +1 -1
- package/dist/src/cst/cst_printer.d.ts.map +1 -1
- package/dist/src/cst/cst_printer.js +66 -32
- package/dist/src/cst/cst_printer.js.map +1 -1
- package/dist/src/diagnostics/diagnostics.d.ts +1 -0
- package/dist/src/diagnostics/diagnostics.d.ts.map +1 -1
- package/dist/src/diagnostics/diagnostics.js +1 -0
- package/dist/src/diagnostics/diagnostics.js.map +1 -1
- package/dist/src/diagnostics/error_codes.d.ts +10 -2
- package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
- package/dist/src/diagnostics/error_codes.js +64 -0
- package/dist/src/diagnostics/error_codes.js.map +1 -1
- package/dist/src/effects/effect_inference.js +1 -1
- package/dist/src/effects/effect_inference.js.map +1 -1
- package/dist/src/formatter.d.ts +3 -0
- package/dist/src/formatter.d.ts.map +1 -1
- package/dist/src/formatter.js +8 -261
- package/dist/src/formatter.js.map +1 -1
- package/dist/src/frontend/transformers.d.ts.map +1 -1
- package/dist/src/frontend/transformers.js +10 -2
- package/dist/src/frontend/transformers.js.map +1 -1
- package/dist/src/governance/controls-registry.data.d.ts +40 -0
- package/dist/src/governance/controls-registry.data.d.ts.map +1 -0
- package/dist/src/governance/controls-registry.data.js +35 -0
- package/dist/src/governance/controls-registry.data.js.map +1 -0
- package/dist/src/governance/controls.d.ts +23 -0
- package/dist/src/governance/controls.d.ts.map +1 -0
- package/dist/src/governance/controls.js +77 -0
- package/dist/src/governance/controls.js.map +1 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/lower_to_core.js +1 -1
- package/dist/src/lower_to_core.js.map +1 -1
- package/dist/src/lsp/completion.d.ts +22 -1
- package/dist/src/lsp/completion.d.ts.map +1 -1
- package/dist/src/lsp/completion.js +42 -1
- package/dist/src/lsp/completion.js.map +1 -1
- package/dist/src/lsp/debounce-map.d.ts +16 -0
- package/dist/src/lsp/debounce-map.d.ts.map +1 -0
- package/dist/src/lsp/debounce-map.js +32 -0
- package/dist/src/lsp/debounce-map.js.map +1 -0
- package/dist/src/lsp/server.js +6 -8
- package/dist/src/lsp/server.js.map +1 -1
- package/dist/src/lsp/utils.d.ts.map +1 -1
- package/dist/src/lsp/utils.js +2 -0
- package/dist/src/lsp/utils.js.map +1 -1
- package/dist/src/lsp/workspace/file-watcher.d.ts +1 -0
- package/dist/src/lsp/workspace/file-watcher.d.ts.map +1 -1
- package/dist/src/lsp/workspace/file-watcher.js +24 -14
- package/dist/src/lsp/workspace/file-watcher.js.map +1 -1
- package/dist/src/manifest.d.ts +2 -0
- package/dist/src/manifest.d.ts.map +1 -1
- package/dist/src/manifest.js.map +1 -1
- package/dist/src/package/manifest-parser.d.ts +10 -0
- package/dist/src/package/manifest-parser.d.ts.map +1 -1
- package/dist/src/package/manifest-parser.js +27 -28
- package/dist/src/package/manifest-parser.js.map +1 -1
- package/dist/src/package/manifest-schema.d.ts +15 -0
- package/dist/src/package/manifest-schema.d.ts.map +1 -0
- package/dist/src/package/manifest-schema.js +116 -0
- package/dist/src/package/manifest-schema.js.map +1 -0
- package/dist/src/parser/context.d.ts +2 -0
- package/dist/src/parser/context.d.ts.map +1 -1
- package/dist/src/parser/context.js +1 -0
- package/dist/src/parser/context.js.map +1 -1
- package/dist/src/parser/decl-parser.d.ts.map +1 -1
- package/dist/src/parser/decl-parser.js +26 -10
- package/dist/src/parser/decl-parser.js.map +1 -1
- package/dist/src/parser/expr-stmt-parser.d.ts +4 -1
- package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
- package/dist/src/parser/expr-stmt-parser.js +147 -6
- package/dist/src/parser/expr-stmt-parser.js.map +1 -1
- package/dist/src/parser/import-parser.d.ts +12 -0
- package/dist/src/parser/import-parser.d.ts.map +1 -1
- package/dist/src/parser/import-parser.js +28 -0
- package/dist/src/parser/import-parser.js.map +1 -1
- package/dist/src/parser.js +1 -1
- package/dist/src/parser.js.map +1 -1
- package/dist/src/typecheck/browser.d.ts +3 -0
- package/dist/src/typecheck/browser.d.ts.map +1 -1
- package/dist/src/typecheck/browser.js +10 -1
- package/dist/src/typecheck/browser.js.map +1 -1
- package/dist/src/typecheck/context.d.ts +3 -0
- package/dist/src/typecheck/context.d.ts.map +1 -1
- package/dist/src/typecheck/context.js.map +1 -1
- package/dist/src/typecheck/expression.d.ts +6 -0
- package/dist/src/typecheck/expression.d.ts.map +1 -1
- package/dist/src/typecheck/expression.js +54 -2
- package/dist/src/typecheck/expression.js.map +1 -1
- package/dist/src/typecheck/generics.d.ts.map +1 -1
- package/dist/src/typecheck/generics.js +3 -0
- package/dist/src/typecheck/generics.js.map +1 -1
- package/dist/src/typecheck/governance.d.ts +43 -0
- package/dist/src/typecheck/governance.d.ts.map +1 -0
- package/dist/src/typecheck/governance.js +162 -0
- package/dist/src/typecheck/governance.js.map +1 -0
- package/dist/src/typecheck/module.d.ts.map +1 -1
- package/dist/src/typecheck/module.js +10 -1
- package/dist/src/typecheck/module.js.map +1 -1
- package/dist/src/typecheck/statement.d.ts.map +1 -1
- package/dist/src/typecheck/statement.js +2 -2
- package/dist/src/typecheck/statement.js.map +1 -1
- package/dist/src/typecheck/type_system.d.ts.map +1 -1
- package/dist/src/typecheck/type_system.js +4 -0
- package/dist/src/typecheck/type_system.js.map +1 -1
- package/dist/src/typecheck/verdict_signatures.d.ts +19 -0
- package/dist/src/typecheck/verdict_signatures.d.ts.map +1 -0
- package/dist/src/typecheck/verdict_signatures.js +23 -0
- package/dist/src/typecheck/verdict_signatures.js.map +1 -0
- package/dist/src/types/base.d.ts +2 -0
- package/dist/src/types/base.d.ts.map +1 -1
- package/dist/test/helpers/sibling-source.d.ts +10 -0
- package/dist/test/helpers/sibling-source.d.ts.map +1 -0
- package/dist/test/helpers/sibling-source.js +20 -0
- package/dist/test/helpers/sibling-source.js.map +1 -0
- package/dist/test/unit/allocation-budget.test.d.ts +2 -0
- package/dist/test/unit/allocation-budget.test.d.ts.map +1 -0
- package/dist/test/unit/allocation-budget.test.js +160 -0
- package/dist/test/unit/allocation-budget.test.js.map +1 -0
- package/dist/test/unit/apply-call.test.js +5 -0
- package/dist/test/unit/apply-call.test.js.map +1 -1
- package/dist/test/unit/canonicalizer/possessive-anchor.test.js +10 -0
- package/dist/test/unit/canonicalizer/possessive-anchor.test.js.map +1 -1
- package/dist/test/unit/cli/gradle-env-guard.test.d.ts +2 -0
- package/dist/test/unit/cli/gradle-env-guard.test.d.ts.map +1 -0
- package/dist/test/unit/cli/gradle-env-guard.test.js +53 -0
- package/dist/test/unit/cli/gradle-env-guard.test.js.map +1 -0
- package/dist/test/unit/cli/gradle-env.test.d.ts +2 -0
- package/dist/test/unit/cli/gradle-env.test.d.ts.map +1 -0
- package/dist/test/unit/cli/gradle-env.test.js +31 -0
- package/dist/test/unit/cli/gradle-env.test.js.map +1 -0
- package/dist/test/unit/cli/out-dir.test.d.ts +2 -0
- package/dist/test/unit/cli/out-dir.test.d.ts.map +1 -0
- package/dist/test/unit/cli/out-dir.test.js +96 -0
- package/dist/test/unit/cli/out-dir.test.js.map +1 -0
- package/dist/test/unit/formatter-corpus-roundtrip.test.d.ts +2 -0
- package/dist/test/unit/formatter-corpus-roundtrip.test.d.ts.map +1 -0
- package/dist/test/unit/formatter-corpus-roundtrip.test.js +190 -0
- package/dist/test/unit/formatter-corpus-roundtrip.test.js.map +1 -0
- package/dist/test/unit/formatter-roundtrip.test.d.ts +2 -0
- package/dist/test/unit/formatter-roundtrip.test.d.ts.map +1 -0
- package/dist/test/unit/formatter-roundtrip.test.js +125 -0
- package/dist/test/unit/formatter-roundtrip.test.js.map +1 -0
- package/dist/test/unit/governance/controls-registry-parity.test.d.ts +2 -0
- package/dist/test/unit/governance/controls-registry-parity.test.d.ts.map +1 -0
- package/dist/test/unit/governance/controls-registry-parity.test.js +28 -0
- package/dist/test/unit/governance/controls-registry-parity.test.js.map +1 -0
- package/dist/test/unit/governance/controls-registry-profiles.test.d.ts +2 -0
- package/dist/test/unit/governance/controls-registry-profiles.test.d.ts.map +1 -0
- package/dist/test/unit/governance/controls-registry-profiles.test.js +106 -0
- package/dist/test/unit/governance/controls-registry-profiles.test.js.map +1 -0
- package/dist/test/unit/governance/governance-check.test.d.ts +2 -0
- package/dist/test/unit/governance/governance-check.test.d.ts.map +1 -0
- package/dist/test/unit/governance/governance-check.test.js +169 -0
- package/dist/test/unit/governance/governance-check.test.js.map +1 -0
- package/dist/test/unit/governance/profile-check.test.d.ts +2 -0
- package/dist/test/unit/governance/profile-check.test.d.ts.map +1 -0
- package/dist/test/unit/governance/profile-check.test.js +139 -0
- package/dist/test/unit/governance/profile-check.test.js.map +1 -0
- package/dist/test/unit/governance/verdict-typecheck.test.d.ts +2 -0
- package/dist/test/unit/governance/verdict-typecheck.test.d.ts.map +1 -0
- package/dist/test/unit/governance/verdict-typecheck.test.js +80 -0
- package/dist/test/unit/governance/verdict-typecheck.test.js.map +1 -0
- package/dist/test/unit/interpreter/verdict-builtins.test.d.ts +2 -0
- package/dist/test/unit/interpreter/verdict-builtins.test.d.ts.map +1 -0
- package/dist/test/unit/interpreter/verdict-builtins.test.js +72 -0
- package/dist/test/unit/interpreter/verdict-builtins.test.js.map +1 -0
- package/dist/test/unit/list-numeric-fail-loud.test.d.ts +2 -0
- package/dist/test/unit/list-numeric-fail-loud.test.d.ts.map +1 -0
- package/dist/test/unit/list-numeric-fail-loud.test.js +83 -0
- package/dist/test/unit/list-numeric-fail-loud.test.js.map +1 -0
- package/dist/test/unit/lossless-mirror.test.d.ts +2 -0
- package/dist/test/unit/lossless-mirror.test.d.ts.map +1 -0
- package/dist/test/unit/lossless-mirror.test.js +41 -0
- package/dist/test/unit/lossless-mirror.test.js.map +1 -0
- package/dist/test/unit/lossless-reflow.test.d.ts +2 -0
- package/dist/test/unit/lossless-reflow.test.d.ts.map +1 -0
- package/dist/test/unit/lossless-reflow.test.js +84 -0
- package/dist/test/unit/lossless-reflow.test.js.map +1 -0
- package/dist/test/unit/lowering/lowering.test.js +35 -35
- package/dist/test/unit/lowering/lowering.test.js.map +1 -1
- package/dist/test/unit/lsp/control-completion.test.d.ts +2 -0
- package/dist/test/unit/lsp/control-completion.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/control-completion.test.js +46 -0
- package/dist/test/unit/lsp/control-completion.test.js.map +1 -0
- package/dist/test/unit/lsp/debounce-map.test.d.ts +2 -0
- package/dist/test/unit/lsp/debounce-map.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/debounce-map.test.js +47 -0
- package/dist/test/unit/lsp/debounce-map.test.js.map +1 -0
- package/dist/test/unit/lsp/file-watcher-restart.test.d.ts +2 -0
- package/dist/test/unit/lsp/file-watcher-restart.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/file-watcher-restart.test.js +40 -0
- package/dist/test/unit/lsp/file-watcher-restart.test.js.map +1 -0
- package/dist/test/unit/manifest-parser.test.js +8 -0
- package/dist/test/unit/manifest-parser.test.js.map +1 -1
- package/dist/test/unit/manifest-schema.test.d.ts +7 -5
- package/dist/test/unit/manifest-schema.test.d.ts.map +1 -1
- package/dist/test/unit/manifest-schema.test.js +48 -10
- package/dist/test/unit/manifest-schema.test.js.map +1 -1
- package/dist/test/unit/parser/governance-sugar.test.d.ts +2 -0
- package/dist/test/unit/parser/governance-sugar.test.d.ts.map +1 -0
- package/dist/test/unit/parser/governance-sugar.test.js +258 -0
- package/dist/test/unit/parser/governance-sugar.test.js.map +1 -0
- package/dist/test/unit/parser/module-header.test.d.ts +2 -0
- package/dist/test/unit/parser/module-header.test.d.ts.map +1 -0
- package/dist/test/unit/parser/module-header.test.js +25 -0
- package/dist/test/unit/parser/module-header.test.js.map +1 -0
- package/dist/test/unit/parser/positional-annotation-args.test.d.ts +2 -0
- package/dist/test/unit/parser/positional-annotation-args.test.d.ts.map +1 -0
- package/dist/test/unit/parser/positional-annotation-args.test.js +26 -0
- package/dist/test/unit/parser/positional-annotation-args.test.js.map +1 -0
- package/dist/test/unit/parser/prefix-operator-call.test.d.ts +2 -0
- package/dist/test/unit/parser/prefix-operator-call.test.d.ts.map +1 -0
- package/dist/test/unit/parser/prefix-operator-call.test.js +69 -0
- package/dist/test/unit/parser/prefix-operator-call.test.js.map +1 -0
- package/dist/test/unit/scripts/corpus-loader.test.d.ts +2 -0
- package/dist/test/unit/scripts/corpus-loader.test.d.ts.map +1 -0
- package/dist/test/unit/scripts/corpus-loader.test.js +85 -0
- package/dist/test/unit/scripts/corpus-loader.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -57,6 +57,34 @@ export function parseModuleHeader(ctx, error, expectDot) {
|
|
|
57
57
|
// 期望句点结束
|
|
58
58
|
expectDot();
|
|
59
59
|
}
|
|
60
|
+
// 模块头至多一个且须在文件开头(与 Java module 规则一致)
|
|
61
|
+
export const MODULE_MISPLACED = 'Module header must appear once, at the start of the file';
|
|
62
|
+
// ADR 0046:档案 id 形态(与注册表 profiles[].id 及 Java AstBuilder 一致)
|
|
63
|
+
const PROFILE_ID_REGEX = '^[a-z][a-z0-9-]{0,63}$';
|
|
64
|
+
const PROFILE_ID = new RegExp(PROFILE_ID_REGEX);
|
|
65
|
+
export const PROFILE_MISPLACED = 'Profile must follow the Module header and appear at most once';
|
|
66
|
+
/** ADR 0046:模块头之后的下一条声明是否为 Profile(关键词文本须与 Java 一致,精确为 Profile)。 */
|
|
67
|
+
export function atProfileDecl(ctx) {
|
|
68
|
+
return ctx.at(TokenKind.TYPE_IDENT, 'Profile');
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* 解析治理档案声明(ADR 0046)
|
|
72
|
+
* 语法: Profile "eu-ai-act-high-risk".
|
|
73
|
+
*
|
|
74
|
+
* 只能紧跟模块头且至多一条;位置与次数由调用方(collectTopLevelDecls)保证。
|
|
75
|
+
* id 用字符串字面量书写(两个引擎的词法都把 `-` 切成 MINUS)。
|
|
76
|
+
*/
|
|
77
|
+
export function parseProfileDecl(ctx, error, expectDot) {
|
|
78
|
+
ctx.next();
|
|
79
|
+
const idTok = ctx.peek();
|
|
80
|
+
if (!ctx.at(TokenKind.STRING))
|
|
81
|
+
error('Expected profile id string after Profile', idTok);
|
|
82
|
+
const id = ctx.next().value;
|
|
83
|
+
if (!PROFILE_ID.test(id))
|
|
84
|
+
error(`Profile id must match ${PROFILE_ID_REGEX}: ${id}`, idTok);
|
|
85
|
+
expectDot();
|
|
86
|
+
ctx.moduleProfile = id;
|
|
87
|
+
}
|
|
60
88
|
/**
|
|
61
89
|
* 解析导入语句
|
|
62
90
|
* 语法: use foo.bar. 或 use foo.bar version 2 as Baz.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-parser.js","sourceRoot":"","sources":["../../../src/parser/import-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"import-parser.js","sourceRoot":"","sources":["../../../src/parser/import-parser.ts"],"names":[],"mappings":"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"}
|
package/dist/src/parser.js
CHANGED
|
@@ -28,7 +28,7 @@ export function parse(tokens, lexicon) {
|
|
|
28
28
|
const ctx = createParserContext(tokens, lexicon);
|
|
29
29
|
const tools = createParserTools(ctx);
|
|
30
30
|
const { decls, diagnostics } = collectTopLevelDecls(ctx, tools);
|
|
31
|
-
const moduleNode = Node.Module(ctx.moduleName, decls);
|
|
31
|
+
const moduleNode = Node.Module(ctx.moduleName, ctx.moduleProfile, decls);
|
|
32
32
|
const moduleEnd = lastSignificantTokenInStream(tokens);
|
|
33
33
|
assignSpan(moduleNode, spanFromTokens(moduleStart, moduleEnd));
|
|
34
34
|
return { ast: moduleNode, diagnostics };
|
package/dist/src/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAenD;;;;;;;;GAQG;AACH,MAAM,UAAU,KAAK,CAAC,MAAwB,EAAE,OAAiB;IAC/D,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAIpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,UAAU,EACV,qBAAqB,EACrB,4BAA4B,EAC5B,cAAc,GACf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAenD;;;;;;;;GAQG;AACH,MAAM,UAAU,KAAK,CAAC,MAAwB,EAAE,OAAiB;IAC/D,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACvD,UAAU,CAAC,UAAU,EAAE,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/D,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAwB,EACxB,UAAmB,KAAK;IAExB,gCAAgC;IAChC,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,qCAAqC;IACrC,MAAM,UAAU,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,gBAAgB,GAAG,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAE5D,qBAAqB;IACrB,MAAM,SAAS,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -44,6 +44,7 @@ export declare function __isProductionRuntimeForTest(): boolean;
|
|
|
44
44
|
* Throws in production runtime to prevent accidental misuse.
|
|
45
45
|
*/
|
|
46
46
|
export declare function __setPiiCheckerForTest(fn: PiiCheckerFn | null): void;
|
|
47
|
+
import type { ControlRegistry } from '../governance/controls.js';
|
|
47
48
|
/**
|
|
48
49
|
* Browser-compatible type check options
|
|
49
50
|
*/
|
|
@@ -68,6 +69,8 @@ export interface BrowserTypecheckOptions {
|
|
|
68
69
|
* Module URI for diagnostic reporting
|
|
69
70
|
*/
|
|
70
71
|
uri?: string | null;
|
|
72
|
+
/** 控制注册表(ADR 0045);缺省用内置副本 */
|
|
73
|
+
controls?: ControlRegistry;
|
|
71
74
|
}
|
|
72
75
|
/**
|
|
73
76
|
* Type check a Core IR module in browser/edge environment
|
|
@@ -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;
|
|
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;AA2BjE;;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"}
|
|
@@ -85,6 +85,7 @@ export function __setPiiCheckerForTest(fn) {
|
|
|
85
85
|
_piiCheckerOverride = fn;
|
|
86
86
|
}
|
|
87
87
|
import { DiagnosticBuilder } from './diagnostics.js';
|
|
88
|
+
import { checkGovernance } from './governance.js';
|
|
88
89
|
import { SymbolTable } from './symbol_table.js';
|
|
89
90
|
import { TypeSystem } from './type_system.js';
|
|
90
91
|
import { defineSymbol, } from './context.js';
|
|
@@ -238,7 +239,15 @@ export function typecheckBrowser(m, options) {
|
|
|
238
239
|
}
|
|
239
240
|
}
|
|
240
241
|
const entryDiagnostics = checkEntryRuleUniqueness(m.decls);
|
|
241
|
-
|
|
242
|
+
// ADR 0039 / 0045 / 0046 治理检查:W700 / E701 / E702 / W704 / E705 / E706 与 Verdict 符号预占
|
|
243
|
+
const governanceDiagnostics = checkGovernance(m, options?.controls ? { controls: options.controls } : {});
|
|
244
|
+
const result = [
|
|
245
|
+
...diagnostics.getDiagnostics(),
|
|
246
|
+
...effectDiags,
|
|
247
|
+
...piiDiagnostics,
|
|
248
|
+
...entryDiagnostics,
|
|
249
|
+
...governanceDiagnostics,
|
|
250
|
+
];
|
|
242
251
|
// Log performance (browser-compatible)
|
|
243
252
|
const duration = (globalThis.performance?.now?.() ?? Date.now()) - startTime;
|
|
244
253
|
if (globalThis.console?.debug) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/typecheck/browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAEtE,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAe9E,IAAI,mBAAmB,GAAwB,IAAI,CAAC;AAEpD;;;;GAIG;AACH,MAAM,UAAU,4BAA4B;IAC1C,OAAO,mBAAmB,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,mBAAmB;IAC1B,4DAA4D;IAC5D,8DAA8D;IAC9D,yCAAyC;IACzC,EAAE;IACF,oBAAoB;IACpB,gEAAgE;IAChE,wCAAwC;IACxC,4DAA4D;IAC5D,qBAAqB;IACrB,oDAAoD;IACpD,EAAE;IACF,wDAAwD;IACxD,iBAAiB;IAEjB,2EAA2E;IAC3E,IAAI,CAAC;QAEH,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC9E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yBAAyB;IAC3B,CAAC;IAED,yEAAyE;IACzE,IAAI,CAAC;QACH,IAAK,UAAiD,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACrF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;IAChC,CAAC;IAED,oEAAoE;IACpE,IAAI,CAAC;QACH,MAAM,GAAG,GAAI,UAA6D;aACvE,OAAO,EAAE,GAAG,CAAC;QAChB,IAAI,GAAG,EAAE,QAAQ,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,oBAAoB;IACtB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,EAAuB;IAC5D,IAAI,mBAAmB,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,qEAAqE;YACnE,uEAAuE;YACvE,4BAA4B,CAC/B,CAAC;IACJ,CAAC;IACD,mBAAmB,GAAG,EAAE,CAAC;AAC3B,CAAC;AACD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/typecheck/browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import type { Core, Span } from '../types.js';
|
|
|
2
2
|
import type { EffectSignature } from '../effects/effect_signature.js';
|
|
3
3
|
import type { ModuleCache } from '../lsp/module_cache.js';
|
|
4
4
|
import type { Lexicon } from '../config/lexicons/types.js';
|
|
5
|
+
import type { ControlRegistry } from '../governance/controls.js';
|
|
5
6
|
import { DiagnosticBuilder } from './diagnostics.js';
|
|
6
7
|
import { SymbolTable } from './symbol_table.js';
|
|
7
8
|
import type { SymbolKind } from './symbol_table.js';
|
|
@@ -46,6 +47,8 @@ export interface TypecheckOptions {
|
|
|
46
47
|
moduleSearchPaths?: readonly string[];
|
|
47
48
|
moduleCache?: ModuleCache;
|
|
48
49
|
lexicon?: Lexicon | undefined;
|
|
50
|
+
/** 控制注册表(ADR 0045);缺省用内置副本 */
|
|
51
|
+
controls?: ControlRegistry | undefined;
|
|
49
52
|
}
|
|
50
53
|
export declare function defineSymbol(context: TypecheckWalkerContext, name: string, type: Core.Type, kind: SymbolKind, span?: Span): void;
|
|
51
54
|
export declare function assignSymbol(context: TypecheckWalkerContext, name: string, type: Core.Type, span?: Span): void;
|
|
@@ -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;
|
|
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,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAMpD,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,GACV,IAAI,CAcN;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAc9G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/typecheck/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/typecheck/context.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAiDnD,MAAM,UAAU,YAAY,CAC1B,OAA+B,EAC/B,IAAY,EACZ,IAAe,EACf,IAAgB,EAChB,IAAW;IAEX,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,QAAQ,EAAE,CAAC;QACb,kBAAkB;QAClB,OAAO,CAAC,WAAW,CAAC,KAAK,0CAA6B,IAAI,EAAE;YAC1D,IAAI;YACJ,QAAQ,EAAE,QAAQ,CAAC,IAAI;SACxB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAuC,EAAE,CAAC;IACvD,IAAI,IAAI;QAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAC9B,OAAO,CAAC,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC;IACnC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAA+B,EAAE,IAAY,EAAE,IAAe,EAAE,IAAW;IACtG,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/E,OAAO,CAAC,WAAW,CAAC,KAAK,8CAAiC,IAAI,EAAE;YAC9D,IAAI;YACJ,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;YACjC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;SACzB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;AACrB,CAAC"}
|
|
@@ -3,10 +3,16 @@ import { DefaultCoreVisitor } from '../core/visitor.js';
|
|
|
3
3
|
import type { ModuleContext, TypecheckWalkerContext } from './context.js';
|
|
4
4
|
import type { DiagnosticBuilder } from './diagnostics.js';
|
|
5
5
|
import { SymbolTable } from './symbol_table.js';
|
|
6
|
+
import { originToSpan } from './pure.js';
|
|
6
7
|
export declare class TypeOfExprVisitor extends DefaultCoreVisitor<TypecheckWalkerContext> {
|
|
7
8
|
handled: boolean;
|
|
8
9
|
result: Core.Type;
|
|
9
10
|
visitExpression(expression: Core.Expression, context: TypecheckWalkerContext): void;
|
|
10
11
|
}
|
|
11
12
|
export declare function typeOfExpr(ctx: ModuleContext, symbols: SymbolTable, expr: Core.Expression, diagnostics: DiagnosticBuilder): Core.Type;
|
|
13
|
+
/**
|
|
14
|
+
* Verdict 不可当布尔用(ADR 0039 §2.2):If 条件、not 操作数、相等比较操作数位出现 Verdict
|
|
15
|
+
* 时报 TYPE_MISMATCH(expected Bool)。只针对 Verdict,其它类型维持既有宽松行为(不影响语料)。
|
|
16
|
+
*/
|
|
17
|
+
export declare function rejectVerdictInBoolContext(actual: Core.Type, span: ReturnType<typeof originToSpan>, diagnostics: DiagnosticBuilder): void;
|
|
12
18
|
//# sourceMappingURL=expression.d.ts.map
|
|
@@ -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;AAGxD,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
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;AAGxD,OAAO,KAAK,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAKL,YAAY,EAEb,MAAM,WAAW,CAAC;AAGnB,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;CAqb7F;AAqBD,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,6 +1,7 @@
|
|
|
1
1
|
import { DefaultCoreVisitor } from '../core/visitor.js';
|
|
2
2
|
import { TypeSystem } from './type_system.js';
|
|
3
3
|
import { formatType, isAssignable, isUnknown, normalizeType, originToSpan, unknownType, } from './pure.js';
|
|
4
|
+
import { hasVerdictPrefix, isVerdictField, isVerdictType, verdictArity, VERDICT_TYPE_NAME } from './verdict_signatures.js';
|
|
4
5
|
export class TypeOfExprVisitor extends DefaultCoreVisitor {
|
|
5
6
|
handled = false;
|
|
6
7
|
result = unknownType();
|
|
@@ -22,6 +23,11 @@ export class TypeOfExprVisitor extends DefaultCoreVisitor {
|
|
|
22
23
|
let currentType = baseSymbol.type;
|
|
23
24
|
for (const fieldName of fieldPath) {
|
|
24
25
|
const expanded = TypeSystem.expand(currentType, symbols.getTypeAliases());
|
|
26
|
+
// Verdict 内置字段 outcome/role/reason 一律为 Text(ADR 0039 §2.1,与 Java 对齐)
|
|
27
|
+
if (isVerdictType(expanded) && isVerdictField(fieldName)) {
|
|
28
|
+
currentType = { kind: 'TypeName', name: 'Text' };
|
|
29
|
+
continue;
|
|
30
|
+
}
|
|
25
31
|
if (expanded.kind === 'TypeName') {
|
|
26
32
|
const dataDecl = module.datas.get(expanded.name);
|
|
27
33
|
const resolvedDataDecl = dataDecl ?? inferDataDeclFromField(module, baseName, fieldName);
|
|
@@ -217,7 +223,7 @@ export class TypeOfExprVisitor extends DefaultCoreVisitor {
|
|
|
217
223
|
// ADR 0019 G2b:表达式级 if 的类型 = then 分支类型(两分支类型一致性由
|
|
218
224
|
// Java 引擎 typecheck + 双引擎 parity 把守;TS typechecker 取 then 作代表)。
|
|
219
225
|
// 仍递归 cond/else 以触发其中的子表达式类型检查。
|
|
220
|
-
typeOfExpr(module, symbols, expression.cond, diagnostics);
|
|
226
|
+
rejectVerdictInBoolContext(typeOfExpr(module, symbols, expression.cond, diagnostics), originToSpan(expression.cond.origin) ?? originToSpan(expression.origin), diagnostics);
|
|
221
227
|
const thenType = typeOfExpr(module, symbols, expression.thenE, diagnostics);
|
|
222
228
|
typeOfExpr(module, symbols, expression.elseE, diagnostics);
|
|
223
229
|
this.result = thenType;
|
|
@@ -230,12 +236,44 @@ export class TypeOfExprVisitor extends DefaultCoreVisitor {
|
|
|
230
236
|
diagnostics.error("E014" /* ErrorCode.NOT_CALL_ARITY */, originToSpan(expression.origin) ?? originToSpan(expression.target.origin), {});
|
|
231
237
|
}
|
|
232
238
|
else {
|
|
233
|
-
|
|
239
|
+
const operand = expression.args[0];
|
|
240
|
+
rejectVerdictInBoolContext(typeOfExpr(module, symbols, operand, diagnostics), originToSpan(operand.origin) ?? originToSpan(expression.origin), diagnostics);
|
|
234
241
|
}
|
|
235
242
|
this.result = { kind: 'TypeName', name: 'Bool' };
|
|
236
243
|
this.handled = true;
|
|
237
244
|
return;
|
|
238
245
|
}
|
|
246
|
+
// Verdict.* 内置签名(ADR 0039):参数在此只类型化一次;元数不符报 E703,
|
|
247
|
+
// 元数相符时每个参数必须是 Text;未知成员按未定义名处理。返回类型恒为 Verdict。
|
|
248
|
+
if (expression.target.kind === 'Name' && hasVerdictPrefix(expression.target.name)) {
|
|
249
|
+
const expected = verdictArity(expression.target.name);
|
|
250
|
+
if (expected === undefined) {
|
|
251
|
+
diagnostics.undefinedVariable(expression.target.name, originToSpan(expression.target.origin) ?? originToSpan(expression.origin));
|
|
252
|
+
this.result = unknownType();
|
|
253
|
+
this.handled = true;
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
const argTypes = expression.args.map(arg => typeOfExpr(module, symbols, arg, diagnostics));
|
|
257
|
+
const actual = expression.args.length;
|
|
258
|
+
if (actual !== expected) {
|
|
259
|
+
diagnostics.error("E703" /* ErrorCode.GOV_VERDICT_CALL_ARITY */, originToSpan(expression.origin), {
|
|
260
|
+
func: expression.target.name,
|
|
261
|
+
expected,
|
|
262
|
+
actual,
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
else {
|
|
266
|
+
const text = { kind: 'TypeName', name: 'Text' };
|
|
267
|
+
argTypes.forEach((t, i) => {
|
|
268
|
+
if (!isUnknown(t) && !TypeSystem.equals(t, text)) {
|
|
269
|
+
diagnostics.typeMismatch(text, t, originToSpan(expression.args[i].origin) ?? originToSpan(expression.origin));
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
this.result = { kind: 'TypeName', name: VERDICT_TYPE_NAME };
|
|
274
|
+
this.handled = true;
|
|
275
|
+
return;
|
|
276
|
+
}
|
|
239
277
|
for (const arg of expression.args) {
|
|
240
278
|
void typeOfExpr(module, symbols, arg, diagnostics);
|
|
241
279
|
}
|
|
@@ -257,6 +295,11 @@ export class TypeOfExprVisitor extends DefaultCoreVisitor {
|
|
|
257
295
|
const op = expression.target.name;
|
|
258
296
|
const lhs = typeOfExpr(module, symbols, expression.args[0], diagnostics);
|
|
259
297
|
const rhs = typeOfExpr(module, symbols, expression.args[1], diagnostics);
|
|
298
|
+
if (op === '==' || op === '!=') {
|
|
299
|
+
const span = originToSpan(expression.origin) ?? originToSpan(expression.target.origin);
|
|
300
|
+
rejectVerdictInBoolContext(lhs, span, diagnostics);
|
|
301
|
+
rejectVerdictInBoolContext(rhs, span, diagnostics);
|
|
302
|
+
}
|
|
260
303
|
if ((isDec(lhs) && isDbl(rhs)) || (isDbl(lhs) && isDec(rhs))) {
|
|
261
304
|
diagnostics.error("E031" /* ErrorCode.DECIMAL_DOUBLE_MIXING */, originToSpan(expression.origin) ?? originToSpan(expression.target.origin), { operator: op });
|
|
262
305
|
}
|
|
@@ -396,4 +439,13 @@ export function typeOfExpr(ctx, symbols, expr, diagnostics) {
|
|
|
396
439
|
visitor.visitExpression(expr, { module: ctx, symbols, diagnostics });
|
|
397
440
|
return visitor.result;
|
|
398
441
|
}
|
|
442
|
+
/**
|
|
443
|
+
* Verdict 不可当布尔用(ADR 0039 §2.2):If 条件、not 操作数、相等比较操作数位出现 Verdict
|
|
444
|
+
* 时报 TYPE_MISMATCH(expected Bool)。只针对 Verdict,其它类型维持既有宽松行为(不影响语料)。
|
|
445
|
+
*/
|
|
446
|
+
export function rejectVerdictInBoolContext(actual, span, diagnostics) {
|
|
447
|
+
if (isVerdictType(actual)) {
|
|
448
|
+
diagnostics.typeMismatch({ kind: 'TypeName', name: 'Bool' }, actual, span);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
399
451
|
//# sourceMappingURL=expression.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression.js","sourceRoot":"","sources":["../../../src/typecheck/expression.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"expression.js","sourceRoot":"","sources":["../../../src/typecheck/expression.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,OAAO,EACL,UAAU,EACV,YAAY,EACZ,SAAS,EACT,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE3H,MAAM,OAAO,iBAAkB,SAAQ,kBAA0C;IACxE,OAAO,GAAG,KAAK,CAAC;IAChB,MAAM,GAAc,WAAW,EAAE,CAAC;IAEhC,eAAe,CAAC,UAA2B,EAAE,OAA+B;QACnF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;QACjD,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;oBAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACjC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;wBAChB,WAAW,CAAC,iBAAiB,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;wBACzE,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;wBAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;wBACpB,OAAO;oBACT,CAAC;oBACD,IAAI,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC;oBAClC,KAAK,MAAM,SAAS,IAAI,SAAS,EAAE,CAAC;wBAClC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;wBAC1E,qEAAqE;wBACrE,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;4BACzD,WAAW,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAmB,CAAC;4BAClE,SAAS;wBACX,CAAC;wBACD,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;4BACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4BACjD,MAAM,gBAAgB,GACpB,QAAQ,IAAI,sBAAsB,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;4BAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gCACtB,WAAW,CAAC,KAAK,uCAA0B,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;oCAC1E,KAAK,EAAE,SAAS;oCAChB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC;iCAC9B,CAAC,CAAC;gCACH,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;gCAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gCACpB,OAAO;4BACT,CAAC;4BACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;4BAC5E,IAAI,CAAC,KAAK,EAAE,CAAC;gCACX,WAAW,CAAC,KAAK,uCAA0B,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;oCAC1E,KAAK,EAAE,SAAS;oCAChB,IAAI,EAAE,gBAAgB,CAAC,IAAI;iCAC5B,CAAC,CAAC;gCACH,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;gCAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gCACpB,OAAO;4BACT,CAAC;4BACD,WAAW,GAAG,KAAK,CAAC,IAAiB,CAAC;wBACxC,CAAC;6BAAM,CAAC;4BACN,WAAW,CAAC,KAAK,uCAA0B,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gCAC1E,KAAK,EAAE,SAAS;gCAChB,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC;6BAC9B,CAAC,CAAC;4BACH,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;4BAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;4BACpB,OAAO;wBACT,CAAC;oBACH,CAAC;oBACD,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;oBAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,OAAO;gBACT,CAAC;gBAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC/C,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACN,IAAI,OAA8B,CAAC;oBACnC,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;wBACvC,IAAI,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC1C,OAAO,GAAG,EAAE,CAAC;4BACb,MAAM;wBACR,CAAC;oBACH,CAAC;oBACD,IAAI,OAAO,EAAE,CAAC;wBACZ,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAmB,CAAC;oBAC1E,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;wBAChF,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,KAAK,MAAM;gBACT,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAmB,CAAC;gBAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,KAAK,KAAK;gBACR,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAmB,CAAC;gBACjE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,KAAK,MAAM;gBACT,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAmB,CAAC;gBAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAmB,CAAC;gBACpE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,KAAK,SAAS;gBACZ,uCAAuC;gBACvC,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAmB,CAAC;gBACrE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,KAAK,QAAQ;gBACX,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAmB,CAAC;gBAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,KAAK,MAAM;gBACT,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAgB,CAAC;gBACnE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,KAAK,IAAI,CAAC,CAAC,CAAC;gBACV,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACxE,IAAI,CAAC,MAAM,GAAG;oBACZ,IAAI,EAAE,QAAQ;oBACd,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK;oBAC5C,GAAG,EAAE,WAAW,EAAE;iBACJ,CAAC;gBACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,KAAK,KAAK,CAAC,CAAC,CAAC;gBACX,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACxE,IAAI,CAAC,MAAM,GAAG;oBACZ,IAAI,EAAE,QAAQ;oBACd,EAAE,EAAE,WAAW,EAAE;oBACjB,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK;iBAC/B,CAAC;gBACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACxE,IAAI,CAAC,MAAM,GAAG;oBACZ,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK;iBAChC,CAAC;gBACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,KAAK,MAAM;gBACT,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,EAAiB,CAAC;gBACrE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;oBAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,OAAO;gBACT,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;gBACnC,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;oBACtC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACzB,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;wBACjB,WAAW,CAAC,KAAK,uCAA0B,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;4BAC1E,KAAK,EAAE,KAAK,CAAC,IAAI;4BACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;yBACpB,CAAC,CAAC;wBACH,SAAS;oBACX,CAAC;oBACD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBACvE,4CAA4C;oBAC5C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAiB,EAAE,SAAS,CAAC,EAAE,CAAC;wBAC5D,WAAW,CAAC,KAAK,6CAAgC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;4BACnH,KAAK,EAAE,KAAK,CAAC,IAAI;4BACjB,QAAQ,EAAE,UAAU,CAAC,WAAW,CAAC,IAAiB,CAAC;4BACnD,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC;yBAC9B,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;oBACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9B,WAAW,CAAC,KAAK,gDAAmC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;4BACnF,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,KAAK,EAAE,KAAK,CAAC,IAAI;yBAClB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAmB,CAAC;gBAC/E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC1E,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACpD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAiB,CAAC;gBAC1C,CAAC;qBAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5D,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,EAAe,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,OAAO,oCAAuB,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;oBAC1G,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;gBAC9B,CAAC;gBACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,IAAiB,CAAC,CAAyB,CAAC;gBAC9G,MAAM,QAAQ,GAAkB;oBAC9B,IAAI,EAAE,UAAU;oBAChB,MAAM;oBACN,GAAG,EAAE,aAAa,CAAC,UAAU,CAAC,GAAgB,CAAC;oBAC/C,YAAY,EAAE,EAAE;oBAChB,eAAe,EAAE,EAAE;iBACpB,CAAC;gBACF,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,iDAAiD;gBACjD,gEAAgE;gBAChE,gCAAgC;gBAChC,0BAA0B,CACxB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,WAAW,CAAC,EACzD,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EACvE,WAAW,CACZ,CAAC;gBACF,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC5E,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;gBAC3D,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;oBAC1E,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACjC,WAAW,CAAC,KAAK,wCAA2B,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC7H,CAAC;yBAAM,CAAC;wBACN,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC;wBACpC,0BAA0B,CACxB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,EACjD,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAC/D,WAAW,CACZ,CAAC;oBACJ,CAAC;oBACD,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAmB,CAAC;oBAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,OAAO;gBACT,CAAC;gBAED,kDAAkD;gBAClD,gDAAgD;gBAChD,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClF,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;wBAC3B,WAAW,CAAC,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;wBACjI,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;wBAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;wBACpB,OAAO;oBACT,CAAC;oBACD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;oBAC3F,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;oBACtC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;wBACxB,WAAW,CAAC,KAAK,gDAAmC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;4BACnF,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;4BAC5B,QAAQ;4BACR,MAAM;yBACP,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAmB,CAAC;wBACjE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;4BACxB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;gCACjD,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;4BACjH,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;oBACD,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,iBAAiB,EAAmB,CAAC;oBAC7E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,OAAO;gBACT,CAAC;gBAED,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;oBAClC,KAAK,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;gBACrD,CAAC;gBAED,+DAA+D;gBAC/D,2DAA2D;gBAC3D,+DAA+D;gBAC/D,yEAAyE;gBACzE,yEAAyE;gBACzE,UAAU;gBACV,MAAM,KAAK,GAAG,CAAC,CAAY,EAAE,CAAS,EAAW,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC;gBAC1F,MAAM,KAAK,GAAG,CAAC,CAAY,EAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;gBAC7D,MAAM,KAAK,GAAG,CAAC,CAAY,EAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC5D,MAAM,SAAS,GAAG,CAAC,CAAY,EAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACjF,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBAClD,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACvD,IACE,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM;oBACjC,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC5F,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAC5B,CAAC;oBACD,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;oBAClC,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,WAAW,CAAC,CAAC;oBAC1E,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,WAAW,CAAC,CAAC;oBAC1E,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;wBAC/B,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;wBACvF,0BAA0B,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;wBACnD,0BAA0B,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;oBACrD,CAAC;oBACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;wBAC7D,WAAW,CAAC,KAAK,+CAEf,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EACzE,EAAE,QAAQ,EAAE,EAAE,EAAE,CACjB,CAAC;oBACJ,CAAC;oBACD,kEAAkE;oBAClE,4DAA4D;oBAC5D,iDAAiD;oBACjD,IACE,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACtB,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,EAC9F,CAAC;wBACD,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAmB,CAAC;wBACrE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;wBACpB,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,6EAA6E;gBAC7E,+EAA+E;gBAC/E,+BAA+B;gBAC/B,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM;oBACjC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,eAAe,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,EAAE,CAAC;oBAChG,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC3E,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,WAAW,CAAC,CAAC;wBACzE,IAAI,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;4BACd,WAAW,CAAC,KAAK,+CAEf,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAC3E,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CACrC,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,8BAA8B;gBAC9B,EAAE;gBACF,qDAAqD;gBACrD,4CAA4C;gBAC5C,yCAAyC;gBACzC,uEAAuE;gBACvE,EAAE;gBACF,oDAAoD;gBACpD,+DAA+D;gBAC/D,8CAA8C;gBAC9C,iCAAiC;gBACjC,wBAAwB;gBACxB,EAAE;gBACF,uCAAuC;gBACvC,eAAe;gBACf,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC/E,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC;oBACtC,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;oBAC9C,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;wBACxD,WAAW,CAAC,KAAK,6CAEf,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EACzE;4BACE,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM;4BAC3B,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM;yBAC/B,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC9E,IAAI,MAAM,GAAG,KAAK,CAAC;oBACnB,IAAI,OAAO,GAAG,KAAK,CAAC;oBACpB,IAAI,SAAS,GAAG,KAAK,CAAC;oBACtB,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;wBAClC,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;4BACjB,KAAK,KAAK;gCACR,MAAM,GAAG,IAAI,CAAC;gCACd,MAAM;4BACR,KAAK,MAAM;gCACT,OAAO,GAAG,IAAI,CAAC;gCACf,MAAM;4BACR,KAAK,QAAQ;gCACX,SAAS,GAAG,IAAI,CAAC;gCACjB,MAAM;wBACV,CAAC;oBACH,CAAC;oBACD,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7E,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;wBAClB,WAAW,CAAC,OAAO,mDAAsC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;4BAClI,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;4BAC9B,MAAM;4BACN,OAAO;4BACP,SAAS;yBACV,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAED,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5G,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,WAAW,CAAC,CAAC;oBAClF,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC5D,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,IAAiB,CAAC;oBAC9C,CAAC;yBAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACpE,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,EAAe,CAAC;oBAC5C,CAAC;yBAAM,CAAC;wBACN,WAAW,CAAC,OAAO,oCAAuB,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;wBAC9G,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;oBAC9B,CAAC;oBACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;oBACpB,OAAO;gBACT,CAAC;gBAED,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBACtC,gEAAgE;oBAChE,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,eAAe,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;wBAC9F,IAAI,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAmB,CAAC;wBACrE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;wBACpB,OAAO;oBACT,CAAC;oBACD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpE,IAAI,SAAS,EAAE,CAAC;wBACd,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC;wBAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;wBACpB,OAAO;oBACT,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,OAAO;YACT,CAAC;YACD;gBACE,MAAM;QACV,CAAC;IACH,CAAC;CACF;AAED,SAAS,sBAAsB,CAC7B,MAAqB,EACrB,QAAgB,EAChB,SAAiB;IAEjB,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;QAC7C,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC,CAAC,CAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACvF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAE,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,GAAkB,EAClB,OAAoB,EACpB,IAAqB,EACrB,WAA8B;IAE9B,MAAM,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;IACxC,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IACrE,OAAO,OAAO,CAAC,MAAM,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,MAAiB,EACjB,IAAqC,EACrC,WAA8B;IAE9B,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,WAAW,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAmB,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generics.d.ts","sourceRoot":"","sources":["../../../src/typecheck/generics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"generics.d.ts","sourceRoot":"","sources":["../../../src/typecheck/generics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAMlD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,IAAI,CAAC,IAAI,EACnB,MAAM,EAAE,IAAI,CAAC,IAAI,EACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAChC,WAAW,EAAE,iBAAiB,EAC9B,IAAI,EAAE,IAAI,GAAG,SAAS,GACrB,IAAI,CAkBN;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,aAAa,EAClB,CAAC,EAAE,IAAI,CAAC,IAAI,EACZ,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CAuEN"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DefaultTypeVisitor } from '../ast/ast_visitor.js';
|
|
2
2
|
import { TypeSystem } from './type_system.js';
|
|
3
3
|
import { formatType, typesEqual } from './pure.js';
|
|
4
|
+
import { VERDICT_TYPE_NAME } from './verdict_signatures.js';
|
|
4
5
|
export function unifyTypeParameters(expected, actual, bindings, diagnostics, span) {
|
|
5
6
|
const inferred = new Map();
|
|
6
7
|
if (!TypeSystem.unify(expected, actual, inferred))
|
|
@@ -116,6 +117,8 @@ class UnknownTypeFinder extends DefaultTypeVisitor {
|
|
|
116
117
|
static KNOWN_SCALARS = new Set([
|
|
117
118
|
'Text', 'Int', 'Bool', 'Float', 'Long', 'Double', 'Unit',
|
|
118
119
|
'Result', 'Option', 'List', 'Map', 'Set', 'Workflow',
|
|
120
|
+
// ADR 0039:Verdict 为内置类型,不是疑似类型变量
|
|
121
|
+
VERDICT_TYPE_NAME,
|
|
119
122
|
]);
|
|
120
123
|
static isMaybeTypeVarLike = (name) => /^[A-Z][A-Za-z0-9_]*$/.test(name);
|
|
121
124
|
visitTypeName(n, context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generics.js","sourceRoot":"","sources":["../../../src/typecheck/generics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"generics.js","sourceRoot":"","sources":["../../../src/typecheck/generics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 治理检查(ADR 0039 §3/§4):规则元数据注解与 Verdict 规则身份。
|
|
3
|
+
* Java 镜像:aster-lang-core/.../typecheck/governance/GovernanceChecker.java,两侧判定必须逐条一致。
|
|
4
|
+
*
|
|
5
|
+
* 「规则返回 Verdict」口径:声明返回类型为 TypeName Verdict,
|
|
6
|
+
* 或函数体任一 Return 表达式是 Verdict.* 的直接调用(不经由变量推断)。
|
|
7
|
+
*
|
|
8
|
+
* 注解参数约定:位置参数降级为 args: [{ name: '$0', value }];
|
|
9
|
+
* 治理注解只接受恰好一个非空白位置字符串参数,命名参数、非字符串、空白字符串一律 E702;
|
|
10
|
+
* 同一规则出现多个 @id 也报 E702(@control 可重复)。
|
|
11
|
+
*
|
|
12
|
+
* 档案(ADR 0046 §4):模块声明的档案不在注册表中报 E705(模块 origin),之后不再做档案检查;
|
|
13
|
+
* 已知档案只约束返回 Verdict 的规则,违反要求报 E706(规则 span),同一规则同一要求只报一次。
|
|
14
|
+
*
|
|
15
|
+
* 本模块只依赖纯函数与 DiagnosticBuilder,Node / 浏览器两条类型检查路径共用。
|
|
16
|
+
*/
|
|
17
|
+
import type { Core, Origin, TypecheckDiagnostic } from '../types.js';
|
|
18
|
+
import { type ControlRegistry } from '../governance/controls.js';
|
|
19
|
+
/**
|
|
20
|
+
* 规则 @id:规则上恰好一个 @id 且其参数合法时返回其值;否则 undefined
|
|
21
|
+
* (E702 另行报告,返回 Verdict 的规则因此同时报 W700,且不参与重复 id 判定)。
|
|
22
|
+
*/
|
|
23
|
+
export declare function ruleId(func: Core.Func): string | undefined;
|
|
24
|
+
/** 规则 @control 列表,按源码顺序;参数非法的条目跳过。 */
|
|
25
|
+
export declare function controls(func: Core.Func): string[];
|
|
26
|
+
/** 规则是否返回 Verdict:声明返回类型为 Verdict,或任一 Return 直接调用 Verdict.*。 */
|
|
27
|
+
export declare function returnsVerdict(func: Core.Func): boolean;
|
|
28
|
+
/** 治理检查所需的模块视图:Core.Module 满足此形状,测试可只给 decls。 */
|
|
29
|
+
export interface GovernanceModule {
|
|
30
|
+
readonly name: string | null;
|
|
31
|
+
readonly profile?: string;
|
|
32
|
+
readonly decls: readonly Core.Declaration[];
|
|
33
|
+
readonly origin?: Origin;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 检查整个模块:E702 注解参数、W700 缺 @id、E701 模块内 @id 重复、W704 未登记控制点、
|
|
37
|
+
* E705/E706 档案(ADR 0046)、Verdict 符号预占。
|
|
38
|
+
* opts.controls 可注入控制注册表,缺省用内置副本(ADR 0045 §3)。
|
|
39
|
+
*/
|
|
40
|
+
export declare function checkGovernance(module: GovernanceModule, opts?: {
|
|
41
|
+
controls?: ControlRegistry;
|
|
42
|
+
}): TypecheckDiagnostic[];
|
|
43
|
+
//# sourceMappingURL=governance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../../src/typecheck/governance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAc,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEjF,OAAO,EAGL,KAAK,eAAe,EAErB,MAAM,2BAA2B,CAAC;AA2BnC;;;GAGG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,SAAS,CAI1D;AAED,sCAAsC;AACtC,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,EAAE,CAIlD;AAuBD,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,OAAO,CAGvD;AAiFD,iDAAiD;AACjD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,gBAAgB,EACxB,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,eAAe,CAAA;CAAO,GACxC,mBAAmB,EAAE,CAgBvB"}
|