@tsonic/frontend 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 (153) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/core-intrinsics/provenance.d.ts +11 -0
  3. package/dist/core-intrinsics/provenance.d.ts.map +1 -0
  4. package/dist/core-intrinsics/provenance.js +98 -0
  5. package/dist/core-intrinsics/provenance.js.map +1 -0
  6. package/dist/ir/binding/binding-factory.d.ts.map +1 -1
  7. package/dist/ir/binding/binding-factory.js +42 -6
  8. package/dist/ir/binding/binding-factory.js.map +1 -1
  9. package/dist/ir/binding-resolution.test.js.map +1 -1
  10. package/dist/ir/builder/imports.d.ts.map +1 -1
  11. package/dist/ir/builder/imports.js +48 -8
  12. package/dist/ir/builder/imports.js.map +1 -1
  13. package/dist/ir/builder.test.js +774 -12
  14. package/dist/ir/builder.test.js.map +1 -1
  15. package/dist/ir/converters/expressions/access/access-converter.d.ts.map +1 -1
  16. package/dist/ir/converters/expressions/access/access-converter.js +34 -1
  17. package/dist/ir/converters/expressions/access/access-converter.js.map +1 -1
  18. package/dist/ir/converters/expressions/access/member-resolution.d.ts.map +1 -1
  19. package/dist/ir/converters/expressions/access/member-resolution.js +24 -0
  20. package/dist/ir/converters/expressions/access/member-resolution.js.map +1 -1
  21. package/dist/ir/converters/expressions/calls/call-converter.d.ts.map +1 -1
  22. package/dist/ir/converters/expressions/calls/call-converter.js +14 -13
  23. package/dist/ir/converters/expressions/calls/call-converter.js.map +1 -1
  24. package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts +1 -1
  25. package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts.map +1 -1
  26. package/dist/ir/converters/expressions/calls/call-site-analysis.js +6 -30
  27. package/dist/ir/converters/expressions/calls/call-site-analysis.js.map +1 -1
  28. package/dist/ir/converters/expressions/collections.d.ts.map +1 -1
  29. package/dist/ir/converters/expressions/collections.js +17 -7
  30. package/dist/ir/converters/expressions/collections.js.map +1 -1
  31. package/dist/ir/converters/expressions/dynamic-import.d.ts.map +1 -1
  32. package/dist/ir/converters/expressions/dynamic-import.js.map +1 -1
  33. package/dist/ir/converters/flow-narrowing.d.ts +1 -0
  34. package/dist/ir/converters/flow-narrowing.d.ts.map +1 -1
  35. package/dist/ir/converters/flow-narrowing.js +225 -0
  36. package/dist/ir/converters/flow-narrowing.js.map +1 -1
  37. package/dist/ir/converters/statements/control/blocks.d.ts.map +1 -1
  38. package/dist/ir/converters/statements/control/blocks.js +48 -0
  39. package/dist/ir/converters/statements/control/blocks.js.map +1 -1
  40. package/dist/ir/program-context.d.ts.map +1 -1
  41. package/dist/ir/program-context.js +32 -2
  42. package/dist/ir/program-context.js.map +1 -1
  43. package/dist/ir/program-context.test.d.ts +2 -0
  44. package/dist/ir/program-context.test.d.ts.map +1 -0
  45. package/dist/ir/program-context.test.js +76 -0
  46. package/dist/ir/program-context.test.js.map +1 -0
  47. package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts.map +1 -1
  48. package/dist/ir/type-system/internal/type-converter/orchestrator.js +256 -12
  49. package/dist/ir/type-system/internal/type-converter/orchestrator.js.map +1 -1
  50. package/dist/ir/type-system/internal/type-converter/orchestrator.test.js +19 -0
  51. package/dist/ir/type-system/internal/type-converter/orchestrator.test.js.map +1 -1
  52. package/dist/ir/type-system/internal/type-converter/references.d.ts.map +1 -1
  53. package/dist/ir/type-system/internal/type-converter/references.js +94 -3
  54. package/dist/ir/type-system/internal/type-converter/references.js.map +1 -1
  55. package/dist/ir/type-system/internal/type-converter/utility-types.d.ts.map +1 -1
  56. package/dist/ir/type-system/internal/type-converter/utility-types.js +9 -3
  57. package/dist/ir/type-system/internal/type-converter/utility-types.js.map +1 -1
  58. package/dist/ir/type-system/internal/type-converter/utility-types.test.js +19 -0
  59. package/dist/ir/type-system/internal/type-converter/utility-types.test.js.map +1 -1
  60. package/dist/ir/type-system/internal/universe/clr-catalog.d.ts.map +1 -1
  61. package/dist/ir/type-system/internal/universe/clr-catalog.js +20 -1
  62. package/dist/ir/type-system/internal/universe/clr-catalog.js.map +1 -1
  63. package/dist/ir/type-system/internal/universe/clr-catalog.test.js +43 -0
  64. package/dist/ir/type-system/internal/universe/clr-catalog.test.js.map +1 -1
  65. package/dist/ir/type-system/internal/universe/clr-entry-converter.d.ts.map +1 -1
  66. package/dist/ir/type-system/internal/universe/clr-entry-converter.js +44 -2
  67. package/dist/ir/type-system/internal/universe/clr-entry-converter.js.map +1 -1
  68. package/dist/ir/type-system/internal/universe/types.d.ts +10 -1
  69. package/dist/ir/type-system/internal/universe/types.d.ts.map +1 -1
  70. package/dist/ir/type-system/internal/universe/types.js.map +1 -1
  71. package/dist/ir/type-system/type-system-call-resolution.d.ts +1 -0
  72. package/dist/ir/type-system/type-system-call-resolution.d.ts.map +1 -1
  73. package/dist/ir/type-system/type-system-call-resolution.js +49 -22
  74. package/dist/ir/type-system/type-system-call-resolution.js.map +1 -1
  75. package/dist/ir/type-system/type-system-inference.d.ts.map +1 -1
  76. package/dist/ir/type-system/type-system-inference.js +39 -5
  77. package/dist/ir/type-system/type-system-inference.js.map +1 -1
  78. package/dist/ir/type-system/type-system-utilities.d.ts.map +1 -1
  79. package/dist/ir/type-system/type-system-utilities.js +6 -22
  80. package/dist/ir/type-system/type-system-utilities.js.map +1 -1
  81. package/dist/ir/type-system/type-system.d.ts +16 -0
  82. package/dist/ir/type-system/type-system.d.ts.map +1 -1
  83. package/dist/ir/type-system/type-system.js +3 -1
  84. package/dist/ir/type-system/type-system.js.map +1 -1
  85. package/dist/ir/types/index.d.ts +1 -1
  86. package/dist/ir/types/index.d.ts.map +1 -1
  87. package/dist/ir/types/index.js +1 -1
  88. package/dist/ir/types/index.js.map +1 -1
  89. package/dist/ir/types/type-ops.d.ts +2 -0
  90. package/dist/ir/types/type-ops.d.ts.map +1 -1
  91. package/dist/ir/types/type-ops.js +34 -12
  92. package/dist/ir/types/type-ops.js.map +1 -1
  93. package/dist/ir/types/type-ops.test.js +44 -1
  94. package/dist/ir/types/type-ops.test.js.map +1 -1
  95. package/dist/ir/types.d.ts +1 -1
  96. package/dist/ir/types.d.ts.map +1 -1
  97. package/dist/ir/types.js +1 -1
  98. package/dist/ir/types.js.map +1 -1
  99. package/dist/ir/validation/numeric-proof-pass.d.ts.map +1 -1
  100. package/dist/ir/validation/numeric-proof-pass.js +8 -7
  101. package/dist/ir/validation/numeric-proof-pass.js.map +1 -1
  102. package/dist/program/binding-registry.d.ts +2 -0
  103. package/dist/program/binding-registry.d.ts.map +1 -1
  104. package/dist/program/binding-registry.js +54 -12
  105. package/dist/program/binding-registry.js.map +1 -1
  106. package/dist/program/binding-types.d.ts +21 -1
  107. package/dist/program/binding-types.d.ts.map +1 -1
  108. package/dist/program/binding-types.js +80 -4
  109. package/dist/program/binding-types.js.map +1 -1
  110. package/dist/program/bindings.test.js +146 -2
  111. package/dist/program/bindings.test.js.map +1 -1
  112. package/dist/program/clr-bindings-discovery.d.ts.map +1 -1
  113. package/dist/program/clr-bindings-discovery.js +9 -3
  114. package/dist/program/clr-bindings-discovery.js.map +1 -1
  115. package/dist/program/clr-bindings-discovery.test.js +107 -0
  116. package/dist/program/clr-bindings-discovery.test.js.map +1 -1
  117. package/dist/program/creation.d.ts.map +1 -1
  118. package/dist/program/creation.js +22 -3
  119. package/dist/program/creation.js.map +1 -1
  120. package/dist/program/creation.test.js +34 -0
  121. package/dist/program/creation.test.js.map +1 -1
  122. package/dist/program/package-roots.js +4 -4
  123. package/dist/program/package-roots.js.map +1 -1
  124. package/dist/program/package-roots.test.d.ts +2 -0
  125. package/dist/program/package-roots.test.d.ts.map +1 -0
  126. package/dist/program/package-roots.test.js +42 -0
  127. package/dist/program/package-roots.test.js.map +1 -0
  128. package/dist/program.d.ts +1 -1
  129. package/dist/program.d.ts.map +1 -1
  130. package/dist/program.js +1 -1
  131. package/dist/program.js.map +1 -1
  132. package/dist/resolver/dynamic-import.test.js +20 -11
  133. package/dist/resolver/dynamic-import.test.js.map +1 -1
  134. package/dist/resolver/import-resolution.d.ts.map +1 -1
  135. package/dist/resolver/import-resolution.js +2 -2
  136. package/dist/resolver/import-resolution.js.map +1 -1
  137. package/dist/resolver/source-package-resolution.d.ts +1 -0
  138. package/dist/resolver/source-package-resolution.d.ts.map +1 -1
  139. package/dist/resolver/source-package-resolution.js +6 -1
  140. package/dist/resolver/source-package-resolution.js.map +1 -1
  141. package/dist/resolver/source-package-resolution.test.js +7 -1
  142. package/dist/resolver/source-package-resolution.test.js.map +1 -1
  143. package/dist/resolver.test.js +37 -0
  144. package/dist/resolver.test.js.map +1 -1
  145. package/dist/surface/profiles.d.ts.map +1 -1
  146. package/dist/surface/profiles.js +12 -0
  147. package/dist/surface/profiles.js.map +1 -1
  148. package/dist/surface/profiles.test.js +43 -1
  149. package/dist/surface/profiles.test.js.map +1 -1
  150. package/dist/validation/core-intrinsics.d.ts.map +1 -1
  151. package/dist/validation/core-intrinsics.js +1 -115
  152. package/dist/validation/core-intrinsics.js.map +1 -1
  153. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"type-ops.js","sourceRoot":"","sources":["../../../src/ir/types/type-ops.ts"],"names":[],"mappings":"AAGA,MAAM,YAAY,GAAG,CACnB,IASC,EACO,EAAE;IACV,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,eAAe;YAClB,OAAO,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,KAAK,aAAa;YAChB,OAAO,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7C,KAAK,mBAAmB;YACtB,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC3B,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC;QACf,KAAK,aAAa;YAChB,OAAO,SAAS,CAAC;QACnB,KAAK,UAAU;YACb,OAAO,MAAM,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,KAAkB,EAAU,EAAE;IAClD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC;IACtC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;AACjF,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,MAAyB,EAAU,EAAE;IAC/D,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;QACxC,OAAO,QAAQ,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IACzH,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU;QAClC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC;QACpC,CAAC,CAAC,MAAM,CAAC;IACX,OAAO,UAAU,MAAM,CAAC,IAAI,IAAI,cAAc,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAwB,EAAqB,EAAE;IACxE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC9B,eAAe,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CACrD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,IAAgD,EACxC,EAAE,CACV,IAAI,CAAC,MAAM,EAAE,QAAQ;IACnB,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;IAC9B,CAAC,CAAC,IAAI,CAAC,eAAe;QACpB,CAAC,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE;QAC/B,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;AAE5B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAsB,EAAE;IACzE,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO,SAAS,CAAC;IACpD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC;IAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC;IAClD,MAAM,cAAc,GAClB,UAAU,KAAK,SAAS;QACxB,UAAU,KAAK,aAAa;QAC5B,UAAU,KAAK,QAAQ;QACvB,UAAU,KAAK,QAAQ;QACvB,UAAU,KAAK,aAAa;QAC5B,UAAU,KAAK,aAAa;QAC5B,OAAO,KAAK,6BAA6B;QACzC,OAAO,KAAK,kCAAkC;QAC9C,OAAO,CAAC,UAAU,CAAC,+BAA+B,CAAC;QACnD,OAAO,CAAC,UAAU,CAAC,oCAAoC,CAAC,CAAC;IAC3D,OAAO,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAU,EAAE;IACtD,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,eAAe,CAAC;QACrB,KAAK,aAAa,CAAC;QACnB,KAAK,mBAAmB,CAAC;QACzB,KAAK,SAAS,CAAC;QACf,KAAK,aAAa,CAAC;QACnB,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW;YACd,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;QAE5B,KAAK,WAAW;YACd,OAAO,OAAO,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAEpD,KAAK,WAAW;YACd,OAAO,SAAS,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAErE,KAAK,gBAAgB;YACnB,OAAO,QAAQ,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAErF,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAChD,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CACnC,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB;gBACpC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;qBACxB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACb,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAC3D;qBACA,GAAG,CAAC,kBAAkB,CAAC;qBACvB,IAAI,CAAC,GAAG,CAAC;gBACd,CAAC,CAAC,EAAE,CAAC;YACP,OAAO,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,OAAO,EAAE,CAAC;QAC3E,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACpD,OAAO,MAAM,MAAM,KAAK,UAAU,EAAE,CAAC;QACvC,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;iBAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACb,kBAAkB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAC3D;iBACA,GAAG,CAAC,kBAAkB,CAAC;iBACvB,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,OAAO,OAAO,OAAO,EAAE,CAAC;QAC1B,CAAC;QAED,KAAK,WAAW;YACd,OAAO,SAAS,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAEjF,KAAK,kBAAkB;YACrB,OAAO,SAAS,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACnF,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,KAAa,EAAW,EAAE,CACnE,eAAe,CAAC,IAAI,CAAC,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAwB,EAAU,EAAE;IACtE,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,CAAC,IAAY,EAAQ,EAAE;QAC3C,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChC,aAAa,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;YACD,OAAO;QACT,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAExC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AAClD,CAAC,CAAC"}
