@tsonic/frontend 0.0.62 → 0.0.63

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 (377) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/dependency-graph.d.ts +1 -1
  3. package/dist/dependency-graph.d.ts.map +1 -1
  4. package/dist/dependency-graph.js +1 -1
  5. package/dist/dependency-graph.js.map +1 -1
  6. package/dist/dotnet-metadata.d.ts +0 -12
  7. package/dist/dotnet-metadata.d.ts.map +1 -1
  8. package/dist/dotnet-metadata.js +0 -24
  9. package/dist/dotnet-metadata.js.map +1 -1
  10. package/dist/generic-function-values.d.ts +11 -0
  11. package/dist/generic-function-values.d.ts.map +1 -0
  12. package/dist/generic-function-values.js +243 -0
  13. package/dist/generic-function-values.js.map +1 -0
  14. package/dist/generic-function-values.test.d.ts +2 -0
  15. package/dist/generic-function-values.test.d.ts.map +1 -0
  16. package/dist/generic-function-values.test.js +256 -0
  17. package/dist/generic-function-values.test.js.map +1 -0
  18. package/dist/graph/extraction/imports.d.ts +5 -0
  19. package/dist/graph/extraction/imports.d.ts.map +1 -1
  20. package/dist/graph/extraction/imports.js +30 -0
  21. package/dist/graph/extraction/imports.js.map +1 -1
  22. package/dist/graph/extraction/index.d.ts +1 -1
  23. package/dist/graph/extraction/index.d.ts.map +1 -1
  24. package/dist/graph/extraction/index.js +1 -1
  25. package/dist/graph/extraction/index.js.map +1 -1
  26. package/dist/graph/extraction/orchestrator.d.ts.map +1 -1
  27. package/dist/graph/extraction/orchestrator.js +16 -2
  28. package/dist/graph/extraction/orchestrator.js.map +1 -1
  29. package/dist/graph/extraction.d.ts +1 -1
  30. package/dist/graph/extraction.d.ts.map +1 -1
  31. package/dist/graph/extraction.js +1 -1
  32. package/dist/graph/extraction.js.map +1 -1
  33. package/dist/ir/binding/binding-factory.d.ts +17 -0
  34. package/dist/ir/binding/binding-factory.d.ts.map +1 -0
  35. package/dist/ir/binding/binding-factory.js +765 -0
  36. package/dist/ir/binding/binding-factory.js.map +1 -0
  37. package/dist/ir/binding/binding-helpers.d.ts +90 -0
  38. package/dist/ir/binding/binding-helpers.d.ts.map +1 -0
  39. package/dist/ir/binding/binding-helpers.js +387 -0
  40. package/dist/ir/binding/binding-helpers.js.map +1 -0
  41. package/dist/ir/binding/binding-types.d.ts +203 -0
  42. package/dist/ir/binding/binding-types.d.ts.map +1 -0
  43. package/dist/ir/binding/binding-types.js +9 -0
  44. package/dist/ir/binding/binding-types.js.map +1 -0
  45. package/dist/ir/binding/index.d.ts +4 -158
  46. package/dist/ir/binding/index.d.ts.map +1 -1
  47. package/dist/ir/binding/index.js +3 -1134
  48. package/dist/ir/binding/index.js.map +1 -1
  49. package/dist/ir/builder.test.js +223 -0
  50. package/dist/ir/builder.test.js.map +1 -1
  51. package/dist/ir/converters/anonymous-synthesis.d.ts +3 -3
  52. package/dist/ir/converters/anonymous-synthesis.d.ts.map +1 -1
  53. package/dist/ir/converters/anonymous-synthesis.js +45 -8
  54. package/dist/ir/converters/anonymous-synthesis.js.map +1 -1
  55. package/dist/ir/converters/expressions/access/access-converter.d.ts +14 -0
  56. package/dist/ir/converters/expressions/access/access-converter.d.ts.map +1 -0
  57. package/dist/ir/converters/expressions/access/access-converter.js +141 -0
  58. package/dist/ir/converters/expressions/access/access-converter.js.map +1 -0
  59. package/dist/ir/converters/expressions/access/binding-resolution.d.ts +35 -0
  60. package/dist/ir/converters/expressions/access/binding-resolution.d.ts.map +1 -0
  61. package/dist/ir/converters/expressions/access/binding-resolution.js +384 -0
  62. package/dist/ir/converters/expressions/access/binding-resolution.js.map +1 -0
  63. package/dist/ir/converters/expressions/access/member-resolution.d.ts +67 -0
  64. package/dist/ir/converters/expressions/access/member-resolution.d.ts.map +1 -0
  65. package/dist/ir/converters/expressions/access/member-resolution.js +262 -0
  66. package/dist/ir/converters/expressions/access/member-resolution.js.map +1 -0
  67. package/dist/ir/converters/expressions/access.d.ts +1 -7
  68. package/dist/ir/converters/expressions/access.d.ts.map +1 -1
  69. package/dist/ir/converters/expressions/access.js +1 -720
  70. package/dist/ir/converters/expressions/access.js.map +1 -1
  71. package/dist/ir/converters/expressions/calls/call-converter.d.ts +23 -0
  72. package/dist/ir/converters/expressions/calls/call-converter.d.ts.map +1 -0
  73. package/dist/ir/converters/expressions/calls/call-converter.js +526 -0
  74. package/dist/ir/converters/expressions/calls/call-converter.js.map +1 -0
  75. package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts +53 -0
  76. package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts.map +1 -0
  77. package/dist/ir/converters/expressions/calls/call-site-analysis.js +554 -0
  78. package/dist/ir/converters/expressions/calls/call-site-analysis.js.map +1 -0
  79. package/dist/ir/converters/expressions/calls/new-converter.d.ts +21 -0
  80. package/dist/ir/converters/expressions/calls/new-converter.d.ts.map +1 -0
  81. package/dist/ir/converters/expressions/calls/new-converter.js +182 -0
  82. package/dist/ir/converters/expressions/calls/new-converter.js.map +1 -0
  83. package/dist/ir/converters/expressions/calls.d.ts +2 -28
  84. package/dist/ir/converters/expressions/calls.d.ts.map +1 -1
  85. package/dist/ir/converters/expressions/calls.js +2 -1344
  86. package/dist/ir/converters/expressions/calls.js.map +1 -1
  87. package/dist/ir/converters/expressions/collections.d.ts.map +1 -1
  88. package/dist/ir/converters/expressions/collections.js +37 -6
  89. package/dist/ir/converters/expressions/collections.js.map +1 -1
  90. package/dist/ir/converters/expressions/functions.js +1 -1
  91. package/dist/ir/converters/expressions/functions.js.map +1 -1
  92. package/dist/ir/converters/expressions/helpers.d.ts.map +1 -1
  93. package/dist/ir/converters/expressions/helpers.js +1 -0
  94. package/dist/ir/converters/expressions/helpers.js.map +1 -1
  95. package/dist/ir/converters/expressions/other.d.ts.map +1 -1
  96. package/dist/ir/converters/expressions/other.js +3 -2
  97. package/dist/ir/converters/expressions/other.js.map +1 -1
  98. package/dist/ir/converters/flow-narrowing.d.ts.map +1 -1
  99. package/dist/ir/converters/flow-narrowing.js +3 -2
  100. package/dist/ir/converters/flow-narrowing.js.map +1 -1
  101. package/dist/ir/converters/statements/declarations/classes/methods.js +1 -1
  102. package/dist/ir/converters/statements/declarations/classes/methods.js.map +1 -1
  103. package/dist/ir/converters/statements/declarations/type-aliases.js +1 -1
  104. package/dist/ir/converters/statements/declarations/type-aliases.js.map +1 -1
  105. package/dist/ir/converters/statements/declarations/variables.d.ts +2 -2
  106. package/dist/ir/converters/statements/declarations/variables.d.ts.map +1 -1
  107. package/dist/ir/converters/statements/declarations/variables.js +289 -2
  108. package/dist/ir/converters/statements/declarations/variables.js.map +1 -1
  109. package/dist/ir/expression-converter.d.ts +0 -1
  110. package/dist/ir/expression-converter.d.ts.map +1 -1
  111. package/dist/ir/expression-converter.js +0 -2
  112. package/dist/ir/expression-converter.js.map +1 -1
  113. package/dist/ir/generic-function-value-lowering.test.d.ts +2 -0
  114. package/dist/ir/generic-function-value-lowering.test.d.ts.map +1 -0
  115. package/dist/ir/generic-function-value-lowering.test.js +312 -0
  116. package/dist/ir/generic-function-value-lowering.test.js.map +1 -0
  117. package/dist/ir/generic-validator.d.ts +3 -4
  118. package/dist/ir/generic-validator.d.ts.map +1 -1
  119. package/dist/ir/generic-validator.js +3 -35
  120. package/dist/ir/generic-validator.js.map +1 -1
  121. package/dist/ir/program-context.d.ts +7 -0
  122. package/dist/ir/program-context.d.ts.map +1 -1
  123. package/dist/ir/program-context.js +1 -0
  124. package/dist/ir/program-context.js.map +1 -1
  125. package/dist/ir/statement-converter.d.ts +0 -2
  126. package/dist/ir/statement-converter.d.ts.map +1 -1
  127. package/dist/ir/statement-converter.js +0 -3
  128. package/dist/ir/statement-converter.js.map +1 -1
  129. package/dist/ir/type-system/internal/handle-types.d.ts +16 -16
  130. package/dist/ir/type-system/internal/handle-types.d.ts.map +1 -1
  131. package/dist/ir/type-system/internal/nominal-env.d.ts +0 -2
  132. package/dist/ir/type-system/internal/nominal-env.d.ts.map +1 -1
  133. package/dist/ir/type-system/internal/nominal-env.js +2 -6
  134. package/dist/ir/type-system/internal/nominal-env.js.map +1 -1
  135. package/dist/ir/type-system/internal/type-converter/converter.d.ts +3 -1
  136. package/dist/ir/type-system/internal/type-converter/converter.d.ts.map +1 -1
  137. package/dist/ir/type-system/internal/type-converter/converter.js +3 -1
  138. package/dist/ir/type-system/internal/type-converter/converter.js.map +1 -1
  139. package/dist/ir/type-system/internal/type-converter/objects.js +7 -1
  140. package/dist/ir/type-system/internal/type-converter/objects.js.map +1 -1
  141. package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts +0 -2
  142. package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts.map +1 -1
  143. package/dist/ir/type-system/internal/type-converter/orchestrator.js +315 -23
  144. package/dist/ir/type-system/internal/type-converter/orchestrator.js.map +1 -1
  145. package/dist/ir/type-system/internal/type-converter/orchestrator.test.d.ts +2 -0
  146. package/dist/ir/type-system/internal/type-converter/orchestrator.test.d.ts.map +1 -0
  147. package/dist/ir/type-system/internal/type-converter/orchestrator.test.js +265 -0
  148. package/dist/ir/type-system/internal/type-converter/orchestrator.test.js.map +1 -0
  149. package/dist/ir/type-system/internal/type-converter/primitives.d.ts.map +1 -1
  150. package/dist/ir/type-system/internal/type-converter/primitives.js +5 -0
  151. package/dist/ir/type-system/internal/type-converter/primitives.js.map +1 -1
  152. package/dist/ir/type-system/internal/type-converter/references.d.ts.map +1 -1
  153. package/dist/ir/type-system/internal/type-converter/references.js +67 -29
  154. package/dist/ir/type-system/internal/type-converter/references.js.map +1 -1
  155. package/dist/ir/type-system/internal/type-converter/utility-types.d.ts.map +1 -1
  156. package/dist/ir/type-system/internal/type-converter/utility-types.js +145 -0
  157. package/dist/ir/type-system/internal/type-converter/utility-types.js.map +1 -1
  158. package/dist/ir/type-system/internal/type-converter/utility-types.test.js +91 -1
  159. package/dist/ir/type-system/internal/type-converter/utility-types.test.js.map +1 -1
  160. package/dist/ir/type-system/internal/type-registry.d.ts +1 -1
  161. package/dist/ir/type-system/internal/type-registry.js +7 -7
  162. package/dist/ir/type-system/internal/type-registry.js.map +1 -1
  163. package/dist/ir/type-system/internal/universe/alias-table.d.ts +0 -14
  164. package/dist/ir/type-system/internal/universe/alias-table.d.ts.map +1 -1
  165. package/dist/ir/type-system/internal/universe/alias-table.js +0 -17
  166. package/dist/ir/type-system/internal/universe/alias-table.js.map +1 -1
  167. package/dist/ir/type-system/internal/universe/clr-catalog.d.ts +3 -0
  168. package/dist/ir/type-system/internal/universe/clr-catalog.d.ts.map +1 -1
  169. package/dist/ir/type-system/internal/universe/clr-catalog.js +4 -1044
  170. package/dist/ir/type-system/internal/universe/clr-catalog.js.map +1 -1
  171. package/dist/ir/type-system/internal/universe/clr-entry-converter.d.ts +51 -0
  172. package/dist/ir/type-system/internal/universe/clr-entry-converter.d.ts.map +1 -0
  173. package/dist/ir/type-system/internal/universe/clr-entry-converter.js +657 -0
  174. package/dist/ir/type-system/internal/universe/clr-entry-converter.js.map +1 -0
  175. package/dist/ir/type-system/internal/universe/clr-type-parser.d.ts +52 -0
  176. package/dist/ir/type-system/internal/universe/clr-type-parser.d.ts.map +1 -0
  177. package/dist/ir/type-system/internal/universe/clr-type-parser.js +415 -0
  178. package/dist/ir/type-system/internal/universe/clr-type-parser.js.map +1 -0
  179. package/dist/ir/type-system/internal/universe/index.d.ts +1 -1
  180. package/dist/ir/type-system/internal/universe/index.d.ts.map +1 -1
  181. package/dist/ir/type-system/internal/universe/index.js +1 -3
  182. package/dist/ir/type-system/internal/universe/index.js.map +1 -1
  183. package/dist/ir/type-system/internal/universe/unified-universe.test.js +2 -0
  184. package/dist/ir/type-system/internal/universe/unified-universe.test.js.map +1 -1
  185. package/dist/ir/type-system/type-system-call-resolution.d.ts +69 -0
  186. package/dist/ir/type-system/type-system-call-resolution.d.ts.map +1 -0
  187. package/dist/ir/type-system/type-system-call-resolution.js +1121 -0
  188. package/dist/ir/type-system/type-system-call-resolution.js.map +1 -0
  189. package/dist/ir/type-system/type-system-inference.d.ts +98 -0
  190. package/dist/ir/type-system/type-system-inference.d.ts.map +1 -0
  191. package/dist/ir/type-system/type-system-inference.js +1083 -0
  192. package/dist/ir/type-system/type-system-inference.js.map +1 -0
  193. package/dist/ir/type-system/type-system-relations.d.ts +15 -0
  194. package/dist/ir/type-system/type-system-relations.d.ts.map +1 -0
  195. package/dist/ir/type-system/type-system-relations.js +152 -0
  196. package/dist/ir/type-system/type-system-relations.js.map +1 -0
  197. package/dist/ir/type-system/type-system-state.d.ts +436 -0
  198. package/dist/ir/type-system/type-system-state.d.ts.map +1 -0
  199. package/dist/ir/type-system/type-system-state.js +212 -0
  200. package/dist/ir/type-system/type-system-state.js.map +1 -0
  201. package/dist/ir/type-system/type-system-utilities.d.ts +56 -0
  202. package/dist/ir/type-system/type-system-utilities.d.ts.map +1 -0
  203. package/dist/ir/type-system/type-system-utilities.js +373 -0
  204. package/dist/ir/type-system/type-system-utilities.js.map +1 -0
  205. package/dist/ir/type-system/type-system.d.ts +17 -358
  206. package/dist/ir/type-system/type-system.d.ts.map +1 -1
  207. package/dist/ir/type-system/type-system.js +67 -2945
  208. package/dist/ir/type-system/type-system.js.map +1 -1
  209. package/dist/ir/types/index.d.ts +1 -0
  210. package/dist/ir/types/index.d.ts.map +1 -1
  211. package/dist/ir/types/index.js +1 -0
  212. package/dist/ir/types/index.js.map +1 -1
  213. package/dist/ir/types/ir-substitution.js +1 -1
  214. package/dist/ir/types/ir-substitution.js.map +1 -1
  215. package/dist/ir/types/statements.d.ts +1 -1
  216. package/dist/ir/types/type-ops.d.ts +9 -0
  217. package/dist/ir/types/type-ops.d.ts.map +1 -0
  218. package/dist/ir/types/type-ops.js +134 -0
  219. package/dist/ir/types/type-ops.js.map +1 -0
  220. package/dist/ir/types/type-ops.test.d.ts +2 -0
  221. package/dist/ir/types/type-ops.test.d.ts.map +1 -0
  222. package/dist/ir/types/type-ops.test.js +73 -0
  223. package/dist/ir/types/type-ops.test.js.map +1 -0
  224. package/dist/ir/validation/attribute-collection/arg-extractor.d.ts +58 -0
  225. package/dist/ir/validation/attribute-collection/arg-extractor.d.ts.map +1 -0
  226. package/dist/ir/validation/attribute-collection/arg-extractor.js +284 -0
  227. package/dist/ir/validation/attribute-collection/arg-extractor.js.map +1 -0
  228. package/dist/ir/validation/attribute-collection/marker-parser.d.ts +28 -0
  229. package/dist/ir/validation/attribute-collection/marker-parser.d.ts.map +1 -0
  230. package/dist/ir/validation/attribute-collection/marker-parser.js +404 -0
  231. package/dist/ir/validation/attribute-collection/marker-parser.js.map +1 -0
  232. package/dist/ir/validation/attribute-collection/orchestrator.d.ts +28 -0
  233. package/dist/ir/validation/attribute-collection/orchestrator.d.ts.map +1 -0
  234. package/dist/ir/validation/attribute-collection/orchestrator.js +332 -0
  235. package/dist/ir/validation/attribute-collection/orchestrator.js.map +1 -0
  236. package/dist/ir/validation/attribute-collection-pass.d.ts +1 -23
  237. package/dist/ir/validation/attribute-collection-pass.d.ts.map +1 -1
  238. package/dist/ir/validation/attribute-collection-pass.js +1 -961
  239. package/dist/ir/validation/attribute-collection-pass.js.map +1 -1
  240. package/dist/ir/validation/attribute-collection-pass.test.js +12 -6
  241. package/dist/ir/validation/attribute-collection-pass.test.js.map +1 -1
  242. package/dist/ir/validation/soundness-gate.d.ts.map +1 -1
  243. package/dist/ir/validation/soundness-gate.js +2 -1
  244. package/dist/ir/validation/soundness-gate.js.map +1 -1
  245. package/dist/ir/validation/soundness-gate.test.js +69 -0
  246. package/dist/ir/validation/soundness-gate.test.js.map +1 -1
  247. package/dist/ir/validation/yield-lowering-pass.d.ts +11 -5
  248. package/dist/ir/validation/yield-lowering-pass.d.ts.map +1 -1
  249. package/dist/ir/validation/yield-lowering-pass.js +942 -48
  250. package/dist/ir/validation/yield-lowering-pass.js.map +1 -1
  251. package/dist/ir/validation/yield-lowering-pass.test.js +1333 -127
  252. package/dist/ir/validation/yield-lowering-pass.test.js.map +1 -1
  253. package/dist/program/binding-loader.d.ts +37 -0
  254. package/dist/program/binding-loader.d.ts.map +1 -0
  255. package/dist/program/binding-loader.js +155 -0
  256. package/dist/program/binding-loader.js.map +1 -0
  257. package/dist/program/binding-registry.d.ts +106 -0
  258. package/dist/program/binding-registry.d.ts.map +1 -0
  259. package/dist/program/binding-registry.js +590 -0
  260. package/dist/program/binding-registry.js.map +1 -0
  261. package/dist/program/binding-types.d.ts +166 -0
  262. package/dist/program/binding-types.d.ts.map +1 -0
  263. package/dist/program/binding-types.js +57 -0
  264. package/dist/program/binding-types.js.map +1 -0
  265. package/dist/program/bindings.d.ts +6 -271
  266. package/dist/program/bindings.d.ts.map +1 -1
  267. package/dist/program/bindings.js +7 -781
  268. package/dist/program/bindings.js.map +1 -1
  269. package/dist/resolver/clr-bindings-resolver.d.ts +0 -1
  270. package/dist/resolver/clr-bindings-resolver.d.ts.map +1 -1
  271. package/dist/resolver/clr-bindings-resolver.js +22 -32
  272. package/dist/resolver/clr-bindings-resolver.js.map +1 -1
  273. package/dist/resolver/clr-bindings-resolver.test.js +0 -27
  274. package/dist/resolver/clr-bindings-resolver.test.js.map +1 -1
  275. package/dist/resolver/import-resolution.d.ts +1 -1
  276. package/dist/resolver/import-resolution.d.ts.map +1 -1
  277. package/dist/resolver/import-resolution.js +2 -7
  278. package/dist/resolver/import-resolution.js.map +1 -1
  279. package/dist/resolver/naming.d.ts.map +1 -1
  280. package/dist/resolver/naming.js +1 -0
  281. package/dist/resolver/naming.js.map +1 -1
  282. package/dist/types/diagnostic.d.ts +1 -1
  283. package/dist/types/diagnostic.d.ts.map +1 -1
  284. package/dist/types/diagnostic.js.map +1 -1
  285. package/dist/validation/features.d.ts.map +1 -1
  286. package/dist/validation/features.js +38 -13
  287. package/dist/validation/features.js.map +1 -1
  288. package/dist/validation/features.test.d.ts +2 -0
  289. package/dist/validation/features.test.d.ts.map +1 -0
  290. package/dist/validation/features.test.js +273 -0
  291. package/dist/validation/features.test.js.map +1 -0
  292. package/dist/validation/generics.d.ts +1 -1
  293. package/dist/validation/generics.d.ts.map +1 -1
  294. package/dist/validation/generics.js +2 -26
  295. package/dist/validation/generics.js.map +1 -1
  296. package/dist/validation/imports.d.ts.map +1 -1
  297. package/dist/validation/imports.js +2 -1
  298. package/dist/validation/imports.js.map +1 -1
  299. package/dist/validation/imports.test.d.ts +2 -0
  300. package/dist/validation/imports.test.d.ts.map +1 -0
  301. package/dist/validation/imports.test.js +112 -0
  302. package/dist/validation/imports.test.js.map +1 -0
  303. package/dist/validation/static-safety.d.ts +6 -6
  304. package/dist/validation/static-safety.d.ts.map +1 -1
  305. package/dist/validation/static-safety.js +163 -109
  306. package/dist/validation/static-safety.js.map +1 -1
  307. package/dist/validation/unsupported-utility-types.d.ts +3 -3
  308. package/dist/validation/unsupported-utility-types.d.ts.map +1 -1
  309. package/dist/validation/unsupported-utility-types.js +4 -7
  310. package/dist/validation/unsupported-utility-types.js.map +1 -1
  311. package/dist/validator.maximus.test.d.ts +2 -0
  312. package/dist/validator.maximus.test.d.ts.map +1 -0
  313. package/dist/validator.maximus.test.js +1214 -0
  314. package/dist/validator.maximus.test.js.map +1 -0
  315. package/dist/validator.test.js +152 -18
  316. package/dist/validator.test.js.map +1 -1
  317. package/package.json +1 -1
  318. package/dist/ir/converters/statements/declarations/registry.d.ts +0 -96
  319. package/dist/ir/converters/statements/declarations/registry.d.ts.map +0 -1
  320. package/dist/ir/converters/statements/declarations/registry.js +0 -130
  321. package/dist/ir/converters/statements/declarations/registry.js.map +0 -1
  322. package/dist/ir/this-parameter-inference.test.d.ts +0 -13
  323. package/dist/ir/this-parameter-inference.test.d.ts.map +0 -1
  324. package/dist/ir/this-parameter-inference.test.js +0 -165
  325. package/dist/ir/this-parameter-inference.test.js.map +0 -1
  326. package/dist/metadata/bindings-loader.d.ts +0 -41
  327. package/dist/metadata/bindings-loader.d.ts.map +0 -1
  328. package/dist/metadata/bindings-loader.js +0 -308
  329. package/dist/metadata/bindings-loader.js.map +0 -1
  330. package/dist/metadata/bindings-loader.test.d.ts +0 -5
  331. package/dist/metadata/bindings-loader.test.d.ts.map +0 -1
  332. package/dist/metadata/bindings-loader.test.js +0 -117
  333. package/dist/metadata/bindings-loader.test.js.map +0 -1
  334. package/dist/metadata/index.d.ts +0 -8
  335. package/dist/metadata/index.d.ts.map +0 -1
  336. package/dist/metadata/index.js +0 -7
  337. package/dist/metadata/index.js.map +0 -1
  338. package/dist/metadata/library-loader.d.ts +0 -42
  339. package/dist/metadata/library-loader.d.ts.map +0 -1
  340. package/dist/metadata/library-loader.js +0 -126
  341. package/dist/metadata/library-loader.js.map +0 -1
  342. package/dist/metadata/loader.d.ts +0 -26
  343. package/dist/metadata/loader.d.ts.map +0 -1
  344. package/dist/metadata/loader.js +0 -333
  345. package/dist/metadata/loader.js.map +0 -1
  346. package/dist/metadata/loader.test.d.ts +0 -5
  347. package/dist/metadata/loader.test.d.ts.map +0 -1
  348. package/dist/metadata/loader.test.js +0 -119
  349. package/dist/metadata/loader.test.js.map +0 -1
  350. package/dist/resolver/naming-policy.d.ts +0 -20
  351. package/dist/resolver/naming-policy.d.ts.map +0 -1
  352. package/dist/resolver/naming-policy.js +0 -40
  353. package/dist/resolver/naming-policy.js.map +0 -1
  354. package/dist/types/bindings.d.ts +0 -153
  355. package/dist/types/bindings.d.ts.map +0 -1
  356. package/dist/types/bindings.js +0 -14
  357. package/dist/types/bindings.js.map +0 -1
  358. package/dist/types/metadata.d.ts +0 -196
  359. package/dist/types/metadata.d.ts.map +0 -1
  360. package/dist/types/metadata.js +0 -10
  361. package/dist/types/metadata.js.map +0 -1
  362. package/dist/types/nested-types.d.ts +0 -111
  363. package/dist/types/nested-types.d.ts.map +0 -1
  364. package/dist/types/nested-types.js +0 -176
  365. package/dist/types/nested-types.js.map +0 -1
  366. package/dist/types/nested-types.test.d.ts +0 -5
  367. package/dist/types/nested-types.test.d.ts.map +0 -1
  368. package/dist/types/nested-types.test.js +0 -135
  369. package/dist/types/nested-types.test.js.map +0 -1
  370. package/dist/types/ref-parameters.d.ts +0 -123
  371. package/dist/types/ref-parameters.d.ts.map +0 -1
  372. package/dist/types/ref-parameters.js +0 -203
  373. package/dist/types/ref-parameters.js.map +0 -1
  374. package/dist/types/ref-parameters.test.d.ts +0 -5
  375. package/dist/types/ref-parameters.test.d.ts.map +0 -1
  376. package/dist/types/ref-parameters.test.js +0 -147
  377. package/dist/types/ref-parameters.test.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clr-entry-converter.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/clr-entry-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * CLR Type String Parsing
