@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,67 @@
1
+ /**
2
+ * Member access property type resolution and name extraction helpers
3
+ *
4
+ * ALICE'S SPEC: All member type queries go through TypeSystem.typeOfMember().
5
+ * Falls back to Binding-resolved MemberId only when the receiver type cannot
6
+ * be normalized nominally (e.g., tsbindgen `$instance & __views` intersections).
7
+ */
8
+ import * as ts from "typescript";
9
+ import { IrType, ComputedAccessKind } from "../../../types.js";
10
+ import type { ProgramContext } from "../../../program-context.js";
11
+ /**
12
+ * Get the declared property type from a property access expression.
13
+ *
14
+ * ALICE'S SPEC: Uses TypeSystem.typeOfMember() as primary source.
15
+ * Falls back to Binding for inherited members not in TypeRegistry.
16
+ *
17
+ * @param node - Property access expression node
18
+ * @param receiverIrType - Already-computed IR type of the receiver (object) expression
19
+ * @param ctx - ProgramContext for type system and binding access
20
+ * @returns The deterministically computed property type
21
+ */
22
+ export declare const getDeclaredPropertyType: (node: ts.PropertyAccessExpression, receiverIrType: IrType | undefined, ctx: ProgramContext) => IrType | undefined;
23
+ /**
24
+ * Normalize a receiver type for computed access classification.
25
+ *
26
+ * This supports common TS shapes that appear at runtime:
27
+ * - Nullish unions (`T | undefined` / `T | null | undefined`)
28
+ * - tsbindgen-style intersection views (`T$instance & __T$views`, and primitives like
29
+ * `string & String$instance & __String$views`)
30
+ *
31
+ * The goal is to preserve deterministic proof behavior without heuristics.
32
+ */
33
+ export declare const normalizeForComputedAccess: (type: IrType | undefined) => IrType | undefined;
34
+ /**
35
+ * Classify computed member access for proof pass.
36
+ * This determines whether Int32 proof is required for the index.
37
+ *
38
+ * Classification is based on IR type kinds, NOT string matching.
39
+ * CLR indexers (arrays, List<T>, etc.) require Int32 proof for indices.
40
+ *
41
+ * IMPORTANT: If classification cannot be determined reliably for a CLR-bound
42
+ * reference type, we conservatively assume `clrIndexer` (requires Int32 proof).
43
+ * This is safer than allowing arbitrary dictionary access without proof.
44
+ *
45
+ * @param objectType - The inferred type of the object being accessed
46
+ * @returns The access kind classification
47
+ */
48
+ export declare const classifyComputedAccess: (objectType: IrType | undefined, ctx: ProgramContext) => ComputedAccessKind;
49
+ /**
50
+ * Extract the type name from an inferred type for binding lookup.
51
+ * Handles tsbindgen's naming convention where instance types are suffixed with $instance
52
+ * (e.g., List_1$instance → List_1 for binding lookup)
53
+ *
54
+ * Also handles intersection types like `TypeName$instance & __TypeName$views`
55
+ * which are common in tsbindgen-generated types. In this case, we look for
56
+ * the $instance member and extract the type name from it.
57
+ */
58
+ export declare const extractTypeName: (inferredType: IrType | undefined) => string | undefined;
59
+ /**
60
+ * Derive element type from object type for element access.
61
+ * - Array type → element type
62
+ * - Dictionary type → value type
63
+ * - String → string (single character)
64
+ * - Other → undefined
65
+ */
66
+ export declare const deriveElementType: (objectType: IrType | undefined, ctx: ProgramContext) => IrType | undefined;
67
+ //# sourceMappingURL=member-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-resolution.d.ts","sourceRoot":"","sources":["../../../../../src/ir/converters/expressions/access/member-resolution.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAiClE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,EAAE,CAAC,wBAAwB,EACjC,gBAAgB,MAAM,GAAG,SAAS,EAClC,KAAK,cAAc,KAClB,MAAM,GAAG,SA+CX,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,GACrC,MAAM,MAAM,GAAG,SAAS,KACvB,MAAM,GAAG,SA8BX,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB,GACjC,YAAY,MAAM,GAAG,SAAS,EAC9B,KAAK,cAAc,KAClB,kBA6BF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAC1B,cAAc,MAAM,GAAG,SAAS,KAC/B,MAAM,GAAG,SA6FX,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,YAAY,MAAM,GAAG,SAAS,EAC9B,KAAK,cAAc,KAClB,MAAM,GAAG,SA+BX,CAAC"}
@@ -0,0 +1,262 @@
1
+ /**
2
+ * Member access property type resolution and name extraction helpers
3
+ *
4
+ * ALICE'S SPEC: All member type queries go through TypeSystem.typeOfMember().
5
+ * Falls back to Binding-resolved MemberId only when the receiver type cannot
6
+ * be normalized nominally (e.g., tsbindgen `$instance & __views` intersections).
7
+ */
8
+ /**
9
+ * Fallback for getDeclaredPropertyType when TypeSystem can't resolve the member.
10
+ * Uses TypeSystem.typeOfMemberId() to get member types for:
11
+ * - Built-in types from globals (Array.Length, string.Length, etc.)
12
+ * - CLR-bound types from tsbindgen
13
+ * - Types with inherited members not in TypeRegistry
14
+ *
15
+ * ALICE'S SPEC: Uses TypeSystem as single source of truth.
16
+ */
17
+ const getDeclaredPropertyTypeFallback = (node, ctx) => {
18
+ // ALICE'S SPEC: Use TypeSystem.typeOfMemberId() to get member type
19
+ const typeSystem = ctx.typeSystem;
20
+ // Resolve property member through Binding layer
21
+ const memberId = ctx.binding.resolvePropertyAccess(node);
22
+ if (!memberId)
23
+ return undefined;
24
+ // Use TypeSystem.typeOfMemberId() to get the member's declared type
25
+ const memberType = typeSystem.typeOfMemberId(memberId);
26
+ // If TypeSystem returns unknownType, treat as not found
27
+ if (memberType.kind === "unknownType") {
28
+ return undefined;
29
+ }
30
+ return memberType;
31
+ };
32
+ /**
33
+ * Get the declared property type from a property access expression.
34
+ *
35
+ * ALICE'S SPEC: Uses TypeSystem.typeOfMember() as primary source.
36
+ * Falls back to Binding for inherited members not in TypeRegistry.
37
+ *
38
+ * @param node - Property access expression node
39
+ * @param receiverIrType - Already-computed IR type of the receiver (object) expression
40
+ * @param ctx - ProgramContext for type system and binding access
41
+ * @returns The deterministically computed property type
42
+ */
43
+ export const getDeclaredPropertyType = (node, receiverIrType, ctx) => {
44
+ const DEBUG = process.env.DEBUG_PROPERTY_TYPE === "1";
45
+ const propertyName = node.name.text;
46
+ if (DEBUG) {
47
+ console.log("[getDeclaredPropertyType]", propertyName, "on receiver:", receiverIrType);
48
+ }
49
+ // Try TypeSystem.typeOfMember() first
50
+ const typeSystem = ctx.typeSystem;
51
+ if (receiverIrType && receiverIrType.kind !== "unknownType") {
52
+ const memberType = typeSystem.typeOfMember(receiverIrType, {
53
+ kind: "byName",
54
+ name: propertyName,
55
+ });
56
+ if (DEBUG) {
57
+ console.log("[getDeclaredPropertyType]", propertyName, "TypeSystem returned:", memberType);
58
+ }
59
+ // If TypeSystem returned a valid type (not unknownType), use it
60
+ if (memberType.kind !== "unknownType") {
61
+ return memberType;
62
+ }
63
+ // Fall through to Binding fallback
64
+ }
65
+ // Fallback: Use Binding for inherited members not in TypeRegistry
66
+ // (e.g., Array.Length from Array$instance)
67
+ const fallbackResult = getDeclaredPropertyTypeFallback(node, ctx);
68
+ if (DEBUG) {
69
+ console.log("[getDeclaredPropertyType]", propertyName, "fallback returned:", fallbackResult);
70
+ }
71
+ return fallbackResult;
72
+ };
73
+ /**
74
+ * Normalize a receiver type for computed access classification.
75
+ *
76
+ * This supports common TS shapes that appear at runtime:
77
+ * - Nullish unions (`T | undefined` / `T | null | undefined`)
78
+ * - tsbindgen-style intersection views (`T$instance & __T$views`, and primitives like
79
+ * `string & String$instance & __String$views`)
80
+ *
81
+ * The goal is to preserve deterministic proof behavior without heuristics.
82
+ */
83
+ export const normalizeForComputedAccess = (type) => {
84
+ if (!type)
85
+ return undefined;
86
+ if (type.kind === "unionType") {
87
+ const nonNullish = type.types.filter((t) => !(t.kind === "primitiveType" &&
88
+ (t.name === "null" || t.name === "undefined")));
89
+ if (nonNullish.length === 1) {
90
+ const only = nonNullish[0];
91
+ return only ? normalizeForComputedAccess(only) : undefined;
92
+ }
93
+ }
94
+ if (type.kind === "intersectionType") {
95
+ const pick = type.types.find((t) => t.kind === "arrayType") ??
96
+ type.types.find((t) => t.kind === "dictionaryType") ??
97
+ type.types.find((t) => t.kind === "primitiveType" && t.name === "string") ??
98
+ type.types.find((t) => t.kind === "referenceType");
99
+ return pick ? normalizeForComputedAccess(pick) : type;
100
+ }
101
+ return type;
102
+ };
103
+ /**
104
+ * Classify computed member access for proof pass.
105
+ * This determines whether Int32 proof is required for the index.
106
+ *
107
+ * Classification is based on IR type kinds, NOT string matching.
108
+ * CLR indexers (arrays, List<T>, etc.) require Int32 proof for indices.
109
+ *
110
+ * IMPORTANT: If classification cannot be determined reliably for a CLR-bound
111
+ * reference type, we conservatively assume `clrIndexer` (requires Int32 proof).
112
+ * This is safer than allowing arbitrary dictionary access without proof.
113
+ *
114
+ * @param objectType - The inferred type of the object being accessed
115
+ * @returns The access kind classification
116
+ */
117
+ export const classifyComputedAccess = (objectType, ctx) => {
118
+ const normalized = normalizeForComputedAccess(objectType);
119
+ if (!normalized)
120
+ return "unknown";
121
+ objectType = normalized;
122
+ // TypeScript array type (number[], T[], etc.)
123
+ // Requires Int32 proof
124
+ if (objectType.kind === "arrayType") {
125
+ return "clrIndexer";
126
+ }
127
+ // IR dictionary type - this is the PRIMARY way to detect dictionaries
128
+ // tsbindgen should emit dictionaryType for Record<K,V> and {[key: K]: V}
129
+ if (objectType.kind === "dictionaryType") {
130
+ return "dictionary";
131
+ }
132
+ // String character access: string[int]
133
+ if (objectType.kind === "primitiveType" && objectType.name === "string") {
134
+ return "stringChar";
135
+ }
136
+ if (objectType.kind === "referenceType") {
137
+ const indexer = ctx.typeSystem.getIndexerInfo(objectType);
138
+ if (!indexer)
139
+ return "clrIndexer";
140
+ return indexer.keyClrType === "System.Int32" ? "clrIndexer" : "dictionary";
141
+ }
142
+ return "unknown";
143
+ };
144
+ /**
145
+ * Extract the type name from an inferred type for binding lookup.
146
+ * Handles tsbindgen's naming convention where instance types are suffixed with $instance
147
+ * (e.g., List_1$instance → List_1 for binding lookup)
148
+ *
149
+ * Also handles intersection types like `TypeName$instance & __TypeName$views`
150
+ * which are common in tsbindgen-generated types. In this case, we look for
151
+ * the $instance member and extract the type name from it.
152
+ */
153
+ export const extractTypeName = (inferredType) => {
154
+ if (!inferredType)
155
+ return undefined;
156
+ // Handle common nullish unions like `Uri | undefined` by stripping null/undefined.
157
+ // This enables CLR member binding after explicit null checks in source code.
158
+ if (inferredType.kind === "unionType") {
159
+ const nonNullish = inferredType.types.filter((t) => !(t.kind === "primitiveType" &&
160
+ (t.name === "null" || t.name === "undefined")));
161
+ if (nonNullish.length === 1) {
162
+ const only = nonNullish[0];
163
+ return only ? extractTypeName(only) : undefined;
164
+ }
165
+ }
166
+ // Handle primitive types - map to their CLR type names for binding lookup
167
+ // This enables binding resolution for methods like string.Split(), number.ToString()
168
+ if (inferredType.kind === "primitiveType") {
169
+ switch (inferredType.name) {
170
+ case "string":
171
+ return "String"; // System.String
172
+ case "number":
173
+ return "Double"; // System.Double (TS number is double)
174
+ case "boolean":
175
+ return "Boolean"; // System.Boolean
176
+ case "char":
177
+ return "Char"; // System.Char
178
+ default:
179
+ return undefined;
180
+ }
181
+ }
182
+ // Handle literal types - determine the CLR type from the value type
183
+ // This enables binding resolution for string literals like "hello".Split(" ")
184
+ if (inferredType.kind === "literalType") {
185
+ const valueType = typeof inferredType.value;
186
+ switch (valueType) {
187
+ case "string":
188
+ return "String"; // System.String
189
+ case "number":
190
+ return "Double"; // System.Double
191
+ case "boolean":
192
+ return "Boolean"; // System.Boolean
193
+ default:
194
+ return undefined;
195
+ }
196
+ }
197
+ if (inferredType.kind === "referenceType") {
198
+ const name = inferredType.name;
199
+ // Strip $instance suffix from tsbindgen-generated type names
200
+ // e.g., "List_1$instance" → "List_1" for binding lookup
201
+ if (name.endsWith("$instance")) {
202
+ return name.slice(0, -"$instance".length);
203
+ }
204
+ return name;
205
+ }
206
+ // Handle intersection types: TypeName$instance & __TypeName$views
207
+ // This happens when TypeScript expands a type alias to its underlying intersection
208
+ // during property access (e.g., listener.prefixes returns HttpListenerPrefixCollection
209
+ // which is HttpListenerPrefixCollection$instance & __HttpListenerPrefixCollection$views)
210
+ if (inferredType.kind === "intersectionType") {
211
+ // Look for a member that ends with $instance - that's the main type
212
+ for (const member of inferredType.types) {
213
+ if (member.kind === "referenceType" &&
214
+ member.name.endsWith("$instance")) {
215
+ // Found the $instance member, strip the suffix to get the type name
216
+ return member.name.slice(0, -"$instance".length);
217
+ }
218
+ }
219
+ // Fallback: look for any referenceType that's not a $views type
220
+ for (const member of inferredType.types) {
221
+ if (member.kind === "referenceType" &&
222
+ !member.name.startsWith("__") &&
223
+ !member.name.endsWith("$views")) {
224
+ return member.name;
225
+ }
226
+ }
227
+ }
228
+ return undefined;
229
+ };
230
+ /**
231
+ * Derive element type from object type for element access.
232
+ * - Array type → element type
233
+ * - Dictionary type → value type
234
+ * - String → string (single character)
235
+ * - Other → undefined
236
+ */
237
+ export const deriveElementType = (objectType, ctx) => {
238
+ objectType = normalizeForComputedAccess(objectType);
239
+ if (!objectType)
240
+ return undefined;
241
+ if (objectType.kind === "arrayType") {
242
+ return objectType.elementType;
243
+ }
244
+ if (objectType.kind === "dictionaryType") {
245
+ return objectType.valueType;
246
+ }
247
+ if (objectType.kind === "primitiveType" && objectType.name === "string") {
248
+ // string[n] returns a single character (string in TS, char in C#)
249
+ return { kind: "primitiveType", name: "string" };
250
+ }
251
+ if (objectType.kind === "referenceType" &&
252
+ objectType.name === "Span" &&
253
+ objectType.typeArguments &&
254
+ objectType.typeArguments.length === 1) {
255
+ return objectType.typeArguments[0];
256
+ }
257
+ if (objectType.kind === "referenceType") {
258
+ return ctx.typeSystem.getIndexerInfo(objectType)?.valueType;
259
+ }
260
+ return undefined;
261
+ };
262
+ //# sourceMappingURL=member-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"member-resolution.js","sourceRoot":"","sources":["../../../../../src/ir/converters/expressions/access/member-resolution.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,5 @@
5
5
  * Falls back to Binding-resolved MemberId only when the receiver type cannot
6
6
  * be normalized nominally (e.g., tsbindgen `$instance & __views` intersections).
7
7
  */
8
- import * as ts from "typescript";
9
- import { IrMemberExpression } from "../../types.js";
10
- import type { ProgramContext } from "../../program-context.js";
11
- /**
12
- * Convert property access or element access expression
13
- */
14
- export declare const convertMemberExpression: (node: ts.PropertyAccessExpression | ts.ElementAccessExpression, ctx: ProgramContext) => IrMemberExpression;
8
+ export { convertMemberExpression } from "./access/access-converter.js";
15
9
  //# sourceMappingURL=access.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../../src/ir/converters/expressions/access.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,EAAE,kBAAkB,EAA8B,MAAM,gBAAgB,CAAC;AAGhF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AA8zB/D;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAClC,MAAM,EAAE,CAAC,wBAAwB,GAAG,EAAE,CAAC,uBAAuB,EAC9D,KAAK,cAAc,KAClB,kBAoGF,CAAC"}
1
+ {"version":3,"file":"access.d.ts","sourceRoot":"","sources":["../../../../src/ir/converters/expressions/access.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}