1
+ {"version":3,"file":"type-ops.js","sourceRoot":"","sources":["../../../src/ir/types/type-ops.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { describe, it } from "mocha";
2
2
  import { expect } from "chai";
3
- import { irTypesEqual, normalizedUnionType, stableIrTypeKey, unwrapAsyncWrapperType, } from "./type-ops.js";
3
+ import { getAwaitedIrType, isAwaitableIrType, irTypesEqual, normalizedUnionType, stableIrTypeKey, unwrapAsyncWrapperType, } from "./type-ops.js";
4
4
  const stringType = { kind: "primitiveType", name: "string" };
5
5
  const numberType = { kind: "primitiveType", name: "number" };
6
6
  const booleanType = { kind: "primitiveType", name: "boolean" };
@@ -69,5 +69,48 @@ describe("type-ops", () => {
69
69
  expect(unwrapAsyncWrapperType(valueTaskType)).to.deep.equal(payload);
70
70
  expect(unwrapAsyncWrapperType(plainType)).to.equal(undefined);
71
71
  });
72
+ it("treats non-generic Task and ValueTask as awaitable void wrappers", () => {
73
+ const taskType = {
74
+ kind: "referenceType",
75
+ name: "Task",
76
+ resolvedClrType: "System.Threading.Tasks.Task",
77
+ typeArguments: [],
78
+ };
79
+ const valueTaskType = {
80
+ kind: "referenceType",
81
+ name: "ValueTask",
82
+ resolvedClrType: "System.Threading.Tasks.ValueTask",
83
+ typeArguments: [],
84
+ };
85
+ expect(isAwaitableIrType(taskType)).to.equal(true);
86
+ expect(isAwaitableIrType(valueTaskType)).to.equal(true);
87
+ expect(getAwaitedIrType(taskType)).to.deep.equal({ kind: "voidType" });
88
+ expect(getAwaitedIrType(valueTaskType)).to.deep.equal({
89
+ kind: "voidType",
90
+ });
91
+ expect(unwrapAsyncWrapperType(taskType)).to.equal(undefined);
92
+ expect(unwrapAsyncWrapperType(valueTaskType)).to.equal(undefined);
93
+ });
94
+ it("unwraps fully-qualified Task and ValueTask wrappers using type arguments", () => {
95
+ const payload = { kind: "primitiveType", name: "string" };
96
+ const taskType = {
97
+ kind: "referenceType",
98
+ name: "System.Threading.Tasks.Task",
99
+ resolvedClrType: "global::System.Threading.Tasks.Task",
100
+ typeArguments: [payload],
101
+ };
102
+ const valueTaskType = {
103
+ kind: "referenceType",
104
+ name: "System.Threading.Tasks.ValueTask",
105
+ resolvedClrType: "global::System.Threading.Tasks.ValueTask",
106
+ typeArguments: [payload],
107
+ };
108
+ expect(isAwaitableIrType(taskType)).to.equal(true);
109
+ expect(isAwaitableIrType(valueTaskType)).to.equal(true);
110
+ expect(getAwaitedIrType(taskType)).to.deep.equal(payload);
111
+ expect(getAwaitedIrType(valueTaskType)).to.deep.equal(payload);
112
+ expect(unwrapAsyncWrapperType(taskType)).to.deep.equal(payload);
113
+ expect(unwrapAsyncWrapperType(valueTaskType)).to.deep.equal(payload);
114
+ });
72
115
  });
