@tsonic/frontend 0.0.61 → 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 (466) 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 +3 -25
  9. package/dist/dotnet-metadata.js.map +1 -1
  10. package/dist/dotnet-metadata.test.js.map +1 -1
  11. package/dist/generic-function-values.d.ts +11 -0
  12. package/dist/generic-function-values.d.ts.map +1 -0
  13. package/dist/generic-function-values.js +243 -0
  14. package/dist/generic-function-values.js.map +1 -0
  15. package/dist/generic-function-values.test.d.ts +2 -0
  16. package/dist/generic-function-values.test.d.ts.map +1 -0
  17. package/dist/generic-function-values.test.js +256 -0
  18. package/dist/generic-function-values.test.js.map +1 -0
  19. package/dist/graph/extraction/imports.d.ts +5 -0
  20. package/dist/graph/extraction/imports.d.ts.map +1 -1
  21. package/dist/graph/extraction/imports.js +30 -0
  22. package/dist/graph/extraction/imports.js.map +1 -1
  23. package/dist/graph/extraction/index.d.ts +1 -1
  24. package/dist/graph/extraction/index.d.ts.map +1 -1
  25. package/dist/graph/extraction/index.js +1 -1
  26. package/dist/graph/extraction/index.js.map +1 -1
  27. package/dist/graph/extraction/orchestrator.d.ts.map +1 -1
  28. package/dist/graph/extraction/orchestrator.js +16 -2
  29. package/dist/graph/extraction/orchestrator.js.map +1 -1
  30. package/dist/graph/extraction.d.ts +1 -1
  31. package/dist/graph/extraction.d.ts.map +1 -1
  32. package/dist/graph/extraction.js +1 -1
  33. package/dist/graph/extraction.js.map +1 -1
  34. package/dist/ir/binding/binding-factory.d.ts +17 -0
  35. package/dist/ir/binding/binding-factory.d.ts.map +1 -0
  36. package/dist/ir/binding/binding-factory.js +765 -0
  37. package/dist/ir/binding/binding-factory.js.map +1 -0
  38. package/dist/ir/binding/binding-helpers.d.ts +90 -0
  39. package/dist/ir/binding/binding-helpers.d.ts.map +1 -0
  40. package/dist/ir/binding/binding-helpers.js +387 -0
  41. package/dist/ir/binding/binding-helpers.js.map +1 -0
  42. package/dist/ir/binding/binding-types.d.ts +203 -0
  43. package/dist/ir/binding/binding-types.d.ts.map +1 -0
  44. package/dist/ir/binding/binding-types.js +9 -0
  45. package/dist/ir/binding/binding-types.js.map +1 -0
  46. package/dist/ir/binding/index.d.ts +4 -151
  47. package/dist/ir/binding/index.d.ts.map +1 -1
  48. package/dist/ir/binding/index.js +3 -1124
  49. package/dist/ir/binding/index.js.map +1 -1
  50. package/dist/ir/binding-resolution.test.js +4 -1
  51. package/dist/ir/binding-resolution.test.js.map +1 -1
  52. package/dist/ir/bindings-disambiguation.test.js.map +1 -1
  53. package/dist/ir/builder/imports.d.ts.map +1 -1
  54. package/dist/ir/builder/imports.js +91 -5
  55. package/dist/ir/builder/imports.js.map +1 -1
  56. package/dist/ir/builder.test.js +456 -24
  57. package/dist/ir/builder.test.js.map +1 -1
  58. package/dist/ir/converters/anonymous-synthesis.d.ts +3 -3
  59. package/dist/ir/converters/anonymous-synthesis.d.ts.map +1 -1
  60. package/dist/ir/converters/anonymous-synthesis.js +45 -8
  61. package/dist/ir/converters/anonymous-synthesis.js.map +1 -1
  62. package/dist/ir/converters/expressions/access/access-converter.d.ts +14 -0
  63. package/dist/ir/converters/expressions/access/access-converter.d.ts.map +1 -0
  64. package/dist/ir/converters/expressions/access/access-converter.js +141 -0
  65. package/dist/ir/converters/expressions/access/access-converter.js.map +1 -0
  66. package/dist/ir/converters/expressions/access/binding-resolution.d.ts +35 -0
  67. package/dist/ir/converters/expressions/access/binding-resolution.d.ts.map +1 -0
  68. package/dist/ir/converters/expressions/access/binding-resolution.js +384 -0
  69. package/dist/ir/converters/expressions/access/binding-resolution.js.map +1 -0
  70. package/dist/ir/converters/expressions/access/member-resolution.d.ts +67 -0
  71. package/dist/ir/converters/expressions/access/member-resolution.d.ts.map +1 -0
  72. package/dist/ir/converters/expressions/access/member-resolution.js +262 -0
  73. package/dist/ir/converters/expressions/access/member-resolution.js.map +1 -0
  74. package/dist/ir/converters/expressions/access.d.ts +1 -7
  75. package/dist/ir/converters/expressions/access.d.ts.map +1 -1
  76. package/dist/ir/converters/expressions/access.js +1 -720
  77. package/dist/ir/converters/expressions/access.js.map +1 -1
  78. package/dist/ir/converters/expressions/calls/call-converter.d.ts +23 -0
  79. package/dist/ir/converters/expressions/calls/call-converter.d.ts.map +1 -0
  80. package/dist/ir/converters/expressions/calls/call-converter.js +526 -0
  81. package/dist/ir/converters/expressions/calls/call-converter.js.map +1 -0
  82. package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts +53 -0
  83. package/dist/ir/converters/expressions/calls/call-site-analysis.d.ts.map +1 -0
  84. package/dist/ir/converters/expressions/calls/call-site-analysis.js +554 -0
  85. package/dist/ir/converters/expressions/calls/call-site-analysis.js.map +1 -0
  86. package/dist/ir/converters/expressions/calls/new-converter.d.ts +21 -0
  87. package/dist/ir/converters/expressions/calls/new-converter.d.ts.map +1 -0
  88. package/dist/ir/converters/expressions/calls/new-converter.js +182 -0
  89. package/dist/ir/converters/expressions/calls/new-converter.js.map +1 -0
  90. package/dist/ir/converters/expressions/calls.d.ts +2 -28
  91. package/dist/ir/converters/expressions/calls.d.ts.map +1 -1
  92. package/dist/ir/converters/expressions/calls.js +2 -953
  93. package/dist/ir/converters/expressions/calls.js.map +1 -1
  94. package/dist/ir/converters/expressions/collections.d.ts.map +1 -1
  95. package/dist/ir/converters/expressions/collections.js +56 -28
  96. package/dist/ir/converters/expressions/collections.js.map +1 -1
  97. package/dist/ir/converters/expressions/functions.js +3 -3
  98. package/dist/ir/converters/expressions/functions.js.map +1 -1
  99. package/dist/ir/converters/expressions/helpers.d.ts.map +1 -1
  100. package/dist/ir/converters/expressions/helpers.js +1 -0
  101. package/dist/ir/converters/expressions/helpers.js.map +1 -1
  102. package/dist/ir/converters/expressions/operators.d.ts.map +1 -1
  103. package/dist/ir/converters/expressions/operators.js +1 -1
  104. package/dist/ir/converters/expressions/operators.js.map +1 -1
  105. package/dist/ir/converters/expressions/other.d.ts.map +1 -1
  106. package/dist/ir/converters/expressions/other.js +17 -2
  107. package/dist/ir/converters/expressions/other.js.map +1 -1
  108. package/dist/ir/converters/flow-narrowing.d.ts.map +1 -1
  109. package/dist/ir/converters/flow-narrowing.js +3 -2
  110. package/dist/ir/converters/flow-narrowing.js.map +1 -1
  111. package/dist/ir/converters/statements/control/loops.d.ts.map +1 -1
  112. package/dist/ir/converters/statements/control/loops.js +8 -2
  113. package/dist/ir/converters/statements/control/loops.js.map +1 -1
  114. package/dist/ir/converters/statements/declarations/classes/constructors.d.ts.map +1 -1
  115. package/dist/ir/converters/statements/declarations/classes/constructors.js.map +1 -1
  116. package/dist/ir/converters/statements/declarations/classes/methods.d.ts.map +1 -1
  117. package/dist/ir/converters/statements/declarations/classes/methods.js +71 -23
  118. package/dist/ir/converters/statements/declarations/classes/methods.js.map +1 -1
  119. package/dist/ir/converters/statements/declarations/classes/orchestrator.d.ts.map +1 -1
  120. package/dist/ir/converters/statements/declarations/classes/orchestrator.js +10 -4
  121. package/dist/ir/converters/statements/declarations/classes/orchestrator.js.map +1 -1
  122. package/dist/ir/converters/statements/declarations/classes/override-detection.d.ts.map +1 -1
  123. package/dist/ir/converters/statements/declarations/classes/override-detection.js +5 -1
  124. package/dist/ir/converters/statements/declarations/classes/override-detection.js.map +1 -1
  125. package/dist/ir/converters/statements/declarations/classes/properties.d.ts.map +1 -1
  126. package/dist/ir/converters/statements/declarations/classes/properties.js +2 -1
  127. package/dist/ir/converters/statements/declarations/classes/properties.js.map +1 -1
  128. package/dist/ir/converters/statements/declarations/type-aliases.js +1 -1
  129. package/dist/ir/converters/statements/declarations/type-aliases.js.map +1 -1
  130. package/dist/ir/converters/statements/declarations/variables.d.ts +2 -2
  131. package/dist/ir/converters/statements/declarations/variables.d.ts.map +1 -1
  132. package/dist/ir/converters/statements/declarations/variables.js +290 -3
  133. package/dist/ir/converters/statements/declarations/variables.js.map +1 -1
  134. package/dist/ir/converters/statements/helpers.d.ts.map +1 -1
  135. package/dist/ir/converters/statements/helpers.js +10 -2
  136. package/dist/ir/converters/statements/helpers.js.map +1 -1
  137. package/dist/ir/converters/type-env.d.ts.map +1 -1
  138. package/dist/ir/converters/type-env.js.map +1 -1
  139. package/dist/ir/expression-converter.d.ts +0 -1
  140. package/dist/ir/expression-converter.d.ts.map +1 -1
  141. package/dist/ir/expression-converter.js +25 -4
  142. package/dist/ir/expression-converter.js.map +1 -1
  143. package/dist/ir/field-marker.test.js.map +1 -1
  144. package/dist/ir/generic-function-value-lowering.test.d.ts +2 -0
  145. package/dist/ir/generic-function-value-lowering.test.d.ts.map +1 -0
  146. package/dist/ir/generic-function-value-lowering.test.js +312 -0
  147. package/dist/ir/generic-function-value-lowering.test.js.map +1 -0
  148. package/dist/ir/generic-validator.d.ts +3 -4
  149. package/dist/ir/generic-validator.d.ts.map +1 -1
  150. package/dist/ir/generic-validator.js +3 -35
  151. package/dist/ir/generic-validator.js.map +1 -1
  152. package/dist/ir/program-context.d.ts +7 -0
  153. package/dist/ir/program-context.d.ts.map +1 -1
  154. package/dist/ir/program-context.js +7 -2
  155. package/dist/ir/program-context.js.map +1 -1
  156. package/dist/ir/statement-converter.d.ts +0 -2
  157. package/dist/ir/statement-converter.d.ts.map +1 -1
  158. package/dist/ir/statement-converter.js +0 -3
  159. package/dist/ir/statement-converter.js.map +1 -1
  160. package/dist/ir/type-system/internal/handle-types.d.ts +16 -16
  161. package/dist/ir/type-system/internal/handle-types.d.ts.map +1 -1
  162. package/dist/ir/type-system/internal/nominal-env.d.ts +0 -2
  163. package/dist/ir/type-system/internal/nominal-env.d.ts.map +1 -1
  164. package/dist/ir/type-system/internal/nominal-env.js +2 -6
  165. package/dist/ir/type-system/internal/nominal-env.js.map +1 -1
  166. package/dist/ir/type-system/internal/type-converter/converter.d.ts +3 -1
  167. package/dist/ir/type-system/internal/type-converter/converter.d.ts.map +1 -1
  168. package/dist/ir/type-system/internal/type-converter/converter.js +3 -1
  169. package/dist/ir/type-system/internal/type-converter/converter.js.map +1 -1
  170. package/dist/ir/type-system/internal/type-converter/objects.js +7 -1
  171. package/dist/ir/type-system/internal/type-converter/objects.js.map +1 -1
  172. package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts +0 -2
  173. package/dist/ir/type-system/internal/type-converter/orchestrator.d.ts.map +1 -1
  174. package/dist/ir/type-system/internal/type-converter/orchestrator.js +318 -24
  175. package/dist/ir/type-system/internal/type-converter/orchestrator.js.map +1 -1
  176. package/dist/ir/type-system/internal/type-converter/orchestrator.test.d.ts +2 -0
  177. package/dist/ir/type-system/internal/type-converter/orchestrator.test.d.ts.map +1 -0
  178. package/dist/ir/type-system/internal/type-converter/orchestrator.test.js +265 -0
  179. package/dist/ir/type-system/internal/type-converter/orchestrator.test.js.map +1 -0
  180. package/dist/ir/type-system/internal/type-converter/primitives.d.ts.map +1 -1
  181. package/dist/ir/type-system/internal/type-converter/primitives.js +5 -0
  182. package/dist/ir/type-system/internal/type-converter/primitives.js.map +1 -1
  183. package/dist/ir/type-system/internal/type-converter/references.d.ts.map +1 -1
  184. package/dist/ir/type-system/internal/type-converter/references.js +172 -26
  185. package/dist/ir/type-system/internal/type-converter/references.js.map +1 -1
  186. package/dist/ir/type-system/internal/type-converter/utility-types.d.ts.map +1 -1
  187. package/dist/ir/type-system/internal/type-converter/utility-types.js +154 -4
  188. package/dist/ir/type-system/internal/type-converter/utility-types.js.map +1 -1
  189. package/dist/ir/type-system/internal/type-converter/utility-types.test.js +91 -1
  190. package/dist/ir/type-system/internal/type-converter/utility-types.test.js.map +1 -1
  191. package/dist/ir/type-system/internal/type-registry.d.ts +1 -1
  192. package/dist/ir/type-system/internal/type-registry.d.ts.map +1 -1
  193. package/dist/ir/type-system/internal/type-registry.js +15 -11
  194. package/dist/ir/type-system/internal/type-registry.js.map +1 -1
  195. package/dist/ir/type-system/internal/universe/alias-table.d.ts +0 -14
  196. package/dist/ir/type-system/internal/universe/alias-table.d.ts.map +1 -1
  197. package/dist/ir/type-system/internal/universe/alias-table.js +0 -17
  198. package/dist/ir/type-system/internal/universe/alias-table.js.map +1 -1
  199. package/dist/ir/type-system/internal/universe/clr-catalog.d.ts +3 -0
  200. package/dist/ir/type-system/internal/universe/clr-catalog.d.ts.map +1 -1
  201. package/dist/ir/type-system/internal/universe/clr-catalog.js +4 -1027
  202. package/dist/ir/type-system/internal/universe/clr-catalog.js.map +1 -1
  203. package/dist/ir/type-system/internal/universe/clr-entry-converter.d.ts +51 -0
  204. package/dist/ir/type-system/internal/universe/clr-entry-converter.d.ts.map +1 -0
  205. package/dist/ir/type-system/internal/universe/clr-entry-converter.js +657 -0
  206. package/dist/ir/type-system/internal/universe/clr-entry-converter.js.map +1 -0
  207. package/dist/ir/type-system/internal/universe/clr-type-parser.d.ts +52 -0
  208. package/dist/ir/type-system/internal/universe/clr-type-parser.d.ts.map +1 -0
  209. package/dist/ir/type-system/internal/universe/clr-type-parser.js +415 -0
  210. package/dist/ir/type-system/internal/universe/clr-type-parser.js.map +1 -0
  211. package/dist/ir/type-system/internal/universe/index.d.ts +1 -1
  212. package/dist/ir/type-system/internal/universe/index.d.ts.map +1 -1
  213. package/dist/ir/type-system/internal/universe/index.js +1 -3
  214. package/dist/ir/type-system/internal/universe/index.js.map +1 -1
  215. package/dist/ir/type-system/internal/universe/source-catalog.js +3 -1
  216. package/dist/ir/type-system/internal/universe/source-catalog.js.map +1 -1
  217. package/dist/ir/type-system/internal/universe/types.d.ts +7 -0
  218. package/dist/ir/type-system/internal/universe/types.d.ts.map +1 -1
  219. package/dist/ir/type-system/internal/universe/types.js.map +1 -1
  220. package/dist/ir/type-system/internal/universe/unified-universe.d.ts.map +1 -1
  221. package/dist/ir/type-system/internal/universe/unified-universe.js +16 -1
  222. package/dist/ir/type-system/internal/universe/unified-universe.js.map +1 -1
  223. package/dist/ir/type-system/internal/universe/unified-universe.test.d.ts +2 -0
  224. package/dist/ir/type-system/internal/universe/unified-universe.test.d.ts.map +1 -0
  225. package/dist/ir/type-system/internal/universe/unified-universe.test.js +89 -0
  226. package/dist/ir/type-system/internal/universe/unified-universe.test.js.map +1 -0
  227. package/dist/ir/type-system/type-system-call-resolution.d.ts +69 -0
  228. package/dist/ir/type-system/type-system-call-resolution.d.ts.map +1 -0
  229. package/dist/ir/type-system/type-system-call-resolution.js +1121 -0
  230. package/dist/ir/type-system/type-system-call-resolution.js.map +1 -0
  231. package/dist/ir/type-system/type-system-inference.d.ts +98 -0
  232. package/dist/ir/type-system/type-system-inference.d.ts.map +1 -0
  233. package/dist/ir/type-system/type-system-inference.js +1083 -0
  234. package/dist/ir/type-system/type-system-inference.js.map +1 -0
  235. package/dist/ir/type-system/type-system-relations.d.ts +15 -0
  236. package/dist/ir/type-system/type-system-relations.d.ts.map +1 -0
  237. package/dist/ir/type-system/type-system-relations.js +152 -0
  238. package/dist/ir/type-system/type-system-relations.js.map +1 -0
  239. package/dist/ir/type-system/type-system-state.d.ts +436 -0
  240. package/dist/ir/type-system/type-system-state.d.ts.map +1 -0
  241. package/dist/ir/type-system/type-system-state.js +212 -0
  242. package/dist/ir/type-system/type-system-state.js.map +1 -0
  243. package/dist/ir/type-system/type-system-utilities.d.ts +56 -0
  244. package/dist/ir/type-system/type-system-utilities.d.ts.map +1 -0
  245. package/dist/ir/type-system/type-system-utilities.js +373 -0
  246. package/dist/ir/type-system/type-system-utilities.js.map +1 -0
  247. package/dist/ir/type-system/type-system.d.ts +17 -350
  248. package/dist/ir/type-system/type-system.d.ts.map +1 -1
  249. package/dist/ir/type-system/type-system.js +67 -2764
  250. package/dist/ir/type-system/type-system.js.map +1 -1
  251. package/dist/ir/types/index.d.ts +1 -0
  252. package/dist/ir/types/index.d.ts.map +1 -1
  253. package/dist/ir/types/index.js +1 -0
  254. package/dist/ir/types/index.js.map +1 -1
  255. package/dist/ir/types/ir-substitution.js +1 -1
  256. package/dist/ir/types/ir-substitution.js.map +1 -1
  257. package/dist/ir/types/ir-types.d.ts.map +1 -1
  258. package/dist/ir/types/module.d.ts +11 -0
  259. package/dist/ir/types/module.d.ts.map +1 -1
  260. package/dist/ir/types/statements.d.ts +1 -1
  261. package/dist/ir/types/type-ops.d.ts +9 -0
  262. package/dist/ir/types/type-ops.d.ts.map +1 -0
  263. package/dist/ir/types/type-ops.js +134 -0
  264. package/dist/ir/types/type-ops.js.map +1 -0
  265. package/dist/ir/types/type-ops.test.d.ts +2 -0
  266. package/dist/ir/types/type-ops.test.d.ts.map +1 -0
  267. package/dist/ir/types/type-ops.test.js +73 -0
  268. package/dist/ir/types/type-ops.test.js.map +1 -0
  269. package/dist/ir/validation/anonymous-type-lowering-pass.d.ts.map +1 -1
  270. package/dist/ir/validation/anonymous-type-lowering-pass.js +101 -49
  271. package/dist/ir/validation/anonymous-type-lowering-pass.js.map +1 -1
  272. package/dist/ir/validation/arrow-return-finalization-pass.js +13 -3
  273. package/dist/ir/validation/arrow-return-finalization-pass.js.map +1 -1
  274. package/dist/ir/validation/attribute-collection/arg-extractor.d.ts +58 -0
  275. package/dist/ir/validation/attribute-collection/arg-extractor.d.ts.map +1 -0
  276. package/dist/ir/validation/attribute-collection/arg-extractor.js +284 -0
  277. package/dist/ir/validation/attribute-collection/arg-extractor.js.map +1 -0
  278. package/dist/ir/validation/attribute-collection/marker-parser.d.ts +28 -0
  279. package/dist/ir/validation/attribute-collection/marker-parser.d.ts.map +1 -0
  280. package/dist/ir/validation/attribute-collection/marker-parser.js +404 -0
  281. package/dist/ir/validation/attribute-collection/marker-parser.js.map +1 -0
  282. package/dist/ir/validation/attribute-collection/orchestrator.d.ts +28 -0
  283. package/dist/ir/validation/attribute-collection/orchestrator.d.ts.map +1 -0
  284. package/dist/ir/validation/attribute-collection/orchestrator.js +332 -0
  285. package/dist/ir/validation/attribute-collection/orchestrator.js.map +1 -0
  286. package/dist/ir/validation/attribute-collection-pass.d.ts +1 -23
  287. package/dist/ir/validation/attribute-collection-pass.d.ts.map +1 -1
  288. package/dist/ir/validation/attribute-collection-pass.js +1 -953
  289. package/dist/ir/validation/attribute-collection-pass.js.map +1 -1
  290. package/dist/ir/validation/attribute-collection-pass.test.js +42 -19
  291. package/dist/ir/validation/attribute-collection-pass.test.js.map +1 -1
  292. package/dist/ir/validation/char-validation-pass.d.ts.map +1 -1
  293. package/dist/ir/validation/char-validation-pass.js +6 -3
  294. package/dist/ir/validation/char-validation-pass.js.map +1 -1
  295. package/dist/ir/validation/numeric-coercion-pass.d.ts.map +1 -1
  296. package/dist/ir/validation/numeric-coercion-pass.js.map +1 -1
  297. package/dist/ir/validation/numeric-invariants.test.js +46 -0
  298. package/dist/ir/validation/numeric-invariants.test.js.map +1 -1
  299. package/dist/ir/validation/numeric-proof-pass.d.ts.map +1 -1
  300. package/dist/ir/validation/numeric-proof-pass.js +68 -1
  301. package/dist/ir/validation/numeric-proof-pass.js.map +1 -1
  302. package/dist/ir/validation/rest-type-synthesis-pass.js +1 -1
  303. package/dist/ir/validation/rest-type-synthesis-pass.js.map +1 -1
  304. package/dist/ir/validation/soundness-gate.d.ts.map +1 -1
  305. package/dist/ir/validation/soundness-gate.js +8 -5
  306. package/dist/ir/validation/soundness-gate.js.map +1 -1
  307. package/dist/ir/validation/soundness-gate.test.js +158 -0
  308. package/dist/ir/validation/soundness-gate.test.js.map +1 -1
  309. package/dist/ir/validation/yield-lowering-pass.d.ts +11 -5
  310. package/dist/ir/validation/yield-lowering-pass.d.ts.map +1 -1
  311. package/dist/ir/validation/yield-lowering-pass.js +942 -48
  312. package/dist/ir/validation/yield-lowering-pass.js.map +1 -1
  313. package/dist/ir/validation/yield-lowering-pass.test.js +1333 -127
  314. package/dist/ir/validation/yield-lowering-pass.test.js.map +1 -1
  315. package/dist/program/binding-loader.d.ts +37 -0
  316. package/dist/program/binding-loader.d.ts.map +1 -0
  317. package/dist/program/binding-loader.js +155 -0
  318. package/dist/program/binding-loader.js.map +1 -0
  319. package/dist/program/binding-registry.d.ts +106 -0
  320. package/dist/program/binding-registry.d.ts.map +1 -0
  321. package/dist/program/binding-registry.js +590 -0
  322. package/dist/program/binding-registry.js.map +1 -0
  323. package/dist/program/binding-types.d.ts +166 -0
  324. package/dist/program/binding-types.d.ts.map +1 -0
  325. package/dist/program/binding-types.js +57 -0
  326. package/dist/program/binding-types.js.map +1 -0
  327. package/dist/program/bindings.d.ts +6 -271
  328. package/dist/program/bindings.d.ts.map +1 -1
  329. package/dist/program/bindings.js +7 -781
  330. package/dist/program/bindings.js.map +1 -1
  331. package/dist/program/clr-bindings-discovery.d.ts +19 -0
  332. package/dist/program/clr-bindings-discovery.d.ts.map +1 -0
  333. package/dist/program/clr-bindings-discovery.js +150 -0
  334. package/dist/program/clr-bindings-discovery.js.map +1 -0
  335. package/dist/program/clr-bindings-discovery.test.d.ts +2 -0
  336. package/dist/program/clr-bindings-discovery.test.d.ts.map +1 -0
  337. package/dist/program/clr-bindings-discovery.test.js +119 -0
  338. package/dist/program/clr-bindings-discovery.test.js.map +1 -0
  339. package/dist/program/creation.d.ts.map +1 -1
  340. package/dist/program/creation.js +2 -1
  341. package/dist/program/creation.js.map +1 -1
  342. package/dist/program/creation.test.js.map +1 -1
  343. package/dist/program/dependency-graph.d.ts +2 -2
  344. package/dist/program/dependency-graph.d.ts.map +1 -1
  345. package/dist/program/dependency-graph.js +26 -42
  346. package/dist/program/dependency-graph.js.map +1 -1
  347. package/dist/resolver/clr-bindings-resolver.d.ts +0 -1
  348. package/dist/resolver/clr-bindings-resolver.d.ts.map +1 -1
  349. package/dist/resolver/clr-bindings-resolver.js +22 -30
  350. package/dist/resolver/clr-bindings-resolver.js.map +1 -1
  351. package/dist/resolver/clr-bindings-resolver.test.js +0 -27
  352. package/dist/resolver/clr-bindings-resolver.test.js.map +1 -1
  353. package/dist/resolver/import-resolution.d.ts +1 -1
  354. package/dist/resolver/import-resolution.d.ts.map +1 -1
  355. package/dist/resolver/import-resolution.js +2 -7
  356. package/dist/resolver/import-resolution.js.map +1 -1
  357. package/dist/resolver/namespace.d.ts.map +1 -1
  358. package/dist/resolver/namespace.js +1 -3
  359. package/dist/resolver/namespace.js.map +1 -1
  360. package/dist/resolver/naming.d.ts.map +1 -1
  361. package/dist/resolver/naming.js +1 -0
  362. package/dist/resolver/naming.js.map +1 -1
  363. package/dist/tsbindgen/names.d.ts.map +1 -1
  364. package/dist/tsbindgen/names.js +4 -2
  365. package/dist/tsbindgen/names.js.map +1 -1
  366. package/dist/types/diagnostic.d.ts +1 -1
  367. package/dist/types/diagnostic.d.ts.map +1 -1
  368. package/dist/types/diagnostic.js.map +1 -1
  369. package/dist/validation/core-intrinsics.d.ts.map +1 -1
  370. package/dist/validation/core-intrinsics.js +3 -1
  371. package/dist/validation/core-intrinsics.js.map +1 -1
  372. package/dist/validation/extension-methods.d.ts.map +1 -1
  373. package/dist/validation/extension-methods.js.map +1 -1
  374. package/dist/validation/features.d.ts.map +1 -1
  375. package/dist/validation/features.js +38 -13
  376. package/dist/validation/features.js.map +1 -1
  377. package/dist/validation/features.test.d.ts +2 -0
  378. package/dist/validation/features.test.d.ts.map +1 -0
  379. package/dist/validation/features.test.js +273 -0
  380. package/dist/validation/features.test.js.map +1 -0
  381. package/dist/validation/generics.d.ts +1 -1
  382. package/dist/validation/generics.d.ts.map +1 -1
  383. package/dist/validation/generics.js +2 -26
  384. package/dist/validation/generics.js.map +1 -1
  385. package/dist/validation/imports.d.ts.map +1 -1
  386. package/dist/validation/imports.js +2 -1
  387. package/dist/validation/imports.js.map +1 -1
  388. package/dist/validation/imports.test.d.ts +2 -0
  389. package/dist/validation/imports.test.d.ts.map +1 -0
  390. package/dist/validation/imports.test.js +112 -0
  391. package/dist/validation/imports.test.js.map +1 -0
  392. package/dist/validation/static-safety.d.ts +6 -6
  393. package/dist/validation/static-safety.d.ts.map +1 -1
  394. package/dist/validation/static-safety.js +163 -94
  395. package/dist/validation/static-safety.js.map +1 -1
  396. package/dist/validation/unsupported-utility-types.d.ts +3 -3
  397. package/dist/validation/unsupported-utility-types.d.ts.map +1 -1
  398. package/dist/validation/unsupported-utility-types.js +4 -7
  399. package/dist/validation/unsupported-utility-types.js.map +1 -1
  400. package/dist/validator.maximus.test.d.ts +2 -0
  401. package/dist/validator.maximus.test.d.ts.map +1 -0
  402. package/dist/validator.maximus.test.js +1214 -0
  403. package/dist/validator.maximus.test.js.map +1 -0
  404. package/dist/validator.test.js +152 -18
  405. package/dist/validator.test.js.map +1 -1
  406. package/package.json +1 -1
  407. package/dist/ir/converters/statements/declarations/registry.d.ts +0 -96
  408. package/dist/ir/converters/statements/declarations/registry.d.ts.map +0 -1
  409. package/dist/ir/converters/statements/declarations/registry.js +0 -130
  410. package/dist/ir/converters/statements/declarations/registry.js.map +0 -1
  411. package/dist/ir/this-parameter-inference.test.d.ts +0 -13
  412. package/dist/ir/this-parameter-inference.test.d.ts.map +0 -1
  413. package/dist/ir/this-parameter-inference.test.js +0 -165
  414. package/dist/ir/this-parameter-inference.test.js.map +0 -1
  415. package/dist/metadata/bindings-loader.d.ts +0 -41
  416. package/dist/metadata/bindings-loader.d.ts.map +0 -1
  417. package/dist/metadata/bindings-loader.js +0 -308
  418. package/dist/metadata/bindings-loader.js.map +0 -1
  419. package/dist/metadata/bindings-loader.test.d.ts +0 -5
  420. package/dist/metadata/bindings-loader.test.d.ts.map +0 -1
  421. package/dist/metadata/bindings-loader.test.js +0 -117
  422. package/dist/metadata/bindings-loader.test.js.map +0 -1
  423. package/dist/metadata/index.d.ts +0 -8
  424. package/dist/metadata/index.d.ts.map +0 -1
  425. package/dist/metadata/index.js +0 -7
  426. package/dist/metadata/index.js.map +0 -1
  427. package/dist/metadata/library-loader.d.ts +0 -42
  428. package/dist/metadata/library-loader.d.ts.map +0 -1
  429. package/dist/metadata/library-loader.js +0 -126
  430. package/dist/metadata/library-loader.js.map +0 -1
  431. package/dist/metadata/loader.d.ts +0 -26
  432. package/dist/metadata/loader.d.ts.map +0 -1
  433. package/dist/metadata/loader.js +0 -333
  434. package/dist/metadata/loader.js.map +0 -1
  435. package/dist/metadata/loader.test.d.ts +0 -5
  436. package/dist/metadata/loader.test.d.ts.map +0 -1
  437. package/dist/metadata/loader.test.js +0 -119
  438. package/dist/metadata/loader.test.js.map +0 -1
  439. package/dist/resolver/naming-policy.d.ts +0 -20
  440. package/dist/resolver/naming-policy.d.ts.map +0 -1
  441. package/dist/resolver/naming-policy.js +0 -40
  442. package/dist/resolver/naming-policy.js.map +0 -1
  443. package/dist/types/bindings.d.ts +0 -153
  444. package/dist/types/bindings.d.ts.map +0 -1
  445. package/dist/types/bindings.js +0 -14
  446. package/dist/types/bindings.js.map +0 -1
  447. package/dist/types/metadata.d.ts +0 -196
  448. package/dist/types/metadata.d.ts.map +0 -1
  449. package/dist/types/metadata.js +0 -10
  450. package/dist/types/metadata.js.map +0 -1
  451. package/dist/types/nested-types.d.ts +0 -111
  452. package/dist/types/nested-types.d.ts.map +0 -1
  453. package/dist/types/nested-types.js +0 -176
  454. package/dist/types/nested-types.js.map +0 -1
  455. package/dist/types/nested-types.test.d.ts +0 -5
  456. package/dist/types/nested-types.test.d.ts.map +0 -1
  457. package/dist/types/nested-types.test.js +0 -135
  458. package/dist/types/nested-types.test.js.map +0 -1
  459. package/dist/types/ref-parameters.d.ts +0 -123
  460. package/dist/types/ref-parameters.d.ts.map +0 -1
  461. package/dist/types/ref-parameters.js +0 -203
  462. package/dist/types/ref-parameters.js.map +0 -1
  463. package/dist/types/ref-parameters.test.d.ts +0 -5
  464. package/dist/types/ref-parameters.test.d.ts.map +0 -1
  465. package/dist/types/ref-parameters.test.js +0 -147
  466. package/dist/types/ref-parameters.test.js.map +0 -1