3
+ *
4
+ * Pure functions for parsing CLR type strings (from normalized signatures
5
+ * and bindings.json) into IrType nodes.
6
+ *
7
+ * Also includes helpers for converting tsbindgen .d.ts TypeNode AST nodes
8
+ * to IrType and computing signature keys for deterministic overload matching.
9
+ */
10
+ import * as ts from "typescript";
11
+ import type { IrType } from "../../../types/index.js";
12
+ import type { TypeId } from "./types.js";
13
+ /**
14
+ * Parse a CLR type string from normalized signature into IrType.
15
+ *
16
+ * Examples:
17
+ * - "System.String" → { kind: "primitiveType", name: "string" }
18
+ * - "System.Int32" → { kind: "primitiveType", name: "int" }
19
+ * - "System.Double" → { kind: "primitiveType", name: "number" }
20
+ * - "System.Boolean" → { kind: "primitiveType", name: "boolean" }
21
+ * - "System.Char" → { kind: "primitiveType", name: "char" }
22
+ * - "System.Void" → { kind: "voidType" }
23
+ * - "System.Object" → { kind: "referenceType", name: "object" }
24
+ * - "T" → { kind: "typeParameterType", name: "T" }
25
+ * - "System.Collections.Generic.List`1[[T]]" → array type or reference
26
+ * - "T[]" → { kind: "arrayType", elementType: ... }
27
+ */
28
+ export declare const parseClrTypeString: (clrType: string) => IrType;
29
+ /**
30
+ * Split type arguments handling nested brackets.
31
+ */
32
+ export declare const splitTypeArguments: (str: string) => string[];
33
+ export declare const INSTANCE_SUFFIX = "$instance";
34
+ export declare const VIEWS_PREFIX = "__";
35
+ export declare const VIEWS_SUFFIX = "$views";
36
+ export declare const stripTsBindgenInstanceSuffix: (name: string) => string;
37
+ export declare const stripTsBindgenViewsWrapper: (name: string) => string | undefined;
38
+ export declare const getRightmostQualifiedNameText: (name: ts.EntityName) => string;
39
+ export declare const getRightmostPropertyAccessText: (expr: ts.Expression) => string | undefined;
40
+ export declare const dtsTypeNodeToIrType: (node: ts.TypeNode, inScopeTypeParams: ReadonlySet<string>, tsNameToTypeId: ReadonlyMap<string, TypeId>) => IrType;
41
+ export declare const irTypeToSignatureKey: (type: IrType) => string;
42
+ export declare const makeMethodSignatureKey: (args: {
43
+ readonly isStatic: boolean;
44
+ readonly name: string;
45
+ readonly typeParamCount: number;
46
+ readonly parameters: readonly {
47
+ readonly type: IrType;
48
+ readonly isRest: boolean;
49
+ }[];
50
+ readonly returnType: IrType;
51
+ }) => string;
52
+ //# sourceMappingURL=clr-type-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clr-type-parser.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/clr-type-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAMzC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,KAAG,MA4KpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,MAAM,EAyBtD,CAAC;AAMF,eAAO,MAAM,eAAe,cAAc,CAAC;AAC3C,eAAO,MAAM,YAAY,OAAO,CAAC;AACjC,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,eAAO,MAAM,4BAA4B,GAAI,MAAM,MAAM,KAAG,MAI3D,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,MAAM,MAAM,KACX,MAAM,GAAG,SAIX,CAAC;AAEF,eAAO,MAAM,6BAA6B,GAAI,MAAM,EAAE,CAAC,UAAU,KAAG,MAGnE,CAAC;AAEF,eAAO,MAAM,8BAA8B,GACzC,MAAM,EAAE,CAAC,UAAU,KAClB,MAAM,GAAG,SAQX,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,EAAE,CAAC,QAAQ,EACjB,mBAAmB,WAAW,CAAC,MAAM,CAAC,EACtC,gBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,KAC1C,MA4GF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,MAiFnD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,MAAM;IAC3C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,SAAS;QAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;KAC1B,EAAE,CAAC;IACJ,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,KAAG,MAOH,CAAC"}
@@ -0,0 +1,415 @@
1
+ /**
2
+ * CLR Type String Parsing
3
+ *
4
+ * Pure functions for parsing CLR type strings (from normalized signatures
5
+ * and bindings.json) into IrType nodes.
6
+ *
7
+ * Also includes helpers for converting tsbindgen .d.ts TypeNode AST nodes
8
+ * to IrType and computing signature keys for deterministic overload matching.
9
+ */
10
+ import * as ts from "typescript";
11
+ // ═══════════════════════════════════════════════════════════════════════════
12
+ // CLR TYPE STRING PARSING
13
+ // ═══════════════════════════════════════════════════════════════════════════
14
+ /**
15
+ * Parse a CLR type string from normalized signature into IrType.
16
+ *
17
+ * Examples:
18
+ * - "System.String" → { kind: "primitiveType", name: "string" }
19
+ * - "System.Int32" → { kind: "primitiveType", name: "int" }
20
+ * - "System.Double" → { kind: "primitiveType", name: "number" }
21
+ * - "System.Boolean" → { kind: "primitiveType", name: "boolean" }
22
+ * - "System.Char" → { kind: "primitiveType", name: "char" }
23
+ * - "System.Void" → { kind: "voidType" }
24
+ * - "System.Object" → { kind: "referenceType", name: "object" }
25
+ * - "T" → { kind: "typeParameterType", name: "T" }
26
+ * - "System.Collections.Generic.List`1[[T]]" → array type or reference
27
+ * - "T[]" → { kind: "arrayType", elementType: ... }
28
+ */
29
+ export const parseClrTypeString = (clrType) => {
30
+ // Handle void
31
+ if (clrType === "System.Void" || clrType === "void") {
32
+ return { kind: "voidType" };
33
+ }
34
+ // Handle primitive mappings
35
+ const primitiveMap = {
36
+ "System.String": { kind: "primitiveType", name: "string" },
37
+ string: { kind: "primitiveType", name: "string" },
38
+ "System.Int32": { kind: "primitiveType", name: "int" },
39
+ int: { kind: "primitiveType", name: "int" },
40
+ // Distinct CLR numeric aliases from @tsonic/core
41
+ "System.SByte": { kind: "referenceType", name: "sbyte" },
42
+ sbyte: { kind: "referenceType", name: "sbyte" },
43
+ "System.Byte": { kind: "referenceType", name: "byte" },
44
+ byte: { kind: "referenceType", name: "byte" },
45
+ "System.Int16": { kind: "referenceType", name: "short" },
46
+ short: { kind: "referenceType", name: "short" },
47
+ "System.UInt16": { kind: "referenceType", name: "ushort" },
48
+ ushort: { kind: "referenceType", name: "ushort" },
49
+ "System.UInt32": { kind: "referenceType", name: "uint" },
50
+ uint: { kind: "referenceType", name: "uint" },
51
+ "System.Int64": { kind: "referenceType", name: "long" },
52
+ long: { kind: "referenceType", name: "long" },
53
+ "System.UInt64": { kind: "referenceType", name: "ulong" },
54
+ ulong: { kind: "referenceType", name: "ulong" },
55
+ "System.IntPtr": { kind: "referenceType", name: "nint" },
56
+ nint: { kind: "referenceType", name: "nint" },
57
+ "System.UIntPtr": { kind: "referenceType", name: "nuint" },
58
+ nuint: { kind: "referenceType", name: "nuint" },
59
+ "System.Int128": { kind: "referenceType", name: "int128" },
60
+ int128: { kind: "referenceType", name: "int128" },
61
+ "System.UInt128": { kind: "referenceType", name: "uint128" },
62
+ uint128: { kind: "referenceType", name: "uint128" },
63
+ "System.Double": { kind: "primitiveType", name: "number" },
64
+ double: { kind: "primitiveType", name: "number" },
65
+ "System.Single": { kind: "referenceType", name: "float" },
66
+ float: { kind: "referenceType", name: "float" },
67
+ "System.Half": { kind: "referenceType", name: "half" },
68
+ half: { kind: "referenceType", name: "half" },
69
+ "System.Decimal": { kind: "referenceType", name: "decimal" },
70
+ decimal: { kind: "referenceType", name: "decimal" },
71
+ "System.Boolean": { kind: "primitiveType", name: "boolean" },
72
+ bool: { kind: "primitiveType", name: "boolean" },
73
+ "System.Char": { kind: "primitiveType", name: "char" },
74
+ char: { kind: "primitiveType", name: "char" },
75
+ // System.Object is the CLR "top" reference type. Treat it as C# `object`,
76
+ // not TypeScript `any` (airplane-grade: no implicit "any" in IR).
77
+ "System.Object": { kind: "referenceType", name: "object" },
78
+ object: { kind: "referenceType", name: "object" },
79
+ };
80
+ const primitive = primitiveMap[clrType];
81
+ if (primitive)
82
+ return primitive;
83
+ // Handle array types: T[] or System.Array`1[[T]]
84
+ if (clrType.endsWith("[]")) {
85
+ const elementType = clrType.slice(0, -2);
86
+ return {
87
+ kind: "arrayType",
88
+ elementType: parseClrTypeString(elementType),
89
+ };
90
+ }
91
+ // Handle pointer types (convert to ref semantics - just use the base type)
92
+ if (clrType.endsWith("*")) {
93
+ return parseClrTypeString(clrType.slice(0, -1));
94
+ }
95
+ // Handle nullable: Nullable<T> or T?
96
+ if (clrType.startsWith("System.Nullable`1")) {
97
+ // Extract inner type
98
+ const innerMatch = clrType.match(/System\.Nullable`1\[\[([^\]]+)\]\]/);
99
+ if (innerMatch && innerMatch[1]) {
100
+ const innerType = parseClrTypeString(innerMatch[1]);
101
+ return {
102
+ kind: "unionType",
103
+ types: [innerType, { kind: "primitiveType", name: "undefined" }],
104
+ };
105
+ }
106
+ }
107
+ // Handle type parameters (single uppercase letter or common patterns)
108
+ if (/^T\d*$/.test(clrType) || /^T[A-Z][a-zA-Z]*$/.test(clrType)) {
109
+ return { kind: "typeParameterType", name: clrType };
110
+ }
111
+ // Handle tsbindgen-style generic instantiations using underscore arity:
112
+ // KeyValuePair_2[[TKey,TValue]]
113
+ // This format is used in bindings.json for inheritance type arguments.
114
+ const underscoreInstantiationMatch = clrType.match(/^(.+?)_(\d+)\[\[(.+)\]\]$/);
115
+ if (underscoreInstantiationMatch &&
116
+ underscoreInstantiationMatch[1] &&
117
+ underscoreInstantiationMatch[2] &&
118
+ underscoreInstantiationMatch[3]) {
119
+ const baseName = underscoreInstantiationMatch[1];
120
+ const arity = parseInt(underscoreInstantiationMatch[2], 10);
121
+ const typeArgsStr = underscoreInstantiationMatch[3];
122
+ // NOTE: CLR type strings inside normalized signatures often use assembly-qualified
123
+ // type arguments (commas for AssemblyName/Version/Culture/PublicKeyToken).
124
+ // Those commas are not type-argument separators. Only parse `[[...]]` payloads
125
+ // that follow our deterministic tsbindgen encoding for bindings.json heritage
126
+ // (no assembly identity segments).
127
+ //
128
+ // If we mis-parse assembly-qualified args, we break signatureKey matching which
129
+ // hydrates optional/rest flags from tsbindgen .d.ts (airplane-grade determinism).
130
+ const looksAssemblyQualified = /\bVersion=|\bCulture=|\bPublicKeyToken=/.test(typeArgsStr);
131
+ const args = looksAssemblyQualified ? [] : splitTypeArguments(typeArgsStr);
132
+ // Airplane-grade safety: only attach parsed typeArguments when we can prove
133
+ // the arity matches. Otherwise, preserve only the generic *definition* arity
134
+ // and keep the raw CLR string for later resolution.
135
+ const typeArguments = !looksAssemblyQualified && args.length === arity
136
+ ? args.map((arg) => parseClrTypeString(arg.trim()))
137
+ : undefined;
138
+ return {
139
+ kind: "referenceType",
140
+ name: `${baseName}_${arity}`,
141
+ typeArguments,
142
+ resolvedClrType: clrType,
143
+ };
144
+ }
145
+ // Handle generic types: Name`N[[TypeArgs]]
146
+ const genericMatch = clrType.match(/^(.+)`(\d+)(?:\[\[(.+)\]\])?$/);
147
+ if (genericMatch && genericMatch[1] && genericMatch[2]) {
148
+ const baseName = genericMatch[1];
149
+ const arity = parseInt(genericMatch[2], 10);
150
+ const typeArgsStr = genericMatch[3]; // May be undefined
151
+ // Extract type arguments if present
152
+ const typeArguments = [];
153
+ if (typeArgsStr) {
154
+ // Parse comma-separated type args (this is simplified, may need proper parsing)
155
+ const args = splitTypeArguments(typeArgsStr);
156
+ for (const arg of args) {
157
+ typeArguments.push(parseClrTypeString(arg.trim()));
158
+ }
159
+ }
160
+ else {
161
+ // Generate placeholder type parameters
162
+ for (let i = 0; i < arity; i++) {
163
+ typeArguments.push({
164
+ kind: "typeParameterType",
165
+ name: i === 0 ? "T" : `T${i + 1}`,
166
+ });
167
+ }
168
+ }
169
+ return {
170
+ kind: "referenceType",
171
+ name: baseName,
172
+ typeArguments: typeArguments.length > 0 ? typeArguments : undefined,
173
+ resolvedClrType: clrType,
174
+ };
175
+ }
176
+ // Default: treat as reference type
177
+ return {
178
+ kind: "referenceType",
179
+ name: clrType,
180
+ resolvedClrType: clrType,
181
+ };
182
+ };
183
+ /**
184
+ * Split type arguments handling nested brackets.
185
+ */
186
+ export const splitTypeArguments = (str) => {
187
+ const result = [];
188
+ let depth = 0;
189
+ let current = "";
190
+ for (const char of str) {
191
+ if (char === "[") {
192
+ depth++;
193
+ current += char;
194
+ }
195
+ else if (char === "]") {
196
+ depth--;
197
+ current += char;
198
+ }
199
+ else if (char === "," && depth === 0) {
200
+ result.push(current.trim());
201
+ current = "";
202
+ }
203
+ else {
204
+ current += char;
205
+ }
206
+ }
207
+ if (current.trim()) {
208
+ result.push(current.trim());
209
+ }
210
+ return result;
211
+ };
212
+ // ═══════════════════════════════════════════════════════════════════════════
213
+ // TSBINDGEN .D.TS TYPE NODE CONVERSION
214
+ // ═══════════════════════════════════════════════════════════════════════════
215
+ export const INSTANCE_SUFFIX = "$instance";
216
+ export const VIEWS_PREFIX = "__";
217
+ export const VIEWS_SUFFIX = "$views";
218
+ export const stripTsBindgenInstanceSuffix = (name) => {
219
+ return name.endsWith(INSTANCE_SUFFIX)
220
+ ? name.slice(0, -INSTANCE_SUFFIX.length)
221
+ : name;
222
+ };
223
+ export const stripTsBindgenViewsWrapper = (name) => {
224
+ if (!name.startsWith(VIEWS_PREFIX))
225
+ return undefined;
226
+ if (!name.endsWith(VIEWS_SUFFIX))
227
+ return undefined;
228
+ return name.slice(VIEWS_PREFIX.length, -VIEWS_SUFFIX.length);
229
+ };
230
+ export const getRightmostQualifiedNameText = (name) => {
231
+ if (ts.isIdentifier(name))
232
+ return name.text;
233
+ return getRightmostQualifiedNameText(name.right);
234
+ };
235
+ export const getRightmostPropertyAccessText = (expr) => {
236
+ if (ts.isIdentifier(expr))
237
+ return expr.text;
238
+ if (ts.isPropertyAccessExpression(expr))
239
+ return expr.name.text;
240
+ if (ts.isCallExpression(expr))
241
+ return getRightmostPropertyAccessText(expr.expression);
242
+ if (ts.isParenthesizedExpression(expr))
243
+ return getRightmostPropertyAccessText(expr.expression);
244
+ return undefined;
245
+ };
246
+ export const dtsTypeNodeToIrType = (node, inScopeTypeParams, tsNameToTypeId) => {
247
+ // Parenthesized type
248
+ if (ts.isParenthesizedTypeNode(node)) {
249
+ return dtsTypeNodeToIrType(node.type, inScopeTypeParams, tsNameToTypeId);
250
+ }
251
+ // Type references (including type parameters)
252
+ if (ts.isTypeReferenceNode(node)) {
253
+ const rawName = getRightmostQualifiedNameText(node.typeName);
254
+ const baseName = stripTsBindgenInstanceSuffix(rawName);
255
+ // tsbindgen imports CLR numeric aliases from @tsonic/core as type references.
256
+ // For IR purposes, `int` is a distinct primitive type (not referenceType).
257
+ if (baseName === "int" && !node.typeArguments?.length) {
258
+ return { kind: "primitiveType", name: "int" };
259
+ }
260
+ // Type parameter reference: `T` (no type args) where T is in scope
261
+ if (inScopeTypeParams.has(baseName) && !node.typeArguments?.length) {
262
+ return { kind: "typeParameterType", name: baseName };
263
+ }
264
+ const typeArguments = node.typeArguments?.map((a) => dtsTypeNodeToIrType(a, inScopeTypeParams, tsNameToTypeId));
265
+ const resolvedName = typeArguments && typeArguments.length > 0
266
+ ? (() => {
267
+ const arityName = `${baseName}_${typeArguments.length}`;
268
+ return tsNameToTypeId.has(arityName) ? arityName : baseName;
269
+ })()
270
+ : baseName;
271
+ return {
272
+ kind: "referenceType",
273
+ name: resolvedName,
274
+ typeArguments: typeArguments && typeArguments.length > 0 ? typeArguments : undefined,
275
+ };
276
+ }
277
+ // Array types
278
+ if (ts.isArrayTypeNode(node)) {
279
+ return {
280
+ kind: "arrayType",
281
+ elementType: dtsTypeNodeToIrType(node.elementType, inScopeTypeParams, tsNameToTypeId),
282
+ };
283
+ }
284
+ // Union / intersection
285
+ if (ts.isUnionTypeNode(node)) {
286
+ return {
287
+ kind: "unionType",
288
+ types: node.types.map((t) => dtsTypeNodeToIrType(t, inScopeTypeParams, tsNameToTypeId)),
289
+ };
290
+ }
291
+ if (ts.isIntersectionTypeNode(node)) {
292
+ return {
293
+ kind: "intersectionType",
294
+ types: node.types.map((t) => dtsTypeNodeToIrType(t, inScopeTypeParams, tsNameToTypeId)),
295
+ };
296
+ }
297
+ // Literal types
298
+ if (ts.isLiteralTypeNode(node)) {
299
+ const lit = node.literal;
300
+ if (ts.isStringLiteral(lit))
301
+ return { kind: "literalType", value: lit.text };
302
+ if (ts.isNumericLiteral(lit))
303
+ return { kind: "literalType", value: Number(lit.text) };
304
+ if (lit.kind === ts.SyntaxKind.TrueKeyword)
305
+ return { kind: "literalType", value: true };
306
+ if (lit.kind === ts.SyntaxKind.FalseKeyword)
307
+ return { kind: "literalType", value: false };
308
+ }
309
+ // Keywords
310
+ switch (node.kind) {
311
+ case ts.SyntaxKind.StringKeyword:
312
+ return { kind: "primitiveType", name: "string" };
313
+ case ts.SyntaxKind.NumberKeyword:
314
+ return { kind: "primitiveType", name: "number" };
315
+ case ts.SyntaxKind.BooleanKeyword:
316
+ return { kind: "primitiveType", name: "boolean" };
317
+ case ts.SyntaxKind.VoidKeyword:
318
+ return { kind: "voidType" };
319
+ case ts.SyntaxKind.AnyKeyword:
320
+ return { kind: "anyType" };
321
+ case ts.SyntaxKind.UnknownKeyword:
322
+ return { kind: "unknownType" };
323
+ case ts.SyntaxKind.NeverKeyword:
324
+ return { kind: "neverType" };
325
+ case ts.SyntaxKind.NullKeyword:
326
+ return { kind: "primitiveType", name: "null" };
327
+ case ts.SyntaxKind.UndefinedKeyword:
328
+ return { kind: "primitiveType", name: "undefined" };
329
+ default:
330
+ return { kind: "unknownType" };
331
+ }
332
+ };
333
+ export const irTypeToSignatureKey = (type) => {
334
+ switch (type.kind) {
335
+ case "primitiveType":
336
+ return `p:${type.name}`;
337
+ case "literalType":
338
+ return `lit:${JSON.stringify(type.value)}`;
339
+ case "voidType":
340
+ return "void";
341
+ case "neverType":
342
+ return "never";
343
+ case "unknownType":
344
+ return "unknown";
345
+ case "anyType":
346
+ return "any";
347
+ case "typeParameterType":
348
+ // Canonicalize all type parameters to a stable placeholder so tsbindgen's
349
+ // `TContext` matches metadata's `T0`/`T` deterministically.
350
+ return "T";
351
+ case "arrayType":
352
+ return `${irTypeToSignatureKey(type.elementType)}[]`;
353
+ case "tupleType":
354
+ return `[${type.elementTypes
355
+ .map((t) => (t ? irTypeToSignatureKey(t) : "unknown"))
356
+ .join(",")}]`;
357
+ case "unionType": {
358
+ const parts = type.types
359
+ .map((t) => (t ? irTypeToSignatureKey(t) : "unknown"))
360
+ .sort();
361
+ return `(${parts.join("|")})`;
362
+ }
363
+ case "intersectionType": {
364
+ const parts = type.types
365
+ .map((t) => (t ? irTypeToSignatureKey(t) : "unknown"))
366
+ .sort();
367
+ return `(${parts.join("&")})`;
368
+ }
369
+ case "dictionaryType":
370
+ return `{[${irTypeToSignatureKey(type.keyType)}]:${irTypeToSignatureKey(type.valueType)}}`;
371
+ case "functionType": {
372
+ const params = type.parameters
373
+ .map((p) => (p.type ? irTypeToSignatureKey(p.type) : "unknown"))
374
+ .join(",");
375
+ return `fn(${params})->${irTypeToSignatureKey(type.returnType)}`;
376
+ }
377
+ case "objectType":
378
+ return "object";
379
+ case "referenceType": {
380
+ const raw = type.resolvedClrType ?? type.name;
381
+ const withoutArgs = raw.includes("[[")
382
+ ? (raw.split("[[")[0] ?? raw)
383
+ : raw;
384
+ const lastSep = Math.max(withoutArgs.lastIndexOf("."), withoutArgs.lastIndexOf("+"));
385
+ let simple = lastSep >= 0 ? withoutArgs.slice(lastSep + 1) : withoutArgs;
386
+ // Canonicalize CLR backtick arity: `Action`1` -> `Action_1`.
387
+ const backtickMatch = simple.match(/`(\d+)$/);
388
+ if (backtickMatch && backtickMatch[1]) {
389
+ simple = `${simple.slice(0, -backtickMatch[0].length)}_${backtickMatch[1]}`;
390
+ }
391
+ const underscoreMatch = simple.match(/_(\d+)$/);
392
+ const arity = underscoreMatch && underscoreMatch[1]
393
+ ? Number(underscoreMatch[1])
394
+ : undefined;
395
+ const argCount = type.typeArguments?.length ?? arity ?? 0;
396
+ // Signature matching is used only to hydrate optional/rest flags from tsbindgen .d.ts
397
+ // into CLR metadata signatures. To keep matching robust across:
398
+ // - CLR names vs TS names
399
+ // - generic instantiation encodings (Action_1[[...]] vs Action_1<T>)
400
+ // we intentionally ignore concrete type argument *identities* and retain only arity.
401
+ if (argCount <= 0)
402
+ return simple;
403
+ return `${simple}<${Array.from({ length: argCount }, () => "*").join(",")}>`;
404
+ }
405
+ default:
406
+ return "unknown";
407
+ }
408
+ };
409
+ export const makeMethodSignatureKey = (args) => {
410
+ const params = args.parameters
411
+ .map((p) => `${p.isRest ? "..." : ""}${irTypeToSignatureKey(p.type)}`)
412
+ .join(",");
413
+ return `${args.isStatic ? "static" : "instance"}|${args.name}|${args.typeParamCount}|(${params})->${irTypeToSignatureKey(args.returnType)}`;
414
+ };
415
+ //# sourceMappingURL=clr-type-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clr-type-parser.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/clr-type-parser.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ export { makeTypeId, parseStableId, PRIMITIVE_TO_STABLE_ID, STABLE_ID_TO_PRIMITI
18
18
  export { loadClrCatalog, loadSinglePackageBindings, getTypeByStableId, getTypeByTsName, getTypeByClrName, getMemberByTsName, } from "./clr-catalog.js";
19
19
  export { buildUnifiedUniverse, normalizePrimitiveToTypeId, getTypeId, lookupMemberWithInheritance, getMemberDeclaredType, } from "./unified-universe.js";
20
20
  export type { AliasTable } from "./alias-table.js";
21
- export { buildAliasTable, resolveAlias, isKnownAlias, isStdlibTypeName, getPrimitiveNames, getGlobalNames, normalizeToClrName, getInstanceInterfaceName, PRIMITIVE_TO_CLR_FQ, GLOBALS_TO_CLR_FQ, } from "./alias-table.js";
21
+ export { buildAliasTable, resolveAlias, isKnownAlias, isStdlibTypeName, getPrimitiveNames, getGlobalNames, normalizeToClrName, getInstanceInterfaceName, } from "./alias-table.js";
22
22
  export type { ResolutionResult, ResolutionWithCollector, BatchResolutionResult, StdlibValidationResult, } from "./resolution.js";
23
23
  export { resolveTypeName, tryResolveTypeName, resolveTypeNamePure, resolveTypeNames, validateStdlibTypes, } from "./resolution.js";
24
24
  export type { SourceCatalogConfig, SourceCatalogResult, } from "./source-catalog.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,YAAY,EACV,MAAM,EACN,YAAY,EACZ,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAMpB,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,SAAS,EACT,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAM/B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EAExB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAM1B,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAMzB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,YAAY,EACV,MAAM,EACN,YAAY,EACZ,WAAW,EACX,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAMpB,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,SAAS,EACT,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAM/B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAM1B,YAAY,EACV,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAMzB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -22,9 +22,7 @@ export { loadClrCatalog, loadSinglePackageBindings, getTypeByStableId, getTypeBy
22
22
  // UNIFIED UNIVERSE
23
23
  // ═══════════════════════════════════════════════════════════════════════════
24
24
  export { buildUnifiedUniverse, normalizePrimitiveToTypeId, getTypeId, lookupMemberWithInheritance, getMemberDeclaredType, } from "./unified-universe.js";
25
- export { buildAliasTable, resolveAlias, isKnownAlias, isStdlibTypeName, getPrimitiveNames, getGlobalNames, normalizeToClrName, getInstanceInterfaceName,
26
- // Backward compatibility (deprecated - use normalizeToClrName instead)
27
- PRIMITIVE_TO_CLR_FQ, GLOBALS_TO_CLR_FQ, } from "./alias-table.js";
25
+ export { buildAliasTable, resolveAlias, isKnownAlias, isStdlibTypeName, getPrimitiveNames, getGlobalNames, normalizeToClrName, getInstanceInterfaceName, } from "./alias-table.js";
28
26
  export { resolveTypeName, tryResolveTypeName, resolveTypeNamePure, resolveTypeNames, validateStdlibTypes, } from "./resolution.js";
29
27
  export { buildSourceCatalog, shouldIncludeFile } from "./source-catalog.js";
30
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA8BH,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,SAAS,EACT,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,wBAAwB;AACxB,uEAAuE;AACvE,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAa1B,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAWzB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA8BH,OAAO,EACL,UAAU,EACV,aAAa,EACb,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,8EAA8E;AAC9E,cAAc;AACd,8EAA8E;AAE9E,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAE1B,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,SAAS,EACT,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EACL,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAa1B,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAWzB,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -44,6 +44,7 @@ describe("buildUnifiedUniverse", () => {
44
44
  const catalog = buildUnifiedUniverse(makeRegistry(entry), emptyAssemblyCatalog(), "project");
45
45
  const fooId = catalog.resolveTsName("Foo");
46
46
  expect(fooId).to.not.equal(undefined);
47
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
47
48
  const member = catalog.getMember(fooId, "count");
48
49
  expect(member?.type?.kind).to.equal("unionType");
49
50
  if (member?.type?.kind === "unionType") {
@@ -76,6 +77,7 @@ describe("buildUnifiedUniverse", () => {
76
77
  const catalog = buildUnifiedUniverse(makeRegistry(entry), emptyAssemblyCatalog(), "project");
77
78
  const fooId = catalog.resolveTsName("Foo");
78
79
  expect(fooId).to.not.equal(undefined);
80
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
79
81
  const member = catalog.getMember(fooId, "count");
80
82
  expect(member?.type?.kind).to.equal("unionType");
81
83
  if (member?.type?.kind === "unionType") {
@@ -1 +1 @@
1
- {"version":3,"file":"unified-universe.test.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/unified-universe.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unified-universe.test.js","sourceRoot":"","sources":["../../../../../src/ir/type-system/internal/universe/unified-universe.test.ts"],"names":[],"mappings":"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"}