73
116
  //# sourceMappingURL=type-ops.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-ops.test.js","sourceRoot":"","sources":["../../../src/ir/types/type-ops.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-ops.test.js","sourceRoot":"","sources":["../../../src/ir/types/type-ops.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,GAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACrE,MAAM,UAAU,GAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACrE,MAAM,WAAW,GAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAEvE,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,IAAI,GAAW;YACnB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC;SAC7C,CAAC;QACF,MAAM,KAAK,GAAW;YACpB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,UAAU,CAAC;SAC7C,CAAC;QAEF,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,MAAM,GAAW;YACrB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE;gBACL,UAAU;gBACV;oBACE,IAAI,EAAE,WAAW;oBACjB,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;iBAChC;aACF;SACF,CAAC;QAEF,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO;QAC5C,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,eAAe,CAAC,WAAW,CAAC;YAC5B,eAAe,CAAC,UAAU,CAAC;YAC3B,eAAe,CAAC,UAAU,CAAC;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,OAAO,GAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QAE/D,MAAM,WAAW,GAAW;YAC1B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,SAAS;YACf,aAAa,EAAE,CAAC,OAAO,CAAC;SACzB,CAAC;QACF,MAAM,QAAQ,GAAW;YACvB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,+BAA+B;YACrC,eAAe,EAAE,+CAA+C;YAChE,aAAa,EAAE,CAAC,OAAO,CAAC;SACzB,CAAC;QACF,MAAM,aAAa,GAAW;YAC5B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,aAAa;YACnB,eAAe,EAAE,oDAAoD;YACrE,aAAa,EAAE,CAAC,OAAO,CAAC;SACzB,CAAC;QACF,MAAM,SAAS,GAAW;YACxB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,CAAC,OAAO,CAAC;SACzB,CAAC;QAEF,MAAM,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrE,MAAM,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,QAAQ,GAAW;YACvB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,MAAM;YACZ,eAAe,EAAE,6BAA6B;YAC9C,aAAa,EAAE,EAAE;SAClB,CAAC;QACF,MAAM,aAAa,GAAW;YAC5B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,WAAW;YACjB,eAAe,EAAE,kCAAkC;YACnD,aAAa,EAAE,EAAE;SAClB,CAAC;QAEF,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACpD,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,OAAO,GAAW,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAW;YACvB,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,6BAA6B;YACnC,eAAe,EAAE,qCAAqC;YACtD,aAAa,EAAE,CAAC,OAAO,CAAC;SACzB,CAAC;QACF,MAAM,aAAa,GAAW;YAC5B,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,kCAAkC;YACxC,eAAe,EAAE,0CAA0C;YAC3D,aAAa,EAAE,CAAC,OAAO,CAAC;SACzB,CAAC;QAEF,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -4,5 +4,5 @@