@@ -10,18 +10,24 @@
10
10
  * - INV-1: No convertType/getHandleRegistry outside TypeAuthority
11
11
  * - INV-2: Deterministic type sources only
12
12
  * - INV-3: Poison-on-missing-types (return unknownType + emit diagnostic)
13
+ *
14
+ * DAG position: orchestrator — imports all split modules, constructs state,
15
+ * returns TypeAuthority with functions bound to shared state.
13
16
  */
14
- import type { IrType, IrFunctionType, IrMethodSignature } from "../types/index.js";
17
+ import type { IrType, IrFunctionType } from "../types/index.js";
15
18
  import type { Diagnostic } from "../../types/diagnostic.js";
16
- import type { DeclId, SignatureId, MemberId, TypeSyntaxId, TypeParameterInfo, UtilityTypeName, ParameterMode } from "./types.js";
19
+ import type { DeclId, SignatureId, MemberId, TypeSyntaxId, UtilityTypeName } from "./types.js";
17
20
  import type { AliasTable } from "./internal/universe/alias-table.js";
18
- import type { TypeId, UnifiedTypeCatalog } from "./internal/universe/types.js";
21
+ import type { UnifiedTypeCatalog } from "./internal/universe/types.js";
22
+ export type { MemberRef, CallQuery, ResolvedCall, Site, } from "./type-system-state.js";
23
+ export { BUILTIN_NOMINALS, poisonedCall } from "./type-system-state.js";
24
+ import type { HandleRegistry, TypeRegistryAPI, NominalEnvAPI, CallQuery, ResolvedCall, MemberRef, Site, TypeSubstitutionMap } from "./type-system-state.js";
19
25
  /**
20
26
  * TypeAuthority interface — Alice's exact specification.
21
27
  *
22
28
  * Key method: resolveCall(query) — single entry point for all call resolution.
23
29
  */
