@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,203 @@
1
+ /**
2
+ * Binding Layer — Type Definitions
3
+ *
4
+ * Public and internal type definitions for the Binding layer.
5
+ * Contains Binding/BindingInternal interfaces and internal entry types
6
+ * used by the factory and handle registry.
7
+ */
8
+ import ts from "typescript";
9
+ import type { DeclId, SignatureId, MemberId, TypeSyntaxId } from "../type-system/types.js";
10
+ import type { DeclKind, ParameterNode, TypeParameterNode, SignatureTypePredicate, ClassMemberNames } from "../type-system/internal/handle-types.js";
11
+ /**
12
+ * Binding interface — wraps TS symbol resolution APIs.
13
+ *
14
+ * All methods return opaque handles. Use HandleRegistry to look up
15
+ * the underlying declaration/signature information.
16
+ */
17
+ export type Binding = {
18
+ /**
19
+ * Resolve an identifier to its declaration.
20
+ * Uses checker.getSymbolAtLocation + symbol.getDeclarations().
21
+ */
22
+ resolveIdentifier(node: ts.Identifier): DeclId | undefined;
23
+ /**
24
+ * Resolve a type reference to its declaration.
25
+ * For qualified names (A.B.C), resolves the rightmost symbol.
26
+ */
27
+ resolveTypeReference(node: ts.TypeReferenceNode): DeclId | undefined;
28
+ /**
29
+ * Resolve a property access to its member declaration.
30
+ */
31
+ resolvePropertyAccess(node: ts.PropertyAccessExpression): MemberId | undefined;
32
+ /**
33
+ * Resolve an element access to its member (for known keys).
34
+ */
35
+ resolveElementAccess(node: ts.ElementAccessExpression): MemberId | undefined;
36
+ /**
37
+ * Pick the correct overload for a call expression.
38
+ * Uses checker.getResolvedSignature to pick the overload.
39
+ */
40
+ resolveCallSignature(node: ts.CallExpression): SignatureId | undefined;
41
+ /**
42
+ * Return candidate overload signatures for a call expression, filtered by arity.
43
+ *
44
+ * This is used when TypeScript overload selection is ambiguous due to
45
+ * erased types in the TS layer (e.g., `char` is `string` in TypeScript).
46
+ *
47
+ * IMPORTANT: This returns *candidates*, not the final selection.
48
+ * The TypeSystem remains the authority for semantic selection.
49
+ */
50
+ resolveCallSignatureCandidates(node: ts.CallExpression): readonly SignatureId[] | undefined;
51
+ /**
52
+ * Resolve new expression constructor signature.
53
+ */
54
+ resolveConstructorSignature(node: ts.NewExpression): SignatureId | undefined;
55
+ /**
56
+ * Return candidate overload signatures for a constructor call, filtered by arity.
57
+ */
58
+ resolveConstructorSignatureCandidates(node: ts.NewExpression): readonly SignatureId[] | undefined;
59
+ /**
60
+ * Resolve an import specifier to its actual declaration.
61
+ * Uses checker.getAliasedSymbol to follow the import chain.
62
+ */
63
+ resolveImport(node: ts.ImportSpecifier): DeclId | undefined;
64
+ /**
65
+ * Resolve a shorthand property assignment to its declaration.
66
+ * For `{ foo }` syntax, resolves `foo` to its declaration.
67
+ */
68
+ resolveShorthandAssignment(node: ts.ShorthandPropertyAssignment): DeclId | undefined;
69
+ /**
70
+ * Get the declaring type name for a resolved member handle.
71
+ *
72
+ * This is used for features that depend on the syntactic container of a member
73
+ * declaration (e.g. tsbindgen extension-method interfaces like `__Ext_*`).
74
+ */
75
+ getDeclaringTypeNameOfMember(member: MemberId): string | undefined;
76
+ /**
77
+ * Get the absolute source file path where a resolved member is declared.
78
+ *
79
+ * Used to disambiguate tsbindgen bindings when multiple CLR types share the same
80
+ * TS alias (e.g., `Server.listen` exists on both `nodejs.Server` and `nodejs.Http.Server`).
81
+ */
82
+ getSourceFilePathOfMember(member: MemberId): string | undefined;
83
+ /**
84
+ * Get the fully-qualified name for a declaration.
85
+ * Used for override detection and .NET type identification.
86
+ */
87
+ getFullyQualifiedName(decl: DeclId): string | undefined;
88
+ /**
89
+ * Get the absolute source file path where a resolved declaration is declared.
90
+ *
91
+ * Used to map re-exported tsbindgen symbols back to their owning bindings.json
92
+ * namespace deterministically (airplane-grade).
93
+ */
94
+ getSourceFilePathOfDecl(decl: DeclId): string | undefined;
95
+ /**
96
+ * Get type predicate information from a signature.
97
+ * For functions with `x is T` return type.
98
+ */
99
+ getTypePredicateOfSignature(sig: SignatureId): TypePredicateInfo | undefined;
100
+ /**
101
+ * Get the TypeScript `this:` parameter type node for a signature (if present).
102
+ *
103
+ * Used for airplane-grade lowering of extension-method calls emitted as method-table
104
+ * members with explicit `this:` receiver constraints.
105
+ */
106
+ getThisTypeNodeOfSignature(sig: SignatureId): ts.TypeNode | undefined;
107
+ /**
108
+ * Get the declaring TypeScript type name for a resolved signature (if present).
109
+ *
110
+ * For extension methods, this is the declaring interface/type that owns the selected
111
+ * overload signature (e.g., `__TsonicExtMethods_Microsoft_EntityFrameworkCore`).
112
+ *
113
+ * This is critical for airplane-grade extension method binding when the same method name
114
+ * exists in multiple extension namespaces (e.g., `ToArrayAsync` in BCL async LINQ vs EF Core).
115
+ */
116
+ getDeclaringTypeNameOfSignature(sig: SignatureId): string | undefined;
117
+ /**
118
+ * Capture a type syntax node for later conversion.
119
+ *
120
+ * Used for inline type syntax that cannot be captured at catalog-build time:
121
+ * - `as Foo` type assertions
122
+ * - `satisfies Bar` expressions
123
+ * - Generic type arguments in expressions
124
+ *
125
+ * The captured syntax can be converted to IrType via TypeSystem.typeFromSyntax().
126
+ * This is NOT an escape hatch — it's the correct boundary for inline syntax.
127
+ */
128
+ captureTypeSyntax(node: ts.TypeNode): TypeSyntaxId;
129
+ /**
130
+ * Capture multiple type arguments.
131
+ *
132
+ * Convenience method for capturing generic type arguments like `Foo<A, B, C>`.
133
+ */
134
+ captureTypeArgs(nodes: readonly ts.TypeNode[]): readonly TypeSyntaxId[];
135
+ };
136
+ /**
137
+ * BindingInternal — extended interface for TypeSystem construction only.
138
+ *
139
+ * INVARIANT (Alice's spec): Only createTypeSystem() should access
140
+ * _getHandleRegistry(). All other code uses the TypeSystem API.
141
+ */
142
+ export type BindingInternal = Binding & {
143
+ /**
144
+ * Get the handle registry for TypeSystem construction.
145
+ *
146
+ * INTERNAL USE ONLY: This method is NOT part of the public Binding API.
147
+ * Only createTypeSystem() should call this to access declaration info.
148
+ * All other code should use TypeSystem queries instead.
149
+ */
150
+ _getHandleRegistry(): import("../type-system/internal/handle-types.js").HandleRegistry;
151
+ };
152
+ /**
153
+ * Type predicate information for `x is T` predicates.
154
+ */
155
+ export type TypePredicateInfo = {
156
+ readonly kind: "typePredicate";
157
+ readonly parameterIndex: number;
158
+ readonly typeNode?: ts.TypeNode;
159
+ };
160
+ export type DeclEntry = {
161
+ readonly symbol: ts.Symbol;
162
+ readonly decl?: ts.Declaration;
163
+ readonly typeDeclNode?: ts.Declaration;
164
+ readonly valueDeclNode?: ts.Declaration;
165
+ readonly typeNode?: ts.TypeNode;
166
+ readonly kind: DeclKind;
167
+ readonly fqName?: string;
168
+ readonly classMemberNames?: ClassMemberNames;
169
+ };
170
+ export type SignatureEntry = {
171
+ readonly signature: ts.Signature;
172
+ readonly decl?: ts.SignatureDeclaration;
173
+ readonly parameters: readonly ParameterNode[];
174
+ /** Type node of a TypeScript `this:` parameter (if present). Excluded from `parameters`. */
175
+ readonly thisTypeNode?: ts.TypeNode;
176
+ readonly returnTypeNode?: ts.TypeNode;
177
+ readonly typeParameters?: readonly TypeParameterNode[];
178
+ /**
179
+ * Declaring type simple TS name (e.g., "Box" not "Test.Box").
180
+ * TypeSystem uses UnifiedTypeCatalog.resolveTsName() to get CLR FQ name.
181
+ */
182
+ readonly declaringTypeTsName?: string;
183
+ /** Declaring member name (for inheritance substitution in resolveCall) */
184
+ readonly declaringMemberName?: string;
185
+ /** Type predicate extracted from return type (x is T) */
186
+ readonly typePredicate?: SignatureTypePredicate;
187
+ };
188
+ export type MemberEntry = {
189
+ readonly memberId: MemberId;
190
+ readonly symbol: ts.Symbol;
191
+ readonly decl?: ts.Declaration;
192
+ readonly name: string;
193
+ readonly typeNode?: ts.TypeNode;
194
+ readonly isOptional: boolean;
195
+ readonly isReadonly: boolean;
196
+ };
197
+ /**
198
+ * Entry for captured type syntax (Phase 2: TypeSyntaxId).
199
+ */
200
+ export type TypeSyntaxEntry = {
201
+ readonly typeNode: ts.TypeNode;
202
+ };
203
+ //# sourceMappingURL=binding-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding-types.d.ts","sourceRoot":"","sources":["../../../src/ir/binding/binding-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Binding Layer — Type Definitions
3
+ *
4
+ * Public and internal type definitions for the Binding layer.
5
+ * Contains Binding/BindingInternal interfaces and internal entry types
6
+ * used by the factory and handle registry.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=binding-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding-types.js","sourceRoot":"","sources":["../../../src/ir/binding/binding-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -16,164 +16,10 @@
16
16
  * - checker.getTypeOfSymbolAtLocation
