@tsonic/emitter 0.0.72 → 0.0.74
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/adapter-generator.d.ts.map +1 -1
- package/dist/adapter-generator.js +2 -1
- package/dist/adapter-generator.js.map +1 -1
- package/dist/constants.d.ts +3 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +15 -6
- package/dist/constants.js.map +1 -1
- package/dist/core/format/attributes.d.ts.map +1 -1
- package/dist/core/format/attributes.js +5 -56
- package/dist/core/format/attributes.js.map +1 -1
- package/dist/core/format/attributes.test.js +1 -1
- package/dist/core/format/attributes.test.js.map +1 -1
- package/dist/core/format/backend-ast/builders.d.ts +13 -0
- package/dist/core/format/backend-ast/builders.d.ts.map +1 -0
- package/dist/core/format/backend-ast/builders.js +169 -0
- package/dist/core/format/backend-ast/builders.js.map +1 -0
- package/dist/core/format/backend-ast/builders.test.d.ts +2 -0
- package/dist/core/format/backend-ast/builders.test.d.ts.map +1 -0
- package/dist/core/format/backend-ast/builders.test.js +258 -0
- package/dist/core/format/backend-ast/builders.test.js.map +1 -0
- package/dist/core/format/backend-ast/index.d.ts +3 -2
- package/dist/core/format/backend-ast/index.d.ts.map +1 -1
- package/dist/core/format/backend-ast/index.js +2 -1
- package/dist/core/format/backend-ast/index.js.map +1 -1
- package/dist/core/format/backend-ast/invariants.test.d.ts +2 -0
- package/dist/core/format/backend-ast/invariants.test.d.ts.map +1 -0
- package/dist/core/format/backend-ast/invariants.test.js +72 -0
- package/dist/core/format/backend-ast/invariants.test.js.map +1 -0
- package/dist/core/format/backend-ast/printer.d.ts +1 -1
- package/dist/core/format/backend-ast/printer.d.ts.map +1 -1
- package/dist/core/format/backend-ast/printer.js +362 -119
- package/dist/core/format/backend-ast/printer.js.map +1 -1
- package/dist/core/format/backend-ast/printer.test.d.ts +2 -0
- package/dist/core/format/backend-ast/printer.test.d.ts.map +1 -0
- package/dist/core/format/backend-ast/printer.test.js +796 -0
- package/dist/core/format/backend-ast/printer.test.js.map +1 -0
- package/dist/core/format/backend-ast/types.d.ts +66 -14
- package/dist/core/format/backend-ast/types.d.ts.map +1 -1
- package/dist/core/format/backend-ast/utils.d.ts +12 -8
- package/dist/core/format/backend-ast/utils.d.ts.map +1 -1
- package/dist/core/format/backend-ast/utils.js +222 -19
- package/dist/core/format/backend-ast/utils.js.map +1 -1
- package/dist/core/format/backend-ast/utils.test.d.ts +2 -0
- package/dist/core/format/backend-ast/utils.test.d.ts.map +1 -0
- package/dist/core/format/backend-ast/utils.test.js +142 -0
- package/dist/core/format/backend-ast/utils.test.js.map +1 -0
- package/dist/core/format/module-emitter/assembly.d.ts +2 -2
- package/dist/core/format/module-emitter/assembly.d.ts.map +1 -1
- package/dist/core/format/module-emitter/assembly.js +7 -3
- package/dist/core/format/module-emitter/assembly.js.map +1 -1
- package/dist/core/format/module-emitter/header.d.ts +2 -1
- package/dist/core/format/module-emitter/header.d.ts.map +1 -1
- package/dist/core/format/module-emitter/header.js +2 -2
- package/dist/core/format/module-emitter/header.js.map +1 -1
- package/dist/core/format/module-emitter/orchestrator.js +1 -1
- package/dist/core/format/module-emitter/orchestrator.js.map +1 -1
- package/dist/core/format/module-emitter/static-container.d.ts.map +1 -1
- package/dist/core/format/module-emitter/static-container.js +3 -5
- package/dist/core/format/module-emitter/static-container.js.map +1 -1
- package/dist/core/module-emitter.test.js +1 -0
- package/dist/core/module-emitter.test.js.map +1 -1
- package/dist/core/semantic/boolean-context.d.ts.map +1 -1
- package/dist/core/semantic/boolean-context.js +45 -49
- package/dist/core/semantic/boolean-context.js.map +1 -1
- package/dist/core/semantic/imports.d.ts.map +1 -1
- package/dist/core/semantic/imports.js +25 -15
- package/dist/core/semantic/imports.js.map +1 -1
- package/dist/core/semantic/imports.test.js +43 -0
- package/dist/core/semantic/imports.test.js.map +1 -1
- package/dist/core/semantic/type-resolution.d.ts +1 -0
- package/dist/core/semantic/type-resolution.d.ts.map +1 -1
- package/dist/core/semantic/type-resolution.js +166 -5
- package/dist/core/semantic/type-resolution.js.map +1 -1
- package/dist/core/semantic/type-resolution.test.js +35 -0
- package/dist/core/semantic/type-resolution.test.js.map +1 -1
- package/dist/emitter-types/core.d.ts +24 -10
- package/dist/emitter-types/core.d.ts.map +1 -1
- package/dist/emitter.d.ts.map +1 -1
- package/dist/emitter.js +124 -44
- package/dist/emitter.js.map +1 -1
- package/dist/expression-emitter.d.ts.map +1 -1
- package/dist/expression-emitter.js +797 -17
- package/dist/expression-emitter.js.map +1 -1
- package/dist/expressions/access.d.ts.map +1 -1
- package/dist/expressions/access.js +65 -25
- package/dist/expressions/access.js.map +1 -1
- package/dist/expressions/calls/call-analysis.d.ts +0 -10
- package/dist/expressions/calls/call-analysis.d.ts.map +1 -1
- package/dist/expressions/calls/call-analysis.js +3 -62
- package/dist/expressions/calls/call-analysis.js.map +1 -1
- package/dist/expressions/calls/call-emitter.d.ts.map +1 -1
- package/dist/expressions/calls/call-emitter.js +97 -196
- package/dist/expressions/calls/call-emitter.js.map +1 -1
- package/dist/expressions/calls/new-emitter.d.ts.map +1 -1
- package/dist/expressions/calls/new-emitter.js +36 -69
- package/dist/expressions/calls/new-emitter.js.map +1 -1
- package/dist/expressions/collections.d.ts +3 -0
- package/dist/expressions/collections.d.ts.map +1 -1
- package/dist/expressions/collections.js +238 -57
- package/dist/expressions/collections.js.map +1 -1
- package/dist/expressions/functions.d.ts.map +1 -1
- package/dist/expressions/functions.js +1 -7
- package/dist/expressions/functions.js.map +1 -1
- package/dist/expressions/identifiers.d.ts.map +1 -1
- package/dist/expressions/identifiers.js +24 -38
- package/dist/expressions/identifiers.js.map +1 -1
- package/dist/expressions/index.test.js +245 -0
- package/dist/expressions/index.test.js.map +1 -1
- package/dist/expressions/literals.d.ts.map +1 -1
- package/dist/expressions/literals.js +9 -41
- package/dist/expressions/literals.js.map +1 -1
- package/dist/expressions/operators/assignment-emitter.d.ts.map +1 -1
- package/dist/expressions/operators/assignment-emitter.js +2 -6
- package/dist/expressions/operators/assignment-emitter.js.map +1 -1
- package/dist/expressions/operators/binary-emitter.d.ts.map +1 -1
- package/dist/expressions/operators/binary-emitter.js +102 -77
- package/dist/expressions/operators/binary-emitter.js.map +1 -1
- package/dist/expressions/operators/logical-emitter.d.ts.map +1 -1
- package/dist/expressions/operators/logical-emitter.js +1 -3
- package/dist/expressions/operators/logical-emitter.js.map +1 -1
- package/dist/expressions/operators/unary-emitter.d.ts.map +1 -1
- package/dist/expressions/operators/unary-emitter.js +9 -20
- package/dist/expressions/operators/unary-emitter.js.map +1 -1
- package/dist/expressions/other.d.ts.map +1 -1
- package/dist/expressions/other.js +57 -4
- package/dist/expressions/other.js.map +1 -1
- package/dist/generator-exchange.d.ts.map +1 -1
- package/dist/generator-exchange.js +3 -2
- package/dist/generator-exchange.js.map +1 -1
- package/dist/generator-wrapper.d.ts.map +1 -1
- package/dist/generator-wrapper.js +27 -56
- package/dist/generator-wrapper.js.map +1 -1
- package/dist/integration.test.js +393 -5
- package/dist/integration.test.js.map +1 -1
- package/dist/json-aot-generic.test.js +3 -0
- package/dist/json-aot-generic.test.js.map +1 -1
- package/dist/patterns.d.ts.map +1 -1
- package/dist/patterns.js +19 -40
- package/dist/patterns.js.map +1 -1
- package/dist/specialization/type-aliases.test.js +8 -0
- package/dist/specialization/type-aliases.test.js.map +1 -1
- package/dist/statements/classes/members/methods.d.ts.map +1 -1
- package/dist/statements/classes/members/methods.js +5 -22
- package/dist/statements/classes/members/methods.js.map +1 -1
- package/dist/statements/classes/parameters.d.ts.map +1 -1
- package/dist/statements/classes/parameters.js +2 -1
- package/dist/statements/classes/parameters.js.map +1 -1
- package/dist/statements/classes/properties.d.ts.map +1 -1
- package/dist/statements/classes/properties.js +5 -16
- package/dist/statements/classes/properties.js.map +1 -1
- package/dist/statements/control/conditionals/guard-analysis.d.ts +44 -1
- package/dist/statements/control/conditionals/guard-analysis.d.ts.map +1 -1
- package/dist/statements/control/conditionals/guard-analysis.js +301 -125
- package/dist/statements/control/conditionals/guard-analysis.js.map +1 -1
- package/dist/statements/control/conditionals/if-emitter.d.ts.map +1 -1
- package/dist/statements/control/conditionals/if-emitter.js +182 -53
- package/dist/statements/control/conditionals/if-emitter.js.map +1 -1
- package/dist/statements/control/exceptions.d.ts.map +1 -1
- package/dist/statements/control/exceptions.js +2 -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 +3 -5
- 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 +2 -4
- 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 +38 -79
- package/dist/statements/declarations/functions.js.map +1 -1
- package/dist/statements/declarations/interfaces-mutable-storage.test.js +10 -2
- package/dist/statements/declarations/interfaces-mutable-storage.test.js.map +1 -1
- package/dist/statements/declarations/interfaces.d.ts.map +1 -1
- package/dist/statements/declarations/interfaces.js +4 -12
- 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 +5 -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 +55 -51
- package/dist/statements/declarations/variables.js.map +1 -1
- package/dist/statements/index.test.js +1026 -0
- package/dist/statements/index.test.js.map +1 -1
- package/dist/types/dictionaries.d.ts.map +1 -1
- package/dist/types/dictionaries.js +5 -5
- package/dist/types/dictionaries.js.map +1 -1
- package/dist/types/functions.d.ts.map +1 -1
- package/dist/types/functions.js +5 -25
- package/dist/types/functions.js.map +1 -1
- package/dist/types/primitives.d.ts.map +1 -1
- package/dist/types/primitives.js.map +1 -1
- package/dist/types/references.d.ts.map +1 -1
- package/dist/types/references.js +65 -128
- package/dist/types/references.js.map +1 -1
- package/dist/types/references.test.js +170 -46
- package/dist/types/references.test.js.map +1 -1
- package/dist/types/tuples.d.ts.map +1 -1
- package/dist/types/tuples.js +7 -17
- package/dist/types/tuples.js.map +1 -1
- package/dist/types/unions.d.ts.map +1 -1
- package/dist/types/unions.js +2 -5
- package/dist/types/unions.js.map +1 -1
- package/package.json +2 -2
- package/dist/expressions/parentheses.d.ts +0 -4
- package/dist/expressions/parentheses.d.ts.map +0 -1
- package/dist/expressions/parentheses.js +0 -91
- package/dist/expressions/parentheses.js.map +0 -1
package/dist/patterns.js
CHANGED
|
@@ -10,7 +10,8 @@ import { emitTypeAst } from "./types/emitter.js";
|
|
|
10
10
|
import { emitExpressionAst } from "./expression-emitter.js";
|
|
11
11
|
import { emitCSharpName } from "./naming-policy.js";
|
|
12
12
|
import { allocateLocalName, emitRemappedLocalName, registerLocalName, } from "./core/format/local-names.js";
|
|
13
|
-
|
|
13
|
+
import { booleanLiteral, decimalIntegerLiteral, identifierExpression, identifierType, nullLiteral, parseNumericLiteral, stringLiteral, } from "./core/format/backend-ast/builders.js";
|
|
14
|
+
const objectTypeAst = identifierType("object");
|
|
14
15
|
const tupleElementMemberName = (index) => index < 7 ? `Item${index + 1}` : "Rest";
|
|
15
16
|
const emitTupleElementAccessAst = (inputExpr, index) => {
|
|
16
17
|
if (index < 7) {
|
|
@@ -81,19 +82,16 @@ const generateTemp = (prefix, ctx) => {
|
|
|
81
82
|
const emitDefaultExprAst = (expr, ctx) => {
|
|
82
83
|
if (expr.kind === "literal") {
|
|
83
84
|
if (typeof expr.value === "string") {
|
|
84
|
-
return [
|
|
85
|
+
return [stringLiteral(expr.value), ctx];
|
|
85
86
|
}
|
|
86
87
|
if (typeof expr.value === "number") {
|
|
87
|
-
return [
|
|
88
|
+
return [parseNumericLiteral(String(expr.value)), ctx];
|
|
88
89
|
}
|
|
89
90
|
if (typeof expr.value === "boolean") {
|
|
90
|
-
return [
|
|
91
|
-
{ kind: "literalExpression", text: expr.value ? "true" : "false" },
|
|
92
|
-
ctx,
|
|
93
|
-
];
|
|
91
|
+
return [booleanLiteral(expr.value), ctx];
|
|
94
92
|
}
|
|
95
93
|
if (expr.value === null) {
|
|
96
|
-
return [
|
|
94
|
+
return [nullLiteral(), ctx];
|
|
97
95
|
}
|
|
98
96
|
}
|
|
99
97
|
if (expr.kind === "identifier") {
|
|
@@ -184,13 +182,10 @@ const lowerArrayPatternAst = (pattern, inputExpr, elementType, ctx) => {
|
|
|
184
182
|
kind: "invocationExpression",
|
|
185
183
|
expression: {
|
|
186
184
|
kind: "memberAccessExpression",
|
|
187
|
-
expression:
|
|
188
|
-
kind: "identifierExpression",
|
|
189
|
-
identifier: "Tsonic.Runtime.ArrayHelpers",
|
|
190
|
-
},
|
|
185
|
+
expression: identifierExpression("Tsonic.Runtime.ArrayHelpers"),
|
|
191
186
|
memberName: "Slice",
|
|
192
187
|
},
|
|
193
|
-
arguments: [tempId,
|
|
188
|
+
arguments: [tempId, decimalIntegerLiteral(index)],
|
|
194
189
|
};
|
|
195
190
|
const rest = lowerPatternAst(elem.pattern, sliceExpr, elementType ? { kind: "arrayType", elementType } : undefined, currentCtx);
|
|
196
191
|
statements.push(...rest.statements);
|
|
@@ -200,7 +195,7 @@ const lowerArrayPatternAst = (pattern, inputExpr, elementType, ctx) => {
|
|
|
200
195
|
const accessExpr = {
|
|
201
196
|
kind: "elementAccessExpression",
|
|
202
197
|
expression: tempId,
|
|
203
|
-
arguments: [
|
|
198
|
+
arguments: [decimalIntegerLiteral(index)],
|
|
204
199
|
};
|
|
205
200
|
let valueExpr = accessExpr;
|
|
206
201
|
if (elem.defaultExpr) {
|
|
@@ -310,7 +305,7 @@ const lowerObjectPatternAst = (pattern, inputExpr, inputType, ctx) => {
|
|
|
310
305
|
}));
|
|
311
306
|
const restExpr = {
|
|
312
307
|
kind: "objectCreationExpression",
|
|
313
|
-
type:
|
|
308
|
+
type: identifierType(prop.restSynthTypeName),
|
|
314
309
|
arguments: [],
|
|
315
310
|
initializer: initMembers,
|
|
316
311
|
};
|
|
@@ -408,16 +403,10 @@ const lowerArrayPatternStaticAst = (pattern, inputExpr, elementType, arrayType,
|
|
|
408
403
|
kind: "invocationExpression",
|
|
409
404
|
expression: {
|
|
410
405
|
kind: "memberAccessExpression",
|
|
411
|
-
expression:
|
|
412
|
-
kind: "identifierExpression",
|
|
413
|
-
identifier: "Tsonic.Runtime.ArrayHelpers",
|
|
414
|
-
},
|
|
406
|
+
expression: identifierExpression("Tsonic.Runtime.ArrayHelpers"),
|
|
415
407
|
memberName: "Slice",
|
|
416
408
|
},
|
|
417
|
-
arguments: [
|
|
418
|
-
tempExpr,
|
|
419
|
-
{ kind: "literalExpression", text: String(index) },
|
|
420
|
-
],
|
|
409
|
+
arguments: [tempExpr, decimalIntegerLiteral(index)],
|
|
421
410
|
};
|
|
422
411
|
const rest = lowerPatternToStaticMembersAst(elem.pattern, restExpr, elementType ? { kind: "arrayType", elementType } : undefined, currentCtx);
|
|
423
412
|
members.push(...rest.members);
|
|
@@ -427,7 +416,7 @@ const lowerArrayPatternStaticAst = (pattern, inputExpr, elementType, arrayType,
|
|
|
427
416
|
const accessExpr = {
|
|
428
417
|
kind: "elementAccessExpression",
|
|
429
418
|
expression: tempExpr,
|
|
430
|
-
arguments: [
|
|
419
|
+
arguments: [decimalIntegerLiteral(index)],
|
|
431
420
|
};
|
|
432
421
|
let valueExpr = accessExpr;
|
|
433
422
|
if (elem.defaultExpr) {
|
|
@@ -529,7 +518,7 @@ const lowerObjectPatternStaticAst = (pattern, inputExpr, inputType, ctx) => {
|
|
|
529
518
|
}));
|
|
530
519
|
const restExpr = {
|
|
531
520
|
kind: "objectCreationExpression",
|
|
532
|
-
type:
|
|
521
|
+
type: identifierType(prop.restSynthTypeName),
|
|
533
522
|
arguments: [],
|
|
534
523
|
initializer: initMembers,
|
|
535
524
|
};
|
|
@@ -675,16 +664,10 @@ const lowerAssignmentPatternStatementsAst = (pattern, inputExpr, type, ctx) => {
|
|
|
675
664
|
kind: "invocationExpression",
|
|
676
665
|
expression: {
|
|
677
666
|
kind: "memberAccessExpression",
|
|
678
|
-
expression:
|
|
679
|
-
kind: "identifierExpression",
|
|
680
|
-
identifier: "Tsonic.Runtime.ArrayHelpers",
|
|
681
|
-
},
|
|
667
|
+
expression: identifierExpression("Tsonic.Runtime.ArrayHelpers"),
|
|
682
668
|
memberName: "Slice",
|
|
683
669
|
},
|
|
684
|
-
arguments: [
|
|
685
|
-
tempExpr,
|
|
686
|
-
{ kind: "literalExpression", text: String(index) },
|
|
687
|
-
],
|
|
670
|
+
arguments: [tempExpr, decimalIntegerLiteral(index)],
|
|
688
671
|
};
|
|
689
672
|
const rest = lowerAssignmentPatternStatementsAst(elem.pattern, restExpr, elementType ? { kind: "arrayType", elementType } : undefined, currentCtx);
|
|
690
673
|
statements.push(...rest.statements);
|
|
@@ -694,7 +677,7 @@ const lowerAssignmentPatternStatementsAst = (pattern, inputExpr, type, ctx) => {
|
|
|
694
677
|
const accessExpr = {
|
|
695
678
|
kind: "elementAccessExpression",
|
|
696
679
|
expression: tempExpr,
|
|
697
|
-
arguments: [
|
|
680
|
+
arguments: [decimalIntegerLiteral(index)],
|
|
698
681
|
};
|
|
699
682
|
let valueExpr = accessExpr;
|
|
700
683
|
if (elem.defaultExpr) {
|
|
@@ -736,7 +719,7 @@ const lowerAssignmentPatternStatementsAst = (pattern, inputExpr, type, ctx) => {
|
|
|
736
719
|
}));
|
|
737
720
|
const restExpr = {
|
|
738
721
|
kind: "objectCreationExpression",
|
|
739
|
-
type:
|
|
722
|
+
type: identifierType(prop.restSynthTypeName),
|
|
740
723
|
arguments: [],
|
|
741
724
|
initializer: initMembers,
|
|
742
725
|
};
|
|
@@ -815,11 +798,7 @@ export const lowerAssignmentPatternAst = (pattern, rhsExpr, rhsType, ctx) => {
|
|
|
815
798
|
kind: "parenthesizedExpression",
|
|
816
799
|
expression: {
|
|
817
800
|
kind: "castExpression",
|
|
818
|
-
type:
|
|
819
|
-
kind: "identifierType",
|
|
820
|
-
name: "global::System.Func",
|
|
821
|
-
typeArguments: [resultTypeAst],
|
|
822
|
-
},
|
|
801
|
+
type: identifierType("global::System.Func", [resultTypeAst]),
|
|
823
802
|
expression: {
|
|
824
803
|
kind: "parenthesizedExpression",
|
|
825
804
|
expression: {
|
package/dist/patterns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../src/patterns.ts"],"names":[],"mappings":"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"}
|
|
@@ -227,6 +227,13 @@ describe("Type Aliases (spec/16 §3)", () => {
|
|
|
227
227
|
isOptional: true,
|
|
228
228
|
isReadonly: true,
|
|
229
229
|
},
|
|
230
|
+
{
|
|
231
|
+
kind: "propertySignature",
|
|
232
|
+
name: "__tsonic_binding_alias_MyApp.ProbeBoxRequired",
|
|
233
|
+
type: { kind: "neverType" },
|
|
234
|
+
isOptional: true,
|
|
235
|
+
isReadonly: true,
|
|
236
|
+
},
|
|
230
237
|
{
|
|
231
238
|
kind: "propertySignature",
|
|
232
239
|
name: "value",
|
|
@@ -246,6 +253,7 @@ describe("Type Aliases (spec/16 §3)", () => {
|
|
|
246
253
|
expect(result).to.include("public sealed class ProbeBoxRequired__Alias");
|
|
247
254
|
expect(result).to.include("public required double value { get; set; }");
|
|
248
255
|
expect(result).to.not.include("__tsonic_type_MyApp_ProbeBoxRequired");
|
|
256
|
+
expect(result).to.not.include("__tsonic_binding_alias_MyApp.ProbeBoxRequired");
|
|
249
257
|
expect(result).to.not.include("void __tsonic_type_");
|
|
250
258
|
});
|
|
251
259
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-aliases.test.js","sourceRoot":"","sources":["../../src/specialization/type-aliases.test.ts"],"names":[],"mappings":"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"}
|
|
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":"methods.d.ts","sourceRoot":"","sources":["../../../../src/statements/classes/members/methods.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../../../src/statements/classes/members/methods.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEL,aAAa,EAGd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EAKf,MAAM,mBAAmB,CAAC;AAW3B,OAAO,KAAK,EACV,eAAe,EAKhB,MAAM,2CAA2C,CAAC;AA0BnD;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC3B,QAAQ,aAAa,GAAG;IAAE,IAAI,EAAE,mBAAmB,CAAA;CAAE,EACrD,SAAS,cAAc,KACtB,CAAC,eAAe,EAAE,cAAc,CAmLlC,CAAC"}
|
|
@@ -1,29 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Method member emission — returns CSharpMemberAst (method declaration)
|
|
3
3
|
*/
|
|
4
|
+
import { getAwaitedIrType, } from "@tsonic/frontend";
|
|
4
5
|
import { indent, dedent, withAsync, withScoped, } from "../../../types.js";
|
|
5
6
|
import { emitTypeAst, emitTypeParametersAst } from "../../../type-emitter.js";
|
|
6
7
|
import { emitBlockStatementAst } from "../../../statement-emitter.js";
|
|
7
8
|
import { emitParametersWithDestructuring, generateParameterDestructuringAst, } from "../parameters.js";
|
|
8
9
|
import { escapeCSharpIdentifier } from "../../../emitter-types/index.js";
|
|
10
|
+
import { identifierType } from "../../../core/format/backend-ast/builders.js";
|
|
9
11
|
import { emitAttributes } from "../../../core/format/attributes.js";
|
|
10
12
|
import { emitCSharpName } from "../../../naming-policy.js";
|
|
11
13
|
const getAsyncBodyReturnType = (isAsync, returnType) => {
|
|
12
14
|
if (!isAsync || !returnType)
|
|
13
15
|
return returnType;
|
|
14
|
-
|
|
15
|
-
? returnType.name.includes(".")
|
|
16
|
-
? returnType.name.slice(returnType.name.lastIndexOf(".") + 1)
|
|
17
|
-
: returnType.name
|
|
18
|
-
: undefined;
|
|
19
|
-
if (returnType.kind === "referenceType" &&
|
|
20
|
-
(simpleName === "Promise" ||
|
|
21
|
-
simpleName === "Task" ||
|
|
22
|
-
simpleName === "ValueTask") &&
|
|
23
|
-
returnType.typeArguments?.length === 1) {
|
|
24
|
-
return returnType.typeArguments[0];
|
|
25
|
-
}
|
|
26
|
-
return returnType;
|
|
16
|
+
return getAwaitedIrType(returnType) ?? returnType;
|
|
27
17
|
};
|
|
28
18
|
const seedLocalNameMapFromParameters = (params, context) => {
|
|
29
19
|
const map = new Map(context.localNameMap ?? []);
|
|
@@ -93,20 +83,13 @@ export const emitMethodMember = (member, context) => {
|
|
|
93
83
|
}
|
|
94
84
|
else {
|
|
95
85
|
returnTypeAst = member.isAsync
|
|
96
|
-
?
|
|
97
|
-
kind: "identifierType",
|
|
98
|
-
name: "global::System.Threading.Tasks.Task",
|
|
99
|
-
typeArguments: [rAst],
|
|
100
|
-
}
|
|
86
|
+
? identifierType("global::System.Threading.Tasks.Task", [rAst])
|
|
101
87
|
: rAst;
|
|
102
88
|
}
|
|
103
89
|
}
|
|
104
90
|
else {
|
|
105
91
|
returnTypeAst = member.isAsync
|
|
106
|
-
?
|
|
107
|
-
kind: "identifierType",
|
|
108
|
-
name: "global::System.Threading.Tasks.Task",
|
|
109
|
-
}
|
|
92
|
+
? identifierType("global::System.Threading.Tasks.Task")
|
|
110
93
|
: { kind: "predefinedType", keyword: "void" };
|
|
111
94
|
}
|
|
112
95
|
// Method name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"methods.js","sourceRoot":"","sources":["../../../../src/statements/classes/members/methods.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
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":"parameters.d.ts","sourceRoot":"","sources":["../../../src/statements/classes/parameters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../../src/statements/classes/parameters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAOhD,OAAO,KAAK,EAEV,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,wCAAwC,CAAC;AAEhD;;GAEG;AACH,KAAK,0BAA0B,GAAG;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,4BAA4B;IAC5B,QAAQ,CAAC,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACnD,8DAA8D;IAC9D,QAAQ,CAAC,mBAAmB,EAAE,SAAS,0BAA0B,EAAE,CAAC;IACpE,sBAAsB;IACtB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;CAClC,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,YAAY,SAAS,WAAW,EAAE,EAClC,SAAS,cAAc,KACtB,CAAC,SAAS,kBAAkB,EAAE,EAAE,cAAc,CAGhD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,GAC1C,YAAY,SAAS,WAAW,EAAE,EAClC,SAAS,cAAc,KACtB,uBAwFF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iCAAiC,GAC5C,qBAAqB,SAAS,0BAA0B,EAAE,EAC1D,SAAS,cAAc,KACtB,CAAC,SAAS,kBAAkB,EAAE,EAAE,cAAc,CAoBhD,CAAC"}
|
|
@@ -10,6 +10,7 @@ import { emitParameterType } from "../../type-emitter.js";
|
|
|
10
10
|
import { escapeCSharpIdentifier } from "../../emitter-types/index.js";
|
|
11
11
|
import { lowerPatternAst } from "../../patterns.js";
|
|
12
12
|
import { emitParameterAttributes } from "../../core/format/attributes.js";
|
|
13
|
+
import { identifierType } from "../../core/format/backend-ast/builders.js";
|
|
13
14
|
/**
|
|
14
15
|
* Emit parameters for functions and methods as CSharpParameterAst[].
|
|
15
16
|
*
|
|
@@ -47,7 +48,7 @@ export const emitParametersWithDestructuring = (parameters, context) => {
|
|
|
47
48
|
}
|
|
48
49
|
const actualType = param.type;
|
|
49
50
|
// Parameter type
|
|
50
|
-
let typeAst =
|
|
51
|
+
let typeAst = identifierType("object");
|
|
51
52
|
if (actualType) {
|
|
52
53
|
const [tAst, newContext] = emitParameterType(actualType, isOptional, currentContext);
|
|
53
54
|
currentContext = newContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../src/statements/classes/parameters.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"parameters.js","sourceRoot":"","sources":["../../../src/statements/classes/parameters.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,EAAE,MAAM,gBAAgB,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,EAAE,MAAM,gBAAgB,CAAC;AAMhD,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,wCAAwC,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GACxC,QAAQ,iBAAiB,EACzB,SAAS,cAAc,KACtB,CAAC,eAAe,EAAE,cAAc,CA0GlC,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { emitTypeAst } from "../../type-emitter.js";
|
|
|
5
5
|
import { emitParameters } from "./parameters.js";
|
|
6
6
|
import { emitCSharpName, getCSharpName } from "../../naming-policy.js";
|
|
7
7
|
import { isMutablePropertySlot } from "../../core/semantic/mutable-storage.js";
|
|
8
|
+
import { identifierType } from "../../core/format/backend-ast/builders.js";
|
|
8
9
|
/**
|
|
9
10
|
* Emit interface member as CSharpMemberAst (property or method declaration)
|
|
10
11
|
* Per spec/16-types-and-interfaces.md §2.1
|
|
@@ -24,18 +25,12 @@ export const emitInterfaceMemberAsProperty = (member, context) => {
|
|
|
24
25
|
// If this is an inline object type, use the extracted class name
|
|
25
26
|
if (member.type.kind === "objectType") {
|
|
26
27
|
const typeName = getCSharpName(member.name, "classes", context);
|
|
27
|
-
const typeAst =
|
|
28
|
-
kind: "identifierType",
|
|
29
|
-
name: typeName,
|
|
30
|
-
};
|
|
28
|
+
const typeAst = identifierType(typeName);
|
|
31
29
|
return [typeAst, currentContext];
|
|
32
30
|
}
|
|
33
31
|
return emitTypeAst(member.type, currentContext);
|
|
34
32
|
}
|
|
35
|
-
const typeAst =
|
|
36
|
-
kind: "identifierType",
|
|
37
|
-
name: "object",
|
|
38
|
-
};
|
|
33
|
+
const typeAst = identifierType("object");
|
|
39
34
|
return [typeAst, currentContext];
|
|
40
35
|
})();
|
|
41
36
|
// Optional members become nullable (spec §2.1)
|
|
@@ -68,10 +63,7 @@ export const emitInterfaceMemberAsProperty = (member, context) => {
|
|
|
68
63
|
if (member.returnType) {
|
|
69
64
|
return emitTypeAst(member.returnType, currentContext);
|
|
70
65
|
}
|
|
71
|
-
const voidType =
|
|
72
|
-
kind: "identifierType",
|
|
73
|
-
name: "void",
|
|
74
|
-
};
|
|
66
|
+
const voidType = identifierType("void");
|
|
75
67
|
return [voidType, currentContext];
|
|
76
68
|
})();
|
|
77
69
|
// Method name (escape C# keywords)
|
|
@@ -90,10 +82,7 @@ export const emitInterfaceMemberAsProperty = (member, context) => {
|
|
|
90
82
|
kind: "throwExpression",
|
|
91
83
|
expression: {
|
|
92
84
|
kind: "objectCreationExpression",
|
|
93
|
-
type:
|
|
94
|
-
kind: "identifierType",
|
|
95
|
-
name: "global::System.NotImplementedException",
|
|
96
|
-
},
|
|
85
|
+
type: identifierType("global::System.NotImplementedException"),
|
|
97
86
|
arguments: [],
|
|
98
87
|
},
|
|
99
88
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/statements/classes/properties.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../src/statements/classes/properties.ts"],"names":[],"mappings":"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"}
|