4
4
  */
5
5
  export type { IrModule, IrImport, IrImportSpecifier, IrExport, IrStatement, IrVariableDeclaration, IrVariableDeclarator, IrFunctionDeclaration, IrClassDeclaration, IrClassMember, IrMethodDeclaration, IrPropertyDeclaration, IrConstructorDeclaration, IrInterfaceDeclaration, IrEnumDeclaration, IrEnumMember, IrTypeAliasDeclaration, IrExpressionStatement, IrReturnStatement, IrIfStatement, IrWhileStatement, IrForStatement, IrForOfStatement, IrForInStatement, IrSwitchStatement, IrSwitchCase, IrThrowStatement, IrTryStatement, IrCatchClause, IrBlockStatement, IrBreakStatement, IrContinueStatement, IrEmptyStatement, IrYieldStatement, IrGeneratorReturnStatement, IrExpression, IrLiteralExpression, IrIdentifierExpression, IrArrayExpression, IrObjectExpression, IrObjectProperty, IrFunctionExpression, IrArrowFunctionExpression, IrMemberExpression, IrCallExpression, IrNewExpression, IrThisExpression, IrUpdateExpression, IrUnaryExpression, IrBinaryExpression, IrLogicalExpression, IrConditionalExpression, IrAssignmentExpression, IrTemplateLiteralExpression, IrSpreadExpression, IrAwaitExpression, IrYieldExpression, IrNumericNarrowingExpression, IrTypeAssertionExpression, IrAsInterfaceExpression, IrTryCastExpression, IrStackAllocExpression, IrDefaultOfExpression, IrNameOfExpression, IrSizeOfExpression, NumericProof, ProofSource, ComputedAccessKind, IrType, IrPrimitiveType, IrReferenceType, IrArrayType, IrTupleType, IrFunctionType, IrObjectType, IrDictionaryType, IrUnionType, IrIntersectionType, IrLiteralType, IrAnyType, IrUnknownType, IrVoidType, IrNeverType, IrAttributeTarget, IrAttribute, IrAttributePrimitiveArg, IrAttributeArg, IrPattern, IrIdentifierPattern, IrArrayPattern, IrObjectPattern, IrObjectPatternProperty, IrTypeParameter, IrParameter, IrInterfaceMember, IrPropertySignature, IrMethodSignature, IrAccessibility, IrBinaryOperator, IrAssignmentOperator, NumericKind, } from "./types/index.js";
