@tsonic/emitter 0.0.6 → 0.0.12
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/.tsbuildinfo +1 -1
- package/dist/array.test.js +6 -6
- package/dist/array.test.js.map +1 -1
- package/dist/core/imports.test.js +6 -3
- package/dist/core/imports.test.js.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/type-compatibility.d.ts +26 -0
- package/dist/core/type-compatibility.d.ts.map +1 -0
- package/dist/core/type-compatibility.js +109 -0
- package/dist/core/type-compatibility.js.map +1 -0
- package/dist/core/type-resolution.d.ts +81 -1
- package/dist/core/type-resolution.d.ts.map +1 -1
- package/dist/core/type-resolution.js +258 -0
- package/dist/core/type-resolution.js.map +1 -1
- package/dist/core/type-resolution.test.js +110 -1
- package/dist/core/type-resolution.test.js.map +1 -1
- package/dist/emitter-types/context.d.ts.map +1 -1
- package/dist/emitter-types/context.js +21 -1
- package/dist/emitter-types/context.js.map +1 -1
- package/dist/emitter-types/core.d.ts +26 -0
- package/dist/emitter-types/core.d.ts.map +1 -1
- package/dist/emitter-types/identifiers.d.ts.map +1 -1
- package/dist/emitter-types/identifiers.js +4 -43
- package/dist/emitter-types/identifiers.js.map +1 -1
- package/dist/emitter-types/index.d.ts +1 -1
- package/dist/emitter-types/index.d.ts.map +1 -1
- package/dist/emitter-types/index.js.map +1 -1
- package/dist/expression-emitter.d.ts.map +1 -1
- package/dist/expression-emitter.js +48 -0
- package/dist/expression-emitter.js.map +1 -1
- package/dist/expressions/access.d.ts.map +1 -1
- package/dist/expressions/access.js +97 -13
- package/dist/expressions/access.js.map +1 -1
- package/dist/expressions/calls.d.ts.map +1 -1
- package/dist/expressions/calls.js +5 -1
- package/dist/expressions/calls.js.map +1 -1
- package/dist/expressions/collections.d.ts +3 -2
- package/dist/expressions/collections.d.ts.map +1 -1
- package/dist/expressions/collections.js +214 -24
- package/dist/expressions/collections.js.map +1 -1
- package/dist/expressions/functions.d.ts +2 -2
- package/dist/expressions/functions.d.ts.map +1 -1
- package/dist/expressions/functions.js +81 -38
- package/dist/expressions/functions.js.map +1 -1
- package/dist/expressions/identifiers.d.ts.map +1 -1
- package/dist/expressions/identifiers.js +27 -7
- package/dist/expressions/identifiers.js.map +1 -1
- package/dist/expressions/index.test.js +189 -4
- package/dist/expressions/index.test.js.map +1 -1
- package/dist/expressions/literals.d.ts +4 -6
- package/dist/expressions/literals.d.ts.map +1 -1
- package/dist/expressions/literals.js +41 -17
- package/dist/expressions/literals.js.map +1 -1
- package/dist/expressions/literals.test.js +41 -0
- package/dist/expressions/literals.test.js.map +1 -1
- package/dist/expressions/operators.d.ts +4 -0
- package/dist/expressions/operators.d.ts.map +1 -1
- package/dist/expressions/operators.js +145 -12
- package/dist/expressions/operators.js.map +1 -1
- package/dist/expressions/other.d.ts.map +1 -1
- package/dist/expressions/other.js +9 -2
- package/dist/expressions/other.js.map +1 -1
- package/dist/generator-exchange.d.ts +1 -1
- package/dist/generator-exchange.d.ts.map +1 -1
- package/dist/generator-exchange.js +15 -4
- package/dist/generator-exchange.js.map +1 -1
- package/dist/generator-wrapper.d.ts +84 -0
- package/dist/generator-wrapper.d.ts.map +1 -0
- package/dist/generator-wrapper.js +312 -0
- package/dist/generator-wrapper.js.map +1 -0
- package/dist/generator-wrapper.test.d.ts +12 -0
- package/dist/generator-wrapper.test.d.ts.map +1 -0
- package/dist/generator-wrapper.test.js +179 -0
- package/dist/generator-wrapper.test.js.map +1 -0
- package/dist/generator.test.js +596 -6
- package/dist/generator.test.js.map +1 -1
- package/dist/golden-tests/config-parser.d.ts.map +1 -1
- package/dist/golden-tests/config-parser.js +81 -11
- package/dist/golden-tests/config-parser.js.map +1 -1
- package/dist/golden-tests/discovery.d.ts.map +1 -1
- package/dist/golden-tests/discovery.js +15 -5
- package/dist/golden-tests/discovery.js.map +1 -1
- package/dist/golden-tests/runner.d.ts.map +1 -1
- package/dist/golden-tests/runner.js +62 -7
- package/dist/golden-tests/runner.js.map +1 -1
- package/dist/golden-tests/types.d.ts +11 -1
- package/dist/golden-tests/types.d.ts.map +1 -1
- package/dist/hierarchical-bindings.test.js +2 -2
- package/dist/hierarchical-bindings.test.js.map +1 -1
- package/dist/integration.test.js +49 -2
- package/dist/integration.test.js.map +1 -1
- package/dist/invariants/emitter-globals-subset.test.d.ts +15 -0
- package/dist/invariants/emitter-globals-subset.test.d.ts.map +1 -0
- package/dist/invariants/emitter-globals-subset.test.js +137 -0
- package/dist/invariants/emitter-globals-subset.test.js.map +1 -0
- package/dist/invariants/numeric-proof-contract.test.d.ts +19 -0
- package/dist/invariants/numeric-proof-contract.test.d.ts.map +1 -0
- package/dist/invariants/numeric-proof-contract.test.js +560 -0
- package/dist/invariants/numeric-proof-contract.test.js.map +1 -0
- package/dist/specialization/generic-functions.test.js +10 -0
- package/dist/specialization/generic-functions.test.js.map +1 -1
- package/dist/specialization/substitution.d.ts.map +1 -1
- package/dist/specialization/substitution.js +7 -0
- package/dist/specialization/substitution.js.map +1 -1
- package/dist/statement-emitter.d.ts.map +1 -1
- package/dist/statement-emitter.js +5 -1
- package/dist/statement-emitter.js.map +1 -1
- package/dist/statements/blocks.d.ts +39 -1
- package/dist/statements/blocks.d.ts.map +1 -1
- package/dist/statements/blocks.js +129 -3
- package/dist/statements/blocks.js.map +1 -1
- package/dist/statements/classes/members/methods.d.ts.map +1 -1
- package/dist/statements/classes/members/methods.js +3 -1
- package/dist/statements/classes/members/methods.js.map +1 -1
- package/dist/statements/control/conditionals.d.ts.map +1 -1
- package/dist/statements/control/conditionals.js +215 -1
- package/dist/statements/control/conditionals.js.map +1 -1
- package/dist/statements/control/loops.d.ts +6 -0
- package/dist/statements/control/loops.d.ts.map +1 -1
- package/dist/statements/control/loops.js +9 -2
- package/dist/statements/control/loops.js.map +1 -1
- package/dist/statements/declarations/classes.d.ts.map +1 -1
- package/dist/statements/declarations/classes.js +13 -5
- package/dist/statements/declarations/classes.js.map +1 -1
- package/dist/statements/declarations/functions.d.ts.map +1 -1
- package/dist/statements/declarations/functions.js +91 -25
- package/dist/statements/declarations/functions.js.map +1 -1
- package/dist/statements/declarations/interfaces.d.ts.map +1 -1
- package/dist/statements/declarations/interfaces.js +11 -1
- package/dist/statements/declarations/interfaces.js.map +1 -1
- package/dist/statements/declarations/type-aliases.d.ts.map +1 -1
- package/dist/statements/declarations/type-aliases.js +11 -1
- package/dist/statements/declarations/type-aliases.js.map +1 -1
- package/dist/statements/index.test.js +165 -3
- package/dist/statements/index.test.js.map +1 -1
- package/dist/types/arrays.d.ts +10 -1
- package/dist/types/arrays.d.ts.map +1 -1
- package/dist/types/arrays.js +16 -1
- package/dist/types/arrays.js.map +1 -1
- package/dist/types/dictionaries.d.ts +3 -2
- package/dist/types/dictionaries.d.ts.map +1 -1
- package/dist/types/dictionaries.js +14 -8
- package/dist/types/dictionaries.js.map +1 -1
- package/dist/types/emitter.d.ts.map +1 -1
- package/dist/types/emitter.js +3 -0
- package/dist/types/emitter.js.map +1 -1
- package/dist/types/index.test.js +5 -2
- package/dist/types/index.test.js.map +1 -1
- package/dist/types/references.d.ts.map +1 -1
- package/dist/types/references.js +128 -29
- package/dist/types/references.js.map +1 -1
- package/dist/types/references.test.d.ts +11 -0
- package/dist/types/references.test.d.ts.map +1 -0
- package/dist/types/references.test.js +384 -0
- package/dist/types/references.test.js.map +1 -0
- package/dist/types/tuples.d.ts +23 -0
- package/dist/types/tuples.d.ts.map +1 -0
- package/dist/types/tuples.js +54 -0
- package/dist/types/tuples.js.map +1 -0
- package/dist/types/unions.test.js +62 -15
- package/dist/types/unions.test.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.test.js","sourceRoot":"","sources":["../src/generator.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generator.test.js","sourceRoot":"","sources":["../src/generator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-parser.d.ts","sourceRoot":"","sources":["../../src/golden-tests/config-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"config-parser.d.ts","sourceRoot":"","sources":["../../src/golden-tests/config-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAmB,SAAS,EAAE,MAAM,YAAY,CAAC;AAsExD;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,aAAa,MAAM,KAAG,SAAS,SAAS,EA2FvE,CAAC"}
|
|
@@ -2,6 +2,56 @@
|
|
|
2
2
|
* Config.yaml parser for golden tests
|
|
3
3
|
*/
|
|
4
4
|
import YAML from "yaml";
|
|
5
|
+
/**
|
|
6
|
+
* Normalize and deduplicate diagnostic codes.
|
|
7
|
+
* - Trims whitespace
|
|
8
|
+
* - Filters empty strings
|
|
9
|
+
* - Removes duplicates
|
|
10
|
+
* - Sorts for deterministic ordering
|
|
11
|
+
*/
|
|
12
|
+
const normalizeDiagnosticCodes = (codes) => {
|
|
13
|
+
const normalized = codes.map((c) => c.trim()).filter((c) => c.length > 0);
|
|
14
|
+
return [...new Set(normalized)].sort();
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Parse and validate expectDiagnostics field.
|
|
18
|
+
* - Must be an array of strings
|
|
19
|
+
* - Each code must match TSN#### format
|
|
20
|
+
* - Returns undefined if empty or not present
|
|
21
|
+
*/
|
|
22
|
+
const parseExpectDiagnostics = (value) => {
|
|
23
|
+
if (value === undefined || value === null) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
if (!Array.isArray(value)) {
|
|
27
|
+
throw new Error("expectDiagnostics must be an array of strings");
|
|
28
|
+
}
|
|
29
|
+
for (const v of value) {
|
|
30
|
+
if (typeof v !== "string") {
|
|
31
|
+
throw new Error(`expectDiagnostics must contain strings. Got: ${JSON.stringify(v)}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const codes = normalizeDiagnosticCodes(value);
|
|
35
|
+
// Enforce TSN#### format
|
|
36
|
+
for (const c of codes) {
|
|
37
|
+
if (!/^TSN\d{4}$/.test(c)) {
|
|
38
|
+
throw new Error(`Invalid diagnostic code "${c}". Expected format TSN####.`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return codes.length > 0 ? codes : undefined;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Validate and parse diagnostics mode.
|
|
45
|
+
*/
|
|
46
|
+
const parseDiagnosticsMode = (value) => {
|
|
47
|
+
if (value === undefined || value === null) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
if (value === "contains" || value === "exact") {
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
throw new Error(`Invalid expectDiagnosticsMode: "${value}". Must be "contains" or "exact".`);
|
|
54
|
+
};
|
|
5
55
|
/**
|
|
6
56
|
* Parse config.yaml and extract test entries
|
|
7
57
|
*/
|
|
@@ -24,14 +74,28 @@ export const parseConfigYaml = (yamlContent) => {
|
|
|
24
74
|
}
|
|
25
75
|
entries.push({ input, title });
|
|
26
76
|
}
|
|
27
|
-
else if (
|
|
28
|
-
// Explicit format: { input: "File.ts", title: "..." }
|
|
77
|
+
else if ("input" in item && "title" in item) {
|
|
78
|
+
// Explicit format: { input: "File.ts", title: "...", expectDiagnostics?: [...], expectDiagnosticsMode?: "..." }
|
|
29
79
|
const input = item.input;
|
|
30
80
|
const title = item.title;
|
|
31
81
|
if (typeof input !== "string" || typeof title !== "string") {
|
|
32
|
-
throw new Error("Each test entry must have 'input' and 'title'
|
|
82
|
+
throw new Error("Each test entry must have 'input' and 'title' as strings");
|
|
33
83
|
}
|
|
34
|
-
|
|
84
|
+
if (!input.endsWith(".ts")) {
|
|
85
|
+
throw new Error(`input must end with .ts: ${input}`);
|
|
86
|
+
}
|
|
87
|
+
const expectDiagnostics = parseExpectDiagnostics(item.expectDiagnostics);
|
|
88
|
+
const expectDiagnosticsMode = parseDiagnosticsMode(item.expectDiagnosticsMode);
|
|
89
|
+
// Validate that mode is only set when diagnostics are expected
|
|
90
|
+
if (expectDiagnosticsMode && !expectDiagnostics) {
|
|
91
|
+
throw new Error(`expectDiagnosticsMode is set for ${input} but expectDiagnostics is missing.`);
|
|
92
|
+
}
|
|
93
|
+
entries.push({
|
|
94
|
+
input,
|
|
95
|
+
title,
|
|
96
|
+
expectDiagnostics,
|
|
97
|
+
expectDiagnosticsMode,
|
|
98
|
+
});
|
|
35
99
|
}
|
|
36
100
|
else {
|
|
37
101
|
throw new Error(`Invalid test entry: ${JSON.stringify(item)}`);
|
|
@@ -39,14 +103,20 @@ export const parseConfigYaml = (yamlContent) => {
|
|
|
39
103
|
}
|
|
40
104
|
else if (typeof item === "string") {
|
|
41
105
|
// Quoted string format: "File.ts: title here"
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
106
|
+
// Split on first colon to allow paths with spaces
|
|
107
|
+
const colonIdx = item.indexOf(":");
|
|
108
|
+
if (colonIdx === -1) {
|
|
109
|
+
throw new Error(`Invalid test entry format: "${item}". Expected "File.ts: title".`);
|
|
110
|
+
}
|
|
111
|
+
const input = item.slice(0, colonIdx).trim();
|
|
112
|
+
const title = item.slice(colonIdx + 1).trim();
|
|
113
|
+
if (!input.endsWith(".ts")) {
|
|
114
|
+
throw new Error(`input must end with .ts: ${input}`);
|
|
115
|
+
}
|
|
116
|
+
if (title.length === 0) {
|
|
117
|
+
throw new Error(`Title cannot be empty for ${input}`);
|
|
45
118
|
}
|
|
46
|
-
entries.push({
|
|
47
|
-
input: match[1],
|
|
48
|
-
title: match[2].trim(),
|
|
49
|
-
});
|
|
119
|
+
entries.push({ input, title });
|
|
50
120
|
}
|
|
51
121
|
else {
|
|
52
122
|
throw new Error(`Invalid test entry: ${JSON.stringify(item)}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-parser.js","sourceRoot":"","sources":["../../src/golden-tests/config-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAwB,EAAE;IAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAEvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,OAAO,GAAgB,EAAE,CAAC;IAEhC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,+DAA+D;YAC/D,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,iCAAiC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAE1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,EAAE,CAAC,CAAC;gBACzD,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"config-parser.js","sourceRoot":"","sources":["../../src/golden-tests/config-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/golden-tests/discovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,KAAG,SAAS,QAAQ,
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../src/golden-tests/discovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,KAAG,SAAS,QAAQ,EAkEpE,CAAC"}
|
|
@@ -20,21 +20,31 @@ export const discoverScenarios = (baseDir) => {
|
|
|
20
20
|
const testEntries = parseConfigYaml(configContent);
|
|
21
21
|
// Create scenarios for each test entry
|
|
22
22
|
for (const entry of testEntries) {
|
|
23
|
+
// Defensive check: parser should enforce this, but double-check
|
|
24
|
+
if (!entry.input.endsWith(".ts")) {
|
|
25
|
+
throw new Error(`Invalid input (must end with .ts): ${entry.input} (config: ${configPath})`);
|
|
26
|
+
}
|
|
23
27
|
const inputPath = path.join(dir, entry.input);
|
|
24
28
|
const baseName = path.basename(entry.input, ".ts");
|
|
25
29
|
const expectedPath = path.join(dir, `${baseName}.cs`);
|
|
26
|
-
// Verify
|
|
30
|
+
// Verify input file exists
|
|
27
31
|
if (!fs.existsSync(inputPath)) {
|
|
28
|
-
throw new Error(`Input file not found: ${inputPath}`);
|
|
32
|
+
throw new Error(`Input file not found: ${inputPath} (title: "${entry.title}", config: ${configPath})`);
|
|
29
33
|
}
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
// Only require .cs file if not expecting diagnostics
|
|
35
|
+
const expectDiagnostics = entry.expectDiagnostics;
|
|
36
|
+
if (!expectDiagnostics?.length) {
|
|
37
|
+
if (!fs.existsSync(expectedPath)) {
|
|
38
|
+
throw new Error(`Expected file not found: ${expectedPath} (title: "${entry.title}", config: ${configPath})`);
|
|
39
|
+
}
|
|
32
40
|
}
|
|
33
41
|
scenarios.push({
|
|
34
42
|
pathParts,
|
|
35
43
|
title: entry.title,
|
|
36
44
|
inputPath,
|
|
37
|
-
expectedPath,
|
|
45
|
+
expectedPath: expectDiagnostics?.length ? undefined : expectedPath,
|
|
46
|
+
expectDiagnostics,
|
|
47
|
+
expectDiagnosticsMode: entry.expectDiagnosticsMode,
|
|
38
48
|
});
|
|
39
49
|
}
|
|
40
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/golden-tests/discovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAuB,EAAE;IACxE,MAAM,SAAS,GAAe,EAAE,CAAC;IAEjC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,SAAmB,EAAQ,EAAE;QACtD,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7D,+CAA+C;QAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAEhE,IAAI,SAAS,EAAE,CAAC;YACd,yCAAyC;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YACjD,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;YAEnD,uCAAuC;YACvC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACnD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;gBAEtD,
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../src/golden-tests/discovery.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAuB,EAAE;IACxE,MAAM,SAAS,GAAe,EAAE,CAAC;IAEjC,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,SAAmB,EAAQ,EAAE;QACtD,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7D,+CAA+C;QAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC;QAEhE,IAAI,SAAS,EAAE,CAAC;YACd,yCAAyC;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;YACjD,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,eAAe,CAAC,aAAa,CAAC,CAAC;YAEnD,uCAAuC;YACvC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBAChC,gEAAgE;gBAChE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,MAAM,IAAI,KAAK,CACb,sCAAsC,KAAK,CAAC,KAAK,aAAa,UAAU,GAAG,CAC5E,CAAC;gBACJ,CAAC;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACnD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,KAAK,CAAC,CAAC;gBAEtD,2BAA2B;gBAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CACb,yBAAyB,SAAS,aAAa,KAAK,CAAC,KAAK,cAAc,UAAU,GAAG,CACtF,CAAC;gBACJ,CAAC;gBAED,qDAAqD;gBACrD,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;gBAClD,IAAI,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;oBAC/B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CACb,4BAA4B,YAAY,aAAa,KAAK,CAAC,KAAK,cAAc,UAAU,GAAG,CAC5F,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,SAAS,CAAC,IAAI,CAAC;oBACb,SAAS;oBACT,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,SAAS;oBACT,YAAY,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;oBAClE,iBAAiB;oBACjB,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;iBACnD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAClB,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/golden-tests/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/golden-tests/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,EAAmB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAWvD;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,KAAG,MAa1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAU,UAAU,QAAQ,KAAG,OAAO,CAAC,IAAI,CAqKlE,CAAC"}
|
|
@@ -4,9 +4,15 @@
|
|
|
4
4
|
import { expect } from "chai";
|
|
5
5
|
import * as fs from "fs";
|
|
6
6
|
import * as path from "path";
|
|
7
|
-
import {
|
|
7
|
+
import { fileURLToPath } from "url";
|
|
8
|
+
import { compile, buildIr, runNumericProofPass } from "@tsonic/frontend";
|
|
8
9
|
import { emitCSharpFiles } from "../emitter.js";
|
|
9
10
|
import { generateFileHeader } from "../constants.js";
|
|
11
|
+
// Resolve paths to js-globals and types packages for golden tests
|
|
12
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
13
|
+
const monorepoRoot = path.resolve(__dirname, "../../../..");
|
|
14
|
+
const jsGlobalsPath = path.join(monorepoRoot, "node_modules/@tsonic/js-globals");
|
|
15
|
+
const typesPath = path.join(monorepoRoot, "node_modules/@tsonic/types");
|
|
10
16
|
/**
|
|
11
17
|
* Normalize C# output for comparison
|
|
12
18
|
*/
|
|
@@ -26,8 +32,6 @@ export const normalizeCs = (code) => {
|
|
|
26
32
|
* Run a single test scenario
|
|
27
33
|
*/
|
|
28
34
|
export const runScenario = async (scenario) => {
|
|
29
|
-
// Read expected output (without header)
|
|
30
|
-
const expectedCsBody = fs.readFileSync(scenario.expectedPath, "utf-8");
|
|
31
35
|
// Determine source root (parent of input file)
|
|
32
36
|
const sourceRoot = path.dirname(scenario.inputPath);
|
|
33
37
|
// Build namespace from path parts (case-preserved, hyphens stripped per spec)
|
|
@@ -36,13 +40,50 @@ export const runScenario = async (scenario) => {
|
|
|
36
40
|
const namespaceParts = scenario.pathParts.map((part) => part.replace(/-/g, "")); // Strip hyphens
|
|
37
41
|
const rootNamespace = ["TestCases", ...namespaceParts].join(".");
|
|
38
42
|
// Step 1: Compile TypeScript → Program
|
|
39
|
-
// Use
|
|
43
|
+
// Use js-globals for golden tests (JS mode types with int type alias for index-space values)
|
|
40
44
|
const compileResult = compile([scenario.inputPath], {
|
|
41
|
-
projectRoot:
|
|
45
|
+
projectRoot: monorepoRoot, // Use monorepo root for node_modules resolution
|
|
42
46
|
sourceRoot,
|
|
43
47
|
rootNamespace,
|
|
44
|
-
|
|
48
|
+
typeRoots: [jsGlobalsPath, typesPath],
|
|
45
49
|
});
|
|
50
|
+
// Handle expected diagnostics tests
|
|
51
|
+
if (scenario.expectDiagnostics?.length) {
|
|
52
|
+
if (compileResult.ok) {
|
|
53
|
+
throw new Error(`Expected diagnostics ${scenario.expectDiagnostics.join(", ")} but compilation succeeded for ${scenario.inputPath}`);
|
|
54
|
+
}
|
|
55
|
+
const actualDiagnostics = compileResult.error.diagnostics;
|
|
56
|
+
const actualCodes = new Set(actualDiagnostics.map((d) => d.code));
|
|
57
|
+
const expected = scenario.expectDiagnostics; // readonly string[], already validated as TSN####
|
|
58
|
+
const expectedSet = new Set(expected);
|
|
59
|
+
const mode = scenario.expectDiagnosticsMode ?? "contains";
|
|
60
|
+
// Check for missing expected diagnostics (both modes)
|
|
61
|
+
const missing = expected.filter((c) => !actualCodes.has(c));
|
|
62
|
+
if (missing.length) {
|
|
63
|
+
// Show full diagnostic details for debugging
|
|
64
|
+
const actualDetails = actualDiagnostics
|
|
65
|
+
.map((d) => ` ${d.code}: ${d.message}`)
|
|
66
|
+
.join("\n");
|
|
67
|
+
throw new Error(`Missing expected diagnostics (${mode}): ${missing.join(", ")}\n` +
|
|
68
|
+
`Expected: ${expected.join(", ")}\n` +
|
|
69
|
+
`Actual diagnostics:\n${actualDetails}`);
|
|
70
|
+
}
|
|
71
|
+
// In "exact" mode, also check for unexpected diagnostics
|
|
72
|
+
if (mode === "exact") {
|
|
73
|
+
const unexpected = Array.from(actualCodes).filter((c) => !expectedSet.has(c));
|
|
74
|
+
if (unexpected.length) {
|
|
75
|
+
const unexpectedDetails = actualDiagnostics
|
|
76
|
+
.filter((d) => !expectedSet.has(d.code))
|
|
77
|
+
.map((d) => ` ${d.code}: ${d.message}`)
|
|
78
|
+
.join("\n");
|
|
79
|
+
throw new Error(`Unexpected diagnostics in exact mode: ${unexpected.join(", ")}\n` +
|
|
80
|
+
`Expected exactly: ${scenario.expectDiagnostics.join(", ")}\n` +
|
|
81
|
+
`Unexpected diagnostics:\n${unexpectedDetails}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
// PASS: expected diagnostics were found (and no extras in exact mode)
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
46
87
|
if (!compileResult.ok) {
|
|
47
88
|
// Show diagnostics if compilation failed
|
|
48
89
|
const errors = compileResult.error.diagnostics
|
|
@@ -61,9 +102,18 @@ export const runScenario = async (scenario) => {
|
|
|
61
102
|
.join("\n");
|
|
62
103
|
throw new Error(`IR build failed:\n${errors}`);
|
|
63
104
|
}
|
|
105
|
+
// Step 2.5: Run numeric proof pass (validates and annotates numeric types)
|
|
106
|
+
const proofResult = runNumericProofPass(irResult.value);
|
|
107
|
+
if (!proofResult.ok) {
|
|
108
|
+
const errors = proofResult.diagnostics
|
|
109
|
+
.map((d) => `${d.code}: ${d.message}`)
|
|
110
|
+
.join("\n");
|
|
111
|
+
throw new Error(`Numeric proof validation failed:\n${errors}`);
|
|
112
|
+
}
|
|
64
113
|
// Step 3: Emit IR → C#
|
|
65
114
|
// Note: Don't set entryPointPath - golden tests are NOT entry points
|
|
66
|
-
|
|
115
|
+
// Use the proof-annotated modules from the proof pass
|
|
116
|
+
const emitResult = emitCSharpFiles(proofResult.modules, {
|
|
67
117
|
rootNamespace,
|
|
68
118
|
});
|
|
69
119
|
if (!emitResult.ok) {
|
|
@@ -84,6 +134,11 @@ export const runScenario = async (scenario) => {
|
|
|
84
134
|
if (!actualCs) {
|
|
85
135
|
throw new Error(`Generated file key exists but content is missing: ${generatedKey}`);
|
|
86
136
|
}
|
|
137
|
+
// Read expected output (without header) - only needed for non-diagnostic tests
|
|
138
|
+
if (!scenario.expectedPath) {
|
|
139
|
+
throw new Error(`Expected path missing for successful test: ${scenario.inputPath}`);
|
|
140
|
+
}
|
|
141
|
+
const expectedCsBody = fs.readFileSync(scenario.expectedPath, "utf-8");
|
|
87
142
|
// Generate expected header using shared constant (with TIMESTAMP placeholder)
|
|
88
143
|
// Use just the filename for comparison (actual files may have full paths)
|
|
89
144
|
const fileName = path.basename(scenario.inputPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/golden-tests/runner.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/golden-tests/runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Golden test types
|
|
3
3
|
*/
|
|
4
|
+
/**
|
|
5
|
+
* Diagnostics matching mode:
|
|
6
|
+
* - "contains": expected codes must be present, extra codes allowed (default)
|
|
7
|
+
* - "exact": actual codes must exactly match expected codes
|
|
8
|
+
*/
|
|
9
|
+
export type DiagnosticsMode = "contains" | "exact";
|
|
4
10
|
export type TestEntry = {
|
|
5
11
|
readonly input: string;
|
|
6
12
|
readonly title: string;
|
|
13
|
+
readonly expectDiagnostics?: readonly string[];
|
|
14
|
+
readonly expectDiagnosticsMode?: DiagnosticsMode;
|
|
7
15
|
};
|
|
8
16
|
export type Scenario = {
|
|
9
17
|
readonly pathParts: readonly string[];
|
|
10
18
|
readonly title: string;
|
|
11
19
|
readonly inputPath: string;
|
|
12
|
-
readonly expectedPath
|
|
20
|
+
readonly expectedPath?: string;
|
|
21
|
+
readonly expectDiagnostics?: readonly string[];
|
|
22
|
+
readonly expectDiagnosticsMode?: DiagnosticsMode;
|
|
13
23
|
};
|
|
14
24
|
export type DescribeNode = {
|
|
15
25
|
readonly name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/golden-tests/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/golden-tests/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,OAAO,CAAC;AAEnD,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,eAAe,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,eAAe,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC7C,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,CAAC"}
|
|
@@ -91,8 +91,8 @@ describe("Hierarchical Bindings - Full Pipeline", () => {
|
|
|
91
91
|
const csharpCode = emitModule(irModule);
|
|
92
92
|
// Verify correct CLR member call
|
|
93
93
|
expect(csharpCode).to.include("System.Linq.Enumerable.SelectMany", "C# should use full CLR type.member from binding");
|
|
94
|
-
// Verify using
|
|
95
|
-
expect(csharpCode).to.include("using System.Linq", "C# should include using
|
|
94
|
+
// Verify NO using statements - all types use global:: FQN
|
|
95
|
+
expect(csharpCode).to.not.include("using System.Linq", "C# should NOT include using directives - uses global:: FQN");
|
|
96
96
|
// Verify intermediate TypeScript names are NOT in output
|
|
97
97
|
expect(csharpCode).to.not.include("systemLinq", "C# should not contain TS namespace identifier");
|
|
98
98
|
expect(csharpCode).to.not.include("enumerable", "C# should not contain TS type identifier");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hierarchical-bindings.test.js","sourceRoot":"","sources":["../src/hierarchical-bindings.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hierarchical-bindings.test.js","sourceRoot":"","sources":["../src/hierarchical-bindings.test.ts"],"names":[],"mappings":"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"}
|
package/dist/integration.test.js
CHANGED
|
@@ -184,6 +184,53 @@ describe("End-to-End Integration", () => {
|
|
|
184
184
|
expect(csharp).to.match(/double\s+id\s*\{\s*get;\s*\}/);
|
|
185
185
|
});
|
|
186
186
|
});
|
|
187
|
+
describe("Lambda Parameter Type Inference", () => {
|
|
188
|
+
it("should infer types for Promise executor callback parameters", () => {
|
|
189
|
+
const source = `
|
|
190
|
+
export function delay(ms: number): Promise<void> {
|
|
191
|
+
return new Promise((resolve) => {
|
|
192
|
+
setTimeout(resolve, ms);
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
`;
|
|
196
|
+
const csharp = compileToCSharp(source);
|
|
197
|
+
// Should emit lambda with typed resolve parameter (function type becomes Action)
|
|
198
|
+
// The key is that resolve has a type annotation, not just the bare identifier
|
|
199
|
+
expect(csharp).to.match(/\(global::System\.Action.*\s+resolve\)\s*=>/);
|
|
200
|
+
});
|
|
201
|
+
it("should infer types for array method callbacks", () => {
|
|
202
|
+
const source = `
|
|
203
|
+
export function doubleAll(nums: number[]): number[] {
|
|
204
|
+
return nums.map((n) => n * 2);
|
|
205
|
+
}
|
|
206
|
+
`;
|
|
207
|
+
const csharp = compileToCSharp(source);
|
|
208
|
+
// Should emit lambda with typed parameter
|
|
209
|
+
// n should be inferred as number (double in C#)
|
|
210
|
+
expect(csharp).to.include("(double n) => n * 2");
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
describe("Type Predicate Functions", () => {
|
|
214
|
+
it("should emit type predicate return type as bool", () => {
|
|
215
|
+
const source = `
|
|
216
|
+
export interface Dog {
|
|
217
|
+
type: "dog";
|
|
218
|
+
bark(): void;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
export type Animal = Dog;
|
|
222
|
+
|
|
223
|
+
export function isDog(animal: Animal): animal is Dog {
|
|
224
|
+
return animal.type === "dog";
|
|
225
|
+
}
|
|
226
|
+
`;
|
|
227
|
+
const csharp = compileToCSharp(source);
|
|
228
|
+
// Type predicate (animal is Dog) should emit as bool return type
|
|
229
|
+
expect(csharp).to.match(/public\s+static\s+bool\s+isDog\s*\(\s*Animal\s+animal\s*\)/);
|
|
230
|
+
// Should not emit 'dynamic' (old broken behavior)
|
|
231
|
+
expect(csharp).not.to.include("dynamic isDog");
|
|
232
|
+
});
|
|
233
|
+
});
|
|
187
234
|
describe("Full Module Compilation", () => {
|
|
188
235
|
it("should compile a complete module with all features", () => {
|
|
189
236
|
const source = `
|
|
@@ -224,8 +271,8 @@ describe("End-to-End Integration", () => {
|
|
|
224
271
|
expect(csharp).to.include("// type UserId = double"); // number → double in C#
|
|
225
272
|
// Should have the repository class
|
|
226
273
|
expect(csharp).to.include("class UserRepository");
|
|
227
|
-
// Should have the generic function
|
|
228
|
-
expect(csharp).to.match(/public\s+static\s+List<U>\s+map\s*<T,\s*U>/);
|
|
274
|
+
// Should have the generic function with global:: FQN
|
|
275
|
+
expect(csharp).to.match(/public\s+static\s+global::System\.Collections\.Generic\.List<U>\s+map\s*<T,\s*U>/);
|
|
229
276
|
// Should have proper namespace structure
|
|
230
277
|
expect(csharp).to.include("namespace Test");
|
|
231
278
|
expect(csharp).to.include("public static class test");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../src/integration.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../src/integration.test.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C;;GAEG;AACH,MAAM,eAAe,GAAG,CACtB,MAAc,EACd,QAAQ,GAAG,eAAe,EAClB,EAAE;IACV,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CACpC,QAAQ,EACR,MAAM,EACN,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,EACJ,EAAE,CAAC,UAAU,CAAC,EAAE,CACjB,CAAC;IAEF,MAAM,eAAe,GAAuB;QAC1C,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM;QAC9B,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ;QAC9B,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;KACb,CAAC;IAEF,MAAM,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC;IACjD,IAAI,CAAC,aAAa,GAAG,CACnB,IAAY,EACZ,wBAAsE,EACtE,OAAmC,EACnC,yBAAmC,EACnC,EAAE;QACF,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,OAAO,qBAAqB,CAAC,IAAI,CAC/B,IAAI,EACJ,IAAI,EACJ,wBAAwB,EACxB,OAAO,EACP,yBAAyB,CAC1B,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IAEtE,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,SAAS,CAAC,cAAc,EAAE;QACnC,OAAO,EAAE;YACP,WAAW,EAAE,OAAO;YACpB,UAAU,EAAE,OAAO;YACnB,aAAa,EAAE,MAAM;SACtB;QACD,WAAW,EAAE,CAAC,UAAU,CAAC;QACzB,QAAQ,EAAE,IAAI,sBAAsB,EAAE;QACtC,QAAQ,EAAE,IAAI,eAAe,EAAE;QAC/B,WAAW,EAAE,yBAAyB,CAAC,OAAO,CAAC;KAChD,CAAC;IAEF,WAAW;IACX,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE;QACxD,UAAU,EAAE,OAAO;QACnB,aAAa,EAAE,MAAM;KACtB,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,UAAU;IACV,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,MAAM,GAAG;;;;OAId,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,yCAAyC;YACzC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAChE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,MAAM,GAAG;;;;;;OAMd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,kCAAkC;YAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAE1D,sCAAsC;YACtC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAE7C,uBAAuB;YACvB,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;QAC3C,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,MAAM,GAAG;;;;;;OAMd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,uCAAuC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAEhD,8BAA8B;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAErE,uCAAuC;YACvC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,MAAM,GAAG;;;;;OAKd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,+CAA+C;YAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,MAAM,GAAG;;;;;OAKd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,4BAA4B;YAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,MAAM,GAAG;;;;;;;;;;;;OAYd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,4BAA4B;YAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAE5D,8BAA8B;YAC9B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;YAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,mDAAmD,CACpD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;OAkBd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,sEAAsE;YACtE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAE7D,kEAAkE;YAClE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;YAEtD,qCAAqC;YACrC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAC/D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACrE,MAAM,MAAM,GAAG;;;;;;OAMd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,iFAAiF;YACjF,8EAA8E;YAC9E,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,MAAM,GAAG;;;;OAId,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,0CAA0C;YAC1C,gDAAgD;YAChD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,MAAM,GAAG;;;;;;;;;;;OAWd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,iEAAiE;YACjE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,4DAA4D,CAC7D,CAAC;YACF,kDAAkD;YAClD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+Bd,CAAC;YAEF,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAEvC,mCAAmC;YACnC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,wBAAwB;YAE9E,mCAAmC;YACnC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAElD,qDAAqD;YACrD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACrB,kFAAkF,CACnF,CAAC;YAEF,yCAAyC;YACzC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mechanical Invariant Test: Emitter Special-Cases ⊆ Globals
|
|
3
|
+
*
|
|
4
|
+
* This test verifies that every identifier the emitter "just knows" about
|
|
5
|
+
* via special-casing exists in at least one globals package.
|
|
6
|
+
*
|
|
7
|
+
* The principle: The emitter must not emit CLR mappings for types that
|
|
8
|
+
* aren't declared in the globals packages. If a type isn't in globals,
|
|
9
|
+
* TypeScript name resolution will fail first (which is correct behavior).
|
|
10
|
+
*
|
|
11
|
+
* Source of truth for special-cased identifiers:
|
|
12
|
+
* - packages/emitter/src/types/references.ts
|
|
13
|
+
*/
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=emitter-globals-subset.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emitter-globals-subset.test.d.ts","sourceRoot":"","sources":["../../src/invariants/emitter-globals-subset.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|