24
- export interface TypeAuthority {
30
+ export type TypeAuthority = {
25
31
  /**
26
32
  * Convert a captured type syntax to IrType.
27
33
  *
@@ -31,8 +37,7 @@ export interface TypeAuthority {
31
37
  * ALICE'S SPEC (Phase 4): TypeSystem receives opaque handles, not ts.TypeNode.
32
38
  * This keeps the TypeSystem public API free of TypeScript types.
33
39
  *
34
- * NOTE: The deprecated convertTypeNode() method has been removed.
35
- * All converters now use captureTypeSyntax() + typeFromSyntax().
40
+ * All converters use captureTypeSyntax() + typeFromSyntax().
36
41
  */
37
42
  typeFromSyntax(typeSyntaxId: TypeSyntaxId): IrType;
38
43
  /**
@@ -217,132 +222,6 @@ export interface TypeAuthority {
217
222
  * Clear accumulated diagnostics.
218
223
  */
219
224
  clearDiagnostics(): void;
220
- }
221
- /**
222
- * MemberRef — Reference to a member by ID or name.
223
- *
224
- * byId: Use when MemberId is available (stable identity).
225
- * byName: Use for dynamic access (property access expressions).
226
- */
227
- export type MemberRef = {
228
- readonly kind: "byId";
229
- readonly id: MemberId;
230
- } | {
231
- readonly kind: "byName";
232
- readonly name: string;
233
- };
234
- /**
235
- * CallQuery — Input to resolveCall().
236
- *
237
- * Contains all information needed to resolve a call site.
238
- *
239
- * IMPORTANT (Alice's spec): argumentCount is REQUIRED for totality.
240
- * Even if signature lookup fails, TypeSystem must return correct-arity
241
- * arrays filled with unknownType. This prevents fallback behavior.
242
- */
243
- export type CallQuery = {
244
- /** The signature being called (from Binding.resolveCallSignature) */
245
- readonly sigId: SignatureId;
246
- /**
247
- * Number of arguments at the call site.
248
- *
249
- * REQUIRED for totality: Used to construct correct-arity poisoned result
250
- * when signature lookup fails. Without this, TypeSystem cannot guarantee
251
- * parameterTypes.length === argumentCount.
252
- */
253
- readonly argumentCount: number;
254
- /** Receiver type for member calls (e.g., `arr` in `arr.map(...)`) */
255
- readonly receiverType?: IrType;
256
- /** Explicit type arguments from call syntax (e.g., `fn<string>(...)`) */
257
- readonly explicitTypeArgs?: readonly IrType[];
258
- /** Argument types for deterministic unification (undefined = unknown) */
259
- readonly argTypes?: readonly (IrType | undefined)[];
260
- /** Blame location for diagnostics */
261
- readonly site?: Site;
262
- };
263
- /**
264
- * ResolvedCall — Output of resolveCall().
265
- *
266
- * Contains fully instantiated types after all substitutions applied.
267
- */
268
- export type ResolvedCall = {
269
- /** Fully instantiated parameter types (undefined = missing annotation) */
270
- readonly parameterTypes: readonly (IrType | undefined)[];
271
- /** Parameter passing modes (value, ref, out, in) */
272
- readonly parameterModes: readonly ParameterMode[];
273
- /** Fully instantiated return type */
274
- readonly returnType: IrType;
275
- /**
276
- * Type predicate info for narrowing (x is T).
277
- * Only present if the function has a type predicate return type.
278
- */
279
- readonly typePredicate?: TypePredicateResult;
280
- /** Diagnostics emitted during resolution */
281
- readonly diagnostics: readonly Diagnostic[];
282
- };
283
- /**
284
- * TypePredicateResult — Resolved type predicate info.
285
- *
286
- * Extracted from SignatureInfo.typePredicate and converted to IR types.
287
- */
288
- export type TypePredicateResult = {
289
- readonly kind: "param";
290
- readonly parameterIndex: number;
291
- readonly targetType: IrType;
292
- } | {
293
- readonly kind: "this";
294
- readonly targetType: IrType;
295
- };
296
- /**
297
- * Site — Blame location for diagnostics.
298
- *
299
- * Used to report errors at the correct source location.
300
- */
301
- export type Site = {
302
- /** Source file path */
303
- readonly file?: string;
304
- /** 0-based line number */
305
- readonly line?: number;
306
- /** 0-based column number */
307
- readonly column?: number;
308
- /** Original AST node (for detailed location) */
309
- readonly node?: unknown;
310
- };
311
- /**
312
- * Type substitution map — maps type parameter names to concrete types.
313
- */
314
- export type TypeSubstitutionMap = ReadonlyMap<string, IrType>;
315
- /**
316
- * Raw signature information extracted from Binding.
317
- *
318
- * This is the pre-substitution form stored in the signature cache.
319
- */
320
- export type RawSignatureInfo = {
321
- /** Parameter types (undefined = missing annotation → TSN5201) */
322
- readonly parameterTypes: readonly (IrType | undefined)[];
323
- /** TypeScript `this:` parameter type (if present). Excluded from `parameterTypes`. */
324
- readonly thisParameterType?: IrType;
325
- /** Return type (voidType if not specified) */
326
- readonly returnType: IrType;
327
- /** Parameter modes */
328
- readonly parameterModes: readonly ParameterMode[];
329
- /** Type parameters for generic methods */
330
- readonly typeParameters: readonly TypeParameterInfo[];
331
- /** Parameter names (for diagnostics) */
332
- readonly parameterNames: readonly string[];
333
- /**
334
- * Type predicate (x is T) - extracted at Binding registration time.
335
- * Contains target type as IrType.
336
- */
337
- readonly typePredicate?: TypePredicateResult;
338
- /**
339
- * Declaring identity — CRITICAL for inheritance substitution.
340
- *
341
- * Without this, resolveCall cannot compute receiver substitution.
342
- * Uses simple TS name, resolved via UnifiedTypeCatalog.resolveTsName().
343
- */
344
- readonly declaringTypeTsName?: string;
345
- readonly declaringMemberName?: string;
346
225
  };
347
226
  /**
348
227
  * Configuration for creating a TypeSystem instance.
@@ -404,229 +283,17 @@ export type TypeSystemConfig = {
404
283
  readonly resolveCallSignature: (node: unknown) => SignatureId | undefined;
405
284
  readonly resolveConstructorSignature: (node: unknown) => SignatureId | undefined;
406
285
  };
407
- /**
408
- * HandleRegistry — maps opaque handles to their underlying data.
409
- *
410
- * Created and managed by the Binding layer. TypeSystem uses this
411
- * to look up declaration and signature information.
412
- */
413
- export interface HandleRegistry {
414
- /** Get declaration info for a DeclId */
415
- getDecl(id: DeclId): DeclInfo | undefined;
416
- /** Get signature info for a SignatureId */
417
- getSignature(id: SignatureId): SignatureInfo | undefined;
418
- /** Get member info for a MemberId */
419
- getMember(id: MemberId): MemberInfo | undefined;
420
- /**
421
- * Get captured type syntax for a TypeSyntaxId.
422
- *
423
- * Returns the TypeNode that was captured via Binding.captureTypeSyntax().
424
- * TypeSystem uses this internally to convert captured syntax to IrType.
425
- */
426
- getTypeSyntax(id: TypeSyntaxId): TypeSyntaxInfo | undefined;
427
- }
428
- /**
429
- * Type syntax info stored in the handle registry.
430
- */
431
- export type TypeSyntaxInfo = {
432
- /** The captured TypeNode (ts.TypeNode, cast to unknown) */
433
- readonly typeNode: unknown;
434
- };
435
- /**
436
- * Captured class member names for override detection.
437
- * Pure data — no TS nodes.
438
- */
439
- export type ClassMemberNames = {
440
- readonly methods: ReadonlySet<string>;
441
- readonly properties: ReadonlySet<string>;
442
- };
443
- /**
444
- * Declaration info in the handle registry.
445
- */
446
- export type DeclInfo = {
447
- /** Explicit type annotation (ts.TypeNode, cast to unknown) */
448
- readonly typeNode?: unknown;
449
- /** Declaration kind */
450
- readonly kind: DeclKind;
451
- /** Fully-qualified name */
452
- readonly fqName?: string;
453
- /** Declaration AST node (ts.Declaration, cast to unknown) */
454
- readonly declNode?: unknown;
455
- /** Captured class member names (for class declarations only) */
456
- readonly classMemberNames?: ClassMemberNames;
457
- };
458
- export type DeclKind = "variable" | "function" | "class" | "interface" | "typeAlias" | "enum" | "parameter" | "property" | "method";
459
- /**
460
- * Signature info in the handle registry.
461
- *
462
- * IMPORTANT: Must include declaring identity for resolveCall().
463
- */
464
- export type SignatureInfo = {
465
- /** Parameter nodes */
466
- readonly parameters: readonly ParameterNode[];
467
- /** Type node of a TypeScript `this:` parameter (if present). Excluded from `parameters`. */
468
- readonly thisTypeNode?: unknown;
469
- /** Return type node (ts.TypeNode, cast to unknown) */
470
- readonly returnTypeNode?: unknown;
471
- /** Type parameters */
472
- readonly typeParameters?: readonly TypeParameterNode[];
473
- /**
474
- * Declaring type simple TS name (e.g., "Box" not "Test.Box").
475
- *
476
- * CRITICAL: Required for inheritance substitution in resolveCall().
477
- * Resolved via UnifiedTypeCatalog.resolveTsName() to get CLR FQ name.
478
- */
479
- readonly declaringTypeTsName?: string;
480
- /**
481
- * Declaring member name.
482
- *
483
- * CRITICAL: Required for inheritance substitution in resolveCall().
484
- */
485
- readonly declaringMemberName?: string;
486
- /**
487
- * Type predicate information for `x is T` return types.
488
- *
489
- * Extracted at registration time via pure syntax inspection.
490
- * Contains targetTypeNode which TypeSystem converts to IrType.
491
- */
492
- readonly typePredicate?: SignatureTypePredicateRaw;
493
- };
494
- /**
495
- * Raw type predicate info as stored in SignatureInfo.
496
- * Contains TypeNode, not IrType.
497
- */
498
- export type SignatureTypePredicateRaw = {
499
- readonly kind: "param";
500
- readonly parameterName: string;
501
- readonly parameterIndex: number;
502
- readonly targetTypeNode: unknown;
503
- } | {
504
- readonly kind: "this";
505
- readonly targetTypeNode: unknown;
506
- };
507
- export type ParameterNode = {
508
- readonly name: string;
509
- readonly typeNode?: unknown;
510
- readonly isOptional: boolean;
511
- readonly isRest: boolean;
512
- readonly mode?: ParameterMode;
513
- };
514
- export type TypeParameterNode = {
515
- readonly name: string;
516
- readonly constraintNode?: unknown;
517
- readonly defaultNode?: unknown;
518
- };
519
- /**
520
- * Member info in the handle registry.
521
- */
522
- export type MemberInfo = {
523
- readonly name: string;
524
- readonly declNode?: unknown;
525
- readonly typeNode?: unknown;
526
- readonly isOptional: boolean;
527
- readonly isReadonly: boolean;
528
- };
529
- /**
530
- * TypeRegistry API — minimal interface needed by TypeSystem.
531
- *
532
- * After Step 3, TypeRegistry stores pure IR.
533
- */
534
- export interface TypeRegistryAPI {
535
- /** Resolve a type by fully-qualified name */
536
- resolveNominal(fqName: string): TypeRegistryEntry | undefined;
537
- /** Resolve a type by simple name (returns first match) */
538
- resolveBySimpleName(simpleName: string): TypeRegistryEntry | undefined;
539
- /** Get fully-qualified name from simple name */
540
- getFQName(simpleName: string): string | undefined;
541
- /** Get member type from a nominal type (pure IR after Step 3) */
542
- getMemberType(fqNominal: string, memberName: string): IrType | undefined;
543
- /** Check if a type is registered */
544
- hasType(fqName: string): boolean;
545
- }
546
- /**
547
- * Type parameter info in TypeRegistry.
548
- *
549
- * Pure IR representation of type parameters.
550
- */
551
- export type TypeParameterEntry = {
552
- readonly name: string;
553
- readonly constraint?: IrType;
554
- readonly defaultType?: IrType;
555
- };
556
- /**
557
- * TypeRegistry entry.
558
- *
559
- * After Step 3, members/heritage store IrType, not TypeNodes.
560
- */
561
- export type TypeRegistryEntry = {
562
- readonly kind: "class" | "interface" | "typeAlias";
563
- readonly name: string;
564
- readonly fullyQualifiedName: string;
565
- readonly typeParameters: readonly TypeParameterEntry[];
566
- readonly members: ReadonlyMap<string, TypeRegistryMemberInfo>;
567
- };
568
- /**
569
- * Member info in TypeRegistry.
570
- *
571
- * Pure IR representation - stores IrType, not TypeNode.
572
- */
573
- export type TypeRegistryMemberInfo = {
574
- readonly kind: "property" | "method" | "indexSignature";
575
- readonly name: string;
576
- readonly type: IrType | undefined;
577
- readonly isOptional: boolean;
578
- readonly isReadonly: boolean;
579
- readonly methodSignatures?: readonly IrMethodSignature[];
580
- };
581
- /**
582
- * NominalEnv API — Phase 6: TypeId-based interface.
583
- */
584
- export interface NominalEnvAPI {
585
- /** Get inheritance chain for a type (returns TypeIds) */
586
- getInheritanceChain(typeId: TypeId): readonly TypeId[];
587
- /** Get substitution for a parent type given child instantiation */
588
- getInstantiation(receiverTypeId: TypeId, receiverTypeArgs: readonly IrType[], targetTypeId: TypeId): ReadonlyMap<string, IrType> | undefined;
589
- /** Find the declaring type of a member in the inheritance chain */
590
- findMemberDeclaringType(receiverTypeId: TypeId, receiverTypeArgs: readonly IrType[], memberName: string): MemberLookupResult | undefined;
591
- }
592
- /**
593
- * Result of looking up a member in the inheritance chain.
594
- */
595
- export type MemberLookupResult = {
596
- /** TypeId of the type that declares the member */
597
- readonly declaringTypeId: TypeId;
598
- /** Substitution to apply to the member's declared type */
599
- readonly substitution: ReadonlyMap<string, IrType>;
600
- };
601
- /**
602
- * Mapping from primitive type names to their nominal type names.
603
- *
604
- * Used by typeOfMember to look up members on primitives.
605
- * e.g., `"hello".length` → String.length
606
- */
607
- export declare const BUILTIN_NOMINALS: Readonly<Record<string, string>>;
608
- /** Poison type for undeterminable types */
609
- export declare const unknownType: IrType;
610
- /** Poison type for impossible types */
611
- export declare const neverType: IrType;
612
- /** Void type for functions with no return */
613
- export declare const voidType: IrType;
614
- /**
615
- * Create a poisoned ResolvedCall with correct arity.
616
- *
617
- * CRITICAL (Alice's spec): Empty arrays are ILLEGAL.
618
- * Poisoned results must have correct arity so callers cannot
619
- * detect failure via `length === 0` and fall back to legacy.
620
- *
621
- * @param arity Number of parameters/arguments (from CallQuery.argumentCount)
622
- * @param diagnostics Diagnostics explaining why resolution failed
623
- */
624
- export declare const poisonedCall: (arity: number, diagnostics: readonly Diagnostic[]) => ResolvedCall;
625
286
  /**
626
287
  * Create a TypeSystem instance with internal caches.
627
288
  *
628
289
  * This is the single factory for TypeSystem. All type queries go through
629
290
  * the returned TypeSystem instance.
291
+ *
292
+ * Constructs the shared TypeSystemState and delegates to split modules:
293
+ * - type-system-relations.ts: substitute, instantiate, isAssignableTo, typesEqual, containsTypeParameter
294
+ * - type-system-call-resolution.ts: resolveCall, delegateToFunctionType, convertTypeNode
295
+ * - type-system-inference.ts: typeOfDecl, typeOfMember, getIndexerInfo, and declaration queries
296
+ * - type-system-utilities.ts: expandUtility
630
297
  */
631
298
  export declare const createTypeSystem: (config: TypeSystemConfig) => TypeAuthority;
632
299
  //# sourceMappingURL=type-system.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"type-system.d.ts","sourceRoot":"","sources":["../../../src/ir/type-system/type-system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-system.d.ts","sourceRoot":"","sources":["../../../src/ir/type-system/type-system.ts"],"names":[],"mappings":"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"}