@tsonic/emitter 0.0.39 → 0.0.41
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/core/boolean-context.d.ts.map +1 -1
- package/dist/core/boolean-context.js +235 -25
- package/dist/core/boolean-context.js.map +1 -1
- package/dist/core/local-names.d.ts +26 -0
- package/dist/core/local-names.d.ts.map +1 -0
- package/dist/core/local-names.js +47 -0
- package/dist/core/local-names.js.map +1 -0
- package/dist/emitter-types/context.d.ts.map +1 -1
- package/dist/emitter-types/context.js +1 -0
- package/dist/emitter-types/context.js.map +1 -1
- package/dist/emitter-types/core.d.ts +14 -0
- package/dist/emitter-types/core.d.ts.map +1 -1
- package/dist/expressions/functions.d.ts.map +1 -1
- package/dist/expressions/functions.js +24 -6
- package/dist/expressions/functions.js.map +1 -1
- package/dist/expressions/operators.js +3 -3
- package/dist/expressions/operators.js.map +1 -1
- package/dist/golden-shard-0.test.d.ts +2 -0
- package/dist/golden-shard-0.test.d.ts.map +1 -0
- package/dist/golden-shard-0.test.js +3 -0
- package/dist/golden-shard-0.test.js.map +1 -0
- package/dist/golden-shard-1.test.d.ts +2 -0
- package/dist/golden-shard-1.test.d.ts.map +1 -0
- package/dist/golden-shard-1.test.js +3 -0
- package/dist/golden-shard-1.test.js.map +1 -0
- package/dist/golden-shard-2.test.d.ts +2 -0
- package/dist/golden-shard-2.test.d.ts.map +1 -0
- package/dist/golden-shard-2.test.js +3 -0
- package/dist/golden-shard-2.test.js.map +1 -0
- package/dist/golden-shard-3.test.d.ts +2 -0
- package/dist/golden-shard-3.test.d.ts.map +1 -0
- package/dist/golden-shard-3.test.js +3 -0
- package/dist/golden-shard-3.test.js.map +1 -0
- package/dist/golden-shard-4.test.d.ts +2 -0
- package/dist/golden-shard-4.test.d.ts.map +1 -0
- package/dist/golden-shard-4.test.js +3 -0
- package/dist/golden-shard-4.test.js.map +1 -0
- package/dist/golden-shard-5.test.d.ts +2 -0
- package/dist/golden-shard-5.test.d.ts.map +1 -0
- package/dist/golden-shard-5.test.js +3 -0
- package/dist/golden-shard-5.test.js.map +1 -0
- package/dist/golden-shard-6.test.d.ts +2 -0
- package/dist/golden-shard-6.test.d.ts.map +1 -0
- package/dist/golden-shard-6.test.js +3 -0
- package/dist/golden-shard-6.test.js.map +1 -0
- package/dist/golden-shard-7.test.d.ts +2 -0
- package/dist/golden-shard-7.test.d.ts.map +1 -0
- package/dist/golden-shard-7.test.js +3 -0
- package/dist/golden-shard-7.test.js.map +1 -0
- package/dist/golden-shards.d.ts +7 -0
- package/dist/golden-shards.d.ts.map +1 -0
- package/dist/golden-shards.js +35 -0
- package/dist/golden-shards.js.map +1 -0
- package/dist/patterns.d.ts.map +1 -1
- package/dist/patterns.js +33 -13
- package/dist/patterns.js.map +1 -1
- package/dist/statements/blocks.d.ts.map +1 -1
- package/dist/statements/blocks.js +21 -11
- package/dist/statements/blocks.js.map +1 -1
- package/dist/statements/classes/members/constructors.d.ts.map +1 -1
- package/dist/statements/classes/members/constructors.js +16 -6
- package/dist/statements/classes/members/constructors.js.map +1 -1
- package/dist/statements/classes/members/methods.d.ts.map +1 -1
- package/dist/statements/classes/members/methods.js +15 -7
- package/dist/statements/classes/members/methods.js.map +1 -1
- package/dist/statements/classes/members/properties.d.ts.map +1 -1
- package/dist/statements/classes/members/properties.js +30 -17
- package/dist/statements/classes/members/properties.js.map +1 -1
- package/dist/statements/control/conditionals.d.ts.map +1 -1
- package/dist/statements/control/conditionals.js +72 -35
- package/dist/statements/control/conditionals.js.map +1 -1
- package/dist/statements/control/exceptions.d.ts.map +1 -1
- package/dist/statements/control/exceptions.js +11 -4
- package/dist/statements/control/exceptions.js.map +1 -1
- package/dist/statements/control/loops.d.ts.map +1 -1
- package/dist/statements/control/loops.js +47 -16
- 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 +19 -6
- 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 +52 -17
- package/dist/statements/declarations/functions.js.map +1 -1
- package/dist/statements/declarations/variables.d.ts.map +1 -1
- package/dist/statements/declarations/variables.js +13 -24
- package/dist/statements/declarations/variables.js.map +1 -1
- package/package.json +3 -3
- package/dist/golden.test.d.ts +0 -11
- package/dist/golden.test.d.ts.map +0 -1
- package/dist/golden.test.js +0 -41
- package/dist/golden.test.js.map +0 -1
|
@@ -9,6 +9,7 @@ import { escapeCSharpIdentifier } from "../../emitter-types/index.js";
|
|
|
9
9
|
import { needsBidirectionalSupport, hasGeneratorReturnType, extractGeneratorTypeArgs, } from "../../generator-wrapper.js";
|
|
10
10
|
import { emitAttributes } from "../../core/attributes.js";
|
|
11
11
|
import { emitCSharpName, getCSharpName } from "../../naming-policy.js";
|
|
12
|
+
import { allocateLocalName } from "../../core/local-names.js";
|
|
12
13
|
const getAsyncBodyReturnType = (isAsync, returnType) => {
|
|
13
14
|
if (!isAsync || !returnType)
|
|
14
15
|
return returnType;
|
|
@@ -23,12 +24,15 @@ const getAsyncBodyReturnType = (isAsync, returnType) => {
|
|
|
23
24
|
};
|
|
24
25
|
const seedLocalNameMapFromParameters = (params, context) => {
|
|
25
26
|
const map = new Map(context.localNameMap ?? []);
|
|
27
|
+
const used = new Set();
|
|
26
28
|
for (const p of params) {
|
|
27
29
|
if (p.pattern.kind === "identifierPattern") {
|
|
28
|
-
|
|
30
|
+
const emitted = escapeCSharpIdentifier(p.pattern.name);
|
|
31
|
+
map.set(p.pattern.name, emitted);
|
|
32
|
+
used.add(emitted);
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
|
-
return { ...context, localNameMap: map };
|
|
35
|
+
return { ...context, localNameMap: map, usedLocalNames: used };
|
|
32
36
|
};
|
|
33
37
|
/**
|
|
34
38
|
* Emit a function declaration
|
|
@@ -40,6 +44,7 @@ export const emitFunctionDeclaration = (stmt, context) => {
|
|
|
40
44
|
typeParameterNameMap: context.typeParameterNameMap,
|
|
41
45
|
returnType: context.returnType,
|
|
42
46
|
localNameMap: context.localNameMap,
|
|
47
|
+
usedLocalNames: context.usedLocalNames,
|
|
43
48
|
};
|
|
44
49
|
const ind = getIndent(context);
|
|
45
50
|
const parts = [];
|
|
@@ -80,6 +85,7 @@ export const emitFunctionDeclaration = (stmt, context) => {
|
|
|
80
85
|
}
|
|
81
86
|
// Check if this is a bidirectional generator (has TNext type)
|
|
82
87
|
const isBidirectional = needsBidirectionalSupport(stmt);
|
|
88
|
+
const generatorHasReturnType = stmt.isGenerator && isBidirectional ? hasGeneratorReturnType(stmt) : false;
|
|
83
89
|
// Return type
|
|
84
90
|
if (stmt.isGenerator) {
|
|
85
91
|
if (isBidirectional) {
|
|
@@ -124,10 +130,42 @@ export const emitFunctionDeclaration = (stmt, context) => {
|
|
|
124
130
|
currentContext = paramsResult.context;
|
|
125
131
|
// Function body (not a static context - local variables)
|
|
126
132
|
// Use withScoped to set typeParameters and returnType for nested expressions
|
|
127
|
-
|
|
133
|
+
let baseBodyContext = seedLocalNameMapFromParameters(stmt.parameters, withAsync(withStatic(indent(currentContext), false), stmt.isAsync));
|
|
134
|
+
// Reserve generator-internal locals BEFORE emitting the body so user locals can safely
|
|
135
|
+
// use these names (and get deterministically renamed) without colliding in C#.
|
|
136
|
+
let generatorExchangeVar = "exchange";
|
|
137
|
+
let generatorIteratorFn = "__iterator";
|
|
138
|
+
let generatorReturnValueVar = "__returnValue";
|
|
139
|
+
if (stmt.isGenerator) {
|
|
140
|
+
const exchangeAlloc = allocateLocalName(generatorExchangeVar, baseBodyContext);
|
|
141
|
+
generatorExchangeVar = exchangeAlloc.emittedName;
|
|
142
|
+
baseBodyContext = {
|
|
143
|
+
...exchangeAlloc.context,
|
|
144
|
+
generatorExchangeVar,
|
|
145
|
+
};
|
|
146
|
+
if (isBidirectional) {
|
|
147
|
+
const iterAlloc = allocateLocalName(generatorIteratorFn, baseBodyContext);
|
|
148
|
+
generatorIteratorFn = iterAlloc.emittedName;
|
|
149
|
+
baseBodyContext = iterAlloc.context;
|
|
150
|
+
if (generatorHasReturnType) {
|
|
151
|
+
const retAlloc = allocateLocalName(generatorReturnValueVar, baseBodyContext);
|
|
152
|
+
generatorReturnValueVar = retAlloc.emittedName;
|
|
153
|
+
baseBodyContext = {
|
|
154
|
+
...retAlloc.context,
|
|
155
|
+
generatorReturnValueVar,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
// Generate parameter destructuring statements BEFORE emitting the body so
|
|
161
|
+
// any renamed locals are visible to the body emitter via localNameMap.
|
|
162
|
+
const bodyInd = getIndent(baseBodyContext);
|
|
163
|
+
const [parameterDestructuringStmts, destructuringContext] = paramsResult.destructuringParams.length > 0
|
|
164
|
+
? generateParameterDestructuring(paramsResult.destructuringParams, bodyInd, baseBodyContext)
|
|
165
|
+
: [[], baseBodyContext];
|
|
128
166
|
// Emit body with scoped typeParameters and returnType
|
|
129
167
|
// funcTypeParams was already built at the start of this function
|
|
130
|
-
const [bodyCode] = withScoped(
|
|
168
|
+
const [bodyCode] = withScoped(destructuringContext, {
|
|
131
169
|
typeParameters: funcTypeParams,
|
|
132
170
|
returnType: stmt.isAsync && !stmt.isGenerator
|
|
133
171
|
? getAsyncBodyReturnType(stmt.isAsync, stmt.returnType)
|
|
@@ -152,13 +190,10 @@ export const emitFunctionDeclaration = (stmt, context) => {
|
|
|
152
190
|
}
|
|
153
191
|
// Inject initialization code for generators, out parameters, and destructuring
|
|
154
192
|
let finalBodyCode = bodyCode;
|
|
155
|
-
const bodyInd = getIndent(baseBodyContext);
|
|
156
193
|
const injectLines = [];
|
|
157
194
|
// Generate parameter destructuring statements
|
|
158
|
-
if (
|
|
159
|
-
|
|
160
|
-
currentContext = newCtx;
|
|
161
|
-
injectLines.push(...destructuringStmts);
|
|
195
|
+
if (parameterDestructuringStmts.length > 0) {
|
|
196
|
+
injectLines.push(...parameterDestructuringStmts);
|
|
162
197
|
}
|
|
163
198
|
// Handle bidirectional generators specially
|
|
164
199
|
if (stmt.isGenerator && isBidirectional) {
|
|
@@ -168,8 +203,8 @@ export const emitFunctionDeclaration = (stmt, context) => {
|
|
|
168
203
|
? `global::System.Collections.Generic.IAsyncEnumerable<${exchangeName}>`
|
|
169
204
|
: `global::System.Collections.Generic.IEnumerable<${exchangeName}>`;
|
|
170
205
|
const asyncModifier = stmt.isAsync ? "async " : "";
|
|
171
|
-
//
|
|
172
|
-
const hasReturnType =
|
|
206
|
+
// generatorHasReturnType was computed earlier so we can reserve locals before body emission.
|
|
207
|
+
const hasReturnType = generatorHasReturnType;
|
|
173
208
|
// Extract return type for __returnValue variable
|
|
174
209
|
let returnTypeStr = "object";
|
|
175
210
|
if (hasReturnType) {
|
|
@@ -186,24 +221,24 @@ export const emitFunctionDeclaration = (stmt, context) => {
|
|
|
186
221
|
// Construct the bidirectional generator body
|
|
187
222
|
const bodyLines = [
|
|
188
223
|
`${ind}{`,
|
|
189
|
-
`${bodyInd}var
|
|
224
|
+
`${bodyInd}var ${generatorExchangeVar} = new ${exchangeName}();`,
|
|
190
225
|
];
|
|
191
226
|
// Add __returnValue capture if TReturn is not void
|
|
192
227
|
if (hasReturnType) {
|
|
193
|
-
bodyLines.push(`${bodyInd}${returnTypeStr}
|
|
228
|
+
bodyLines.push(`${bodyInd}${returnTypeStr} ${generatorReturnValueVar} = default!;`);
|
|
194
229
|
}
|
|
195
230
|
bodyLines.push(``);
|
|
196
|
-
bodyLines.push(`${bodyInd}${asyncModifier}${enumerableType}
|
|
231
|
+
bodyLines.push(`${bodyInd}${asyncModifier}${enumerableType} ${generatorIteratorFn}()`);
|
|
197
232
|
bodyLines.push(`${bodyInd}{`);
|
|
198
233
|
bodyLines.push(iteratorBody);
|
|
199
234
|
bodyLines.push(`${bodyInd}}`);
|
|
200
235
|
bodyLines.push(``);
|
|
201
236
|
// Wrapper constructor call - pass return value getter if needed
|
|
202
237
|
if (hasReturnType) {
|
|
203
|
-
bodyLines.push(`${bodyInd}return new ${wrapperName}(
|
|
238
|
+
bodyLines.push(`${bodyInd}return new ${wrapperName}(${generatorIteratorFn}(), ${generatorExchangeVar}, () => ${generatorReturnValueVar});`);
|
|
204
239
|
}
|
|
205
240
|
else {
|
|
206
|
-
bodyLines.push(`${bodyInd}return new ${wrapperName}(
|
|
241
|
+
bodyLines.push(`${bodyInd}return new ${wrapperName}(${generatorIteratorFn}(), ${generatorExchangeVar});`);
|
|
207
242
|
}
|
|
208
243
|
bodyLines.push(`${ind}}`);
|
|
209
244
|
finalBodyCode = bodyLines.join("\n");
|
|
@@ -212,7 +247,7 @@ export const emitFunctionDeclaration = (stmt, context) => {
|
|
|
212
247
|
// Add generator exchange initialization for unidirectional generators
|
|
213
248
|
if (stmt.isGenerator) {
|
|
214
249
|
const exchangeName = `${csharpBaseName}_exchange`;
|
|
215
|
-
injectLines.push(`${bodyInd}var
|
|
250
|
+
injectLines.push(`${bodyInd}var ${generatorExchangeVar} = new ${exchangeName}();`);
|
|
216
251
|
}
|
|
217
252
|
// Add out parameter initializations
|
|
218
253
|
if (outParams.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/statements/declarations/functions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAEL,SAAS,EACT,MAAM,EACN,SAAS,EACT,UAAU,EACV,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EACL,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"functions.js","sourceRoot":"","sources":["../../../src/statements/declarations/functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/variables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEL,WAAW,EAGZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAiC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["../../../src/statements/declarations/variables.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEL,WAAW,EAGZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAiC,MAAM,gBAAgB,CAAC;AAgK/E;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC,EAC3D,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAwiBzB,CAAC"}
|
|
@@ -8,25 +8,9 @@ import { emitStatement } from "../../statement-emitter.js";
|
|
|
8
8
|
import { emitType } from "../../type-emitter.js";
|
|
9
9
|
import { escapeCSharpIdentifier } from "../../emitter-types/index.js";
|
|
10
10
|
import { lowerPattern } from "../../patterns.js";
|
|
11
|
+
import { allocateLocalName, registerLocalName } from "../../core/local-names.js";
|
|
11
12
|
import { resolveTypeAlias, stripNullish } from "../../core/type-resolution.js";
|
|
12
13
|
import { emitCSharpName } from "../../naming-policy.js";
|
|
13
|
-
const computeLocalName = (originalName, context) => {
|
|
14
|
-
const alreadyDeclared = context.localNameMap?.has(originalName) ?? false;
|
|
15
|
-
if (!alreadyDeclared) {
|
|
16
|
-
return { emittedName: escapeCSharpIdentifier(originalName), updatedContext: context };
|
|
17
|
-
}
|
|
18
|
-
const nextId = (context.tempVarId ?? 0) + 1;
|
|
19
|
-
const renamed = `${originalName}__${nextId}`;
|
|
20
|
-
return {
|
|
21
|
-
emittedName: escapeCSharpIdentifier(renamed),
|
|
22
|
-
updatedContext: { ...context, tempVarId: nextId },
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
const registerLocalName = (originalName, emittedName, context) => {
|
|
26
|
-
const nextMap = new Map(context.localNameMap ?? []);
|
|
27
|
-
nextMap.set(originalName, emittedName);
|
|
28
|
-
return { ...context, localNameMap: nextMap };
|
|
29
|
-
};
|
|
30
14
|
const getAsyncBodyReturnType = (isAsync, returnType) => {
|
|
31
15
|
if (!isAsync || !returnType)
|
|
32
16
|
return returnType;
|
|
@@ -134,12 +118,15 @@ const resolveAsInterfaceTargetType = (type, context) => {
|
|
|
134
118
|
};
|
|
135
119
|
const seedLocalNameMapFromParameters = (params, context) => {
|
|
136
120
|
const map = new Map(context.localNameMap ?? []);
|
|
121
|
+
const used = new Set();
|
|
137
122
|
for (const p of params) {
|
|
138
123
|
if (p.pattern.kind === "identifierPattern") {
|
|
139
|
-
|
|
124
|
+
const emitted = escapeCSharpIdentifier(p.pattern.name);
|
|
125
|
+
map.set(p.pattern.name, emitted);
|
|
126
|
+
used.add(emitted);
|
|
140
127
|
}
|
|
141
128
|
}
|
|
142
|
-
return { ...context, localNameMap: map };
|
|
129
|
+
return { ...context, localNameMap: map, usedLocalNames: used };
|
|
143
130
|
};
|
|
144
131
|
/**
|
|
145
132
|
* Emit a variable declaration
|
|
@@ -506,11 +493,13 @@ export const emitVariableDeclaration = (stmt, context) => {
|
|
|
506
493
|
if (decl.name.kind === "identifierPattern") {
|
|
507
494
|
// Simple identifier pattern (escape C# keywords)
|
|
508
495
|
const originalName = decl.name.name;
|
|
509
|
-
const
|
|
510
|
-
?
|
|
511
|
-
:
|
|
512
|
-
|
|
513
|
-
|
|
496
|
+
const localName = context.isStatic
|
|
497
|
+
? emitCSharpName(originalName, "fields", context)
|
|
498
|
+
: (() => {
|
|
499
|
+
const alloc = allocateLocalName(originalName, currentContext);
|
|
500
|
+
currentContext = alloc.context;
|
|
501
|
+
return alloc.emittedName;
|
|
502
|
+
})();
|
|
514
503
|
varDecl += localName;
|
|
515
504
|
// Add initializer if present
|
|
516
505
|
if (decl.initializer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/statements/declarations/variables.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"variables.js","sourceRoot":"","sources":["../../../src/statements/declarations/variables.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsonic/emitter",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.41",
|
|
4
4
|
"description": "C# code generator for Tsonic compiler",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
"build": "tsc -b",
|
|
19
19
|
"clean": "rm -rf dist *.tsbuildinfo",
|
|
20
20
|
"pretest": "npm run clean && npm run build",
|
|
21
|
-
"test": "mocha --parallel --timeout 10000 'dist/**/*.test.js'",
|
|
21
|
+
"test": "mocha --parallel --jobs 4 --timeout 10000 'dist/**/*.test.js'",
|
|
22
22
|
"test:watch": "mocha 'dist/**/*.test.js' --watch",
|
|
23
23
|
"update-golden": "npx tsx scripts/update-golden-tests.ts",
|
|
24
24
|
"update-golden:dotnet": "npx tsx scripts/update-golden-tests.ts dotnet",
|
|
25
25
|
"update-golden:js": "npx tsx scripts/update-golden-tests.ts js"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@tsonic/frontend": "0.0.
|
|
28
|
+
"@tsonic/frontend": "0.0.41"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/chai": "5.2.2",
|
package/dist/golden.test.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Golden Test Harness for Tsonic Emitter
|
|
3
|
-
*
|
|
4
|
-
* Directory structure:
|
|
5
|
-
* testcases/
|
|
6
|
-
* └── common/ # All tests
|
|
7
|
-
* ├── <category>/<test>/ # .ts sources + config.yaml
|
|
8
|
-
* └── expected/<category>/<test>/ # Expected .cs output
|
|
9
|
-
*/
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=golden.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"golden.test.d.ts","sourceRoot":"","sources":["../src/golden.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
package/dist/golden.test.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Golden Test Harness for Tsonic Emitter
|
|
3
|
-
*
|
|
4
|
-
* Directory structure:
|
|
5
|
-
* testcases/
|
|
6
|
-
* └── common/ # All tests
|
|
7
|
-
* ├── <category>/<test>/ # .ts sources + config.yaml
|
|
8
|
-
* └── expected/<category>/<test>/ # Expected .cs output
|
|
9
|
-
*/
|
|
10
|
-
import { describe } from "mocha";
|
|
11
|
-
import * as path from "path";
|
|
12
|
-
import { fileURLToPath } from "url";
|
|
13
|
-
import { discoverScenarios, buildDescribeTree, registerNode, } from "./golden-tests/index.js";
|
|
14
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
15
|
-
const __dirname = path.dirname(__filename);
|
|
16
|
-
/**
|
|
17
|
-
* Main test suite setup (synchronous discovery for Mocha compatibility)
|
|
18
|
-
*/
|
|
19
|
-
describe("Golden Tests", function () {
|
|
20
|
-
// Golden tests run the full compiler+emitter pipeline per scenario and can
|
|
21
|
-
// exceed the default timeout on slower machines / CI.
|
|
22
|
-
this.timeout(30000);
|
|
23
|
-
const testcasesDir = path.join(__dirname, "../testcases");
|
|
24
|
-
try {
|
|
25
|
-
const scenarios = discoverScenarios(testcasesDir);
|
|
26
|
-
if (scenarios.length === 0) {
|
|
27
|
-
console.warn("⚠️ No golden test cases found");
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
const tree = buildDescribeTree(scenarios);
|
|
31
|
-
if (tree) {
|
|
32
|
-
registerNode(tree);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
catch (error) {
|
|
37
|
-
console.error("❌ Failed to setup golden tests:", error);
|
|
38
|
-
throw error;
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
//# sourceMappingURL=golden.test.js.map
|
package/dist/golden.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"golden.test.js","sourceRoot":"","sources":["../src/golden.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,GACb,MAAM,yBAAyB,CAAC;AAEjC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C;;GAEG;AACH,QAAQ,CAAC,cAAc,EAAE;IACvB,2EAA2E;IAC3E,sDAAsD;IACtD,IAAI,CAAC,OAAO,CAAC,KAAM,CAAC,CAAC;IACrB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAElD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,IAAI,EAAE,CAAC;gBACT,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC,CAAC"}
|