@tsonic/emitter 0.0.6 → 0.0.13
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 +5 -5
- package/dist/array.test.js.map +1 -1
- package/dist/core/attributes.d.ts +43 -0
- package/dist/core/attributes.d.ts.map +1 -0
- package/dist/core/attributes.js +128 -0
- package/dist/core/attributes.js.map +1 -0
- package/dist/core/attributes.test.d.ts +5 -0
- package/dist/core/attributes.test.d.ts.map +1 -0
- package/dist/core/attributes.test.js +296 -0
- package/dist/core/attributes.test.js.map +1 -0
- package/dist/core/imports.test.js +6 -3
- package/dist/core/imports.test.js.map +1 -1
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/module-emitter/static-container.d.ts.map +1 -1
- package/dist/core/module-emitter/static-container.js +50 -1
- package/dist/core/module-emitter/static-container.js.map +1 -1
- package/dist/core/module-emitter.test.js +2 -1
- package/dist/core/module-emitter.test.js.map +1 -1
- package/dist/core/module-map.d.ts.map +1 -1
- package/dist/core/module-map.js +5 -1
- package/dist/core/module-map.js.map +1 -1
- package/dist/core/module-map.test.d.ts +8 -0
- package/dist/core/module-map.test.d.ts.map +1 -0
- package/dist/core/module-map.test.js +94 -0
- package/dist/core/module-map.test.js.map +1 -0
- package/dist/core/type-compatibility.d.ts +31 -0
- package/dist/core/type-compatibility.d.ts.map +1 -0
- package/dist/core/type-compatibility.js +99 -0
- package/dist/core/type-compatibility.js.map +1 -0
- package/dist/core/type-resolution.d.ts +83 -3
- package/dist/core/type-resolution.d.ts.map +1 -1
- package/dist/core/type-resolution.js +262 -4
- 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/emitter.d.ts.map +1 -1
- package/dist/emitter.js +47 -1
- package/dist/emitter.js.map +1 -1
- package/dist/expression-emitter.d.ts.map +1 -1
- package/dist/expression-emitter.js +51 -3
- package/dist/expression-emitter.js.map +1 -1
- package/dist/expressions/access.d.ts.map +1 -1
- package/dist/expressions/access.js +138 -23
- package/dist/expressions/access.js.map +1 -1
- package/dist/expressions/calls.d.ts.map +1 -1
- package/dist/expressions/calls.js +90 -13
- 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 +251 -52
- 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 +28 -7
- package/dist/expressions/identifiers.js.map +1 -1
- package/dist/expressions/index.test.js +191 -4
- package/dist/expressions/index.test.js.map +1 -1
- package/dist/expressions/literals.d.ts +7 -17
- package/dist/expressions/literals.d.ts.map +1 -1
- package/dist/expressions/literals.js +27 -87
- package/dist/expressions/literals.js.map +1 -1
- package/dist/expressions/literals.test.js +52 -2
- package/dist/expressions/literals.test.js.map +1 -1
- package/dist/expressions/operators.d.ts +29 -11
- package/dist/expressions/operators.d.ts.map +1 -1
- package/dist/expressions/operators.js +244 -67
- package/dist/expressions/operators.js.map +1 -1
- package/dist/expressions/other.d.ts +3 -0
- package/dist/expressions/other.d.ts.map +1 -1
- package/dist/expressions/other.js +27 -3
- 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 +14 -3
- package/dist/golden-tests/discovery.d.ts.map +1 -1
- package/dist/golden-tests/discovery.js +105 -12
- package/dist/golden-tests/discovery.js.map +1 -1
- package/dist/golden-tests/index.d.ts +1 -1
- package/dist/golden-tests/index.d.ts.map +1 -1
- package/dist/golden-tests/index.js.map +1 -1
- package/dist/golden-tests/runner.d.ts +1 -0
- package/dist/golden-tests/runner.d.ts.map +1 -1
- package/dist/golden-tests/runner.js +83 -25
- package/dist/golden-tests/runner.js.map +1 -1
- package/dist/golden-tests/types.d.ts +18 -1
- package/dist/golden-tests/types.d.ts.map +1 -1
- package/dist/golden.test.d.ts +12 -5
- package/dist/golden.test.d.ts.map +1 -1
- package/dist/golden.test.js +40 -21
- package/dist/golden.test.js.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 +57 -10
- 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 +565 -0
- package/dist/invariants/numeric-proof-contract.test.js.map +1 -0
- package/dist/specialization/generic-functions.test.js +376 -0
- package/dist/specialization/generic-functions.test.js.map +1 -1
- package/dist/specialization/interfaces.test.js +6 -6
- package/dist/specialization/interfaces.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/specialization/type-aliases.test.js +88 -5
- package/dist/specialization/type-aliases.test.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 +16 -5
- 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 +10 -1
- package/dist/statements/classes/members/properties.js.map +1 -1
- package/dist/statements/classes/properties.d.ts.map +1 -1
- package/dist/statements/classes/properties.js +4 -0
- package/dist/statements/classes/properties.js.map +1 -1
- package/dist/statements/control/conditionals.d.ts.map +1 -1
- package/dist/statements/control/conditionals.js +352 -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 +20 -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 +98 -26
- 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/structs.test.js +7 -5
- package/dist/statements/declarations/structs.test.js.map +1 -1
- package/dist/statements/declarations/type-aliases.d.ts.map +1 -1
- package/dist/statements/declarations/type-aliases.js +18 -9
- package/dist/statements/declarations/type-aliases.js.map +1 -1
- package/dist/statements/declarations/variables.d.ts.map +1 -1
- package/dist/statements/declarations/variables.js +54 -2
- package/dist/statements/declarations/variables.js.map +1 -1
- package/dist/statements/index.test.js +164 -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/parameters.d.ts.map +1 -1
- package/dist/types/parameters.js +29 -0
- package/dist/types/parameters.js.map +1 -1
- package/dist/types/primitives.d.ts +12 -1
- package/dist/types/primitives.d.ts.map +1 -1
- package/dist/types/primitives.js +14 -1
- package/dist/types/primitives.js.map +1 -1
- package/dist/types/references.d.ts.map +1 -1
- package/dist/types/references.js +136 -30
- 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 +382 -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 +7 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-aliases.test.js","sourceRoot":"","sources":["../../src/specialization/type-aliases.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,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,uEAAuE,EAAE,GAAG,EAAE;QAC/E,MAAM,MAAM,GAAa;YACvB,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,eAAe;YACzB,SAAS,EAAE,OAAO;YAClB,SAAS,EAAE,OAAO;YAClB,iBAAiB,EAAE,IAAI;YACvB,OAAO,EAAE,EAAE;YACX,IAAI,EAAE;gBACJ;oBACE,IAAI,EAAE,sBAAsB;oBAC5B,IAAI,EAAE,OAAO;oBACb,cAAc,EAAE,SAAS;oBACzB,IAAI,EAAE;wBACJ,IAAI,EAAE,YAAY;wBAClB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,mBAAmB;gCACzB,IAAI,EAAE,GAAG;gCACT,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAC/C,UAAU,EAAE,KAAK;gCACjB,UAAU,EAAE,KAAK;6BAClB;4BACD;gCACE,IAAI,EAAE,mBAAmB;gCACzB,IAAI,EAAE,GAAG;gCACT,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;gCAC/C,UAAU,EAAE,KAAK;gCACjB,UAAU,EAAE,KAAK;6BAClB;yBACF;qBACF;oBACD,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,IAAI;iBACjB;aACF;YACD,OAAO,EAAE,EAAE;SACZ,CAAC;QAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAElC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"type-aliases.test.js","sourceRoot":"","sources":["../../src/specialization/type-aliases.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statement-emitter.d.ts","sourceRoot":"","sources":["../src/statement-emitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAa,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"statement-emitter.d.ts","sourceRoot":"","sources":["../src/statement-emitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAa,MAAM,YAAY,CAAC;AA8BvD;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,WAAW,EACjB,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CA8EzB,CAAC;AAGF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { getIndent } from "./types.js";
|
|
6
6
|
// Import statement emitters from specialized modules
|
|
7
7
|
import { emitVariableDeclaration, emitFunctionDeclaration, emitClassDeclaration, emitInterfaceDeclaration, emitEnumDeclaration, emitTypeAliasDeclaration, } from "./statements/declarations.js";
|
|
8
|
-
import { emitBlockStatement, emitReturnStatement, emitExpressionStatement, } from "./statements/blocks.js";
|
|
8
|
+
import { emitBlockStatement, emitReturnStatement, emitExpressionStatement, emitYieldStatement, emitGeneratorReturnStatement, } from "./statements/blocks.js";
|
|
9
9
|
import { emitIfStatement, emitWhileStatement, emitForStatement, emitForOfStatement, emitSwitchStatement, emitTryStatement, emitThrowStatement, } from "./statements/control.js";
|
|
10
10
|
/**
|
|
11
11
|
* Emit a C# statement from an IR statement
|
|
@@ -55,6 +55,10 @@ export const emitStatement = (stmt, context) => {
|
|
|
55
55
|
return [`${ind}continue;`, context];
|
|
56
56
|
case "expressionStatement":
|
|
57
57
|
return emitExpressionStatement(stmt, context);
|
|
58
|
+
case "yieldStatement":
|
|
59
|
+
return emitYieldStatement(stmt, context);
|
|
60
|
+
case "generatorReturnStatement":
|
|
61
|
+
return emitGeneratorReturnStatement(stmt, context);
|
|
58
62
|
case "emptyStatement":
|
|
59
63
|
return [`${ind};`, context];
|
|
60
64
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statement-emitter.js","sourceRoot":"","sources":["../src/statement-emitter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAkB,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvD,qDAAqD;AACrD,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"statement-emitter.js","sourceRoot":"","sources":["../src/statement-emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ export declare const emitReturnStatement: (stmt: Extract<IrStatement, {
|
|
|
18
18
|
}>, context: EmitterContext) => [string, EmitterContext];
|
|
19
19
|
/**
|
|
20
20
|
* Emit yield expression as C# yield return with exchange object pattern
|
|
21
|
+
* (Legacy handler for IrYieldExpression - used for unidirectional generators)
|
|
21
22
|
*
|
|
22
23
|
* TypeScript: yield value
|
|
23
24
|
* C#:
|
|
@@ -29,13 +30,50 @@ export declare const emitReturnStatement: (stmt: Extract<IrStatement, {
|
|
|
29
30
|
* foreach (var item in OtherGenerator())
|
|
30
31
|
* yield return item;
|
|
31
32
|
*/
|
|
32
|
-
export declare const
|
|
33
|
+
export declare const emitYieldExpression: (expr: Extract<IrExpression, {
|
|
33
34
|
kind: "yield";
|
|
34
35
|
}>, context: EmitterContext) => [string, EmitterContext];
|
|
36
|
+
/**
|
|
37
|
+
* Emit IrYieldStatement (lowered form from yield-lowering pass)
|
|
38
|
+
* Handles bidirectional communication: const x = yield value;
|
|
39
|
+
*
|
|
40
|
+
* TypeScript: const x = yield value;
|
|
41
|
+
* C#:
|
|
42
|
+
* exchange.Output = value;
|
|
43
|
+
* yield return exchange;
|
|
44
|
+
* var x = exchange.Input; // or pattern destructuring
|
|
45
|
+
*
|
|
46
|
+
* TypeScript: yield value; (no receiveTarget)
|
|
47
|
+
* C#:
|
|
48
|
+
* exchange.Output = value;
|
|
49
|
+
* yield return exchange;
|
|
50
|
+
*/
|
|
51
|
+
export declare const emitYieldStatement: (stmt: Extract<IrStatement, {
|
|
52
|
+
kind: "yieldStatement";
|
|
53
|
+
}>, context: EmitterContext) => [string, EmitterContext];
|
|
35
54
|
/**
|
|
36
55
|
* Emit an expression statement
|
|
37
56
|
*/
|
|
38
57
|
export declare const emitExpressionStatement: (stmt: Extract<IrStatement, {
|
|
39
58
|
kind: "expressionStatement";
|
|
40
59
|
}>, context: EmitterContext) => [string, EmitterContext];
|
|
60
|
+
/**
|
|
61
|
+
* Emit IrGeneratorReturnStatement (lowered form from yield-lowering pass)
|
|
62
|
+
* Handles return statements in generators with TReturn.
|
|
63
|
+
*
|
|
64
|
+
* TypeScript: return "done";
|
|
65
|
+
* C#:
|
|
66
|
+
* __returnValue = "done";
|
|
67
|
+
* yield break;
|
|
68
|
+
*
|
|
69
|
+
* TypeScript: return; (no expression)
|
|
70
|
+
* C#:
|
|
71
|
+
* yield break;
|
|
72
|
+
*
|
|
73
|
+
* The __returnValue variable is declared in the enclosing function emission.
|
|
74
|
+
* The wrapper's _getReturnValue closure captures this value when iteration completes.
|
|
75
|
+
*/
|
|
76
|
+
export declare const emitGeneratorReturnStatement: (stmt: Extract<IrStatement, {
|
|
77
|
+
kind: "generatorReturnStatement";
|
|
78
|
+
}>, context: EmitterContext) => [string, EmitterContext];
|
|
41
79
|
//# sourceMappingURL=blocks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/statements/blocks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAa,MAAM,aAAa,CAAC;AAIxD;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,EACtD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAazB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC,EACvD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAczB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/statements/blocks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAa,MAAM,aAAa,CAAC;AAIxD;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,EACtD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAazB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC,EACvD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAczB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,EAC9C,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAqCzB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,GAC7B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,EACtD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAwCzB,CAAC;AAyDF;;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,CAYzB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,4BAA4B,GACvC,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,0BAA0B,CAAA;CAAE,CAAC,EAChE,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAmBzB,CAAC"}
|
|
@@ -34,6 +34,7 @@ export const emitReturnStatement = (stmt, context) => {
|
|
|
34
34
|
};
|
|
35
35
|
/**
|
|
36
36
|
* Emit yield expression as C# yield return with exchange object pattern
|
|
37
|
+
* (Legacy handler for IrYieldExpression - used for unidirectional generators)
|
|
37
38
|
*
|
|
38
39
|
* TypeScript: yield value
|
|
39
40
|
* C#:
|
|
@@ -45,7 +46,7 @@ export const emitReturnStatement = (stmt, context) => {
|
|
|
45
46
|
* foreach (var item in OtherGenerator())
|
|
46
47
|
* yield return item;
|
|
47
48
|
*/
|
|
48
|
-
export const
|
|
49
|
+
export const emitYieldExpression = (expr, context) => {
|
|
49
50
|
const ind = getIndent(context);
|
|
50
51
|
let currentContext = context;
|
|
51
52
|
const parts = [];
|
|
@@ -54,7 +55,11 @@ export const emitYieldStatement = (expr, context) => {
|
|
|
54
55
|
if (expr.expression) {
|
|
55
56
|
const [delegateFrag, newContext] = emitExpression(expr.expression, currentContext);
|
|
56
57
|
currentContext = newContext;
|
|
57
|
-
|
|
58
|
+
// Use await foreach for async generators, foreach for sync
|
|
59
|
+
const foreachKeyword = currentContext.isAsync
|
|
60
|
+
? "await foreach"
|
|
61
|
+
: "foreach";
|
|
62
|
+
parts.push(`${ind}${foreachKeyword} (var item in ${delegateFrag.text})`);
|
|
58
63
|
parts.push(`${ind} yield return item;`);
|
|
59
64
|
}
|
|
60
65
|
}
|
|
@@ -73,16 +78,137 @@ export const emitYieldStatement = (expr, context) => {
|
|
|
73
78
|
}
|
|
74
79
|
return [parts.join("\n"), currentContext];
|
|
75
80
|
};
|
|
81
|
+
/**
|
|
82
|
+
* Emit IrYieldStatement (lowered form from yield-lowering pass)
|
|
83
|
+
* Handles bidirectional communication: const x = yield value;
|
|
84
|
+
*
|
|
85
|
+
* TypeScript: const x = yield value;
|
|
86
|
+
* C#:
|
|
87
|
+
* exchange.Output = value;
|
|
88
|
+
* yield return exchange;
|
|
89
|
+
* var x = exchange.Input; // or pattern destructuring
|
|
90
|
+
*
|
|
91
|
+
* TypeScript: yield value; (no receiveTarget)
|
|
92
|
+
* C#:
|
|
93
|
+
* exchange.Output = value;
|
|
94
|
+
* yield return exchange;
|
|
95
|
+
*/
|
|
96
|
+
export const emitYieldStatement = (stmt, context) => {
|
|
97
|
+
const ind = getIndent(context);
|
|
98
|
+
let currentContext = context;
|
|
99
|
+
const parts = [];
|
|
100
|
+
if (stmt.delegate) {
|
|
101
|
+
// yield* delegation - emit foreach pattern
|
|
102
|
+
if (stmt.output) {
|
|
103
|
+
const [delegateFrag, newContext] = emitExpression(stmt.output, currentContext);
|
|
104
|
+
currentContext = newContext;
|
|
105
|
+
// Use await foreach for async generators, foreach for sync
|
|
106
|
+
const foreachKeyword = currentContext.isAsync
|
|
107
|
+
? "await foreach"
|
|
108
|
+
: "foreach";
|
|
109
|
+
parts.push(`${ind}${foreachKeyword} (var item in ${delegateFrag.text})`);
|
|
110
|
+
parts.push(`${ind} yield return item;`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
// Regular yield with optional bidirectional support
|
|
115
|
+
if (stmt.output) {
|
|
116
|
+
const [valueFrag, newContext] = emitExpression(stmt.output, currentContext);
|
|
117
|
+
currentContext = newContext;
|
|
118
|
+
parts.push(`${ind}exchange.Output = ${valueFrag.text};`);
|
|
119
|
+
}
|
|
120
|
+
parts.push(`${ind}yield return exchange;`);
|
|
121
|
+
// Handle receiveTarget for bidirectional communication
|
|
122
|
+
if (stmt.receiveTarget) {
|
|
123
|
+
const targetCode = emitPattern(stmt.receiveTarget, "exchange.Input", ind);
|
|
124
|
+
parts.push(targetCode);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return [parts.join("\n"), currentContext];
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
* Emit pattern for receiving yield input
|
|
131
|
+
* Handles identifier, array, and object patterns
|
|
132
|
+
* Note: Input is nullable (?), so we use null-coalescing for value types
|
|
133
|
+
*/
|
|
134
|
+
const emitPattern = (pattern, inputExpr, indent) => {
|
|
135
|
+
if (!pattern)
|
|
136
|
+
return "";
|
|
137
|
+
switch (pattern.kind) {
|
|
138
|
+
case "identifierPattern":
|
|
139
|
+
// Use null-coalescing to handle nullable Input
|
|
140
|
+
// For value types (like double), use .Value or ?? default
|
|
141
|
+
return `${indent}var ${pattern.name} = ${inputExpr} ?? default!;`;
|
|
142
|
+
case "arrayPattern": {
|
|
143
|
+
// Array destructuring: const [a, b] = yield expr;
|
|
144
|
+
const parts = [];
|
|
145
|
+
parts.push(`${indent}var __input = ${inputExpr};`);
|
|
146
|
+
pattern.elements.forEach((elem, i) => {
|
|
147
|
+
if (elem && elem.kind === "identifierPattern") {
|
|
148
|
+
parts.push(`${indent}var ${elem.name} = __input[${i}];`);
|
|
149
|
+
}
|
|
150
|
+
// TODO: Handle nested patterns
|
|
151
|
+
});
|
|
152
|
+
return parts.join("\n");
|
|
153
|
+
}
|
|
154
|
+
case "objectPattern": {
|
|
155
|
+
// Object destructuring: const {a, b} = yield expr;
|
|
156
|
+
const parts = [];
|
|
157
|
+
parts.push(`${indent}var __input = ${inputExpr};`);
|
|
158
|
+
for (const prop of pattern.properties) {
|
|
159
|
+
if (prop.kind === "property" &&
|
|
160
|
+
prop.value.kind === "identifierPattern") {
|
|
161
|
+
const key = typeof prop.key === "string" ? prop.key : prop.value.name;
|
|
162
|
+
parts.push(`${indent}var ${prop.value.name} = __input.${key};`);
|
|
163
|
+
}
|
|
164
|
+
// TODO: Handle shorthand and rest patterns
|
|
165
|
+
}
|
|
166
|
+
return parts.join("\n");
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
};
|
|
76
170
|
/**
|
|
77
171
|
* Emit an expression statement
|
|
78
172
|
*/
|
|
79
173
|
export const emitExpressionStatement = (stmt, context) => {
|
|
80
174
|
const ind = getIndent(context);
|
|
81
175
|
// Special handling for yield expressions in generators
|
|
176
|
+
// Note: After yield-lowering pass, generators will have IrYieldStatement nodes instead
|
|
177
|
+
// This is kept for backward compatibility with unprocessed IR
|
|
82
178
|
if (stmt.expression.kind === "yield") {
|
|
83
|
-
return
|
|
179
|
+
return emitYieldExpression(stmt.expression, context);
|
|
84
180
|
}
|
|
85
181
|
const [exprFrag, newContext] = emitExpression(stmt.expression, context);
|
|
86
182
|
return [`${ind}${exprFrag.text};`, newContext];
|
|
87
183
|
};
|
|
184
|
+
/**
|
|
185
|
+
* Emit IrGeneratorReturnStatement (lowered form from yield-lowering pass)
|
|
186
|
+
* Handles return statements in generators with TReturn.
|
|
187
|
+
*
|
|
188
|
+
* TypeScript: return "done";
|
|
189
|
+
* C#:
|
|
190
|
+
* __returnValue = "done";
|
|
191
|
+
* yield break;
|
|
192
|
+
*
|
|
193
|
+
* TypeScript: return; (no expression)
|
|
194
|
+
* C#:
|
|
195
|
+
* yield break;
|
|
196
|
+
*
|
|
197
|
+
* The __returnValue variable is declared in the enclosing function emission.
|
|
198
|
+
* The wrapper's _getReturnValue closure captures this value when iteration completes.
|
|
199
|
+
*/
|
|
200
|
+
export const emitGeneratorReturnStatement = (stmt, context) => {
|
|
201
|
+
const ind = getIndent(context);
|
|
202
|
+
let currentContext = context;
|
|
203
|
+
const parts = [];
|
|
204
|
+
if (stmt.expression) {
|
|
205
|
+
// Capture the return value in __returnValue before terminating
|
|
206
|
+
const [valueFrag, newContext] = emitExpression(stmt.expression, currentContext);
|
|
207
|
+
currentContext = newContext;
|
|
208
|
+
parts.push(`${ind}__returnValue = ${valueFrag.text};`);
|
|
209
|
+
}
|
|
210
|
+
// Terminate the iterator
|
|
211
|
+
parts.push(`${ind}yield break;`);
|
|
212
|
+
return [parts.join("\n"), currentContext];
|
|
213
|
+
};
|
|
88
214
|
//# sourceMappingURL=blocks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/statements/blocks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAkB,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAAsD,EACtD,OAAuB,EACG,EAAE;IAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,cAAc,GAAG,OAAO,CAAC;IAC7B,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;QAC5D,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,cAAc,GAAG,UAAU,CAAC;IAC9B,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,GAAG,MAAM,QAAQ,KAAK,GAAG,GAAG,EAAE,cAAc,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAAuD,EACvD,OAAuB,EACG,EAAE;IAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAE/B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,oFAAoF;QACpF,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,cAAc,CAC3C,IAAI,CAAC,UAAU,EACf,OAAO,EACP,OAAO,CAAC,UAAU,CACnB,CAAC;QACF,OAAO,CAAC,GAAG,GAAG,UAAU,QAAQ,CAAC,IAAI,GAAG,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,CAAC,GAAG,GAAG,SAAS,EAAE,OAAO,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../src/statements/blocks.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../../../src/statements/classes/members/methods.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,cAAc,EAMf,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../../../src/statements/classes/members/methods.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,cAAc,EAMf,MAAM,mBAAmB,CAAC;AAO3B;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,aAAa,GAAG;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,EACrD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAwJzB,CAAC"}
|
|
@@ -6,6 +6,7 @@ import { emitType, emitTypeParameters } from "../../../type-emitter.js";
|
|
|
6
6
|
import { emitBlockStatement } from "../../blocks.js";
|
|
7
7
|
import { emitParameters } from "../parameters.js";
|
|
8
8
|
import { escapeCSharpIdentifier } from "../../../emitter-types/index.js";
|
|
9
|
+
import { emitAttributes } from "../../../core/attributes.js";
|
|
9
10
|
/**
|
|
10
11
|
* Emit a method declaration
|
|
11
12
|
*/
|
|
@@ -62,9 +63,13 @@ export const emitMethodMember = (member, context) => {
|
|
|
62
63
|
const baseBodyContext = withAsync(indent(currentContext), member.isAsync);
|
|
63
64
|
if (!member.body) {
|
|
64
65
|
// Abstract method without body
|
|
66
|
+
// Emit attributes before the method declaration
|
|
67
|
+
const [attributesCode, attrContext] = emitAttributes(member.attributes, currentContext);
|
|
65
68
|
const signature = parts.join(" ");
|
|
66
|
-
|
|
67
|
-
|
|
69
|
+
// Build final code with attributes (if any)
|
|
70
|
+
const attrPrefix = attributesCode ? attributesCode + "\n" : "";
|
|
71
|
+
const code = `${attrPrefix}${ind}${signature}${typeParamsStr}(${params[0]})${whereClause};`;
|
|
72
|
+
return [code, attrContext];
|
|
68
73
|
}
|
|
69
74
|
// Build type parameter names set for this method (includes class type params from context)
|
|
70
75
|
const methodTypeParams = new Set([
|
|
@@ -72,10 +77,12 @@ export const emitMethodMember = (member, context) => {
|
|
|
72
77
|
...(member.typeParameters?.map((tp) => tp.name) ?? []),
|
|
73
78
|
]);
|
|
74
79
|
// Emit body with scoped typeParameters and returnType
|
|
80
|
+
// Note: member.body is guaranteed to exist here (early return above handles undefined case)
|
|
81
|
+
const body = member.body;
|
|
75
82
|
const [bodyCode, finalContext] = withScoped(baseBodyContext, {
|
|
76
83
|
typeParameters: methodTypeParams,
|
|
77
84
|
returnType: member.returnType,
|
|
78
|
-
}, (scopedCtx) => emitBlockStatement(
|
|
85
|
+
}, (scopedCtx) => emitBlockStatement(body, scopedCtx));
|
|
79
86
|
// Collect out parameters that need initialization (escape C# keywords)
|
|
80
87
|
const outParams = [];
|
|
81
88
|
for (const param of member.parameters) {
|
|
@@ -107,8 +114,12 @@ export const emitMethodMember = (member, context) => {
|
|
|
107
114
|
finalBodyCode = lines.join("\n");
|
|
108
115
|
}
|
|
109
116
|
}
|
|
117
|
+
// Emit attributes before the method declaration
|
|
118
|
+
const [attributesCode, attrContext] = emitAttributes(member.attributes, finalContext);
|
|
110
119
|
const signature = parts.join(" ");
|
|
111
|
-
|
|
112
|
-
|
|
120
|
+
// Build final code with attributes (if any)
|
|
121
|
+
const attrPrefix = attributesCode ? attributesCode + "\n" : "";
|
|
122
|
+
const code = `${attrPrefix}${ind}${signature}${typeParamsStr}(${params[0]})${whereClause}\n${finalBodyCode}`;
|
|
123
|
+
return [code, dedent(attrContext)];
|
|
113
124
|
};
|
|
114
125
|
//# sourceMappingURL=methods.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../../src/statements/classes/members/methods.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAEL,SAAS,EACT,MAAM,EACN,MAAM,EACN,SAAS,EACT,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../../src/statements/classes/members/methods.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../../../src/statements/classes/members/properties.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAa,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../../../src/statements/classes/members/properties.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAa,MAAM,mBAAmB,CAAC;AAM9D;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,aAAa,GAAG;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,EACvD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CA2DzB,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { getIndent } from "../../../types.js";
|
|
|
5
5
|
import { emitExpression } from "../../../expression-emitter.js";
|
|
6
6
|
import { emitType } from "../../../type-emitter.js";
|
|
7
7
|
import { escapeCSharpIdentifier } from "../../../emitter-types/index.js";
|
|
8
|
+
import { emitAttributes } from "../../../core/attributes.js";
|
|
8
9
|
/**
|
|
9
10
|
* Emit a property declaration
|
|
10
11
|
*/
|
|
@@ -22,6 +23,10 @@ export const emitPropertyMember = (member, context) => {
|
|
|
22
23
|
if (member.isOverride) {
|
|
23
24
|
parts.push("override");
|
|
24
25
|
}
|
|
26
|
+
// Required modifier (C# 11) - must be set in object initializer
|
|
27
|
+
if (member.isRequired) {
|
|
28
|
+
parts.push("required");
|
|
29
|
+
}
|
|
25
30
|
if (member.isReadonly) {
|
|
26
31
|
parts.push("readonly");
|
|
27
32
|
}
|
|
@@ -37,8 +42,12 @@ export const emitPropertyMember = (member, context) => {
|
|
|
37
42
|
}
|
|
38
43
|
// Property name (escape C# keywords)
|
|
39
44
|
parts.push(escapeCSharpIdentifier(member.name));
|
|
45
|
+
// Emit attributes before the property declaration
|
|
46
|
+
const [attributesCode, attrContext] = emitAttributes(member.attributes, currentContext);
|
|
47
|
+
currentContext = attrContext;
|
|
40
48
|
// Emit as field (TypeScript class fields map to C# fields, not properties)
|
|
41
|
-
|
|
49
|
+
const attrPrefix = attributesCode ? attributesCode + "\n" : "";
|
|
50
|
+
let code = `${attrPrefix}${ind}${parts.join(" ")}`;
|
|
42
51
|
if (member.initializer) {
|
|
43
52
|
const [initFrag, finalContext] = emitExpression(member.initializer, currentContext);
|
|
44
53
|
code += ` = ${initFrag.text}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../../src/statements/classes/members/properties.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAkB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../../src/statements/classes/members/properties.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAkB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAuD,EACvD,OAAuB,EACG,EAAE;IAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,cAAc,GAAG,OAAO,CAAC;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,kBAAkB;IAClB,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,QAAQ,CAAC;IACvD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAE1B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,+DAA+D;IAC/D,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,gEAAgE;IAChE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,uDAAuD;IACvD,2EAA2E;IAC3E,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACrE,cAAc,GAAG,UAAU,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhD,kDAAkD;IAClD,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG,cAAc,CAClD,MAAM,CAAC,UAAU,EACjB,cAAc,CACf,CAAC;IACF,cAAc,GAAG,WAAW,CAAC;IAE7B,2EAA2E;IAC3E,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,IAAI,IAAI,GAAG,GAAG,UAAU,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACnD,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,GAAG,cAAc,CAC7C,MAAM,CAAC,WAAW,EAClB,cAAc,CACf,CAAC;QACF,IAAI,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC9B,cAAc,GAAG,YAAY,CAAC;IAChC,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,EAAE,cAAc,CAAC,CAAC;AACtC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../../src/statements/classes/properties.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAa,MAAM,gBAAgB,CAAC;AAM3D;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GACxC,QAAQ,iBAAiB,EACzB,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../../src/statements/classes/properties.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAa,MAAM,gBAAgB,CAAC;AAM3D;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GACxC,QAAQ,iBAAiB,EACzB,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAkFzB,CAAC"}
|
|
@@ -17,6 +17,10 @@ export const emitInterfaceMemberAsProperty = (member, context) => {
|
|
|
17
17
|
let currentContext = context;
|
|
18
18
|
const parts = [];
|
|
19
19
|
parts.push("public"); // All properties public
|
|
20
|
+
// Required modifier for non-optional properties (C# 11)
|
|
21
|
+
if (!member.isOptional) {
|
|
22
|
+
parts.push("required");
|
|
23
|
+
}
|
|
20
24
|
// Property type
|
|
21
25
|
if (member.type) {
|
|
22
26
|
// If this is an inline object type, use the extracted class name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/statements/classes/properties.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/statements/classes/properties.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditionals.d.ts","sourceRoot":"","sources":["../../../src/statements/control/conditionals.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAgB,WAAW,
|
|
1
|
+
{"version":3,"file":"conditionals.d.ts","sourceRoot":"","sources":["../../../src/statements/control/conditionals.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAgB,WAAW,EAAU,MAAM,kBAAkB,CAAC;AACrE,OAAO,EACL,cAAc,EAKf,MAAM,gBAAgB,CAAC;AAqSxB;;GAEG;AACH,eAAO,MAAM,eAAe,GAC1B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,EACnD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAsSzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC,EACvD,SAAS,cAAc,KACtB,CAAC,MAAM,EAAE,cAAc,CAwCzB,CAAC"}
|