@aster-cloud/aster-lang-ts 1.2.5 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +73 -0
- package/dist/scripts/generate_error_codes.js +3 -0
- package/dist/scripts/generate_error_codes.js.map +1 -1
- package/dist/src/browser.d.ts +16 -2
- package/dist/src/browser.d.ts.map +1 -1
- package/dist/src/browser.js +12 -19
- package/dist/src/browser.js.map +1 -1
- package/dist/src/cli/utils/error-handler.js.map +1 -1
- package/dist/src/config/lexicons/diagnostic-overlays.generated.d.ts.map +1 -1
- package/dist/src/config/lexicons/diagnostic-overlays.generated.js +120 -0
- package/dist/src/config/lexicons/diagnostic-overlays.generated.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/index.d.ts +1 -0
- package/dist/src/config/lexicons/identifiers/index.d.ts.map +1 -1
- package/dist/src/config/lexicons/identifiers/index.js +1 -0
- package/dist/src/config/lexicons/identifiers/index.js.map +1 -1
- package/dist/src/config/lexicons/identifiers/spelling.d.ts +25 -0
- package/dist/src/config/lexicons/identifiers/spelling.d.ts.map +1 -0
- package/dist/src/config/lexicons/identifiers/spelling.js +44 -0
- package/dist/src/config/lexicons/identifiers/spelling.js.map +1 -0
- package/dist/src/core/interpreter.js +4 -0
- package/dist/src/core/interpreter.js.map +1 -1
- package/dist/src/core/resolve-typed-references.d.ts.map +1 -1
- package/dist/src/core/resolve-typed-references.js +34 -22
- package/dist/src/core/resolve-typed-references.js.map +1 -1
- package/dist/src/diagnostics/diagnostics.d.ts +27 -2
- package/dist/src/diagnostics/diagnostics.d.ts.map +1 -1
- package/dist/src/diagnostics/diagnostics.js +37 -1
- package/dist/src/diagnostics/diagnostics.js.map +1 -1
- package/dist/src/diagnostics/error_codes.d.ts +21 -1
- package/dist/src/diagnostics/error_codes.d.ts.map +1 -1
- package/dist/src/diagnostics/error_codes.js +160 -0
- package/dist/src/diagnostics/error_codes.js.map +1 -1
- package/dist/src/frontend/canonicalizer.d.ts.map +1 -1
- package/dist/src/frontend/canonicalizer.js +44 -1
- package/dist/src/frontend/canonicalizer.js.map +1 -1
- package/dist/src/frontend/lexer.js +1 -1
- package/dist/src/frontend/lexer.js.map +1 -1
- package/dist/src/frontend/resolve-declarations.d.ts.map +1 -1
- package/dist/src/frontend/resolve-declarations.js +24 -1
- package/dist/src/frontend/resolve-declarations.js.map +1 -1
- package/dist/src/frontend/resolve-policy-types.d.ts +2 -0
- package/dist/src/frontend/resolve-policy-types.d.ts.map +1 -1
- package/dist/src/frontend/resolve-policy-types.js +2 -1
- package/dist/src/frontend/resolve-policy-types.js.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/lsp/completion.d.ts +2 -2
- package/dist/src/lsp/completion.d.ts.map +1 -1
- package/dist/src/lsp/completion.js +65 -55
- package/dist/src/lsp/completion.js.map +1 -1
- package/dist/src/lsp/diagnostics.d.ts.map +1 -1
- package/dist/src/lsp/diagnostics.js +2 -0
- package/dist/src/lsp/diagnostics.js.map +1 -1
- package/dist/src/lsp/member-completion.d.ts +10 -0
- package/dist/src/lsp/member-completion.d.ts.map +1 -1
- package/dist/src/lsp/member-completion.js +25 -10
- package/dist/src/lsp/member-completion.js.map +1 -1
- package/dist/src/parser/constraint-parser.d.ts +2 -1
- package/dist/src/parser/constraint-parser.d.ts.map +1 -1
- package/dist/src/parser/constraint-parser.js +9 -7
- package/dist/src/parser/constraint-parser.js.map +1 -1
- 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 +4 -3
- package/dist/src/parser/decl-parser.d.ts.map +1 -1
- package/dist/src/parser/decl-parser.js +17 -16
- package/dist/src/parser/decl-parser.js.map +1 -1
- package/dist/src/parser/expr-stmt-parser.d.ts +10 -9
- package/dist/src/parser/expr-stmt-parser.d.ts.map +1 -1
- package/dist/src/parser/expr-stmt-parser.js +96 -92
- package/dist/src/parser/expr-stmt-parser.js.map +1 -1
- package/dist/src/parser/field-variant-parser.d.ts +4 -3
- package/dist/src/parser/field-variant-parser.d.ts.map +1 -1
- package/dist/src/parser/field-variant-parser.js +3 -2
- package/dist/src/parser/field-variant-parser.js.map +1 -1
- package/dist/src/parser/import-parser.d.ts +5 -5
- package/dist/src/parser/import-parser.d.ts.map +1 -1
- package/dist/src/parser/import-parser.js +4 -3
- package/dist/src/parser/import-parser.js.map +1 -1
- package/dist/src/parser/parse-issue.d.ts +44 -0
- package/dist/src/parser/parse-issue.d.ts.map +1 -0
- package/dist/src/parser/parse-issue.js +37 -0
- package/dist/src/parser/parse-issue.js.map +1 -0
- package/dist/src/parser/parser-tools.d.ts +5 -5
- package/dist/src/parser/parser-tools.d.ts.map +1 -1
- package/dist/src/parser/parser-tools.js +19 -7
- package/dist/src/parser/parser-tools.js.map +1 -1
- package/dist/src/parser/type-parser.d.ts +4 -3
- package/dist/src/parser/type-parser.d.ts.map +1 -1
- package/dist/src/parser/type-parser.js +19 -16
- package/dist/src/parser/type-parser.js.map +1 -1
- package/dist/src/typecheck/browser.d.ts.map +1 -1
- package/dist/src/typecheck/browser.js +4 -11
- package/dist/src/typecheck/browser.js.map +1 -1
- package/dist/src/typecheck/expression.js +2 -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 +2 -26
- package/dist/src/typecheck/generics.js.map +1 -1
- package/dist/src/typecheck/module.d.ts.map +1 -1
- package/dist/src/typecheck/module.js +4 -10
- package/dist/src/typecheck/module.js.map +1 -1
- package/dist/src/typecheck/pattern.d.ts.map +1 -1
- package/dist/src/typecheck/pattern.js +5 -4
- package/dist/src/typecheck/pattern.js.map +1 -1
- package/dist/src/typecheck/pure.d.ts +2 -0
- package/dist/src/typecheck/pure.d.ts.map +1 -1
- package/dist/src/typecheck/pure.js +4 -0
- package/dist/src/typecheck/pure.js.map +1 -1
- package/dist/src/typecheck/statement.d.ts +8 -0
- package/dist/src/typecheck/statement.d.ts.map +1 -1
- package/dist/src/typecheck/statement.js +60 -3
- package/dist/src/typecheck/statement.js.map +1 -1
- package/dist/src/typecheck/workflow.d.ts.map +1 -1
- package/dist/src/typecheck/workflow.js +11 -33
- package/dist/src/typecheck/workflow.js.map +1 -1
- package/dist/test/integration/lsp/lsp-completion.test.js +3 -1
- package/dist/test/integration/lsp/lsp-completion.test.js.map +1 -1
- package/dist/test/integration/scripts/typecheck-cli-repl.test.js +2 -1
- package/dist/test/integration/scripts/typecheck-cli-repl.test.js.map +1 -1
- package/dist/test/integration/vocabulary-resolution.test.js +10 -1
- package/dist/test/integration/vocabulary-resolution.test.js.map +1 -1
- package/dist/test/unit/canonicalizer/article-declaration-names.test.d.ts +2 -0
- package/dist/test/unit/canonicalizer/article-declaration-names.test.d.ts.map +1 -0
- package/dist/test/unit/canonicalizer/article-declaration-names.test.js +53 -0
- package/dist/test/unit/canonicalizer/article-declaration-names.test.js.map +1 -0
- package/dist/test/unit/diagnostics/diagnostic-overlays.test.js.map +1 -1
- package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.d.ts +9 -0
- package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.d.ts.map +1 -0
- package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.js +121 -0
- package/dist/test/unit/diagnostics/parse-diagnostics-parity.test.js.map +1 -0
- package/dist/test/unit/diagnostics/parse-issue-codes.test.d.ts +6 -0
- package/dist/test/unit/diagnostics/parse-issue-codes.test.d.ts.map +1 -0
- package/dist/test/unit/diagnostics/parse-issue-codes.test.js +82 -0
- package/dist/test/unit/diagnostics/parse-issue-codes.test.js.map +1 -0
- package/dist/test/unit/frontend/resolve-declarations.test.js +47 -0
- package/dist/test/unit/frontend/resolve-declarations.test.js.map +1 -1
- package/dist/test/unit/identifiers/spelling.test.d.ts +2 -0
- package/dist/test/unit/identifiers/spelling.test.d.ts.map +1 -0
- package/dist/test/unit/identifiers/spelling.test.js +51 -0
- package/dist/test/unit/identifiers/spelling.test.js.map +1 -0
- package/dist/test/unit/int-pattern-decimal.test.d.ts +2 -0
- package/dist/test/unit/int-pattern-decimal.test.d.ts.map +1 -0
- package/dist/test/unit/int-pattern-decimal.test.js +54 -0
- package/dist/test/unit/int-pattern-decimal.test.js.map +1 -0
- package/dist/test/unit/lsp/completion-lexicon.test.js +1 -1
- package/dist/test/unit/lsp/completion-lexicon.test.js.map +1 -1
- package/dist/test/unit/lsp/completion-list.test.d.ts +2 -0
- package/dist/test/unit/lsp/completion-list.test.d.ts.map +1 -0
- package/dist/test/unit/lsp/completion-list.test.js +64 -0
- package/dist/test/unit/lsp/completion-list.test.js.map +1 -0
- package/dist/test/unit/lsp/member-completion.test.js +99 -1
- package/dist/test/unit/lsp/member-completion.test.js.map +1 -1
- package/dist/test/unit/lsp/resolution-completion.test.js +2 -2
- package/dist/test/unit/lsp/resolution-completion.test.js.map +1 -1
- package/dist/test/unit/lsp/resolution-diagnostics.test.js +4 -2
- package/dist/test/unit/lsp/resolution-diagnostics.test.js.map +1 -1
- package/dist/test/unit/parser/depth-limit.test.js +3 -4
- package/dist/test/unit/parser/depth-limit.test.js.map +1 -1
- package/dist/test/unit/parser/parser.test.js +36 -6
- package/dist/test/unit/parser/parser.test.js.map +1 -1
- package/dist/test/unit/typecheck/effects-and-capabilities.test.js +19 -0
- package/dist/test/unit/typecheck/effects-and-capabilities.test.js.map +1 -1
- package/dist/test/unit/typecheck/java-parity-281.test.d.ts +2 -0
- package/dist/test/unit/typecheck/java-parity-281.test.d.ts.map +1 -0
- package/dist/test/unit/typecheck/java-parity-281.test.js +87 -0
- package/dist/test/unit/typecheck/java-parity-281.test.js.map +1 -0
- package/dist/test/unit/typecheck/regression-fixes.test.js +2 -2
- package/dist/test/unit/typecheck/regression-fixes.test.js.map +1 -1
- package/dist/test/unit/typecheck/return-paths.test.d.ts +2 -0
- package/dist/test/unit/typecheck/return-paths.test.d.ts.map +1 -0
- package/dist/test/unit/typecheck/return-paths.test.js +54 -0
- package/dist/test/unit/typecheck/return-paths.test.js.map +1 -0
- package/dist/test/unit/typecheck/typecheck-advanced.test.js +2 -2
- package/dist/test/unit/typecheck/typecheck-advanced.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { isCpuClassCapability, isIoClassCapability } from '../config/semantic.js';
|
|
2
|
-
import {
|
|
3
|
-
import { CPU_EFFECT_TYPE, IO_EFFECT_TYPE, PURE_EFFECT_TYPE, UNIT_TYPE, formatType, isUnknown, normalizeType, originToSpan, unknownType, } from './pure.js';
|
|
2
|
+
import { CPU_EFFECT_TYPE, IO_EFFECT_TYPE, PURE_EFFECT_TYPE, normalizeType, originToSpan, unknownType, } from './pure.js';
|
|
4
3
|
import { collectEffects } from './effects.js';
|
|
5
|
-
import { typecheckBlock } from './statement.js';
|
|
4
|
+
import { typecheckBlock, withoutReturnExpectation } from './statement.js';
|
|
6
5
|
const RETRY_RECOMMENDED_MAX_ATTEMPTS = 10;
|
|
7
6
|
const RETRY_BASE_DELAY_MS = 1_000;
|
|
8
7
|
const RETRY_LINEAR_WAIT_LIMIT_MS = 5 * 60_000;
|
|
@@ -86,9 +85,13 @@ export function typecheckWorkflow(context, workflow) {
|
|
|
86
85
|
checkTimeoutSemantics(workflow, context.diagnostics);
|
|
87
86
|
let resultType = unknownType();
|
|
88
87
|
const stepEffects = new Map();
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
88
|
+
// step / compensate 体内的 Return 是该 step 的结果(如 `Return ok of y`),不是外层规则的返回路径,
|
|
89
|
+
// 不与规则声明的返回类型比较(aster-lang-ts#283)
|
|
90
|
+
withoutReturnExpectation(() => {
|
|
91
|
+
for (const step of workflow.steps) {
|
|
92
|
+
resultType = typecheckStep(context, step, stepEffects);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
92
95
|
checkWorkflowDependencies(workflow, context.diagnostics);
|
|
93
96
|
validateWorkflowMetadata(workflow, context.diagnostics);
|
|
94
97
|
const effectType = workflowEffectType(context, workflow, stepEffects);
|
|
@@ -103,8 +106,8 @@ export function typecheckStep(context, step, effectCache) {
|
|
|
103
106
|
const bodyType = typecheckScopedBlock(context, step.body);
|
|
104
107
|
const effects = collectEffects(context.module, step.body);
|
|
105
108
|
if (step.compensate) {
|
|
106
|
-
|
|
107
|
-
|
|
109
|
+
// compensate 体的返回值运行时被丢弃,Java 不检查其类型,这里也只检查体内语句(aster-lang-ts#281)
|
|
110
|
+
typecheckScopedBlock(context, step.compensate);
|
|
108
111
|
// 合并 compensate 块的效应
|
|
109
112
|
const compensateEffects = collectEffects(context.module, step.compensate);
|
|
110
113
|
for (const eff of compensateEffects) {
|
|
@@ -122,31 +125,6 @@ export function typecheckStep(context, step, effectCache) {
|
|
|
122
125
|
}
|
|
123
126
|
return bodyType;
|
|
124
127
|
}
|
|
125
|
-
function validateCompensateBlock(context, step, bodyType, compensateType) {
|
|
126
|
-
const expected = normalizeType(bodyType);
|
|
127
|
-
if (expected.kind !== 'Result')
|
|
128
|
-
return;
|
|
129
|
-
const expectedErr = normalizeType(expected.err);
|
|
130
|
-
const targetSpan = originToSpan(step.compensate?.origin ?? step.origin);
|
|
131
|
-
if (compensateType.kind !== 'Result') {
|
|
132
|
-
context.diagnostics.error("E022" /* ErrorCode.WORKFLOW_COMPENSATE_TYPE */, targetSpan, {
|
|
133
|
-
step: step.name,
|
|
134
|
-
expectedErr: formatType(expectedErr),
|
|
135
|
-
actual: formatType(compensateType),
|
|
136
|
-
});
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
const okMatchesUnit = TypeSystem.equals(compensateType.ok, UNIT_TYPE) || isUnknown(compensateType.ok);
|
|
140
|
-
const errMatches = TypeSystem.equals(normalizeType(compensateType.err), expectedErr) ||
|
|
141
|
-
TypeSystem.isSubtype(normalizeType(compensateType.err), expectedErr);
|
|
142
|
-
if (!okMatchesUnit || !errMatches) {
|
|
143
|
-
context.diagnostics.error("E022" /* ErrorCode.WORKFLOW_COMPENSATE_TYPE */, targetSpan, {
|
|
144
|
-
step: step.name,
|
|
145
|
-
expectedErr: formatType(expectedErr),
|
|
146
|
-
actual: formatType(compensateType),
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
128
|
function workflowEffectType(context, workflow, cachedEffects) {
|
|
151
129
|
let hasIOCap = workflow.effectCaps.some(cap => isIoClassCapability(cap));
|
|
152
130
|
let hasCpuCap = workflow.effectCaps.some(cap => isCpuClassCapability(cap));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/typecheck/workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/typecheck/workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,9 @@ async function testBasicCompletion() {
|
|
|
48
48
|
const mockDocuments = createMockDocuments();
|
|
49
49
|
const getOrParse = createMockGetOrParse();
|
|
50
50
|
registerCompletionHandlers(mockConnection, mockDocuments, getOrParse);
|
|
51
|
-
const
|
|
51
|
+
const list = mockConnection.handlers.onCompletion();
|
|
52
|
+
assert(list.isIncomplete === false, '关键词补全是完整结果');
|
|
53
|
+
const completions = list.items;
|
|
52
54
|
assert(Array.isArray(completions), '应返回补全项数组');
|
|
53
55
|
assert(completions.length > 20, `应返回多个补全项(实际: ${completions.length})`);
|
|
54
56
|
// 验证关键字补全
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lsp-completion.test.js","sourceRoot":"","sources":["../../../../test/integration/lsp/lsp-completion.test.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAG/C,SAAS,MAAM,CAAC,SAAkB,EAAE,OAAe;IACjD,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,oBAAoB;IAC3B,OAAO,CAAC,GAAiB,EAAE,EAAE;QAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,GAAG,GAAqB,IAAI,CAAC;QACjC,IAAI,CAAC;YACH,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAgB,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,GAAG,IAAI,CAAC;QACb,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACpC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB;IAC3B,MAAM,QAAQ,GAAQ,EAAE,CAAC;IACzB,OAAO;QACL,YAAY,EAAE,CAAC,OAAY,EAAE,EAAE,GAAG,QAAQ,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC;QACpE,mBAAmB,EAAE,CAAC,OAAY,EAAE,EAAE,GAAG,QAAQ,CAAC,mBAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;QAClF,SAAS,EAAE,CAAC,MAAc,EAAE,OAAY,EAAE,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAC5E,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB;IAC1B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC7C,OAAO;QACL,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QACnC,GAAG,EAAE,CAAC,GAAW,EAAE,GAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,MAAM,cAAc,GAAG,oBAAoB,EAAS,CAAC;IACrD,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;IAC5C,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;IAE1C,0BAA0B,CAAC,cAAc,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;IAEtE,MAAM,
|
|
1
|
+
{"version":3,"file":"lsp-completion.test.js","sourceRoot":"","sources":["../../../../test/integration/lsp/lsp-completion.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -121,7 +121,8 @@ describe('repl', () => {
|
|
|
121
121
|
it('词法错误按诊断格式输出位置', () => {
|
|
122
122
|
const r = run(REPL, [], { input: replInput('Module m.\nRule g, produce Text:\n Return "abc.') });
|
|
123
123
|
assert.equal(r.status, 0);
|
|
124
|
-
|
|
124
|
+
// ADR 0051 §16 R56:未闭合字符串 = E051(原本地码 L002)
|
|
125
|
+
assert.match(r.stderr, /E051/);
|
|
125
126
|
assert.match(r.stderr, /3:10/);
|
|
126
127
|
});
|
|
127
128
|
it(':h 打印帮助;输入流结束(无 :q)也以 0 退出', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typecheck-cli-repl.test.js","sourceRoot":"","sources":["../../../../test/integration/scripts/typecheck-cli-repl.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typecheck-cli-repl.test.js","sourceRoot":"","sources":["../../../../test/integration/scripts/typecheck-cli-repl.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -237,6 +237,7 @@ describe('resolvePolicyTypes', () => {
|
|
|
237
237
|
written: 'bewerten',
|
|
238
238
|
params: [{ name: 'fahrer', type: { kind: 'TypeName', name: 'Driver' } }],
|
|
239
239
|
returnType: { kind: 'TypeName', name: 'Int' },
|
|
240
|
+
entry: false,
|
|
240
241
|
},
|
|
241
242
|
]);
|
|
242
243
|
assert.deepEqual(r.types.enums, []);
|
|
@@ -269,6 +270,14 @@ describe('resolvePolicyTypes', () => {
|
|
|
269
270
|
const r = resolvePolicyTypes('Modul m.\n\nRegel f gegeben', { locale: 'de-DE' });
|
|
270
271
|
assert.equal(r.ok, false);
|
|
271
272
|
});
|
|
273
|
+
it('functions[].entry 标出 @entry 注解的 Rule', () => {
|
|
274
|
+
const src = 'Module m.\n\nRule pick given x as Int, produce Int:\n Return x.\n\n@entry Rule main given x as Int, produce Int:\n Return x.\n';
|
|
275
|
+
const r = resolvePolicyTypes(src, { locale: 'en-US' });
|
|
276
|
+
assert.equal(r.ok, true, JSON.stringify(r));
|
|
277
|
+
if (!r.ok)
|
|
278
|
+
return;
|
|
279
|
+
assert.deepEqual(r.types.functions.map((f) => [f.canonical, f.entry]), [['pick', false], ['main', true]]);
|
|
280
|
+
});
|
|
272
281
|
it('aliasSet 并入 lexicon 关键词别名后解析', () => {
|
|
273
282
|
const src = 'Module m.\n\nPolicy f given x as Int, produce Int:\n Return x.\n';
|
|
274
283
|
assert.equal(resolvePolicyTypes(src, { locale: 'en-US' }).ok, false);
|
|
@@ -280,7 +289,7 @@ describe('包入口导出', () => {
|
|
|
280
289
|
for (const [name, entry] of [['browser', browserEntry], ['index', packageEntry]]) {
|
|
281
290
|
it(`${name} 导出 buildVocabularyScopes / canonicalScopesJson / foldKey / resolvePolicyTypes`, () => {
|
|
282
291
|
const e = entry;
|
|
283
|
-
for (const fnName of ['buildVocabularyScopes', 'canonicalScopesJson', 'foldKey', 'resolvePolicyTypes']) {
|
|
292
|
+
for (const fnName of ['buildVocabularyScopes', 'canonicalScopesJson', 'foldKey', 'resolvePolicyTypes', 'buildSpellingIndex', 'resolveSpelling']) {
|
|
284
293
|
assert.equal(typeof e[fnName], 'function', fnName);
|
|
285
294
|
}
|
|
286
295
|
const scopes = e.buildVocabularyScopes(LEVEL_FIELD_VOCAB);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vocabulary-resolution.test.js","sourceRoot":"","sources":["../../../test/integration/vocabulary-resolution.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vocabulary-resolution.test.js","sourceRoot":"","sources":["../../../test/integration/vocabulary-resolution.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"article-declaration-names.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/canonicalizer/article-declaration-names.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module test/unit/canonicalizer/article-declaration-names.test
|
|
3
|
+
*
|
|
4
|
+
* 冠词删除不得吞掉声明名(`Define A has …`、`Rule a given …`):声明关键词之后、
|
|
5
|
+
* 且后面紧跟关键词的冠词就是声明名,按语法位置保护;其余位置的真冠词照常删除。
|
|
6
|
+
* 夹具与 aster-lang-core 副本字节一致(共享夹具)。
|
|
7
|
+
*/
|
|
8
|
+
import { describe, it } from 'node:test';
|
|
9
|
+
import assert from 'node:assert/strict';
|
|
10
|
+
import { readFileSync } from 'node:fs';
|
|
11
|
+
import { dirname, join } from 'node:path';
|
|
12
|
+
import { fileURLToPath } from 'node:url';
|
|
13
|
+
import { canonicalize, compileAndTypecheck } from '../../../src/browser.js';
|
|
14
|
+
const repoRoot = join(dirname(fileURLToPath(import.meta.url)), '..', '..', '..', '..');
|
|
15
|
+
const fixtures = JSON.parse(readFileSync(join(repoRoot, 'test', 'fixtures', 'canonicalizer', 'article-declaration-names.json'), 'utf8'));
|
|
16
|
+
/** 源码里 `Define X` / `Rule X` 写下的声明名(去掉 Define 后的真冠词 `a Customer`)。 */
|
|
17
|
+
function declaredNames(source) {
|
|
18
|
+
return [...source.matchAll(/^(?:Define|Rule) (?:(?:a|an|the) (?=[A-Z]\w* (?:has|with)))?(\w+)/gm)].map((m) => m[1]);
|
|
19
|
+
}
|
|
20
|
+
describe('冠词删除 vs 声明名(共享夹具)', () => {
|
|
21
|
+
assert.equal(fixtures.locale, 'en-US');
|
|
22
|
+
for (const c of fixtures.cases) {
|
|
23
|
+
it(c.name, () => {
|
|
24
|
+
const r = compileAndTypecheck(c.source);
|
|
25
|
+
const errors = [...(r.parseErrors ?? []), ...(r.resolutionDiagnostics ?? []), ...r.typeErrors]
|
|
26
|
+
.filter((d) => (d.severity ?? 'error') === 'error')
|
|
27
|
+
.map((d) => String(d.code));
|
|
28
|
+
assert.deepEqual(errors, c.errors, canonicalize(c.source));
|
|
29
|
+
assert.equal(errors.length === 0, c.success);
|
|
30
|
+
if (!c.success)
|
|
31
|
+
return;
|
|
32
|
+
// 语义不漂移:Core 里的声明名与源码写下的一致(防止冠词被删后 `Rule given …` 静默得到函数 given)
|
|
33
|
+
assert.deepEqual(r.core?.decls.map((d) => d.name), declaredNames(c.source));
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
describe('冠词删除:声明名位置以外的行为不变', () => {
|
|
38
|
+
it('Define / Rule 后接名词时冠词仍删除', () => {
|
|
39
|
+
assert.equal(canonicalize('Define a Customer has name as Text.'), 'Define Customer has name as Text.');
|
|
40
|
+
assert.equal(canonicalize('define the User has a name.'), 'define User has name.');
|
|
41
|
+
});
|
|
42
|
+
it('Define / Rule 之外的冠词不受声明名保护', () => {
|
|
43
|
+
assert.equal(canonicalize('Return a Decision with approved set to true.'), 'Return Decision with approved set to true.');
|
|
44
|
+
assert.equal(canonicalize('Let x be the y has.'), 'Let x be y has.');
|
|
45
|
+
});
|
|
46
|
+
it('声明名保护不区分大小写,覆盖 A / An / The', () => {
|
|
47
|
+
for (const art of ['A', 'An', 'The', 'a', 'an', 'the']) {
|
|
48
|
+
assert.equal(canonicalize(`Define ${art} has score as Int.`), `Define ${art} has score as Int.`);
|
|
49
|
+
assert.equal(canonicalize(`Rule ${art} given x as Int, produce Int:`), `Rule ${art} given x as Int, produce Int:`);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=article-declaration-names.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"article-declaration-names.test.js","sourceRoot":"","sources":["../../../../test/unit/canonicalizer/article-declaration-names.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnostic-overlays.test.js","sourceRoot":"","sources":["../../../../test/unit/diagnostics/diagnostic-overlays.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,KAAK,EAAE,MAAM,uCAAuC,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+DAA+D,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,qDAAqD,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAG5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"diagnostic-overlays.test.js","sourceRoot":"","sources":["../../../../test/unit/diagnostics/diagnostic-overlays.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ADR 0051 §16 R56/R57 双引擎诊断 parity(ts 侧)。
|
|
3
|
+
*
|
|
4
|
+
* 共享夹具 shared/parse_diagnostics_parity.json 与 aster-lang-core 的
|
|
5
|
+
* src/test/resources/diagnostics/parse_diagnostics_parity.json byte-identical;core 侧
|
|
6
|
+
* ParseDiagnosticsParityTest 对同一夹具断言同码同行。判定规则写在夹具的 description 里。
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=parse-diagnostics-parity.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-diagnostics-parity.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/diagnostics/parse-diagnostics-parity.test.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ADR 0051 §16 R56/R57 双引擎诊断 parity(ts 侧)。
|
|
3
|
+
*
|
|
4
|
+
* 共享夹具 shared/parse_diagnostics_parity.json 与 aster-lang-core 的
|
|
5
|
+
* src/test/resources/diagnostics/parse_diagnostics_parity.json byte-identical;core 侧
|
|
6
|
+
* ParseDiagnosticsParityTest 对同一夹具断言同码同行。判定规则写在夹具的 description 里。
|
|
7
|
+
*/
|
|
8
|
+
import { describe, it } from 'node:test';
|
|
9
|
+
import assert from 'node:assert/strict';
|
|
10
|
+
import { readFileSync, readdirSync } from 'node:fs';
|
|
11
|
+
import { resolve } from 'node:path';
|
|
12
|
+
import { canonicalize } from '../../../src/frontend/canonicalizer.js';
|
|
13
|
+
import { lex } from '../../../src/frontend/lexer.js';
|
|
14
|
+
import { parseWithLexicon } from '../../../src/parser.js';
|
|
15
|
+
import { resolveDeclarations } from '../../../src/frontend/resolve-declarations.js';
|
|
16
|
+
import { NO_IMPORTS } from '../../../src/frontend/resolution-context.js';
|
|
17
|
+
import { DiagnosticError } from '../../../src/diagnostics/diagnostics.js';
|
|
18
|
+
import { ERROR_METADATA } from '../../../src/diagnostics/error_codes.js';
|
|
19
|
+
import { EN_US } from '../../../src/config/lexicons/en-US.js';
|
|
20
|
+
import { ZH_CN } from '../../../src/config/lexicons/zh-CN.js';
|
|
21
|
+
import { DE_DE } from '../../../src/config/lexicons/de-DE.js';
|
|
22
|
+
import { buildVocabularyScopes } from '../../../src/config/lexicons/identifiers/scopes.js';
|
|
23
|
+
import { IdentifierKind } from '../../../src/config/lexicons/identifiers/types.js';
|
|
24
|
+
const REPO_ROOT = process.cwd();
|
|
25
|
+
const FIXTURE = resolve(REPO_ROOT, 'shared', 'parse_diagnostics_parity.json');
|
|
26
|
+
const CASES = JSON.parse(readFileSync(FIXTURE, 'utf8')).cases;
|
|
27
|
+
const LEXICONS = { 'en-US': EN_US, 'zh-CN': ZH_CN, 'de-DE': DE_DE };
|
|
28
|
+
/** ts 侧判定:第一条解析错误;无解析错误时取名称解析(R1)的全部 error。 */
|
|
29
|
+
function tsCodes(c) {
|
|
30
|
+
const lexicon = LEXICONS[c.lexicon ?? 'en-US'];
|
|
31
|
+
assert.ok(lexicon, `未知 lexicon ${c.lexicon}`);
|
|
32
|
+
try {
|
|
33
|
+
const parsed = parseWithLexicon(lex(canonicalize(c.source, lexicon), lexicon), lexicon);
|
|
34
|
+
const first = parsed.diagnostics.find((d) => d.severity === 'error');
|
|
35
|
+
if (first)
|
|
36
|
+
return [[first.code, first.span.start.line]];
|
|
37
|
+
const structs = (c.structs ?? []).map(([canonical, localized]) => ({ canonical, localized, kind: IdentifierKind.STRUCT }));
|
|
38
|
+
const scopes = structs.length === 0 ? undefined
|
|
39
|
+
: buildVocabularyScopes({ id: 't', name: 't', locale: 'de-DE', version: '1', structs, fields: [], functions: [], enumValues: [] });
|
|
40
|
+
const resolved = resolveDeclarations(parsed.ast, scopes ? { scopes, imports: NO_IMPORTS } : { imports: NO_IMPORTS });
|
|
41
|
+
return resolved.diagnostics
|
|
42
|
+
.filter((d) => d.severity === 'error')
|
|
43
|
+
.map((d) => [d.code, d.span?.start.line ?? 0]);
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
if (e instanceof DiagnosticError)
|
|
47
|
+
return [[e.diagnostic.code, e.diagnostic.span.start.line]];
|
|
48
|
+
throw e;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
describe('ADR 0051 §16 R56/R57 双引擎诊断 parity 夹具(ts 侧)', () => {
|
|
52
|
+
for (const c of CASES.filter((x) => x.only !== 'core')) {
|
|
53
|
+
it(c.name, () => {
|
|
54
|
+
assert.deepEqual(tsCodes(c), c.codes);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
it('E050–E069 每个码至少一例,且 E807 有冲突与非冲突两类夹具', () => {
|
|
58
|
+
const covered = new Set(CASES.flatMap((c) => c.codes.map(([code]) => code)));
|
|
59
|
+
const parseCodes = Object.values(ERROR_METADATA)
|
|
60
|
+
.filter((m) => m.category === 'syntax')
|
|
61
|
+
.map((m) => m.code);
|
|
62
|
+
assert.equal(parseCodes.length, 20);
|
|
63
|
+
assert.deepEqual(parseCodes.filter((code) => !covered.has(code)), []);
|
|
64
|
+
assert.ok(covered.has('E807'));
|
|
65
|
+
assert.ok(CASES.some((c) => c.name.startsWith('R57') && c.codes.length === 0), '缺 R57 非冲突夹具');
|
|
66
|
+
});
|
|
67
|
+
it('夹具中的 E050–E069 解析诊断都带命名参数、不再带 legacyCode', () => {
|
|
68
|
+
for (const c of CASES.filter((x) => x.only !== 'core' && x.codes.some(([code]) => /^E0[56]\d$/.test(code)))) {
|
|
69
|
+
const lexicon = LEXICONS[c.lexicon ?? 'en-US'];
|
|
70
|
+
let diag;
|
|
71
|
+
try {
|
|
72
|
+
diag = parseWithLexicon(lex(canonicalize(c.source, lexicon), lexicon), lexicon).diagnostics[0];
|
|
73
|
+
}
|
|
74
|
+
catch (e) {
|
|
75
|
+
diag = e.diagnostic;
|
|
76
|
+
}
|
|
77
|
+
assert.ok(diag, c.name);
|
|
78
|
+
assert.equal('legacyCode' in diag, false, `${c.name}: legacyCode`);
|
|
79
|
+
assert.ok(diag.params !== undefined, `${c.name}: params`);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
it('守卫:解析器报错点不再接受裸字符串(必须给出码与参数,见 parse-issue.ts)', () => {
|
|
83
|
+
const dir = resolve(REPO_ROOT, 'src', 'parser');
|
|
84
|
+
const offenders = [];
|
|
85
|
+
for (const file of readdirSync(dir).filter((f) => f.endsWith('.ts'))) {
|
|
86
|
+
readFileSync(resolve(dir, file), 'utf8').split('\n').forEach((line, i) => {
|
|
87
|
+
if (/\b(?:error|tools\.error|expectKeyword\(ctx, error, [\w.]+,)\(?\s*['"`]/.test(line))
|
|
88
|
+
offenders.push(`${file}:${i + 1}`);
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
assert.deepEqual(offenders, []);
|
|
92
|
+
});
|
|
93
|
+
it('ts 夹具与 aster-lang-core 副本 byte-identical(跨仓同源)', () => {
|
|
94
|
+
// 与 error-codes-parity 同口径:CI 中兄弟仓必须存在(fail-closed),本地未并列 checkout 时跳过。
|
|
95
|
+
const RELATIVE = 'src/test/resources/diagnostics/parse_diagnostics_parity.json';
|
|
96
|
+
const candidates = [
|
|
97
|
+
resolve(REPO_ROOT, '..', 'aster-lang-core', RELATIVE),
|
|
98
|
+
resolve(REPO_ROOT, 'aster-lang-core', RELATIVE),
|
|
99
|
+
];
|
|
100
|
+
const inCi = process.env.CI === 'true' ||
|
|
101
|
+
process.env.GITHUB_ACTIONS === 'true' ||
|
|
102
|
+
process.env.ASTER_ERROR_CODES_PARITY_REQUIRED === 'true';
|
|
103
|
+
let javaBytes;
|
|
104
|
+
for (const candidate of candidates) {
|
|
105
|
+
try {
|
|
106
|
+
javaBytes = readFileSync(candidate);
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
// 试下一个候选路径
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (!javaBytes) {
|
|
114
|
+
if (inCi)
|
|
115
|
+
assert.fail(`CI 中必须 checkout aster-lang-core 才能校验 parity 夹具同源:\n${candidates.join('\n')}`);
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
assert.ok(readFileSync(FIXTURE).equals(javaBytes), 'parse_diagnostics_parity.json 与 aster-lang-core 副本必须 byte-identical');
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
//# sourceMappingURL=parse-diagnostics-parity.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-diagnostics-parity.test.js","sourceRoot":"","sources":["../../../../test/unit/diagnostics/parse-diagnostics-parity.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-issue-codes.test.d.ts","sourceRoot":"","sources":["../../../../test/unit/diagnostics/parse-issue-codes.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|