@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.
Files changed (207) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/adapter-generator.d.ts.map +1 -1
  3. package/dist/adapter-generator.js +2 -1
  4. package/dist/adapter-generator.js.map +1 -1
  5. package/dist/constants.d.ts +3 -2
  6. package/dist/constants.d.ts.map +1 -1
  7. package/dist/constants.js +15 -6
  8. package/dist/constants.js.map +1 -1
  9. package/dist/core/format/attributes.d.ts.map +1 -1
  10. package/dist/core/format/attributes.js +5 -56
  11. package/dist/core/format/attributes.js.map +1 -1
  12. package/dist/core/format/attributes.test.js +1 -1
  13. package/dist/core/format/attributes.test.js.map +1 -1
  14. package/dist/core/format/backend-ast/builders.d.ts +13 -0
  15. package/dist/core/format/backend-ast/builders.d.ts.map +1 -0
  16. package/dist/core/format/backend-ast/builders.js +169 -0
  17. package/dist/core/format/backend-ast/builders.js.map +1 -0
  18. package/dist/core/format/backend-ast/builders.test.d.ts +2 -0
  19. package/dist/core/format/backend-ast/builders.test.d.ts.map +1 -0
  20. package/dist/core/format/backend-ast/builders.test.js +258 -0
  21. package/dist/core/format/backend-ast/builders.test.js.map +1 -0
  22. package/dist/core/format/backend-ast/index.d.ts +3 -2
  23. package/dist/core/format/backend-ast/index.d.ts.map +1 -1
  24. package/dist/core/format/backend-ast/index.js +2 -1
  25. package/dist/core/format/backend-ast/index.js.map +1 -1
  26. package/dist/core/format/backend-ast/invariants.test.d.ts +2 -0
  27. package/dist/core/format/backend-ast/invariants.test.d.ts.map +1 -0
  28. package/dist/core/format/backend-ast/invariants.test.js +72 -0
  29. package/dist/core/format/backend-ast/invariants.test.js.map +1 -0
  30. package/dist/core/format/backend-ast/printer.d.ts +1 -1
  31. package/dist/core/format/backend-ast/printer.d.ts.map +1 -1
  32. package/dist/core/format/backend-ast/printer.js +362 -119
  33. package/dist/core/format/backend-ast/printer.js.map +1 -1
  34. package/dist/core/format/backend-ast/printer.test.d.ts +2 -0
  35. package/dist/core/format/backend-ast/printer.test.d.ts.map +1 -0
  36. package/dist/core/format/backend-ast/printer.test.js +796 -0
  37. package/dist/core/format/backend-ast/printer.test.js.map +1 -0
  38. package/dist/core/format/backend-ast/types.d.ts +66 -14
  39. package/dist/core/format/backend-ast/types.d.ts.map +1 -1
  40. package/dist/core/format/backend-ast/utils.d.ts +12 -8
  41. package/dist/core/format/backend-ast/utils.d.ts.map +1 -1
  42. package/dist/core/format/backend-ast/utils.js +222 -19
  43. package/dist/core/format/backend-ast/utils.js.map +1 -1
  44. package/dist/core/format/backend-ast/utils.test.d.ts +2 -0
  45. package/dist/core/format/backend-ast/utils.test.d.ts.map +1 -0
  46. package/dist/core/format/backend-ast/utils.test.js +142 -0
  47. package/dist/core/format/backend-ast/utils.test.js.map +1 -0
  48. package/dist/core/format/module-emitter/assembly.d.ts +2 -2
  49. package/dist/core/format/module-emitter/assembly.d.ts.map +1 -1
  50. package/dist/core/format/module-emitter/assembly.js +7 -3
  51. package/dist/core/format/module-emitter/assembly.js.map +1 -1
  52. package/dist/core/format/module-emitter/header.d.ts +2 -1
  53. package/dist/core/format/module-emitter/header.d.ts.map +1 -1
  54. package/dist/core/format/module-emitter/header.js +2 -2
  55. package/dist/core/format/module-emitter/header.js.map +1 -1
  56. package/dist/core/format/module-emitter/orchestrator.js +1 -1
  57. package/dist/core/format/module-emitter/orchestrator.js.map +1 -1
  58. package/dist/core/format/module-emitter/static-container.d.ts.map +1 -1
  59. package/dist/core/format/module-emitter/static-container.js +3 -5
  60. package/dist/core/format/module-emitter/static-container.js.map +1 -1
  61. package/dist/core/module-emitter.test.js +1 -0
  62. package/dist/core/module-emitter.test.js.map +1 -1
  63. package/dist/core/semantic/boolean-context.d.ts.map +1 -1
  64. package/dist/core/semantic/boolean-context.js +45 -49
  65. package/dist/core/semantic/boolean-context.js.map +1 -1
  66. package/dist/core/semantic/imports.d.ts.map +1 -1
  67. package/dist/core/semantic/imports.js +25 -15
  68. package/dist/core/semantic/imports.js.map +1 -1
  69. package/dist/core/semantic/imports.test.js +43 -0
  70. package/dist/core/semantic/imports.test.js.map +1 -1
  71. package/dist/core/semantic/type-resolution.d.ts +1 -0
  72. package/dist/core/semantic/type-resolution.d.ts.map +1 -1
  73. package/dist/core/semantic/type-resolution.js +166 -5
  74. package/dist/core/semantic/type-resolution.js.map +1 -1
  75. package/dist/core/semantic/type-resolution.test.js +35 -0
  76. package/dist/core/semantic/type-resolution.test.js.map +1 -1
  77. package/dist/emitter-types/core.d.ts +24 -10
  78. package/dist/emitter-types/core.d.ts.map +1 -1
  79. package/dist/emitter.d.ts.map +1 -1
  80. package/dist/emitter.js +124 -44
  81. package/dist/emitter.js.map +1 -1
  82. package/dist/expression-emitter.d.ts.map +1 -1
  83. package/dist/expression-emitter.js +797 -17
  84. package/dist/expression-emitter.js.map +1 -1
  85. package/dist/expressions/access.d.ts.map +1 -1
  86. package/dist/expressions/access.js +65 -25
  87. package/dist/expressions/access.js.map +1 -1
  88. package/dist/expressions/calls/call-analysis.d.ts +0 -10
  89. package/dist/expressions/calls/call-analysis.d.ts.map +1 -1
  90. package/dist/expressions/calls/call-analysis.js +3 -62
  91. package/dist/expressions/calls/call-analysis.js.map +1 -1
  92. package/dist/expressions/calls/call-emitter.d.ts.map +1 -1
  93. package/dist/expressions/calls/call-emitter.js +97 -196
  94. package/dist/expressions/calls/call-emitter.js.map +1 -1
  95. package/dist/expressions/calls/new-emitter.d.ts.map +1 -1
  96. package/dist/expressions/calls/new-emitter.js +36 -69
  97. package/dist/expressions/calls/new-emitter.js.map +1 -1
  98. package/dist/expressions/collections.d.ts +3 -0
  99. package/dist/expressions/collections.d.ts.map +1 -1
  100. package/dist/expressions/collections.js +238 -57
  101. package/dist/expressions/collections.js.map +1 -1
  102. package/dist/expressions/functions.d.ts.map +1 -1
  103. package/dist/expressions/functions.js +1 -7
  104. package/dist/expressions/functions.js.map +1 -1
  105. package/dist/expressions/identifiers.d.ts.map +1 -1
  106. package/dist/expressions/identifiers.js +24 -38
  107. package/dist/expressions/identifiers.js.map +1 -1
  108. package/dist/expressions/index.test.js +245 -0
  109. package/dist/expressions/index.test.js.map +1 -1
  110. package/dist/expressions/literals.d.ts.map +1 -1
  111. package/dist/expressions/literals.js +9 -41
  112. package/dist/expressions/literals.js.map +1 -1
  113. package/dist/expressions/operators/assignment-emitter.d.ts.map +1 -1
  114. package/dist/expressions/operators/assignment-emitter.js +2 -6
  115. package/dist/expressions/operators/assignment-emitter.js.map +1 -1
  116. package/dist/expressions/operators/binary-emitter.d.ts.map +1 -1
  117. package/dist/expressions/operators/binary-emitter.js +102 -77
  118. package/dist/expressions/operators/binary-emitter.js.map +1 -1
  119. package/dist/expressions/operators/logical-emitter.d.ts.map +1 -1
  120. package/dist/expressions/operators/logical-emitter.js +1 -3
  121. package/dist/expressions/operators/logical-emitter.js.map +1 -1
  122. package/dist/expressions/operators/unary-emitter.d.ts.map +1 -1
  123. package/dist/expressions/operators/unary-emitter.js +9 -20
  124. package/dist/expressions/operators/unary-emitter.js.map +1 -1
  125. package/dist/expressions/other.d.ts.map +1 -1
  126. package/dist/expressions/other.js +57 -4
  127. package/dist/expressions/other.js.map +1 -1
  128. package/dist/generator-exchange.d.ts.map +1 -1
  129. package/dist/generator-exchange.js +3 -2
  130. package/dist/generator-exchange.js.map +1 -1
  131. package/dist/generator-wrapper.d.ts.map +1 -1
  132. package/dist/generator-wrapper.js +27 -56
  133. package/dist/generator-wrapper.js.map +1 -1
  134. package/dist/integration.test.js +393 -5
  135. package/dist/integration.test.js.map +1 -1
  136. package/dist/json-aot-generic.test.js +3 -0
  137. package/dist/json-aot-generic.test.js.map +1 -1
  138. package/dist/patterns.d.ts.map +1 -1
  139. package/dist/patterns.js +19 -40
  140. package/dist/patterns.js.map +1 -1
  141. package/dist/specialization/type-aliases.test.js +8 -0
  142. package/dist/specialization/type-aliases.test.js.map +1 -1
  143. package/dist/statements/classes/members/methods.d.ts.map +1 -1
  144. package/dist/statements/classes/members/methods.js +5 -22
  145. package/dist/statements/classes/members/methods.js.map +1 -1
  146. package/dist/statements/classes/parameters.d.ts.map +1 -1
  147. package/dist/statements/classes/parameters.js +2 -1
  148. package/dist/statements/classes/parameters.js.map +1 -1
  149. package/dist/statements/classes/properties.d.ts.map +1 -1
  150. package/dist/statements/classes/properties.js +5 -16
  151. package/dist/statements/classes/properties.js.map +1 -1
  152. package/dist/statements/control/conditionals/guard-analysis.d.ts +44 -1
  153. package/dist/statements/control/conditionals/guard-analysis.d.ts.map +1 -1
  154. package/dist/statements/control/conditionals/guard-analysis.js +301 -125
  155. package/dist/statements/control/conditionals/guard-analysis.js.map +1 -1
  156. package/dist/statements/control/conditionals/if-emitter.d.ts.map +1 -1
  157. package/dist/statements/control/conditionals/if-emitter.js +182 -53
  158. package/dist/statements/control/conditionals/if-emitter.js.map +1 -1
  159. package/dist/statements/control/exceptions.d.ts.map +1 -1
  160. package/dist/statements/control/exceptions.js +2 -4
  161. package/dist/statements/control/exceptions.js.map +1 -1
  162. package/dist/statements/control/loops.d.ts.map +1 -1
  163. package/dist/statements/control/loops.js +3 -5
  164. package/dist/statements/control/loops.js.map +1 -1
  165. package/dist/statements/declarations/classes.d.ts.map +1 -1
  166. package/dist/statements/declarations/classes.js +2 -4
  167. package/dist/statements/declarations/classes.js.map +1 -1
  168. package/dist/statements/declarations/functions.d.ts.map +1 -1
  169. package/dist/statements/declarations/functions.js +38 -79
  170. package/dist/statements/declarations/functions.js.map +1 -1
  171. package/dist/statements/declarations/interfaces-mutable-storage.test.js +10 -2
  172. package/dist/statements/declarations/interfaces-mutable-storage.test.js.map +1 -1
  173. package/dist/statements/declarations/interfaces.d.ts.map +1 -1
  174. package/dist/statements/declarations/interfaces.js +4 -12
  175. package/dist/statements/declarations/interfaces.js.map +1 -1
  176. package/dist/statements/declarations/type-aliases.d.ts.map +1 -1
  177. package/dist/statements/declarations/type-aliases.js +5 -9
  178. package/dist/statements/declarations/type-aliases.js.map +1 -1
  179. package/dist/statements/declarations/variables.d.ts.map +1 -1
  180. package/dist/statements/declarations/variables.js +55 -51
  181. package/dist/statements/declarations/variables.js.map +1 -1
  182. package/dist/statements/index.test.js +1026 -0
  183. package/dist/statements/index.test.js.map +1 -1
  184. package/dist/types/dictionaries.d.ts.map +1 -1
  185. package/dist/types/dictionaries.js +5 -5
  186. package/dist/types/dictionaries.js.map +1 -1
  187. package/dist/types/functions.d.ts.map +1 -1
  188. package/dist/types/functions.js +5 -25
  189. package/dist/types/functions.js.map +1 -1
  190. package/dist/types/primitives.d.ts.map +1 -1
  191. package/dist/types/primitives.js.map +1 -1
  192. package/dist/types/references.d.ts.map +1 -1
  193. package/dist/types/references.js +65 -128
  194. package/dist/types/references.js.map +1 -1
  195. package/dist/types/references.test.js +170 -46
  196. package/dist/types/references.test.js.map +1 -1
  197. package/dist/types/tuples.d.ts.map +1 -1
  198. package/dist/types/tuples.js +7 -17
  199. package/dist/types/tuples.js.map +1 -1
  200. package/dist/types/unions.d.ts.map +1 -1
  201. package/dist/types/unions.js +2 -5
  202. package/dist/types/unions.js.map +1 -1
  203. package/package.json +2 -2
  204. package/dist/expressions/parentheses.d.ts +0 -4
  205. package/dist/expressions/parentheses.d.ts.map +0 -1
  206. package/dist/expressions/parentheses.js +0 -91
  207. package/dist/expressions/parentheses.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"generator-exchange.js","sourceRoot":"","sources":["../src/generator-exchange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator-exchange.js","sourceRoot":"","sources":["../src/generator-exchange.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generator-wrapper.d.ts","sourceRoot":"","sources":["../src/generator-wrapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAG5C,OAAO,KAAK,EAKV,aAAa,EACb,wBAAwB,EACzB,MAAM,oCAAoC,CAAC;AAE5C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;CACrC,CAAC;AA4EF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GACnC,YAAY,MAAM,GAAG,SAAS,EAC9B,SAAS,cAAc,KACtB,iBA0DF,CAAC;AAsUF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,qBAAqB,EAC3B,SAAS,cAAc,KACtB,CAAC,wBAAwB,EAAE,cAAc,CAsH3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,MAAM,qBAAqB,KAC1B,OAoBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GACjC,MAAM,qBAAqB,KAC1B,OAqBF,CAAC"}
1
+ {"version":3,"file":"generator-wrapper.d.ts","sourceRoot":"","sources":["../src/generator-wrapper.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAS5C,OAAO,KAAK,EAKV,aAAa,EACb,wBAAwB,EACzB,MAAM,oCAAoC,CAAC;AAE5C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;CACrC,CAAC;AA+DF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GACnC,YAAY,MAAM,GAAG,SAAS,EAC9B,SAAS,cAAc,KACtB,iBA0DF,CAAC;AAkUF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAC/B,MAAM,qBAAqB,EAC3B,SAAS,cAAc,KACtB,CAAC,wBAAwB,EAAE,cAAc,CAqH3C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GACpC,MAAM,qBAAqB,KAC1B,OAoBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GACjC,MAAM,qBAAqB,KAC1B,OAqBF,CAAC"}
@@ -5,16 +5,13 @@
5
5
  */
6
6
  import { emitTypeAst } from "./type-emitter.js";
7
7
  import { emitCSharpName, getCSharpName } from "./naming-policy.js";
8
- const objectTypeAst = { kind: "identifierType", name: "object" };
8
+ import { booleanLiteral, identifierExpression, identifierType, stringLiteral, } from "./core/format/backend-ast/builders.js";
9
+ const objectTypeAst = {
10
+ kind: "predefinedType",
11
+ keyword: "object",
12
+ };
9
13
  const boolTypeAst = { kind: "predefinedType", keyword: "bool" };
10
- const literal = (text) => ({
11
- kind: "literalExpression",
12
- text,
13
- });
14
- const id = (identifier) => ({
15
- kind: "identifierExpression",
16
- identifier,
17
- });
14
+ const id = (identifier) => identifierExpression(identifier);
18
15
  const member = (expression, memberName) => ({
19
16
  kind: "memberAccessExpression",
20
17
  expression,
@@ -35,26 +32,14 @@ const suppressDefault = () => ({
35
32
  kind: "suppressNullableWarningExpression",
36
33
  expression: { kind: "defaultExpression" },
37
34
  });
38
- const iteratorResultType = (yieldType) => ({
39
- kind: "identifierType",
40
- name: "global::Tsonic.Runtime.IteratorResult",
41
- typeArguments: [yieldType],
42
- });
35
+ const iteratorResultType = (yieldType) => identifierType("global::Tsonic.Runtime.IteratorResult", [yieldType]);
43
36
  const iteratorResultCtor = (yieldType, value, done) => ({
44
37
  kind: "objectCreationExpression",
45
38
  type: iteratorResultType(yieldType),
46
- arguments: [value, literal(done ? "true" : "false")],
47
- });
48
- const taskOf = (typeArg) => ({
49
- kind: "identifierType",
50
- name: "global::System.Threading.Tasks.Task",
51
- typeArguments: [typeArg],
52
- });
53
- const funcType = (typeArg) => ({
54
- kind: "identifierType",
55
- name: "global::System.Func",
56
- typeArguments: [typeArg],
39
+ arguments: [value, booleanLiteral(done)],
57
40
  });
41
+ const taskOf = (typeArg) => identifierType("global::System.Threading.Tasks.Task", [typeArg]);
42
+ const funcType = (typeArg) => identifierType("global::System.Func", [typeArg]);
58
43
  /**
59
44
  * Extract generator type arguments as CSharpTypeAst.
60
45
  *
@@ -108,16 +93,12 @@ export const extractGeneratorTypeArgs = (returnType, context) => {
108
93
  };
109
94
  };
110
95
  const buildConstructor = (wrapperName, exchangeName, isAsync, returnType) => {
111
- const enumerableType = {
112
- kind: "identifierType",
113
- name: isAsync
114
- ? "global::System.Collections.Generic.IAsyncEnumerable"
115
- : "global::System.Collections.Generic.IEnumerable",
116
- typeArguments: [{ kind: "identifierType", name: exchangeName }],
117
- };
96
+ const enumerableType = identifierType(isAsync
97
+ ? "global::System.Collections.Generic.IAsyncEnumerable"
98
+ : "global::System.Collections.Generic.IEnumerable", [identifierType(exchangeName)]);
118
99
  const parameters = [
119
100
  { name: "enumerable", type: enumerableType },
120
- { name: "exchange", type: { kind: "identifierType", name: exchangeName } },
101
+ { name: "exchange", type: identifierType(exchangeName) },
121
102
  ];
122
103
  if (returnType) {
123
104
  parameters.push({
@@ -213,7 +194,7 @@ const buildNextMethod = (yieldType, nextType, hasNextType, isAsync, nextMethodNa
213
194
  },
214
195
  {
215
196
  kind: "expressionStatement",
216
- expression: assign(id("_done"), literal("true")),
197
+ expression: assign(id("_done"), booleanLiteral(true)),
217
198
  },
218
199
  {
219
200
  kind: "returnStatement",
@@ -263,7 +244,7 @@ const buildReturnMethod = (yieldType, returnType, isAsync, returnMethodName) =>
263
244
  const statements = [
264
245
  {
265
246
  kind: "expressionStatement",
266
- expression: assign(id("_done"), literal("true")),
247
+ expression: assign(id("_done"), booleanLiteral(true)),
267
248
  },
268
249
  ];
269
250
  if (returnType) {
@@ -272,7 +253,7 @@ const buildReturnMethod = (yieldType, returnType, isAsync, returnMethodName) =>
272
253
  expression: assign(id("_returnValue"), id("value")),
273
254
  }, {
274
255
  kind: "expressionStatement",
275
- expression: assign(id("_wasExternallyTerminated"), literal("true")),
256
+ expression: assign(id("_wasExternallyTerminated"), booleanLiteral(true)),
276
257
  });
277
258
  }
278
259
  statements.push({
@@ -307,7 +288,7 @@ const buildThrowMethod = (yieldType, isAsync, throwMethodName) => {
307
288
  : invoke(member(id("_enumerator"), "Dispose"));
308
289
  const exPattern = {
309
290
  kind: "declarationPattern",
310
- type: { kind: "identifierType", name: "global::System.Exception" },
291
+ type: identifierType("global::System.Exception"),
311
292
  designation: "ex",
312
293
  };
313
294
  return {
@@ -322,7 +303,7 @@ const buildThrowMethod = (yieldType, isAsync, throwMethodName) => {
322
303
  statements: [
323
304
  {
324
305
  kind: "expressionStatement",
325
- expression: assign(id("_done"), literal("true")),
306
+ expression: assign(id("_done"), booleanLiteral(true)),
326
307
  },
327
308
  { kind: "expressionStatement", expression: disposeCall },
328
309
  {
@@ -341,10 +322,7 @@ const buildThrowMethod = (yieldType, isAsync, throwMethodName) => {
341
322
  kind: "throwStatement",
342
323
  expression: {
343
324
  kind: "objectCreationExpression",
344
- type: {
345
- kind: "identifierType",
346
- name: "global::System.Exception",
347
- },
325
+ type: identifierType("global::System.Exception"),
348
326
  arguments: [
349
327
  {
350
328
  kind: "binaryExpression",
@@ -354,10 +332,7 @@ const buildThrowMethod = (yieldType, isAsync, throwMethodName) => {
354
332
  expression: id("e"),
355
333
  memberName: "ToString",
356
334
  }),
357
- right: {
358
- kind: "literalExpression",
359
- text: '"Unknown error"',
360
- },
335
+ right: stringLiteral("Unknown error"),
361
336
  },
362
337
  ],
363
338
  },
@@ -380,13 +355,9 @@ export const generateWrapperClass = (func, context) => {
380
355
  const returnValuePropertyName = emitCSharpName("returnValue", "properties", context);
381
356
  const { yieldType, returnType, nextType, hasNextType, newContext: typeContext, } = extractGeneratorTypeArgs(func.returnType, currentContext);
382
357
  currentContext = typeContext;
383
- const enumeratorType = {
384
- kind: "identifierType",
385
- name: func.isAsync
386
- ? "global::System.Collections.Generic.IAsyncEnumerator"
387
- : "global::System.Collections.Generic.IEnumerator",
388
- typeArguments: [{ kind: "identifierType", name: exchangeName }],
389
- };
358
+ const enumeratorType = identifierType(func.isAsync
359
+ ? "global::System.Collections.Generic.IAsyncEnumerator"
360
+ : "global::System.Collections.Generic.IEnumerator", [identifierType(exchangeName)]);
390
361
  const members = [
391
362
  {
392
363
  kind: "fieldDeclaration",
@@ -399,7 +370,7 @@ export const generateWrapperClass = (func, context) => {
399
370
  kind: "fieldDeclaration",
400
371
  attributes: [],
401
372
  modifiers: ["private", "readonly"],
402
- type: { kind: "identifierType", name: exchangeName },
373
+ type: identifierType(exchangeName),
403
374
  name: "_exchange",
404
375
  },
405
376
  ];
@@ -423,7 +394,7 @@ export const generateWrapperClass = (func, context) => {
423
394
  modifiers: ["private"],
424
395
  type: boolTypeAst,
425
396
  name: "_wasExternallyTerminated",
426
- initializer: literal("false"),
397
+ initializer: booleanLiteral(false),
427
398
  });
428
399
  }
429
400
  members.push({
@@ -432,7 +403,7 @@ export const generateWrapperClass = (func, context) => {
432
403
  modifiers: ["private"],
433
404
  type: boolTypeAst,
434
405
  name: "_done",
435
- initializer: literal("false"),
406
+ initializer: booleanLiteral(false),
436
407
  });
437
408
  members.push(buildConstructor(wrapperName, exchangeName, func.isAsync, returnType));
438
409
  members.push(buildNextMethod(yieldType, nextType, hasNextType, func.isAsync, nextMethodName));
@@ -1 +1 @@
1
- {"version":3,"file":"generator-wrapper.js","sourceRoot":"","sources":["../src/generator-wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator-wrapper.js","sourceRoot":"","sources":["../src/generator-wrapper.ts"],"names":[],"mappings":"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"}