17
17
  * - checker.getContextualType
18
18
  * - checker.typeToTypeNode
19
- */
20
- import ts from "typescript";
21
- import { DeclId, SignatureId, MemberId, TypeSyntaxId } from "../type-system/types.js";
22
- import type { HandleRegistry } from "../type-system/internal/handle-types.js";
23
- /**
24
- * Binding interface — wraps TS symbol resolution APIs.
25
- *
26
- * All methods return opaque handles. Use HandleRegistry to look up
27
- * the underlying declaration/signature information.
28
- */
29
- export interface Binding {
30
- /**
31
- * Resolve an identifier to its declaration.
32
- * Uses checker.getSymbolAtLocation + symbol.getDeclarations().
33
- */
34
- resolveIdentifier(node: ts.Identifier): DeclId | undefined;
35
- /**
36
- * Resolve a type reference to its declaration.
37
- * For qualified names (A.B.C), resolves the rightmost symbol.
38
- */
39
- resolveTypeReference(node: ts.TypeReferenceNode): DeclId | undefined;
40
- /**
41
- * Resolve a property access to its member declaration.
42
- */
43
- resolvePropertyAccess(node: ts.PropertyAccessExpression): MemberId | undefined;
44
- /**
45
- * Resolve an element access to its member (for known keys).
46
- */
47
- resolveElementAccess(node: ts.ElementAccessExpression): MemberId | undefined;
48
- /**
49
- * Pick the correct overload for a call expression.
50
- * Uses checker.getResolvedSignature to pick the overload.
51
- */
52
- resolveCallSignature(node: ts.CallExpression): SignatureId | undefined;
53
- /**
54
- * Return candidate overload signatures for a call expression, filtered by arity.
55
- *
56
- * This is used when TypeScript overload selection is ambiguous due to
57
- * erased types in the TS layer (e.g., `char` is `string` in TypeScript).
58
- *
59
- * IMPORTANT: This returns *candidates*, not the final selection.
60
- * The TypeSystem remains the authority for semantic selection.
61
- */
62
- resolveCallSignatureCandidates(node: ts.CallExpression): readonly SignatureId[] | undefined;
63
- /**
64
- * Resolve new expression constructor signature.
65
- */
66
- resolveConstructorSignature(node: ts.NewExpression): SignatureId | undefined;
67
- /**
68
- * Return candidate overload signatures for a constructor call, filtered by arity.
69
- */
70
- resolveConstructorSignatureCandidates(node: ts.NewExpression): readonly SignatureId[] | undefined;
71
- /**
72
- * Resolve an import specifier to its actual declaration.
73
- * Uses checker.getAliasedSymbol to follow the import chain.
74
- */
75
- resolveImport(node: ts.ImportSpecifier): DeclId | undefined;
76
- /**
77
- * Resolve a shorthand property assignment to its declaration.
78
- * For `{ foo }` syntax, resolves `foo` to its declaration.
79
- */
80
- resolveShorthandAssignment(node: ts.ShorthandPropertyAssignment): DeclId | undefined;
81
- /**
82
- * Get the declaring type name for a resolved member handle.
83
- *
84
- * This is used for features that depend on the syntactic container of a member
85
- * declaration (e.g. tsbindgen extension-method interfaces like `__Ext_*`).
86
- */
87
- getDeclaringTypeNameOfMember(member: MemberId): string | undefined;
88
- /**
89
- * Get the absolute source file path where a resolved member is declared.
90
- *
91
- * Used to disambiguate tsbindgen bindings when multiple CLR types share the same
92
- * TS alias (e.g., `Server.listen` exists on both `nodejs.Server` and `nodejs.Http.Server`).
93
- */
94
- getSourceFilePathOfMember(member: MemberId): string | undefined;
95
- /**
96
- * Get the fully-qualified name for a declaration.
97
- * Used for override detection and .NET type identification.
98
- */
99
- getFullyQualifiedName(decl: DeclId): string | undefined;
100
- /**
101
- * Get the absolute source file path where a resolved declaration is declared.
102
- *
103
- * Used to map re-exported tsbindgen symbols back to their owning bindings.json
104
- * namespace deterministically (airplane-grade).
105
- */
106
- getSourceFilePathOfDecl(decl: DeclId): string | undefined;
107
- /**
108
- * Get type predicate information from a signature.
109
- * For functions with `x is T` return type.
110
- */
111
- getTypePredicateOfSignature(sig: SignatureId): TypePredicateInfo | undefined;
112
- /**
113
- * Get the TypeScript `this:` parameter type node for a signature (if present).
114
- *
115
- * Used for airplane-grade lowering of extension-method calls emitted as method-table
116
- * members with explicit `this:` receiver constraints.
117
- */
118
- getThisTypeNodeOfSignature(sig: SignatureId): ts.TypeNode | undefined;
119
- /**
120
- * Get the declaring TypeScript type name for a resolved signature (if present).
121
- *
122
- * For extension methods, this is the declaring interface/type that owns the selected
123
- * overload signature (e.g., `__TsonicExtMethods_Microsoft_EntityFrameworkCore`).
124
- *
125
- * This is critical for airplane-grade extension method binding when the same method name
126
- * exists in multiple extension namespaces (e.g., `ToArrayAsync` in BCL async LINQ vs EF Core).
127
- */
128
- getDeclaringTypeNameOfSignature(sig: SignatureId): string | undefined;
129
- /**
130
- * Capture a type syntax node for later conversion.
131
- *
132
- * Used for inline type syntax that cannot be captured at catalog-build time:
133
- * - `as Foo` type assertions
134
- * - `satisfies Bar` expressions
135
- * - Generic type arguments in expressions
136
- *
137
- * The captured syntax can be converted to IrType via TypeSystem.typeFromSyntax().
138
- * This is NOT an escape hatch — it's the correct boundary for inline syntax.
139
- */
140
- captureTypeSyntax(node: ts.TypeNode): TypeSyntaxId;
141
- /**
142
- * Capture multiple type arguments.
143
- *
144
- * Convenience method for capturing generic type arguments like `Foo<A, B, C>`.
145
- */
146
- captureTypeArgs(nodes: readonly ts.TypeNode[]): readonly TypeSyntaxId[];
147
- }
148
- /**
149
- * BindingInternal — extended interface for TypeSystem construction only.
150
- *
151
- * INVARIANT (Alice's spec): Only createTypeSystem() should access
152
- * _getHandleRegistry(). All other code uses the TypeSystem API.
153
- */
154
- export interface BindingInternal extends Binding {
155
- /**
156
- * Get the handle registry for TypeSystem construction.
157
- *
158
- * INTERNAL USE ONLY: This method is NOT part of the public Binding API.
159
- * Only createTypeSystem() should call this to access declaration info.
160
- * All other code should use TypeSystem queries instead.
161
- */
162
- _getHandleRegistry(): HandleRegistry;
163
- }
164
- /**
165
- * Type predicate information for `x is T` predicates.
166
- */
167
- export type TypePredicateInfo = {
168
- readonly kind: "typePredicate";
169
- readonly parameterIndex: number;
170
- readonly typeNode?: ts.TypeNode;
171
- };
172
- /**
173
- * Create a Binding instance for a TypeScript program.
174
19
  *
175
- * Returns BindingInternal which includes _getHandleRegistry() for TypeSystem.
176
- * Cast to Binding when passing to regular converters.
20
+ * Barrel re-export all public types and factory function are re-exported
21
+ * from their respective sub-modules.
177
22
  */
178
- export declare const createBinding: (checker: ts.TypeChecker) => BindingInternal;
23
+ export type { Binding, BindingInternal, TypePredicateInfo, } from "./binding-types.js";
24
+ export { createBinding } from "./binding-factory.js";
179
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ir/binding/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ir/binding/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,YAAY,EACV,OAAO,EACP,eAAe,EACf,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}