6
6
  export { isStatement, isExpression } from "./types/guards.js";
7
- export { TSONIC_TO_NUMERIC_KIND, NUMERIC_KIND_TO_CSHARP, NUMERIC_RANGES, isIntegerKind, isSignedKind, getBinaryResultKind, literalFitsInKind, isWideningConversion, isValidIntegerLexeme, parseBigIntFromRaw, bigIntFitsInKind, inferNumericKindFromRaw, } from "./types/index.js";
7
+ export { TSONIC_TO_NUMERIC_KIND, NUMERIC_KIND_TO_CSHARP, NUMERIC_RANGES, getAwaitedIrType, isIntegerKind, isAwaitableIrType, isSignedKind, getBinaryResultKind, literalFitsInKind, isWideningConversion, isValidIntegerLexeme, parseBigIntFromRaw, bigIntFitsInKind, inferNumericKindFromRaw, } from "./types/index.js";
8
8
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ir/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAEV,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EAER,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,EAE1B,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,kBAAkB,EAElB,MAAM,EACN,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EAEX,iBAAiB,EACjB,WAAW,EACX,uBAAuB,EACvB,cAAc,EAEd,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EAEpB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EAEpB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ir/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAEV,QAAQ,EACR,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EAER,WAAW,EACX,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,0BAA0B,EAE1B,YAAY,EACZ,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,EAC5B,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,kBAAkB,EAElB,MAAM,EACN,eAAe,EACf,eAAe,EACf,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,aAAa,EACb,UAAU,EACV,WAAW,EAEX,iBAAiB,EACjB,WAAW,EACX,uBAAuB,EACvB,cAAc,EAEd,SAAS,EACT,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EAEpB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EAEpB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC"}
package/dist/ir/types.js CHANGED
@@ -5,7 +5,7 @@
5
5
  // Re-export type guards
6
6
  export { isStatement, isExpression } from "./types/guards.js";
7
7
  // Re-export numeric utilities
