@tsonic/emitter 0.0.77 → 0.0.78

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 (186) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/array.test.js +5 -1
  3. package/dist/array.test.js.map +1 -1
  4. package/dist/core/module-emitter-cases/static-containers.test.js +2 -1
  5. package/dist/core/module-emitter-cases/static-containers.test.js.map +1 -1
  6. package/dist/core/semantic/array-expected-types.js +1 -1
  7. package/dist/core/semantic/array-expected-types.js.map +1 -1
  8. package/dist/core/semantic/assignment-flow.d.ts.map +1 -1
  9. package/dist/core/semantic/assignment-flow.js +2 -1
  10. package/dist/core/semantic/assignment-flow.js.map +1 -1
  11. package/dist/core/semantic/direct-value-surfaces.js +2 -1
  12. package/dist/core/semantic/direct-value-surfaces.js.map +1 -1
  13. package/dist/core/semantic/instanceof-predicate-refinements.js +1 -1
  14. package/dist/core/semantic/instanceof-predicate-refinements.js.map +1 -1
  15. package/dist/core/semantic/mutable-storage-helpers.d.ts.map +1 -1
  16. package/dist/core/semantic/mutable-storage-helpers.js +3 -2
  17. package/dist/core/semantic/mutable-storage-helpers.js.map +1 -1
  18. package/dist/core/semantic/narrowed-expression-types.js +1 -1
  19. package/dist/core/semantic/narrowed-expression-types.js.map +1 -1
  20. package/dist/core/semantic/narrowed-union-resolution.js +1 -1
  21. package/dist/core/semantic/narrowed-union-resolution.js.map +1 -1
  22. package/dist/core/semantic/nullable-typeof-refinements.d.ts.map +1 -1
  23. package/dist/core/semantic/nullable-typeof-refinements.js +8 -31
  24. package/dist/core/semantic/nullable-typeof-refinements.js.map +1 -1
  25. package/dist/core/semantic/runtime-union-frame.d.ts +6 -0
  26. package/dist/core/semantic/runtime-union-frame.d.ts.map +1 -0
  27. package/dist/core/semantic/runtime-union-frame.js +130 -0
  28. package/dist/core/semantic/runtime-union-frame.js.map +1 -0
  29. package/dist/core/semantic/runtime-unions.d.ts +3 -4
  30. package/dist/core/semantic/runtime-unions.d.ts.map +1 -1
  31. package/dist/core/semantic/runtime-unions.js +4 -129
  32. package/dist/core/semantic/runtime-unions.js.map +1 -1
  33. package/dist/core/semantic/semantic-union-members.js +1 -1
  34. package/dist/core/semantic/semantic-union-members.js.map +1 -1
  35. package/dist/core/semantic/storage-types.d.ts +3 -0
  36. package/dist/core/semantic/storage-types.d.ts.map +1 -1
  37. package/dist/core/semantic/storage-types.js +13 -2
  38. package/dist/core/semantic/storage-types.js.map +1 -1
  39. package/dist/core/semantic/surface-member-semantics.d.ts +14 -0
  40. package/dist/core/semantic/surface-member-semantics.d.ts.map +1 -0
  41. package/dist/core/semantic/surface-member-semantics.js +41 -0
  42. package/dist/core/semantic/surface-member-semantics.js.map +1 -0
  43. package/dist/core/semantic/ternary-guards.d.ts +1 -1
  44. package/dist/core/semantic/ternary-guards.d.ts.map +1 -1
  45. package/dist/core/semantic/ternary-guards.js +2 -1
  46. package/dist/core/semantic/ternary-guards.js.map +1 -1
  47. package/dist/core/semantic/typeof-comparison.d.ts +14 -0
  48. package/dist/core/semantic/typeof-comparison.d.ts.map +1 -0
  49. package/dist/core/semantic/typeof-comparison.js +47 -0
  50. package/dist/core/semantic/typeof-comparison.js.map +1 -0
  51. package/dist/core/semantic/union-semantics.js +1 -1
  52. package/dist/core/semantic/union-semantics.js.map +1 -1
  53. package/dist/emitter-types/context.d.ts.map +1 -1
  54. package/dist/emitter-types/context.js +1 -0
  55. package/dist/emitter-types/context.js.map +1 -1
  56. package/dist/expressions/access-binding.d.ts.map +1 -1
  57. package/dist/expressions/access-binding.js +18 -32
  58. package/dist/expressions/access-binding.js.map +1 -1
  59. package/dist/expressions/access-computed.d.ts.map +1 -1
  60. package/dist/expressions/access-computed.js +3 -7
  61. package/dist/expressions/access-computed.js.map +1 -1
  62. package/dist/expressions/access-function-length.d.ts +13 -0
  63. package/dist/expressions/access-function-length.d.ts.map +1 -0
  64. package/dist/expressions/access-function-length.js +115 -0
  65. package/dist/expressions/access-function-length.js.map +1 -0
  66. package/dist/expressions/access-length.d.ts +2 -4
  67. package/dist/expressions/access-length.d.ts.map +1 -1
  68. package/dist/expressions/access-length.js +7 -23
  69. package/dist/expressions/access-length.js.map +1 -1
  70. package/dist/expressions/access-length.test.js +17 -0
  71. package/dist/expressions/access-length.test.js.map +1 -1
  72. package/dist/expressions/access-resolution-receivers.d.ts.map +1 -1
  73. package/dist/expressions/access-resolution-receivers.js +10 -12
  74. package/dist/expressions/access-resolution-receivers.js.map +1 -1
  75. package/dist/expressions/access.d.ts.map +1 -1
  76. package/dist/expressions/access.js +7 -19
  77. package/dist/expressions/access.js.map +1 -1
  78. package/dist/expressions/architecture-invariants.test.js +94 -0
  79. package/dist/expressions/architecture-invariants.test.js.map +1 -1
  80. package/dist/expressions/awaitable-adaptation.d.ts +15 -0
  81. package/dist/expressions/awaitable-adaptation.d.ts.map +1 -0
  82. package/dist/expressions/awaitable-adaptation.js +174 -0
  83. package/dist/expressions/awaitable-adaptation.js.map +1 -0
  84. package/dist/expressions/calls/call-arguments-emit.d.ts.map +1 -1
  85. package/dist/expressions/calls/call-arguments-emit.js +20 -2
  86. package/dist/expressions/calls/call-arguments-emit.js.map +1 -1
  87. package/dist/expressions/calls/call-arguments-helpers.js +2 -2
  88. package/dist/expressions/calls/call-arguments-helpers.js.map +1 -1
  89. package/dist/expressions/calls/call-array-interop.d.ts +1 -1
  90. package/dist/expressions/calls/call-array-interop.d.ts.map +1 -1
  91. package/dist/expressions/calls/call-array-interop.js +1 -1
  92. package/dist/expressions/calls/call-array-interop.js.map +1 -1
  93. package/dist/expressions/calls/call-array-mutation.d.ts +0 -1
  94. package/dist/expressions/calls/call-array-mutation.d.ts.map +1 -1
  95. package/dist/expressions/calls/call-array-mutation.js +5 -7
  96. package/dist/expressions/calls/call-array-mutation.js.map +1 -1
  97. package/dist/expressions/calls/call-array-wrapper.d.ts.map +1 -1
  98. package/dist/expressions/calls/call-array-wrapper.js +3 -8
  99. package/dist/expressions/calls/call-array-wrapper.js.map +1 -1
  100. package/dist/expressions/expected-type-adaptation.d.ts.map +1 -1
  101. package/dist/expressions/expected-type-adaptation.js +15 -1
  102. package/dist/expressions/expected-type-adaptation.js.map +1 -1
  103. package/dist/expressions/identifier-storage/broad-storage-target.d.ts +4 -0
  104. package/dist/expressions/identifier-storage/broad-storage-target.d.ts.map +1 -0
  105. package/dist/expressions/identifier-storage/broad-storage-target.js +26 -0
  106. package/dist/expressions/identifier-storage/broad-storage-target.js.map +1 -0
  107. package/dist/expressions/identifier-storage/implicit-storage.d.ts +14 -0
  108. package/dist/expressions/identifier-storage/implicit-storage.d.ts.map +1 -0
  109. package/dist/expressions/identifier-storage/implicit-storage.js +44 -0
  110. package/dist/expressions/identifier-storage/implicit-storage.js.map +1 -0
  111. package/dist/expressions/identifier-storage/materialized-narrowed.d.ts +7 -0
  112. package/dist/expressions/identifier-storage/materialized-narrowed.d.ts.map +1 -0
  113. package/dist/expressions/identifier-storage/materialized-narrowed.js +92 -0
  114. package/dist/expressions/identifier-storage/materialized-narrowed.js.map +1 -0
  115. package/dist/expressions/identifier-storage/narrowed-storage-compatible.d.ts +14 -0
  116. package/dist/expressions/identifier-storage/narrowed-storage-compatible.d.ts.map +1 -0
  117. package/dist/expressions/identifier-storage/narrowed-storage-compatible.js +168 -0
  118. package/dist/expressions/identifier-storage/narrowed-storage-compatible.js.map +1 -0
  119. package/dist/expressions/identifier-storage/reified-storage.d.ts +7 -0
  120. package/dist/expressions/identifier-storage/reified-storage.d.ts.map +1 -0
  121. package/dist/expressions/identifier-storage/reified-storage.js +25 -0
  122. package/dist/expressions/identifier-storage/reified-storage.js.map +1 -0
  123. package/dist/expressions/identifier-storage/runtime-subset.d.ts +14 -0
  124. package/dist/expressions/identifier-storage/runtime-subset.d.ts.map +1 -0
  125. package/dist/expressions/identifier-storage/runtime-subset.js +100 -0
  126. package/dist/expressions/identifier-storage/runtime-subset.js.map +1 -0
  127. package/dist/expressions/identifier-storage/storage-compatible.d.ts +10 -0
  128. package/dist/expressions/identifier-storage/storage-compatible.d.ts.map +1 -0
  129. package/dist/expressions/identifier-storage/storage-compatible.js +76 -0
  130. package/dist/expressions/identifier-storage/storage-compatible.js.map +1 -0
  131. package/dist/expressions/identifier-storage/storage-surface-match.d.ts +4 -0
  132. package/dist/expressions/identifier-storage/storage-surface-match.d.ts.map +1 -0
  133. package/dist/expressions/identifier-storage/storage-surface-match.js +95 -0
  134. package/dist/expressions/identifier-storage/storage-surface-match.js.map +1 -0
  135. package/dist/expressions/identifier-storage/storage-surface-shared.d.ts +12 -0
  136. package/dist/expressions/identifier-storage/storage-surface-shared.d.ts.map +1 -0
  137. package/dist/expressions/identifier-storage/storage-surface-shared.js +77 -0
  138. package/dist/expressions/identifier-storage/storage-surface-shared.js.map +1 -0
  139. package/dist/expressions/identifier-storage/storage-surface.d.ts +9 -0
  140. package/dist/expressions/identifier-storage/storage-surface.d.ts.map +1 -0
  141. package/dist/expressions/identifier-storage/storage-surface.js +9 -0
  142. package/dist/expressions/identifier-storage/storage-surface.js.map +1 -0
  143. package/dist/expressions/identifier-storage.d.ts +1 -47
  144. package/dist/expressions/identifier-storage.d.ts.map +1 -1
  145. package/dist/expressions/identifier-storage.js +1 -652
  146. package/dist/expressions/identifier-storage.js.map +1 -1
  147. package/dist/expressions/index-cases/array-wrapper-recursion-b.test.js +7 -1
  148. package/dist/expressions/index-cases/array-wrapper-recursion-b.test.js.map +1 -1
  149. package/dist/expressions/index-cases/array-wrapper-recursion-c.test.js +4 -1
  150. package/dist/expressions/index-cases/array-wrapper-recursion-c.test.js.map +1 -1
  151. package/dist/expressions/index-cases/helpers.d.ts +1 -0
  152. package/dist/expressions/index-cases/helpers.d.ts.map +1 -1
  153. package/dist/expressions/index-cases/helpers.js +28 -0
  154. package/dist/expressions/index-cases/helpers.js.map +1 -1
  155. package/dist/expressions/index-cases/string-and-array-fallbacks-a.test.js +18 -9
  156. package/dist/expressions/index-cases/string-and-array-fallbacks-a.test.js.map +1 -1
  157. package/dist/expressions/index-cases/string-and-array-fallbacks-b.test.js +5 -5
  158. package/dist/expressions/index-cases/string-and-array-fallbacks-b.test.js.map +1 -1
  159. package/dist/expressions/lambda-body.js +3 -3
  160. package/dist/expressions/lambda-body.js.map +1 -1
  161. package/dist/expressions/operators/binary-special-ops.d.ts.map +1 -1
  162. package/dist/expressions/operators/binary-special-ops.js +4 -30
  163. package/dist/expressions/operators/binary-special-ops.js.map +1 -1
  164. package/dist/expressions/runtime-union-adaptation-upcast.d.ts +1 -1
  165. package/dist/expressions/runtime-union-adaptation-upcast.d.ts.map +1 -1
  166. package/dist/expressions/runtime-union-adaptation-upcast.js +13 -0
  167. package/dist/expressions/runtime-union-adaptation-upcast.js.map +1 -1
  168. package/dist/integration-cases/may14-downstream-contracts.test.js +372 -0
  169. package/dist/integration-cases/may14-downstream-contracts.test.js.map +1 -1
  170. package/dist/statements/classes/members/properties.d.ts.map +1 -1
  171. package/dist/statements/classes/members/properties.js +2 -3
  172. package/dist/statements/classes/members/properties.js.map +1 -1
  173. package/dist/statements/control/conditionals/branch-context.js +3 -3
  174. package/dist/statements/control/conditionals/branch-context.js.map +1 -1
  175. package/dist/statements/control/conditionals/guard-extraction.d.ts.map +1 -1
  176. package/dist/statements/control/conditionals/guard-extraction.js +7 -32
  177. package/dist/statements/control/conditionals/guard-extraction.js.map +1 -1
  178. package/dist/statements/control/loops.js +2 -2
  179. package/dist/statements/control/loops.js.map +1 -1
  180. package/dist/types/unions.js +2 -1
  181. package/dist/types/unions.js.map +1 -1
  182. package/package.json +2 -2
  183. package/dist/core/semantic/js-array-surface-members.d.ts +0 -4
  184. package/dist/core/semantic/js-array-surface-members.d.ts.map +0 -1
  185. package/dist/core/semantic/js-array-surface-members.js +0 -32
  186. package/dist/core/semantic/js-array-surface-members.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"identifier-storage.js","sourceRoot":"","sources":["../../src/expressions/identifier-storage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAEL,iCAAiC,GAClC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,+BAA+B,EAAE,MAAM,8CAA8C,CAAC;AAC/F,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,EAAE,gCAAgC,EAAE,MAAM,+CAA+C,CAAC;AACjG,OAAO,EACL,+BAA+B,EAC/B,gBAAgB,EAChB,YAAY,GACb,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,2CAA2C,CAAC;AAC1F,OAAO,EAAE,0BAA0B,EAAE,MAAM,+CAA+C,CAAC;AAC3F,OAAO,EAAE,8BAA8B,EAAE,MAAM,+CAA+C,CAAC;AAE/F,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,yCAAyC,EAAE,MAAM,wCAAwC,CAAC;AACnG,OAAO,EAAE,gCAAgC,EAAE,MAAM,kDAAkD,CAAC;AACpG,OAAO,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AACpF,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,eAAe;IACf,uBAAuB;CACxB,CAAC,CAAC;AAEH,MAAM,oCAAoC,GAAG,CAC3C,UAAkB,EAClB,YAAoB,EACpB,cAAsB,EACtB,gBAAwB,EACxB,OAAuB,EACf,EAAE,CACV,mCAAmC,4BAA4B,CAC7D,UAAU,EACV,OAAO,CACR,qBAAqB,4BAA4B,CAChD,YAAY,EACZ,OAAO,CACR,WAAW,4BAA4B,CACtC,cAAc,EACd,OAAO,CACR,aAAa,4BAA4B,CAAC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC;AAE3E,MAAM,2BAA2B,GAAG,CAAC,IAAY,EAAW,EAAE,CAC5D,IAAI,CAAC,IAAI,KAAK,eAAe;IAC7B,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ;QACrB,2BAA2B,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAEhE,MAAM,uBAAuB,GAAG,CAC9B,IAAmD,EACnD,OAAuB,EACU,EAAE;IACnC,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,oBAAoB,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,wCAAwC,GAAG,CAC/C,UAA8B,EAC9B,YAAgC,EAChC,OAAuB,EACd,EAAE;IACX,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACxE,IAAI,kBAAkB,IAAI,oBAAoB,EAAE,CAAC;QAC/C,MAAM,uBAAuB,GAC3B,8BAA8B,CAAC,kBAAkB,EAAE,OAAO,CAAC;YAC3D,YAAY,CAAC,kBAAkB,CAAC,CAAC;QACnC,MAAM,yBAAyB,GAC7B,8BAA8B,CAAC,oBAAoB,EAAE,OAAO,CAAC;YAC7D,YAAY,CAAC,oBAAoB,CAAC,CAAC;QAErC,IACE,CAAC,uBAAuB,CAAC,IAAI,KAAK,YAAY;YAC5C,yBAAyB,CAAC,IAAI,KAAK,YAAY,CAAC;YAClD,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,OAAO,CAAC,EACrE,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1E,MAAM,uBAAuB,GAAG,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC9E,IAAI,qBAAqB,IAAI,uBAAuB,EAAE,CAAC;QACrD,MAAM,qBAAqB,GACzB,8BAA8B,CAAC,qBAAqB,EAAE,OAAO,CAAC;YAC9D,YAAY,CAAC,qBAAqB,CAAC,CAAC;QACtC,MAAM,uBAAuB,GAC3B,8BAA8B,CAAC,uBAAuB,EAAE,OAAO,CAAC;YAChE,YAAY,CAAC,uBAAuB,CAAC,CAAC;QAExC,IACE,CAAC,qBAAqB,CAAC,IAAI,KAAK,YAAY;YAC1C,uBAAuB,CAAC,IAAI,KAAK,YAAY,CAAC;YAChD,CAAC,iBAAiB,CAChB,qBAAqB,EACrB,uBAAuB,EACvB,OAAO,CACR,EACD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,YAAgC,EAChC,OAAuB,EACd,EAAE;IACX,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,CAAC;IACvE,OAAO,CACL,QAAQ,CAAC,IAAI,KAAK,aAAa;QAC/B,QAAQ,CAAC,IAAI,KAAK,SAAS;QAC3B,QAAQ,CAAC,IAAI,KAAK,YAAY;QAC9B,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW;YAC5B,QAAQ,CAAC,KAAK,CAAC,IAAI,CACjB,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,2BAA2B,CAAC,MAAM,CAAC,CACtE;YACD,QAAQ,CAAC,KAAK,CAAC,KAAK,CAClB,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,IAAI,KAAK,YAAY;gBAC5B,MAAM,CAAC,IAAI,KAAK,eAAe;gBAC/B,MAAM,CAAC,IAAI,KAAK,aAAa;gBAC7B,2BAA2B,CAAC,MAAM,CAAC,CACtC,CAAC;QACJ,2BAA2B,CAAC,QAAQ,CAAC,CACtC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAChC,QAA6B,EAC7B,UAAkB,EAClB,OAAuB,EACgB,EAAE;IACzC,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACtE,IAAI,uBAAuB,CAAC,QAAQ,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QAC3E,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACjC,CAAC;IAED,IACE,QAAQ,CAAC,IAAI,KAAK,gBAAgB;QAClC,CAAC,QAAQ,CAAC,IAAI,KAAK,wBAAwB;YACzC,QAAQ,CAAC,UAAU,KAAK,OAAO,CAAC,EAClC,CAAC;QACD,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO;QACL;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,QAAQ;SACrB;QACD,WAAW;KACZ,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,uCAAuC,GAAG,CAC9C,QAAoD,EACpD,OAAuB,EACd,EAAE;IACX,MAAM,UAAU,GACd,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC;IACtE,OAAO,CACL,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,QAAQ,CAAC,IAAI;QACf,gCAAgC,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CACrE,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,IAAmD,EACnD,QAA6D,EAC7D,OAAuB,EACvB,aAAiC,QAAQ,CAAC,IAAI,EACK,EAAE;IACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC;IAC5D,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAkD,CAAC,GAAG,EAAE;QACvE,MAAM,cAAc,GAClB,QAAQ,CAAC,cAAc;YACvB,oBAAoB,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,IACE,QAAQ,CAAC,aAAa;YACtB,QAAQ,CAAC,uBAAuB;YAChC,QAAQ,CAAC,aAAa,CAAC,MAAM,KAAK,QAAQ,CAAC,uBAAuB,CAAC,MAAM,EACzE,CAAC;YACD,MAAM,aAAa,GAAG;gBACpB,OAAO,EAAE,QAAQ,CAAC,aAAa;gBAC/B,iBAAiB,EAAE,QAAQ,CAAC,uBAAuB;gBACnD,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;aAC9C,CAAC;YACF,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,cAAc,GAClB,cAAc,CAAC,IAAI,KAAK,sBAAsB,IAAI,WAAW;gBAC3D,CAAC,CAAC,+BAA+B,CAAC,WAAW,EAAE,OAAO,CAAC;gBACvD,CAAC,CAAC,SAAS,CAAC;YAChB,OAAO,cAAc;gBACnB,cAAc,CAAC,MAAM,GAAG,CAAC,aAAa,CAAC,iBAAiB,IAAI,CAAC,CAAC;gBAC9D,CAAC,CAAC;oBACE,OAAO,EAAE,cAAc;oBACvB,iBAAiB,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;oBAC9D,iBAAiB,EAAE,cAAc,CAAC,MAAM;iBACzC;gBACH,CAAC,CAAC,aAAa,CAAC;QACpB,CAAC;QAED,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI;YACnC,CAAC,CAAC,+BAA+B,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;YACzD,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,eAAe;YACpB,eAAe,CAAC,MAAM,KAAK,QAAQ,CAAC,eAAe,CAAC,MAAM;YAC1D,CAAC,CAAC;gBACE,OAAO,EAAE,eAAe;gBACxB,iBAAiB,EAAE,QAAQ,CAAC,eAAe;gBAC3C,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;aAC9C;YACH,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC,CAAC,EAAE,CAAC;IACL,MAAM,cAAc,GAClB,QAAQ,CAAC,cAAc;QACvB,oBAAoB,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1D,MAAM,YAAY,GAAG,iCAAiC,CACpD,cAAc,EACd,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,IAAI,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,EACjC,WAAW,CACZ,CAAC;IACF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,yBAAyB,CAC9B,YAAY,CAAC,CAAC,CAAC,EACf,UAAU,EACV,YAAY,CAAC,CAAC,CAAC,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8CAA8C,GAAG,CAC5D,IAAmD,EACnD,QAA6D,EAC7D,OAAuB,EACvB,YAAgC,EACmB,EAAE;IACrD,IACE,CAAC,YAAY;QACb,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC3C,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC9C,QAAQ,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EACrC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC;IACjD,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,YAAY,CAAC;IAC5D,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,YAAY,EAAE,mBAAmB,CAAC,GAAG,uBAAuB,CACjE,UAAU,EACV,OAAO,EACP,WAAW,CACZ,CAAC;IACF,MAAM,YAAY,GAAG,YAAY,EAAE,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,GAAG,WAAW,CACxD,YAAY,EACZ,mBAAmB,CACpB,CAAC;IACF,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,WAAW,CAChD,YAAY,EACZ,mBAAmB,CACpB,CAAC;IACF,IACE,oBAAoB,CAAC,eAAe,CAAC,KAAK,oBAAoB,CAAC,WAAW,CAAC,EAC3E,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GACd,QAAQ,CAAC,cAAc;QACvB,oBAAoB,CAClB,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1E,CAAC;IAEJ,OAAO;QACL;YACE,IAAI,EAAE,sBAAsB;YAC5B,UAAU,EAAE;gBACV,IAAI,EAAE,wBAAwB;gBAC9B,UAAU,EAAE,UAAU;gBACtB,UAAU,EAAE,KAAK,aAAa,EAAE;aACjC;YACD,SAAS,EAAE,EAAE;SACd;QACD,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,IAAmD,EACnD,OAAuB,EACvB,YAAgC,EACC,EAAE;IACnC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpE,IAAI,CAAC,oBAAoB,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;QAChD,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,MAAM,aAAa,GACjB,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1C,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,MAAM,qBAAqB,GAAG,aAAa;QACzC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC;QAC7B,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,oBAAoB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IACxD,MAAM,4CAA4C,GAChD,qBAAqB,EAAE,IAAI,KAAK,eAAe;QAC/C,oBAAoB,CAAC,IAAI,KAAK,eAAe;QAC7C,qBAAqB,CAAC,gBAAgB,KAAK,gBAAgB;QAC3D,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;QAC1D,qBAAqB,CAAC,IAAI,KAAK,oBAAoB,CAAC,IAAI,CAAC;IAC3D,IACE,CAAC,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC5C,CAAC,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC/C,2BAA2B,CAAC,aAAa,EAAE,YAAY,EAAE,OAAO,CAAC,EACjE,CAAC;QACD,OAAO,4CAA4C;YACjD,CAAC,CAAC,oBAAoB;YACtB,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;QACrE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IACE,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC9C,CAAC,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,EAC9C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IACE,wCAAwC,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,EAC5E,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC/C,IAAmD,EACnD,OAAuB,EAC4B,EAAE;IACrD,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpE,IAAI,CAAC,oBAAoB,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,aAAa,GAAG,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,iBAA4C,CAAC;IACjD,IAAI,CAAC;QACH,iBAAiB,GAAG,4BAA4B,CAC9C,WAAW,EACX,aAAa,EACb,OAAO,CACR,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,gBAAgB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,iBAAiB,CAAC;IACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wCAAwC,GAAG,CACtD,IAAmD,EACnD,QAAoD,EACpD,OAAuB,EAC4B,EAAE;IACrD,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GACf,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,sBAAsB,GAC1B,QAAQ,CAAC,IAAI;QACb,gCAAgC,CAC9B,QAAQ,CAAC,UAAU,IAAI,WAAW,EAClC,QAAQ,CAAC,OAAO,EAChB,OAAO,CACR,CAAC;IACJ,MAAM,4CAA4C,GAChD,QAAQ,CAAC,cAAc,KAAK,SAAS;QACrC,QAAQ,CAAC,cAAc,KAAK,QAAQ,CAAC,OAAO;QAC5C,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC;QAC7C,CAAC,CAAC,sBAAsB;QACxB,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,4CAA4C,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,4BAA4B,CAC7D,WAAW,EACX,QAAQ,CAAC,IAAI,EACb,OAAO,CACR,CAAC;IACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,6CAA6C,GAAG,CAC3D,IAAmD,EACnD,QAA6D,EAC7D,OAAuB,EAC4B,EAAE;IACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,4BAA4B,CAC7D,WAAW,EACX,QAAQ,CAAC,IAAI,EACb,OAAO,CACR,CAAC;IACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,IAAmD,EACnD,OAAuB,EACvB,YAAgC,EACmB,EAAE;IACrD,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,aAAa,GAAG,8BAA8B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC;IACzC,MAAM,yBAAyB,GAAG,2BAA2B,CAC3D,cAAc,EACd,YAAY,EACZ,OAAO,CACR,CAAC;IACF,OAAO,0BAA0B,CAAC;QAChC,QAAQ,EAAE,oBAAoB,CAAC,aAAa,CAAC;QAC7C,YAAY,EAAE,yBAAyB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa;QACxE,WAAW;QACX,YAAY;QACZ,OAAO;QACP,WAAW;QACX,iBAAiB,EAAE,yBAAyB;KAC7C,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0CAA0C,GAAG,CACxD,IAAmD,EACnD,QAAoD,EACpD,OAAuB,EACvB,YAAgC,EACmB,EAAE;IACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,WAAW,GACf,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,UAAU,GAAG,YAAY,IAAI,QAAQ,CAAC,IAAI,CAAC;IACjD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,sBAAsB,GAC1B,QAAQ,CAAC,IAAI;QACb,gCAAgC,CAC9B,QAAQ,CAAC,UAAU,IAAI,WAAW,EAClC,QAAQ,CAAC,OAAO,EAChB,OAAO,CACR,CAAC;IACJ,MAAM,4CAA4C,GAChD,QAAQ,CAAC,cAAc,KAAK,SAAS;QACrC,QAAQ,CAAC,cAAc,KAAK,QAAQ,CAAC,OAAO;QAC5C,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC;QAC7C,CAAC,CAAC,sBAAsB;QACxB,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;IAE5D,MAAM,4BAA4B,GAChC,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,QAAQ,CAAC,IAAI;QACf,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC3C,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC;QAC7C,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnD,MAAM,iDAAiD,GACrD,CAAC,CAAC,YAAY;QACd,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC3C,QAAQ,CAAC,cAAc,KAAK,SAAS;QACrC,QAAQ,CAAC,cAAc,KAAK,QAAQ,CAAC,OAAO,CAAC;IAC/C,MAAM,wCAAwC,GAC5C,uCAAuC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7D,MAAM,uBAAuB,GAC3B,4BAA4B;QAC5B,4CAA4C;QAC5C,iDAAiD;QACjD,wCAAwC,CAAC;IAC3C,MAAM,yBAAyB,GAC7B,QAAQ,CAAC,cAAc;QACvB,QAAQ,CAAC,cAAc;QACvB,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpE,MAAM,0BAA0B,GAAG,QAAQ,CAAC,cAAc;QACxD,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC,CAAC,WAAW,CAAC;IAChB,MAAM,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,GACrD,YAAY,IAAI,0BAA0B;QACxC,CAAC,CAAC,4BAA4B,CAC1B,YAAY,CAAC,0BAA0B,CAAC,EACxC,YAAY,EACZ,OAAO,CACR;QACH,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvB,MAAM,8BAA8B,GAClC,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,yBAAyB;QAC3B,CAAC,CAAC,0BAA0B;QAC5B,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC9C,wBAAwB;QACxB,CAAC,uBAAuB;QACxB,CAAC,CAAC,sBAAsB;YACtB,CAAC,uBAAuB,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/D,MAAM,8BAA8B,GAClC,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,yBAAyB;QAC3B,CAAC,CAAC,0BAA0B;QAC5B,wBAAwB;QACxB,CAAC,uBAAuB;QACxB,CAAC,gCAAgC,CAC/B,0BAA0B,EAC1B,YAAY,EACZ,qBAAqB,CACtB,CAAC;IACJ,IACE,YAAY;QACZ,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC3C,CAAC,uBAAuB,EACxB,CAAC;QACD,MAAM,yBAAyB,GAC7B,QAAQ,CAAC,WAAW;YACpB,QAAQ,CAAC,UAAU;YACnB,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,IACE,yBAAyB;YACzB,CAAC,uBAAuB,CAAC,yBAAyB,EAAE,OAAO,CAAC;YAC5D,CAAC,2BAA2B,CAC1B,YAAY,CAAC,yBAAyB,CAAC,EACvC,YAAY,EACZ,OAAO,CACR;gBACC,yCAAyC,CACvC,yBAAyB,EACzB,OAAO,CACR,CAAC,EACJ,CAAC;YACD,OAAO;gBACL,oBAAoB,CAClB,aAAa,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CACnD;gBACD,OAAO;aACR,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,IAAI,8BAA8B,EAAE,CAAC;QACnC,OAAO,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,8BAA8B,EAAE,CAAC;QACnC,OAAO,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,4BAA4B,CAC7D,WAAW,EACX,UAAU,EACV,OAAO,CACR,CAAC;IACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,IACE,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,wBAAwB;QAClD,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,OAAO;QACvC,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,cAAc,EACvD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AAChD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,+CAA+C,GAAG,CAC7D,IAAmD,EACnD,QAAoD,EACpD,OAAuB,EACvB,YAAgC,EACmB,EAAE;IACrD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,WAAW,GACf,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,yBAAyB,GAC7B,QAAQ,CAAC,cAAc;QACvB,QAAQ,CAAC,cAAc;QACvB,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpE,MAAM,0BAA0B,GAAG,QAAQ,CAAC,cAAc;QACxD,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC,CAAC,WAAW,CAAC;IAChB,MAAM,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,GACrD,yBAAyB,IAAI,0BAA0B;QACrD,CAAC,CAAC,4BAA4B,CAC1B,YAAY,CAAC,0BAA0B,CAAC,EACxC,YAAY,EACZ,OAAO,CACR;QACH,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvB,IAAI,uCAAuC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;QAC/D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IACE,yBAAyB;QACzB,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC9C,wBAAwB,EACxB,CAAC;QACD,OAAO,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,CAAC;IAC5D,CAAC;IACD,IACE,yBAAyB;QACzB,wBAAwB;QACxB,0BAA0B;QAC1B,CAAC,gCAAgC,CAC/B,0BAA0B,EAC1B,YAAY,EACZ,qBAAqB,CACtB,EACD,CAAC;QACD,OAAO,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,4BAA4B,CACpE,WAAW,EACX,YAAY,EACZ,OAAO,CACR,CAAC;IACF,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IACE,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,wBAAwB;QAClD,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,OAAO;QACvC,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAC,cAAc,EACvD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC5B,OAAO,CAAC,QAAQ,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,CAAC,oBAAoB,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qCAAqC,GAAG,CACnD,QAAoD,EACpD,OAAuB,EACvB,YAAgC,EACmB,EAAE;IACrD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC;IAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,gBAAgB,GAAG,gCAAgC,CACvD,QAAQ,CAAC,UAAU,IAAI,aAAa,EACpC,QAAQ,CAAC,OAAO,EAChB,OAAO,CACR,CAAC;IACF,IACE,gBAAgB;QAChB,uBAAuB,CAAC,gBAAgB,EAAE,OAAO,CAAC;QAClD,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC9C,gCAAgC,CAAC,gBAAgB,EAAE,YAAY,EAAE,OAAO,CAAC,EACzE,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,uBAAuB,GAC3B,6BAA6B,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QACxD,gBAAgB,CAAC;IAEnB,MAAM,sBAAsB,GAAG,gBAAgB,IAAI,uBAAuB,CAAC;IAC3E,IACE,sBAAsB;QACtB,uBAAuB,CAAC,sBAAsB,EAAE,OAAO,CAAC;QACxD,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC,EAC9C,CAAC;QACD,MAAM,CAAC,cAAc,EAAE,qBAAqB,CAAC,GAAG,uBAAuB,CACrE,YAAY,EACZ,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,kBAAkB,GAAG,cAAc,CAAC,OAAO,CAAC,OAAO,CACvD,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAChB,MAAM;gBACN,gCAAgC,CAC9B,MAAM,EACN,sBAAsB,EACtB,qBAAqB,CACtB;gBACC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACT,CAAC,CAAC,EAAE,CACT,CAAC;YACF,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACpC,MAAM,CAAC,WAAW,CAAC,GAAG,kBAAkB,CAAC;gBACzC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,OAAO;wBACL,+BAA+B,CAC7B,wBAAwB,CAAC,cAAc,CAAC,EACxC,WAAW,GAAG,CAAC,EACf,QAAQ,CAAC,OAAO,CACjB;wBACD,qBAAqB;qBACtB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IACE,uBAAuB;QACvB,uBAAuB,CAAC,uBAAuB,EAAE,OAAO,CAAC;QACzD,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC9C,gCAAgC,CAC9B,uBAAuB,EACvB,YAAY,EACZ,OAAO,CACR,EACD,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,IACE,uBAAuB;QACvB,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC9C,CAAC,uBAAuB,CAAC,uBAAuB,EAAE,OAAO,CAAC,EAC1D,CAAC;QACD,MAAM,CAAC,cAAc,EAAE,qBAAqB,CAAC,GAAG,uBAAuB,CACrE,YAAY,EACZ,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,GAAG,WAAW,CAC9D,uBAAuB,EACvB,qBAAqB,CACtB,CAAC;YACF,MAAM,qBAAqB,GAAG,cAAc,CAAC,cAAc,CAAC,OAAO,CACjE,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,CACvB,aAAa;gBACb,kBAAkB,CAChB,oBAAoB,CAAC,oBAAoB,CAAC,EAC1C,oBAAoB,CAAC,aAAa,CAAC,CACpC;gBACC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACT,CAAC,CAAC,EAAE,CACT,CAAC;YACF,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,CAAC,WAAW,CAAC,GAAG,qBAAqB,CAAC;gBAC5C,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,OAAO;wBACL,+BAA+B,CAC7B,wBAAwB,CAAC,cAAc,CAAC,EACxC,WAAW,GAAG,CAAC,EACf,QAAQ,CAAC,OAAO,CACjB;wBACD,oBAAoB;qBACrB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,IACE,gBAAgB;QAChB,2BAA2B,CAAC,gBAAgB,EAAE,YAAY,EAAE,OAAO,CAAC,EACpE,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,IACE,gBAAgB;QAChB,uBAAuB,CAAC,YAAY,EAAE,OAAO,CAAC;QAC9C,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,OAAO,CAAC,EACnD,CAAC;QACD,MAAM,CAAC,cAAc,EAAE,qBAAqB,CAAC,GAAG,uBAAuB,CACrE,YAAY,EACZ,OAAO,EACP,WAAW,CACZ,CAAC;QACF,IACE,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACtC,2BAA2B,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,CAC/D,EACD,CAAC;YACD,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,6BAA6B,CAChD,QAAQ,CAAC,OAAO,EAChB,aAAa,EACb,YAAY,EACZ,OAAO,CACR,CAAC;IAEF,OAAO,yBAAyB,CAC9B,YAAY,CAAC,CAAC,CAAC,EACf,YAAY,EACZ,YAAY,CAAC,CAAC,CAAC,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,UAA8B,EAC9B,YAAgC,EAChC,OAAuB,EACI,EAAE;IAC7B,MAAM,qBAAqB,GAAG,CAC5B,IAAY,EACZ,cAA8B,EACmC,EAAE;QACnE,IAAI,CAAC;YACH,OAAO,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IACE,GAAG,YAAY,KAAK;gBACpB,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,iCAAiC,CAAC;oBACxD,GAAG,CAAC,OAAO,CAAC,UAAU,CACpB,wDAAwD,CACzD;oBACD,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,qCAAqC,CAAC;oBAC7D,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,iCAAiC,CAAC,CAAC,EAC5D,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,qBAAqB,GAAG,CAC5B,IAAY,EACZ,OAAO,IAAI,GAAG,EAAU,EACf,EAAE;QACX,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEf,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC;YACd,KAAK,WAAW;gBACd,OAAO,qBAAqB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACvD,KAAK,WAAW;gBACd,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAC5C,qBAAqB,CAAC,WAAW,EAAE,IAAI,CAAC,CACzC,CAAC;YACJ,KAAK,gBAAgB;gBACnB,OAAO,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACrD,KAAK,WAAW,CAAC;YACjB,KAAK,kBAAkB;gBACrB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CACpC,qBAAqB,CAAC,UAAU,EAAE,IAAI,CAAC,CACxC,CAAC;YACJ,KAAK,eAAe;gBAClB,OAAO,CACL,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CACxC,qBAAqB,CAAC,YAAY,EAAE,IAAI,CAAC,CAC1C,IAAI,KAAK,CACX,CAAC;YACJ;gBACE,OAAO,KAAK,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,gCAAgC,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,CAAC;QACxE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,cAAc,GAAG,+BAA+B,CACpD,8BAA8B,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAC/D,YAAY,CAAC,UAAU,CAAC,EAC1B,OAAO,CACR,CAAC;IACF,MAAM,gBAAgB,GAAG,+BAA+B,CACtD,8BAA8B,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;QACjE,YAAY,CAAC,YAAY,CAAC,EAC5B,OAAO,CACR,CAAC;IACF,IACE,qBAAqB,CAAC,cAAc,CAAC;QACrC,qBAAqB,CAAC,gBAAgB,CAAC,EACvC,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,aAES,CAAC;IACd,IAAI,CAAC;QACH,aAAa,GAAG,qBAAqB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,OAAO,IAAI,oCAAoC,CACpD,UAAU,EACV,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,OAAO,CACR,EAAE,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC,GAAG,aAAa,CAAC;IACzD,IAAI,eAES,CAAC;IACd,IAAI,CAAC;QACH,eAAe,GAAG,qBAAqB,CACrC,gBAAgB,EAChB,iBAAiB,CAClB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,OAAO,IAAI,oCAAoC,CACpD,UAAU,EACV,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,iBAAiB,CAClB,EAAE,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,CAAC,eAAe,EAAE,mBAAmB,CAAC,GAAG,eAAe,CAAC;IAE/D,OAAO;QACL,oBAAoB,CAAC,aAAa,CAAC;YACjC,oBAAoB,CAAC,eAAe,CAAC;QACvC,mBAAmB;KACpB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"identifier-storage.js","sourceRoot":"","sources":["../../src/expressions/identifier-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,4BAA4B,EAC5B,iCAAiC,EACjC,+CAA+C,EAC/C,wCAAwC,EACxC,6CAA6C,EAC7C,qCAAqC,EACrC,+BAA+B,EAC/B,8CAA8C,EAC9C,kCAAkC,EAClC,0CAA0C,GAC3C,MAAM,yCAAyC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { describe, it, expect, emitModule, emitExpressionAst, printExpression, createJsSurfaceBindingRegistry, storageCarrierMap, } from "./helpers.js";
1
+ import { describe, it, expect, emitModule, emitExpressionAst, printExpression, createJsSurfaceBindingRegistry, jsSurfaceCapabilities, storageCarrierMap, } from "./helpers.js";
2
2
  import { normalizeRuntimeUnionCarrierNames } from "../../runtime-union-cases/helpers.js";
3
3
  const jsSurfaceBindingRegistry = createJsSurfaceBindingRegistry();
4
4
  describe("Expression Emission", () => {
@@ -39,6 +39,7 @@ describe("Expression Emission", () => {
39
39
  };
40
40
  const result = emitModule(module, {
41
41
  surface: "@tsonic/js",
42
+ surfaceCapabilities: jsSurfaceCapabilities,
42
43
  bindingRegistry: jsSurfaceBindingRegistry,
43
44
  });
44
45
  expect(result).to.include("nums.Length");
@@ -86,6 +87,7 @@ describe("Expression Emission", () => {
86
87
  };
87
88
  const result = emitModule(module, {
88
89
  surface: "@tsonic/js",
90
+ surfaceCapabilities: jsSurfaceCapabilities,
89
91
  bindingRegistry: jsSurfaceBindingRegistry,
90
92
  });
91
93
  expect(result).to.include("maybeNums.Length");
@@ -131,6 +133,7 @@ describe("Expression Emission", () => {
131
133
  };
132
134
  const result = emitModule(module, {
133
135
  surface: "@tsonic/js",
136
+ surfaceCapabilities: jsSurfaceCapabilities,
134
137
  bindingRegistry: jsSurfaceBindingRegistry,
135
138
  });
136
139
  expect(result).to.include("attachments.Length");
@@ -173,6 +176,7 @@ describe("Expression Emission", () => {
173
176
  };
174
177
  const result = emitModule(module, {
175
178
  surface: "@tsonic/js",
179
+ surfaceCapabilities: jsSurfaceCapabilities,
176
180
  bindingRegistry: jsSurfaceBindingRegistry,
177
181
  });
178
182
  expect(result).to.include("nums.Length");
@@ -234,6 +238,7 @@ describe("Expression Emission", () => {
234
238
  options: {
235
239
  rootNamespace: "Test",
236
240
  surface: "@tsonic/js",
241
+ surfaceCapabilities: jsSurfaceCapabilities,
237
242
  indent: 4,
238
243
  },
239
244
  isStatic: false,
@@ -327,6 +332,7 @@ describe("Expression Emission", () => {
327
332
  options: {
328
333
  rootNamespace: "Test",
329
334
  surface: "@tsonic/js",
335
+ surfaceCapabilities: jsSurfaceCapabilities,
330
336
  indent: 4,
331
337
  },
332
338
  isStatic: false,
@@ -1 +1 @@
1
- {"version":3,"file":"array-wrapper-recursion-b.test.js","sourceRoot":"","sources":["../../../src/expressions/index-cases/array-wrapper-recursion-b.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array-wrapper-recursion-b.test.js","sourceRoot":"","sources":["../../../src/expressions/index-cases/array-wrapper-recursion-b.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { describe, it, expect, emitExpressionAst, printExpression, } from "./helpers.js";
1
+ import { describe, it, expect, emitExpressionAst, jsSurfaceCapabilities, printExpression, } from "./helpers.js";
2
2
  describe("Expression Emission", () => {
3
3
  it("uses storage-erased element types for JS array wrappers on recursive union call results", () => {
4
4
  const handlerType = {
@@ -61,6 +61,7 @@ describe("Expression Emission", () => {
61
61
  options: {
62
62
  rootNamespace: "Test",
63
63
  surface: "@tsonic/js",
64
+ surfaceCapabilities: jsSurfaceCapabilities,
64
65
  indent: 4,
65
66
  },
66
67
  isStatic: false,
@@ -130,6 +131,7 @@ describe("Expression Emission", () => {
130
131
  options: {
131
132
  rootNamespace: "Test",
132
133
  surface: "@tsonic/js",
134
+ surfaceCapabilities: jsSurfaceCapabilities,
133
135
  indent: 4,
134
136
  },
135
137
  isStatic: false,
@@ -194,6 +196,7 @@ describe("Expression Emission", () => {
194
196
  options: {
195
197
  rootNamespace: "Test",
196
198
  surface: "@tsonic/js",
199
+ surfaceCapabilities: jsSurfaceCapabilities,
197
200
  indent: 4,
198
201
  },
199
202
  isStatic: false,
@@ -1 +1 @@
1
- {"version":3,"file":"array-wrapper-recursion-c.test.js","sourceRoot":"","sources":["../../../src/expressions/index-cases/array-wrapper-recursion-c.test.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,EAAE,EACF,MAAM,EACN,iBAAiB,EACjB,eAAe,GAGhB,MAAM,cAAc,CAAC;AAEtB,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,yFAAyF,EAAE,GAAG,EAAE;QACjG,MAAM,WAAW,GAAW;YAC1B,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;SACjC,CAAC;QAEF,MAAM,UAAU,GAAW;YACzB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,QAAQ;YACd,eAAe,EAAE,aAAa;SAC/B,CAAC;QAEF,MAAM,cAAc,GAAG;YACrB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,EAAE;SAGV,CAAC;QAEF,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE;YACjD,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAiB;YACzB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE;oBACN,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,SAAS;oBACf,YAAY,EAAE;wBACZ,IAAI,EAAE,cAAc;wBACpB,UAAU,EAAE,EAAE;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,WAAW;4BACjB,WAAW,EAAE,cAAc;4BAC3B,MAAM,EAAE,UAAU;yBACnB;qBACF;iBACF;gBACD,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE;oBACZ,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,cAAc;oBAC3B,MAAM,EAAE,UAAU;iBACnB;aACF;YACD,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;YACpD,aAAa,EAAE;gBACb,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,QAAQ;aACjB;SACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE;YACvC,WAAW,EAAE,CAAC;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,MAAM;gBACrB,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,CAAC;aACV;YACD,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,IAAI,GAAG,EAAU;SAC1B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4FAA4F,EAAE,GAAG,EAAE;QACpG,MAAM,WAAW,GAAW;YAC1B,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;SACjC,CAAC;QAEF,MAAM,UAAU,GAAW;YACzB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,QAAQ;YACd,eAAe,EAAE,aAAa;SAC/B,CAAC;QAEF,MAAM,cAAc,GAAG;YACrB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,EAAE;SAGV,CAAC;QAEF,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE;YACjD,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAiB;YACzB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE;gBACN,IAAI,EAAE,eAAe;gBACrB,UAAU,EAAE;oBACV,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,cAAc;oBACpB,YAAY,EAAE,cAAc;iBAC7B;gBACD,UAAU,EAAE;oBACV,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE;wBACX,IAAI,EAAE,eAAe;wBACrB,IAAI,EAAE,QAAQ;wBACd,eAAe,EAAE,eAAe;qBACjC;oBACD,MAAM,EAAE,UAAU;iBACnB;gBACD,YAAY,EAAE;oBACZ,IAAI,EAAE,WAAW;oBACjB,WAAW,EAAE,cAAc;oBAC3B,MAAM,EAAE,UAAU;iBACnB;aACF;YACD,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;YACpD,aAAa,EAAE;gBACb,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,QAAQ;aACjB;SACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE;YACvC,WAAW,EAAE,CAAC;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,MAAM;gBACrB,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,CAAC;aACV;YACD,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,IAAI,GAAG,EAAU;SAC1B,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,GAAG,EAAE;QACvF,MAAM,WAAW,GAAW;YAC1B,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE;gBACV;oBACE,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE;oBACrD,IAAI,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/C,WAAW,EAAE,SAAS;oBACtB,UAAU,EAAE,KAAK;oBACjB,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,OAAO;iBACjB;aACF;YACD,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;SACjC,CAAC;QAEF,MAAM,UAAU,GAAW;YACzB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,QAAQ;YACd,eAAe,EAAE,aAAa;SAC/B,CAAC;QAEF,MAAM,cAAc,GAAG;YACrB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,EAAE;SAGV,CAAC;QAEF,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE;YACjD,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,cAAc;YAC3B,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QAEH,MAAM,IAAI,GAAiB;YACzB,IAAI,EAAE,cAAc;YACpB,MAAM,EAAE;gBACN,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,cAAc;aAC7B;YACD,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE;YACpD,aAAa,EAAE;gBACb,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,YAAY;gBAClB,MAAM,EAAE,QAAQ;aACjB;SACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE;YACvC,WAAW,EAAE,CAAC;YACd,OAAO,EAAE;gBACP,aAAa,EAAE,MAAM;gBACrB,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,CAAC;aACV;YACD,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,IAAI,GAAG,EAAU;YACzB,gBAAgB,EAAE,IAAI,GAAG,CAAC;gBACxB;oBACE,SAAS;oBACT;wBACE,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE;4BACP,IAAI,EAAE,sBAAsB;4BAC5B,UAAU,EAAE;gCACV,IAAI,EAAE,wBAAwB;gCAC9B,UAAU,EAAE;oCACV,IAAI,EAAE,sBAAsB;oCAC5B,UAAU,EAAE,SAAS;iCACtB;gCACD,UAAU,EAAE,KAAK;6BAClB;4BACD,SAAS,EAAE,EAAE;yBACd;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,WAAW;4BACjB,WAAW,EAAE,cAAc;4BAC3B,MAAM,EAAE,UAAU;yBACnB;wBACD,UAAU,EAAE,cAAc;qBAC3B;iBACF;aACF,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"array-wrapper-recursion-c.test.js","sourceRoot":"","sources":["../../../src/expressions/index-cases/array-wrapper-recursion-c.test.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export { semanticTypeMap, storageCarrierMap } from "../../types.js";
9
9
  import { printExpression } from "../../core/format/backend-ast/printer.js";
10
10
  export declare const createExactGlobalBindingRegistry: (bindings: Readonly<Record<string, SimpleBindingDescriptor>>) => BindingRegistry;
11
11
  export declare const createJsSurfaceBindingRegistry: (overrides?: Readonly<Record<string, SimpleBindingDescriptor>>) => BindingRegistry;
12
+ export declare const jsSurfaceCapabilities: EmitterContext["options"]["surfaceCapabilities"];
12
13
  export { describe, it, expect, emitModule, testIfStatement, emitExpressionAst, emitMemberAccess, printExpression, };
13
14
  export type { EmitterContext, IrExpression, TestIrModule as IrModule, IrType };
14
15
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/expressions/index-cases/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,eAAe,EACf,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E,eAAO,MAAM,gCAAgC,GAC3C,UAAU,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,KAC1D,eAIF,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACzC,YAAW,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAM,KAChE,eAaC,CAAC;AAEL,OAAO,EACL,QAAQ,EACR,EAAE,EACF,MAAM,EACN,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAChB,CAAC;AACF,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/expressions/index-cases/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,eAAe,EACf,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,eAAe,EACf,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E,eAAO,MAAM,gCAAgC,GAC3C,UAAU,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC,KAC1D,eAIF,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACzC,YAAW,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAM,KAChE,eAaC,CAAC;AAEL,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,qBAAqB,CA4BhF,CAAC;AAEJ,OAAO,EACL,QAAQ,EACR,EAAE,EACF,MAAM,EACN,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAChB,CAAC;AACF,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC"}
@@ -24,5 +24,33 @@ export const createJsSurfaceBindingRegistry = (overrides = {}) => createExactGlo
24
24
  },
25
25
  ...overrides,
26
26
  });
27
+ export const jsSurfaceCapabilities = {
28
+ mode: "@tsonic/js",
29
+ includesClr: false,
30
+ resolvedModes: ["@tsonic/js"],
31
+ requiredTypeRoots: [],
32
+ memberSemantics: {
33
+ "js.Array": {
34
+ length: { storageAccess: "arrayLength" },
35
+ push: { mutatesReceiver: true },
36
+ },
37
+ "js.Array`1": {
38
+ length: { storageAccess: "arrayLength" },
39
+ push: { mutatesReceiver: true },
40
+ },
41
+ "js.ReadonlyArray": {
42
+ length: { storageAccess: "arrayLength" },
43
+ },
44
+ "js.ReadonlyArray`1": {
45
+ length: { storageAccess: "arrayLength" },
46
+ },
47
+ "js.String": {
48
+ length: {
49
+ emittedMemberName: "Length",
50
+ emissionKind: "instanceMember",
51
+ },
52
+ },
53
+ },
54
+ };
27
55
  export { describe, it, expect, emitModule, testIfStatement, emitExpressionAst, emitMemberAccess, printExpression, };
28
56
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/expressions/index-cases/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,eAAe,GAIhB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,QAA2D,EAC1C,EAAE;IACnB,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7D,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,YAA+D,EAAE,EAChD,EAAE,CACnB,gCAAgC,CAAC;IAC/B,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,UAAU;KACjB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,SAAS;KAChB;IACD,GAAG,SAAS;CACb,CAAC,CAAC;AAEL,OAAO,EACL,QAAQ,EACR,EAAE,EACF,MAAM,EACN,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAChB,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/expressions/index-cases/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EACL,eAAe,GAIhB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAC9C,QAA2D,EAC1C,EAAE;IACnB,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,QAAQ,CAAC,WAAW,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7D,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,YAA+D,EAAE,EAChD,EAAE,CACnB,gCAAgC,CAAC;IAC/B,KAAK,EAAE;QACL,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,UAAU;KACjB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,SAAS;KAChB;IACD,GAAG,SAAS;CACb,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,qBAAqB,GAChC;IACE,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,CAAC,YAAY,CAAC;IAC7B,iBAAiB,EAAE,EAAE;IACrB,eAAe,EAAE;QACf,UAAU,EAAE;YACV,MAAM,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE;YACxC,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;SAChC;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE;YACxC,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE;SAChC;QACD,kBAAkB,EAAE;YAClB,MAAM,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE;SACzC;QACD,oBAAoB,EAAE;YACpB,MAAM,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE;SACzC;QACD,WAAW,EAAE;YACX,MAAM,EAAE;gBACN,iBAAiB,EAAE,QAAQ;gBAC3B,YAAY,EAAE,gBAAgB;aAC/B;SACF;KACF;CACF,CAAC;AAEJ,OAAO,EACL,QAAQ,EACR,EAAE,EACF,MAAM,EACN,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAChB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { describe, it, expect, emitModule, emitMemberAccess, printExpression, } from "./helpers.js";
1
+ import { describe, it, expect, emitModule, emitMemberAccess, printExpression, jsSurfaceCapabilities, } from "./helpers.js";
2
2
  describe("Expression Emission", () => {
3
3
  it("should preserve the source member access when no CLR member binding exists", () => {
4
4
  const module = {
@@ -148,16 +148,25 @@ describe("Expression Emission", () => {
148
148
  property: "length",
149
149
  isComputed: false,
150
150
  isOptional: false,
151
+ memberBinding: {
152
+ kind: "property",
153
+ assembly: "js",
154
+ type: "js.Array",
155
+ member: "length",
156
+ },
151
157
  },
152
158
  },
153
159
  ],
154
160
  exports: [],
155
161
  };
156
- const result = emitModule(module, { surface: "@tsonic/js" });
162
+ const result = emitModule(module, {
163
+ surface: "@tsonic/js",
164
+ surfaceCapabilities: jsSurfaceCapabilities,
165
+ });
157
166
  expect(result).to.include("process.argv.Length");
158
167
  expect(result).to.not.include("new global::js.Array<");
159
168
  });
160
- it("should lower js-surface string length to CLR Length when narrowing lost the original binding", () => {
169
+ it("should not synthesize string length binding when the frontend binding is absent", () => {
161
170
  const module = {
162
171
  kind: "module",
163
172
  filePath: "/src/test.ts",
@@ -184,10 +193,10 @@ describe("Expression Emission", () => {
184
193
  exports: [],
185
194
  };
186
195
  const result = emitModule(module, { surface: "@tsonic/js" });
187
- expect(result).to.include("value.Length");
188
- expect(result).not.to.include("value.length");
196
+ expect(result).to.include("value.length");
197
+ expect(result).not.to.include("value.Length");
189
198
  });
190
- it("should recover JS string length fallback for narrowed union receivers", () => {
199
+ it("should preserve narrowed string length spelling when the frontend binding is absent", () => {
191
200
  const expr = {
192
201
  kind: "memberAccess",
193
202
  object: {
@@ -242,9 +251,9 @@ describe("Expression Emission", () => {
242
251
  };
243
252
  const [result] = emitMemberAccess(expr, context);
244
253
  const printed = printExpression(result);
245
- expect(printed).to.equal("(value.As1()).Length");
254
+ expect(printed).to.equal("(value.As1()).length");
246
255
  });
247
- it("should recover JS string length fallback when narrowed receivers use string reference types", () => {
256
+ it("should not infer CLR string length from narrowed receiver type names", () => {
248
257
  const expr = {
249
258
  kind: "memberAccess",
250
259
  object: {
@@ -298,7 +307,7 @@ describe("Expression Emission", () => {
298
307
  ]),
299
308
  };
300
309
  const [result] = emitMemberAccess(expr, context);
301
- expect(printExpression(result)).to.equal("(value.As1()).Length");
310
+ expect(printExpression(result)).to.equal("(value.As1()).length");
302
311
  });
303
312
  });
304
313
  //# sourceMappingURL=string-and-array-fallbacks-a.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"string-and-array-fallbacks-a.test.js","sourceRoot":"","sources":["../../../src/expressions/index-cases/string-and-array-fallbacks-a.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string-and-array-fallbacks-a.test.js","sourceRoot":"","sources":["../../../src/expressions/index-cases/string-and-array-fallbacks-a.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { describe, it, expect, emitModule, emitExpressionAst, emitMemberAccess, printExpression, } from "./helpers.js";
2
2
  describe("Expression Emission", () => {
3
- it("should recover JS string length fallback when narrowed receivers use CLR-backed string references", () => {
3
+ it("should not synthesize JS string length when narrowed receivers only look string-like", () => {
4
4
  const expr = {
5
5
  kind: "memberAccess",
6
6
  object: {
@@ -62,9 +62,9 @@ describe("Expression Emission", () => {
62
62
  ]),
63
63
  };
64
64
  const [result] = emitMemberAccess(expr, context);
65
- expect(printExpression(result)).to.equal("(value.As1()).Length");
65
+ expect(printExpression(result)).to.equal("(value.As1()).length");
66
66
  });
67
- it("should recover JS string length fallback when narrowed runtime-union bindings omit the narrowed type", () => {
67
+ it("should preserve source spelling when narrowed runtime-union bindings omit the narrowed type", () => {
68
68
  const expr = {
69
69
  kind: "memberAccess",
70
70
  object: {
@@ -117,9 +117,9 @@ describe("Expression Emission", () => {
117
117
  ]),
118
118
  };
119
119
  const [result] = emitMemberAccess(expr, context);
120
- expect(printExpression(result)).to.equal("(value.As1()).Length");
120
+ expect(printExpression(result)).to.equal("(value.As1()).length");
121
121
  });
122
- it("should recover JS string length fallback before CLR member-binding access on narrowed strings", () => {
122
+ it("should use frontend member-binding access for narrowed strings", () => {
123
123
  const expr = {
124
124
  kind: "memberAccess",
125
125
  object: {
@@ -1 +1 @@
1
- {"version":3,"file":"string-and-array-fallbacks-b.test.js","sourceRoot":"","sources":["../../../src/expressions/index-cases/string-and-array-fallbacks-b.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string-and-array-fallbacks-b.test.js","sourceRoot":"","sources":["../../../src/expressions/index-cases/string-and-array-fallbacks-b.test.ts"],"names":[],"mappings":"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"}
@@ -289,12 +289,12 @@ const emitLambdaBodyAst = (parameters, body, context, returnType, capturesObject
289
289
  ];
290
290
  };
291
291
  const resolveFunctionExpressionReturnType = (expr, contextualFunctionType) => {
292
- if (contextualFunctionType?.returnType) {
293
- return contextualFunctionType.returnType;
294
- }
295
292
  if (expr.returnType) {
296
293
  return expr.returnType;
297
294
  }
295
+ if (contextualFunctionType?.returnType) {
296
+ return contextualFunctionType.returnType;
297
+ }
298
298
  if (expr.inferredType?.kind === "functionType") {
299
299
  return expr.inferredType.returnType;
300
300
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lambda-body.js","sourceRoot":"","sources":["../../src/expressions/lambda-body.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lambda-body.js","sourceRoot":"","sources":["../../src/expressions/lambda-body.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"binary-special-ops.d.ts","sourceRoot":"","sources":["../../../src/expressions/operators/binary-special-ops.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAU,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA6BhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAiYlF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,EAC/C,SAAS,cAAc,KACtB,CAAC,mBAAmB,EAAE,cAAc,CAAC,GAAG,SAsI1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,EAC/C,SAAS,cAAc,KACtB,CAAC,mBAAmB,EAAE,cAAc,CA8LtC,CAAC"}
1
+ {"version":3,"file":"binary-special-ops.d.ts","sourceRoot":"","sources":["../../../src/expressions/operators/binary-special-ops.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAU,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AA2BhD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AA+UlF,eAAO,MAAM,oBAAoB,GAC/B,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,EAC/C,SAAS,cAAc,KACtB,CAAC,mBAAmB,EAAE,cAAc,CAAC,GAAG,SAsI1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,EAC/C,SAAS,cAAc,KACtB,CAAC,mBAAmB,EAAE,cAAc,CA8LtC,CAAC"}
@@ -8,7 +8,8 @@ import { emitExpressionAst } from "../../expression-emitter.js";
8
8
  import { emitTypeAst } from "../../type-emitter.js";
9
9
  import { findExactRuntimeUnionMemberIndices, findRuntimeUnionMemberIndices, findRuntimeUnionInstanceofMemberIndices, } from "../../core/semantic/runtime-union-matching.js";
10
10
  import { normalizeInstanceofTargetType } from "../../core/semantic/instanceof-targets.js";
11
- import { buildRuntimeUnionLayout, getCanonicalRuntimeUnionMembers, } from "../../core/semantic/runtime-unions.js";
11
+ import { buildRuntimeUnionLayout } from "../../core/semantic/runtime-unions.js";
12
+ import { getCanonicalRuntimeUnionMembers } from "../../core/semantic/runtime-union-frame.js";
12
13
  import { unwrapTransparentNarrowingTarget } from "../../core/semantic/transparent-expressions.js";
13
14
  import { getMemberAccessNarrowKey } from "../../core/semantic/narrowing-keys.js";
14
15
  import { currentNarrowedType } from "../../core/semantic/narrowing-builders.js";
@@ -18,6 +19,7 @@ import { booleanLiteral, identifierType, nullLiteral, } from "../../core/format/
18
19
  import { extractCalleeNameFromAst } from "../../core/format/backend-ast/utils.js";
19
20
  import { matchesTypeofTag, resolveTypeAlias, stripNullish, } from "../../core/semantic/type-resolution.js";
20
21
  import { isBroadObjectSlotType } from "../../core/semantic/broad-object-types.js";
22
+ import { tryExtractTypeofComparison } from "../../core/semantic/typeof-comparison.js";
21
23
  const NUMERIC_TYPEOF_PATTERN_NAMES = [
22
24
  "byte",
23
25
  "sbyte",
@@ -255,36 +257,8 @@ const buildBroadTypeofCheck = (value, tag, negate) => {
255
257
  }
256
258
  : positive;
257
259
  };
258
- const extractTypeofComparison = (expr) => {
259
- if (expr.operator !== "===" &&
260
- expr.operator !== "==" &&
261
- expr.operator !== "!==" &&
262
- expr.operator !== "!=") {
263
- return undefined;
264
- }
265
- const extract = (left, right) => {
266
- if (left.kind !== "unary" || left.operator !== "typeof") {
267
- return undefined;
268
- }
269
- if (right.kind !== "literal" || typeof right.value !== "string") {
270
- return undefined;
271
- }
272
- return {
273
- target: left.expression,
274
- tag: right.value,
275
- };
276
- };
277
- const direct = extract(expr.left, expr.right) ?? extract(expr.right, expr.left);
278
- if (!direct) {
279
- return undefined;
280
- }
281
- return {
282
- ...direct,
283
- negate: expr.operator === "!==" || expr.operator === "!=",
284
- };
285
- };
286
260
  export const emitTypeofComparison = (expr, context) => {
287
- const comparison = extractTypeofComparison(expr);
261
+ const comparison = tryExtractTypeofComparison(expr);
288
262
  if (!comparison) {
289
263
  return undefined;
290
264
  }