8
- export { TSONIC_TO_NUMERIC_KIND, NUMERIC_KIND_TO_CSHARP, NUMERIC_RANGES, isIntegerKind, isSignedKind, getBinaryResultKind, literalFitsInKind, isWideningConversion,
8
+ export { TSONIC_TO_NUMERIC_KIND, NUMERIC_KIND_TO_CSHARP, NUMERIC_RANGES, getAwaitedIrType, isIntegerKind, isAwaitableIrType, isSignedKind, getBinaryResultKind, literalFitsInKind, isWideningConversion,
9
9
  // Numeric helpers (literal type inference)
10
10
  isValidIntegerLexeme, parseBigIntFromRaw, bigIntFitsInKind, inferNumericKindFromRaw, } from "./types/index.js";
11
11
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ir/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkHH,wBAAwB;AACxB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE9D,8BAA8B;AAC9B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB;AACpB,2CAA2C;AAC3C,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ir/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkHH,wBAAwB;AACxB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE9D,8BAA8B;AAC9B,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB;AACpB,2CAA2C;AAC3C,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"numeric-proof-pass.d.ts","sourceRoot":"","sources":["../../../src/ir/validation/numeric-proof-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,UAAU,EAGX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,QAAQ,EAeT,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;CAC7C,CAAC;AA4/CF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,SAAS,QAAQ,EAAE,KAC3B;IACD,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;CAgB7C,CAAC"}
1
+ {"version":3,"file":"numeric-proof-pass.d.ts","sourceRoot":"","sources":["../../../src/ir/validation/numeric-proof-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,UAAU,EAGX,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,QAAQ,EAeT,MAAM,aAAa,CAAC;AAErB;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;CAC7C,CAAC;AA6/CF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,SAAS,QAAQ,EAAE,KAC3B;IACD,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC;IACtC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;CAgB7C,CAAC"}
@@ -84,19 +84,19 @@ const extractInt32BoundFact = (expr) => {
84
84
  if (expr.kind !== "binary") {
85
85
  return undefined;
86
86
  }
87
- const directIdentifier = isIdentifierExpr(expr.left) &&
88
- extractIntegerLiteralBound(expr.right) !== undefined
87
+ const leftBound = extractIntegerLiteralBound(expr.right);
88
+ const rightBound = extractIntegerLiteralBound(expr.left);
89
+ const directIdentifier = isIdentifierExpr(expr.left) && leftBound !== undefined
89
90
  ? {
90
91
  name: expr.left.name,
91
- bound: extractIntegerLiteralBound(expr.right),
92
+ bound: leftBound,
92
93
  operator: expr.operator,
93
94
  reversed: false,
94
95
  }
95
- : isIdentifierExpr(expr.right) &&
96
- extractIntegerLiteralBound(expr.left) !== undefined
96
+ : isIdentifierExpr(expr.right) && rightBound !== undefined
97
97
  ? {
98
98
  name: expr.right.name,
99
- bound: extractIntegerLiteralBound(expr.left),
99
+ bound: rightBound,
100
100
  operator: expr.operator,
101
101
  reversed: true,
102
102
  }
@@ -1030,7 +1030,7 @@ const processStatement = (stmt, ctx) => {
1030
1030
  ? processExpression(stmt.expression, ctx)
1031
1031
  : undefined,
1032
1032
  };
1033
- case "ifStatement":
1033
+ case "ifStatement": {
1034
1034
  const processedCondition = processExpression(stmt.condition, ctx);
1035
1035
  const thenCtx = withInt32ProofsFromTruthyCondition(cloneProofContext(ctx), processedCondition);
1036
1036
  return {
@@ -1041,6 +1041,7 @@ const processStatement = (stmt, ctx) => {
1041
1041
  ? processStatement(stmt.elseStatement, ctx)
1042
1042
  : undefined,
1043
1043
  };
1044
+ }
1044
1045
  case "whileStatement":
1045
1046
  return {
1046
1047
  ...stmt,
@@ -1 +1 @@
1
- {"version":3,"file":"numeric-proof-pass.js","sourceRoot":"","sources":["../../../src/ir/validation/numeric-proof-pass.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"numeric-proof-pass.js","sourceRoot":"","sources":["../../../src/ir/validation/numeric-proof-pass.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export declare class BindingRegistry {
14
14
  private readonly simpleBindingsLowercase;
15
15
  private readonly namespaces;
16
16
  private readonly types;
17
+ private readonly typeLookupAliasMap;
17
18
  private readonly members;
18
19
  private readonly memberOverloads;
19
20
  private readonly clrMemberOverloads;
@@ -121,6 +122,7 @@ export declare class BindingRegistry {
121
122
  * Clear all loaded bindings
122
123
  */
123
124
  clear(): void;
125
+ private resolveLookupAlias;
124
126
  private resolveSimpleBindingAlias;
125
127
  }
126
128
  //# sourceMappingURL=binding-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"binding-registry.d.ts","sourceRoot":"","sources":["../../src/program/binding-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binding-registry.d.ts","sourceRoot":"","sources":["../../src/program/binding-registry.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export class BindingRegistry {
24
24
  // Hierarchical format: namespace/type/member bindings
25
25
  this.namespaces = new Map();
26
26
  this.types = new Map(); // Flat lookup by TS name
27
+ this.typeLookupAliasMap = new Map(); // CLR FQN or qualified TS alias -> canonical TS alias
27
28
  this.members = new Map(); // Flat lookup by "type.member"
28
29
  this.memberOverloads = new Map(); // Overload-aware lookup by "type.member"
29
30
  this.clrMemberOverloads = new Map(); // Overload-aware lookup by CLR target key
@@ -275,6 +276,12 @@ export class BindingRegistry {
275
276
  }
276
277
  else if (isTsbindgenBindingFile(manifest)) {
277
278
  // tsbindgen format: convert to internal format
279
+ const namespaceTypes = [];
280
+ const derivedAliasCounts = new Map();
281
+ for (const tsbType of manifest.types) {
282
+ const derivedAlias = tsbindgenClrTypeNameToTsTypeName(tsbType.clrName);
283
+ derivedAliasCounts.set(derivedAlias, (derivedAliasCounts.get(derivedAlias) ?? 0) + 1);
284
+ }
278
285
  for (const tsbType of manifest.types) {
279
286
  // Create members from methods, properties, and fields
280
287
  const members = [];
@@ -285,6 +292,7 @@ export class BindingRegistry {
285
292
  // No naming policy: TS member names are the CLR names as authored.
286
293
  alias: method.clrName,
287
294
  signature: method.normalizedSignature,
295
+ semanticSignature: method.semanticSignature,
288
296
  parameterCount: method.parameterCount,
289
297
  binding: {
290
298
  assembly: method.declaringAssemblyName,
@@ -323,6 +331,9 @@ export class BindingRegistry {
323
331
  for (const prop of tsbType.properties) {
324
332
  members.push({
325
333
  kind: "property",
334
+ signature: prop.normalizedSignature,
335
+ semanticType: prop.semanticType,
336
+ semanticOptional: prop.semanticOptional,
326
337
  name: prop.clrName,
327
338
  alias: prop.clrName,
328
339
  binding: {
@@ -336,6 +347,9 @@ export class BindingRegistry {
336
347
  // Fields are treated as properties for binding purposes
337
348
  members.push({
338
349
  kind: "property",
350
+ signature: field.normalizedSignature,
351
+ semanticType: field.semanticType,
352
+ semanticOptional: field.semanticOptional,
339
353
  name: field.clrName,
340
354
  alias: field.clrName,
341
355
  binding: {
@@ -345,7 +359,9 @@ export class BindingRegistry {
345
359
  },
346
360
  });
347
361
  }
348
- const tsAlias = tsbindgenClrTypeNameToTsTypeName(tsbType.clrName);
362
+ const derivedAlias = tsbindgenClrTypeNameToTsTypeName(tsbType.clrName);
363
+ const tsAlias = tsbType.alias ?? derivedAlias;
364
+ const uniqueDerivedAlias = (derivedAliasCounts.get(derivedAlias) ?? 0) === 1;
349
365
  // Record CLR inheritance relationships (base type + interfaces) so extension-method
350
366
  // binding lookup can follow the CLR graph deterministically.
351
367
  const baseAlias = tsbType.baseType?.clrName
@@ -380,13 +396,22 @@ export class BindingRegistry {
380
396
  members,
381
397
  };
382
398
  this.clrTypeNames.add(tsbType.clrName);
399
+ this.typeLookupAliasMap.set(tsbType.clrName, typeBinding.alias);
400
+ if (!typeBinding.alias.includes(".")) {
401
+ this.typeLookupAliasMap.set(`${manifest.namespace}.${typeBinding.alias}`, typeBinding.alias);
402
+ }
403
+ namespaceTypes.push(typeBinding);
383
404
  // Index the type by its TS name.
384
405
  this.types.set(typeBinding.alias, typeBinding);
406
+ if (uniqueDerivedAlias && derivedAlias !== typeBinding.alias) {
407
+ this.types.set(derivedAlias, typeBinding);
408
+ this.typeLookupAliasMap.set(derivedAlias, typeBinding.alias);
409
+ }
385
410
  // Also index by simple name if ts alias has arity suffix (e.g., "List_1" -> also index as "List")
386
411
  // This is needed because TS exports both List_1 and List as aliases, and TS code uses List<T>
387
412
  // IMPORTANT: Only set if not already present - non-generic versions should take precedence
388
413
  // (e.g., Action should resolve to System.Action, not System.Action`9)
389
- const arityMatch = typeBinding.alias.match(/^(.+)_(\d+)$/);
414
+ const arityMatch = derivedAlias.match(/^(.+)_(\d+)$/);
390
415
  const simpleAlias = arityMatch ? arityMatch[1] : null;
391
416
  if (simpleAlias &&
392
417
  simpleAlias !== typeBinding.alias &&
@@ -395,10 +420,16 @@ export class BindingRegistry {
395
420
  }
396
421
  // Index members for direct lookup.
397
422
  for (const member of members) {
398
- // Key by TS name (e.g., "List_1.Add")
423
+ // Key by canonical TS alias.
399
424
  const tsKey = `${typeBinding.alias}.${member.alias}`;
400
425
  this.members.set(tsKey, member);
401
426
  addMemberOverload(tsKey, member);
427
+ // Also key by the derived/simple alias when it is uniquely owned.
428
+ if (uniqueDerivedAlias && derivedAlias !== typeBinding.alias) {
429
+ const derivedKey = `${derivedAlias}.${member.alias}`;
430
+ this.members.set(derivedKey, member);
431
+ addMemberOverload(derivedKey, member);
432
+ }
402
433
  // Also key by simple alias if applicable (e.g., "List.Add")
403
434
  if (simpleAlias) {
404
435
  const simpleKey = `${simpleAlias}.${member.alias}`;
@@ -419,6 +450,11 @@ export class BindingRegistry {
419
450
  }
420
451
  this.tsbindgenExports.set(manifest.namespace, nsExports);
421
452
  }
453
+ this.namespaces.set(manifest.namespace, {
454
+ name: manifest.namespace,
455
+ alias: manifest.namespace,
456
+ types: namespaceTypes,
457
+ });
422
458
  }
423
459
  else {
424
460
  // Simple format: global/module bindings
@@ -445,7 +481,7 @@ export class BindingRegistry {
445
481
  * Look up a type binding by TS alias
446
482
  */
447
483
  getType(tsAlias) {
448
- return this.types.get(tsAlias);
484
+ return this.types.get(this.resolveLookupAlias(tsAlias));
449
485
  }
450
486
  /**
451
487
  * Check whether a CLR type name exists in loaded bindings.
@@ -457,18 +493,19 @@ export class BindingRegistry {
457
493
  * Look up a member binding by TS type alias and member alias
458
494
  */
459
495
  getMember(typeAlias, memberAlias) {
460
- const key = `${typeAlias}.${memberAlias}`;
496
+ const normalizedTypeAlias = this.resolveLookupAlias(typeAlias);
497
+ const key = `${normalizedTypeAlias}.${memberAlias}`;
461
498
  const direct = this.members.get(key);
462
499
  if (direct)
463
500
  return direct;
464
501
  // tsbindgen encodes protected CLR members on a synthetic `${TypeName}$protected` class.
465
502
  // Those members are still declared on the real CLR type, so bindings must resolve
466
503
  // through the owning type alias.
467
- if (typeAlias.endsWith("$protected")) {
468
- const ownerAlias = typeAlias.slice(0, -"$protected".length);
504
+ if (normalizedTypeAlias.endsWith("$protected")) {
505
+ const ownerAlias = normalizedTypeAlias.slice(0, -"$protected".length);
469
506
  return this.members.get(`${ownerAlias}.${memberAlias}`);
470
507
  }
471
- const mappedAlias = this.resolveSimpleBindingAlias(typeAlias);
508
+ const mappedAlias = this.resolveSimpleBindingAlias(normalizedTypeAlias);
472
509
  if (mappedAlias) {
473
510
  const mapped = this.members.get(`${mappedAlias}.${memberAlias}`);
474
511
  if (mapped)
@@ -490,19 +527,20 @@ export class BindingRegistry {
490
527
  * preserves overload sets so the call converter can select the correct one.
491
528
  */
492
529
  getMemberOverloads(typeAlias, memberAlias) {
493
- const key = `${typeAlias}.${memberAlias}`;
530
+ const normalizedTypeAlias = this.resolveLookupAlias(typeAlias);
531
+ const key = `${normalizedTypeAlias}.${memberAlias}`;
494
532
  const direct = this.memberOverloads.get(key);
495
533
  if (direct && direct.length > 0)
496
534
  return direct;
497
535
  // See getMember(): map `${TypeName}$protected` to `${TypeName}` for CLR binding lookup.
498
- if (typeAlias.endsWith("$protected")) {
499
- const ownerAlias = typeAlias.slice(0, -"$protected".length);
536
+ if (normalizedTypeAlias.endsWith("$protected")) {
537
+ const ownerAlias = normalizedTypeAlias.slice(0, -"$protected".length);
500
538
  const ownerKey = `${ownerAlias}.${memberAlias}`;
501
539
  const owner = this.memberOverloads.get(ownerKey);
502
540
  if (owner && owner.length > 0)
503
541
  return owner;
504
542
  }
505
- const mappedAlias = this.resolveSimpleBindingAlias(typeAlias);
543
+ const mappedAlias = this.resolveSimpleBindingAlias(normalizedTypeAlias);
506
544
  if (mappedAlias) {
507
545
  const mappedKey = `${mappedAlias}.${memberAlias}`;
508
546
  const mapped = this.memberOverloads.get(mappedKey);
@@ -588,6 +626,7 @@ export class BindingRegistry {
588
626
  this.simpleBindingsLowercase.clear();
589
627
  this.namespaces.clear();
590
628
  this.types.clear();
629
+ this.typeLookupAliasMap.clear();
591
630
  this.members.clear();
592
631
  this.memberOverloads.clear();
593
632
  this.clrMemberOverloads.clear();
@@ -596,6 +635,9 @@ export class BindingRegistry {
596
635
  this.tsSupertypes.clear();
597
636
  this.clrTypeNames.clear();
598
637
  }
638
+ resolveLookupAlias(typeAlias) {
639
+ return this.typeLookupAliasMap.get(typeAlias) ?? typeAlias;
640
+ }
599
641
  resolveSimpleBindingAlias(typeAlias) {
600
642
  const descriptor = this.simpleBindings.get(typeAlias) ??
601
643
  this.simpleBindingsLowercase.get(typeAlias.toLowerCase());