@harmoniclabs/pebble 0.1.0-dev0 → 0.1.0-dev2

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 (769) hide show
  1. package/package.json +1 -1
  2. package/dist/IR/IRHash.d.ts +0 -8
  3. package/dist/IR/IRHash.js +0 -78
  4. package/dist/IR/IRNodeKind.d.ts +0 -17
  5. package/dist/IR/IRNodeKind.js +0 -19
  6. package/dist/IR/IRNodes/BaseIRMetadata.d.ts +0 -3
  7. package/dist/IR/IRNodes/BaseIRMetadata.js +0 -1
  8. package/dist/IR/IRNodes/IRApp.d.ts +0 -36
  9. package/dist/IR/IRNodes/IRApp.js +0 -91
  10. package/dist/IR/IRNodes/IRCase.d.ts +0 -32
  11. package/dist/IR/IRNodes/IRCase.js +0 -91
  12. package/dist/IR/IRNodes/IRConst.d.ts +0 -49
  13. package/dist/IR/IRNodes/IRConst.js +0 -273
  14. package/dist/IR/IRNodes/IRConstr.d.ts +0 -30
  15. package/dist/IR/IRNodes/IRConstr.js +0 -87
  16. package/dist/IR/IRNodes/IRDelayed.d.ts +0 -31
  17. package/dist/IR/IRNodes/IRDelayed.js +0 -68
  18. package/dist/IR/IRNodes/IRError.d.ts +0 -32
  19. package/dist/IR/IRNodes/IRError.js +0 -44
  20. package/dist/IR/IRNodes/IRForced.d.ts +0 -31
  21. package/dist/IR/IRNodes/IRForced.js +0 -69
  22. package/dist/IR/IRNodes/IRFunc.d.ts +0 -33
  23. package/dist/IR/IRNodes/IRFunc.js +0 -91
  24. package/dist/IR/IRNodes/IRHoisted.d.ts +0 -55
  25. package/dist/IR/IRNodes/IRHoisted.js +0 -212
  26. package/dist/IR/IRNodes/IRLetted.d.ts +0 -108
  27. package/dist/IR/IRNodes/IRLetted.js +0 -444
  28. package/dist/IR/IRNodes/IRNative/IRNativeTag.d.ts +0 -138
  29. package/dist/IR/IRNodes/IRNative/IRNativeTag.js +0 -204
  30. package/dist/IR/IRNodes/IRNative/index.d.ts +0 -165
  31. package/dist/IR/IRNodes/IRNative/index.js +0 -240
  32. package/dist/IR/IRNodes/IRNative/isForcedNative.d.ts +0 -3
  33. package/dist/IR/IRNodes/IRNative/isForcedNative.js +0 -18
  34. package/dist/IR/IRNodes/IRRecursive.d.ts +0 -29
  35. package/dist/IR/IRNodes/IRRecursive.js +0 -90
  36. package/dist/IR/IRNodes/IRSelfCall.d.ts +0 -46
  37. package/dist/IR/IRNodes/IRSelfCall.js +0 -127
  38. package/dist/IR/IRNodes/IRVar.d.ts +0 -41
  39. package/dist/IR/IRNodes/IRVar.js +0 -93
  40. package/dist/IR/IRNodes/index.d.ts +0 -12
  41. package/dist/IR/IRNodes/index.js +0 -12
  42. package/dist/IR/IRNodes/utils/dependsByDbns.d.ts +0 -5
  43. package/dist/IR/IRNodes/utils/dependsByDbns.js +0 -29
  44. package/dist/IR/IRNodes/utils/isClosedAtDbn.d.ts +0 -2
  45. package/dist/IR/IRNodes/utils/isClosedAtDbn.js +0 -22
  46. package/dist/IR/IRNodes/utils/makeArrayLikeProxy.d.ts +0 -1
  47. package/dist/IR/IRNodes/utils/makeArrayLikeProxy.js +0 -34
  48. package/dist/IR/IRNodes/utils/mapArrayLike.d.ts +0 -1
  49. package/dist/IR/IRNodes/utils/mapArrayLike.js +0 -8
  50. package/dist/IR/IRTerm.d.ts +0 -15
  51. package/dist/IR/IRTerm.js +0 -1
  52. package/dist/IR/index.d.ts +0 -5
  53. package/dist/IR/index.js +0 -5
  54. package/dist/IR/interfaces/IHash.d.ts +0 -6
  55. package/dist/IR/interfaces/IHash.js +0 -1
  56. package/dist/IR/interfaces/IIRParent.d.ts +0 -4
  57. package/dist/IR/interfaces/IIRParent.js +0 -1
  58. package/dist/IR/interfaces/IRMetadata.d.ts +0 -3
  59. package/dist/IR/interfaces/IRMetadata.js +0 -2
  60. package/dist/IR/interfaces/ToIR.d.ts +0 -5
  61. package/dist/IR/interfaces/ToIR.js +0 -1
  62. package/dist/IR/interfaces/index.d.ts +0 -4
  63. package/dist/IR/interfaces/index.js +0 -4
  64. package/dist/IR/toUPLC/CompilerOptions.d.ts +0 -80
  65. package/dist/IR/toUPLC/CompilerOptions.js +0 -98
  66. package/dist/IR/toUPLC/_internal/_addDepth.d.ts +0 -2
  67. package/dist/IR/toUPLC/_internal/_addDepth.js +0 -58
  68. package/dist/IR/toUPLC/_internal/_irToUplc.d.ts +0 -9
  69. package/dist/IR/toUPLC/_internal/_irToUplc.js +0 -156
  70. package/dist/IR/toUPLC/_internal/_makeAllNegativeNativesHoisted.d.ts +0 -2
  71. package/dist/IR/toUPLC/_internal/_makeAllNegativeNativesHoisted.js +0 -12
  72. package/dist/IR/toUPLC/_internal/_modifyChildFromTo.d.ts +0 -10
  73. package/dist/IR/toUPLC/_internal/_modifyChildFromTo.js +0 -141
  74. package/dist/IR/toUPLC/_internal/depth.d.ts +0 -5
  75. package/dist/IR/toUPLC/_internal/depth.js +0 -8
  76. package/dist/IR/toUPLC/_internal/findAll.d.ts +0 -3
  77. package/dist/IR/toUPLC/_internal/findAll.js +0 -99
  78. package/dist/IR/toUPLC/_internal/getDebruijnInTerm.d.ts +0 -2
  79. package/dist/IR/toUPLC/_internal/getDebruijnInTerm.js +0 -51
  80. package/dist/IR/toUPLC/_internal/getDiffDbn.d.ts +0 -2
  81. package/dist/IR/toUPLC/_internal/getDiffDbn.js +0 -55
  82. package/dist/IR/toUPLC/_internal/includesLettedTerms.d.ts +0 -2
  83. package/dist/IR/toUPLC/_internal/includesLettedTerms.js +0 -50
  84. package/dist/IR/toUPLC/_internal/includesNode.d.ts +0 -2
  85. package/dist/IR/toUPLC/_internal/includesNode.js +0 -54
  86. package/dist/IR/toUPLC/_internal/iterTree.d.ts +0 -2
  87. package/dist/IR/toUPLC/_internal/iterTree.js +0 -93
  88. package/dist/IR/toUPLC/_internal/lowestCommonAncestor.d.ts +0 -3
  89. package/dist/IR/toUPLC/_internal/lowestCommonAncestor.js +0 -41
  90. package/dist/IR/toUPLC/compileIRToUPLC.d.ts +0 -4
  91. package/dist/IR/toUPLC/compileIRToUPLC.js +0 -118
  92. package/dist/IR/toUPLC/index.d.ts +0 -1
  93. package/dist/IR/toUPLC/index.js +0 -1
  94. package/dist/IR/toUPLC/subRoutines/handleHoistedAndReturnRoot/index.d.ts +0 -2
  95. package/dist/IR/toUPLC/subRoutines/handleHoistedAndReturnRoot/index.js +0 -161
  96. package/dist/IR/toUPLC/subRoutines/handleLetted/findHighestRecursiveParent.d.ts +0 -5
  97. package/dist/IR/toUPLC/subRoutines/handleLetted/findHighestRecursiveParent.js +0 -14
  98. package/dist/IR/toUPLC/subRoutines/handleLetted/groupByScope.d.ts +0 -20
  99. package/dist/IR/toUPLC/subRoutines/handleLetted/groupByScope.js +0 -107
  100. package/dist/IR/toUPLC/subRoutines/handleLetted/incrementUnboundDbns.d.ts +0 -9
  101. package/dist/IR/toUPLC/subRoutines/handleLetted/incrementUnboundDbns.js +0 -73
  102. package/dist/IR/toUPLC/subRoutines/handleLetted/index.d.ts +0 -2
  103. package/dist/IR/toUPLC/subRoutines/handleLetted/index.js +0 -304
  104. package/dist/IR/toUPLC/subRoutines/handleRecursiveTerms.d.ts +0 -3
  105. package/dist/IR/toUPLC/subRoutines/handleRecursiveTerms.js +0 -32
  106. package/dist/IR/toUPLC/subRoutines/hoistForcedNatives.d.ts +0 -2
  107. package/dist/IR/toUPLC/subRoutines/hoistForcedNatives.js +0 -58
  108. package/dist/IR/toUPLC/subRoutines/inlineSingleUseApplications.d.ts +0 -1
  109. package/dist/IR/toUPLC/subRoutines/inlineSingleUseApplications.js +0 -12
  110. package/dist/IR/toUPLC/subRoutines/markRecursiveHoistsAsForced.d.ts +0 -2
  111. package/dist/IR/toUPLC/subRoutines/markRecursiveHoistsAsForced.js +0 -82
  112. package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/expandFuncsAndReturnRoot.d.ts +0 -4
  113. package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/expandFuncsAndReturnRoot.js +0 -68
  114. package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/index.d.ts +0 -5
  115. package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/index.js +0 -227
  116. package/dist/IR/toUPLC/subRoutines/replaceClosedLettedWithHoisted.d.ts +0 -2
  117. package/dist/IR/toUPLC/subRoutines/replaceClosedLettedWithHoisted.js +0 -13
  118. package/dist/IR/toUPLC/subRoutines/replaceForcedNativesWithHoisted.d.ts +0 -2
  119. package/dist/IR/toUPLC/subRoutines/replaceForcedNativesWithHoisted.js +0 -11
  120. package/dist/IR/toUPLC/subRoutines/replaceHoistedWithLetted.d.ts +0 -2
  121. package/dist/IR/toUPLC/subRoutines/replaceHoistedWithLetted.js +0 -16
  122. package/dist/IR/toUPLC/subRoutines/replaceNatives/index.d.ts +0 -2
  123. package/dist/IR/toUPLC/subRoutines/replaceNatives/index.js +0 -16
  124. package/dist/IR/toUPLC/subRoutines/replaceNatives/nativeToIR.d.ts +0 -3
  125. package/dist/IR/toUPLC/subRoutines/replaceNatives/nativeToIR.js +0 -520
  126. package/dist/IR/toUPLC/subRoutines/sanifyTree.d.ts +0 -5
  127. package/dist/IR/toUPLC/subRoutines/sanifyTree.js +0 -84
  128. package/dist/IR/tree_utils/_ir_apps.d.ts +0 -3
  129. package/dist/IR/tree_utils/_ir_apps.js +0 -8
  130. package/dist/IR/tree_utils/_ir_lazyChooseList.d.ts +0 -3
  131. package/dist/IR/tree_utils/_ir_lazyChooseList.js +0 -5
  132. package/dist/IR/tree_utils/_ir_lazyIfThenElse.d.ts +0 -3
  133. package/dist/IR/tree_utils/_ir_lazyIfThenElse.js +0 -5
  134. package/dist/IR/tree_utils/_ir_let.d.ts +0 -3
  135. package/dist/IR/tree_utils/_ir_let.js +0 -4
  136. package/dist/IR/tree_utils/getChildren.d.ts +0 -2
  137. package/dist/IR/tree_utils/getChildren.js +0 -33
  138. package/dist/IR/tree_utils/getRoot.d.ts +0 -2
  139. package/dist/IR/tree_utils/getRoot.js +0 -6
  140. package/dist/IR/utils/MutArrayLike.d.ts +0 -5
  141. package/dist/IR/utils/MutArrayLike.js +0 -1
  142. package/dist/IR/utils/concatUint8Arr.d.ts +0 -1
  143. package/dist/IR/utils/concatUint8Arr.js +0 -11
  144. package/dist/IR/utils/equalIRTerm.d.ts +0 -12
  145. package/dist/IR/utils/equalIRTerm.js +0 -19
  146. package/dist/IR/utils/index.d.ts +0 -3
  147. package/dist/IR/utils/index.js +0 -3
  148. package/dist/IR/utils/isClosedIRTerm.d.ts +0 -2
  149. package/dist/IR/utils/isClosedIRTerm.js +0 -58
  150. package/dist/IR/utils/isIRParentTerm.d.ts +0 -12
  151. package/dist/IR/utils/isIRParentTerm.js +0 -26
  152. package/dist/IR/utils/isIRTerm.d.ts +0 -2
  153. package/dist/IR/utils/isIRTerm.js +0 -30
  154. package/dist/IR/utils/positiveIntAsBytes.d.ts +0 -5
  155. package/dist/IR/utils/positiveIntAsBytes.js +0 -27
  156. package/dist/IR/utils/showIR.d.ts +0 -43
  157. package/dist/IR/utils/showIR.js +0 -372
  158. package/dist/ast/PebbleAst.d.ts +0 -8
  159. package/dist/ast/PebbleAst.js +0 -15
  160. package/dist/ast/Source/Source.d.ts +0 -47
  161. package/dist/ast/Source/Source.js +0 -89
  162. package/dist/ast/Source/SourceRange.d.ts +0 -16
  163. package/dist/ast/Source/SourceRange.js +0 -49
  164. package/dist/ast/nodes/HasSourceRange.d.ts +0 -5
  165. package/dist/ast/nodes/HasSourceRange.js +0 -6
  166. package/dist/ast/nodes/common/Identifier.d.ts +0 -13
  167. package/dist/ast/nodes/common/Identifier.js +0 -20
  168. package/dist/ast/nodes/expr/CaseExpr.d.ts +0 -22
  169. package/dist/ast/nodes/expr/CaseExpr.js +0 -30
  170. package/dist/ast/nodes/expr/ElemAccessExpr.d.ts +0 -12
  171. package/dist/ast/nodes/expr/ElemAccessExpr.js +0 -13
  172. package/dist/ast/nodes/expr/IsExpr.d.ts +0 -1
  173. package/dist/ast/nodes/expr/IsExpr.js +0 -14
  174. package/dist/ast/nodes/expr/ParentesizedExpr.d.ts +0 -8
  175. package/dist/ast/nodes/expr/ParentesizedExpr.js +0 -8
  176. package/dist/ast/nodes/expr/PebbleExpr.d.ts +0 -18
  177. package/dist/ast/nodes/expr/PebbleExpr.js +0 -31
  178. package/dist/ast/nodes/expr/PropAccessExpr.d.ts +0 -28
  179. package/dist/ast/nodes/expr/PropAccessExpr.js +0 -46
  180. package/dist/ast/nodes/expr/TernaryExpr.d.ts +0 -10
  181. package/dist/ast/nodes/expr/TernaryExpr.js +0 -12
  182. package/dist/ast/nodes/expr/TypeConversionExpr.d.ts +0 -10
  183. package/dist/ast/nodes/expr/TypeConversionExpr.js +0 -11
  184. package/dist/ast/nodes/expr/binary/BinaryExpr.d.ts +0 -133
  185. package/dist/ast/nodes/expr/binary/BinaryExpr.js +0 -253
  186. package/dist/ast/nodes/expr/functions/ArrowKind.d.ts +0 -9
  187. package/dist/ast/nodes/expr/functions/ArrowKind.js +0 -11
  188. package/dist/ast/nodes/expr/functions/CallExpr.d.ts +0 -17
  189. package/dist/ast/nodes/expr/functions/CallExpr.js +0 -16
  190. package/dist/ast/nodes/expr/functions/FuncExpr.d.ts +0 -21
  191. package/dist/ast/nodes/expr/functions/FuncExpr.js +0 -21
  192. package/dist/ast/nodes/expr/litteral/LitArrExpr.d.ts +0 -8
  193. package/dist/ast/nodes/expr/litteral/LitArrExpr.js +0 -8
  194. package/dist/ast/nodes/expr/litteral/LitFalseExpr.d.ts +0 -6
  195. package/dist/ast/nodes/expr/litteral/LitFalseExpr.js +0 -6
  196. package/dist/ast/nodes/expr/litteral/LitHexBytesExpr.d.ts +0 -7
  197. package/dist/ast/nodes/expr/litteral/LitHexBytesExpr.js +0 -8
  198. package/dist/ast/nodes/expr/litteral/LitIntExpr.d.ts +0 -7
  199. package/dist/ast/nodes/expr/litteral/LitIntExpr.js +0 -8
  200. package/dist/ast/nodes/expr/litteral/LitNamedObjExpr.d.ts +0 -12
  201. package/dist/ast/nodes/expr/litteral/LitNamedObjExpr.js +0 -12
  202. package/dist/ast/nodes/expr/litteral/LitObjExpr.d.ts +0 -14
  203. package/dist/ast/nodes/expr/litteral/LitObjExpr.js +0 -10
  204. package/dist/ast/nodes/expr/litteral/LitStrExpr.d.ts +0 -7
  205. package/dist/ast/nodes/expr/litteral/LitStrExpr.js +0 -8
  206. package/dist/ast/nodes/expr/litteral/LitThisExpr.d.ts +0 -6
  207. package/dist/ast/nodes/expr/litteral/LitThisExpr.js +0 -6
  208. package/dist/ast/nodes/expr/litteral/LitTrueExpr.d.ts +0 -6
  209. package/dist/ast/nodes/expr/litteral/LitTrueExpr.js +0 -6
  210. package/dist/ast/nodes/expr/litteral/LitUndefExpr.d.ts +0 -6
  211. package/dist/ast/nodes/expr/litteral/LitUndefExpr.js +0 -6
  212. package/dist/ast/nodes/expr/litteral/LitVoidExpr.d.ts +0 -6
  213. package/dist/ast/nodes/expr/litteral/LitVoidExpr.js +0 -6
  214. package/dist/ast/nodes/expr/litteral/LitteralExpr.d.ts +0 -13
  215. package/dist/ast/nodes/expr/litteral/LitteralExpr.js +0 -24
  216. package/dist/ast/nodes/expr/unary/IUnaryExpression.d.ts +0 -4
  217. package/dist/ast/nodes/expr/unary/IUnaryExpression.js +0 -1
  218. package/dist/ast/nodes/expr/unary/NonNullExpr.d.ts +0 -8
  219. package/dist/ast/nodes/expr/unary/NonNullExpr.js +0 -8
  220. package/dist/ast/nodes/expr/unary/UnaryExclamation.d.ts +0 -9
  221. package/dist/ast/nodes/expr/unary/UnaryExclamation.js +0 -8
  222. package/dist/ast/nodes/expr/unary/UnaryMinus.d.ts +0 -9
  223. package/dist/ast/nodes/expr/unary/UnaryMinus.js +0 -8
  224. package/dist/ast/nodes/expr/unary/UnaryPlus.d.ts +0 -9
  225. package/dist/ast/nodes/expr/unary/UnaryPlus.js +0 -8
  226. package/dist/ast/nodes/expr/unary/UnaryPrefixExpr.d.ts +0 -14
  227. package/dist/ast/nodes/expr/unary/UnaryPrefixExpr.js +0 -27
  228. package/dist/ast/nodes/expr/unary/UnaryTilde.d.ts +0 -9
  229. package/dist/ast/nodes/expr/unary/UnaryTilde.js +0 -8
  230. package/dist/ast/nodes/statements/AssertStmt.d.ts +0 -15
  231. package/dist/ast/nodes/statements/AssertStmt.js +0 -14
  232. package/dist/ast/nodes/statements/AssignmentStmt.d.ts +0 -105
  233. package/dist/ast/nodes/statements/AssignmentStmt.js +0 -211
  234. package/dist/ast/nodes/statements/BlockStmt.d.ts +0 -8
  235. package/dist/ast/nodes/statements/BlockStmt.js +0 -8
  236. package/dist/ast/nodes/statements/BreakStmt.d.ts +0 -6
  237. package/dist/ast/nodes/statements/BreakStmt.js +0 -6
  238. package/dist/ast/nodes/statements/ContinueStmt.d.ts +0 -6
  239. package/dist/ast/nodes/statements/ContinueStmt.js +0 -6
  240. package/dist/ast/nodes/statements/DecrStmt.d.ts +0 -11
  241. package/dist/ast/nodes/statements/DecrStmt.js +0 -11
  242. package/dist/ast/nodes/statements/DoWhileStmt.d.ts +0 -10
  243. package/dist/ast/nodes/statements/DoWhileStmt.js +0 -10
  244. package/dist/ast/nodes/statements/EmptyStmt.d.ts +0 -6
  245. package/dist/ast/nodes/statements/EmptyStmt.js +0 -6
  246. package/dist/ast/nodes/statements/ExportImportStmt.d.ts +0 -15
  247. package/dist/ast/nodes/statements/ExportImportStmt.js +0 -15
  248. package/dist/ast/nodes/statements/ExportStarStmt.d.ts +0 -8
  249. package/dist/ast/nodes/statements/ExportStarStmt.js +0 -8
  250. package/dist/ast/nodes/statements/ExportStmt.d.ts +0 -13
  251. package/dist/ast/nodes/statements/ExportStmt.js +0 -13
  252. package/dist/ast/nodes/statements/ExprStmt.d.ts +0 -8
  253. package/dist/ast/nodes/statements/ExprStmt.js +0 -18
  254. package/dist/ast/nodes/statements/FailStmt.d.ts +0 -11
  255. package/dist/ast/nodes/statements/FailStmt.js +0 -10
  256. package/dist/ast/nodes/statements/ForOfStmt.d.ts +0 -16
  257. package/dist/ast/nodes/statements/ForOfStmt.js +0 -15
  258. package/dist/ast/nodes/statements/ForStmt.d.ts +0 -19
  259. package/dist/ast/nodes/statements/ForStmt.js +0 -19
  260. package/dist/ast/nodes/statements/IfStmt.d.ts +0 -11
  261. package/dist/ast/nodes/statements/IfStmt.js +0 -12
  262. package/dist/ast/nodes/statements/ImportStarStmt.d.ts +0 -15
  263. package/dist/ast/nodes/statements/ImportStarStmt.js +0 -15
  264. package/dist/ast/nodes/statements/ImportStmt.d.ts +0 -21
  265. package/dist/ast/nodes/statements/ImportStmt.js +0 -25
  266. package/dist/ast/nodes/statements/IncrStmt.d.ts +0 -8
  267. package/dist/ast/nodes/statements/IncrStmt.js +0 -8
  268. package/dist/ast/nodes/statements/MatchStmt.d.ts +0 -17
  269. package/dist/ast/nodes/statements/MatchStmt.js +0 -20
  270. package/dist/ast/nodes/statements/PebbleStmt.d.ts +0 -29
  271. package/dist/ast/nodes/statements/PebbleStmt.js +0 -62
  272. package/dist/ast/nodes/statements/ReturnStmt.d.ts +0 -8
  273. package/dist/ast/nodes/statements/ReturnStmt.js +0 -8
  274. package/dist/ast/nodes/statements/TestStmt.d.ts +0 -10
  275. package/dist/ast/nodes/statements/TestStmt.js +0 -10
  276. package/dist/ast/nodes/statements/TypeImplementsStmt.d.ts +0 -21
  277. package/dist/ast/nodes/statements/TypeImplementsStmt.js +0 -26
  278. package/dist/ast/nodes/statements/UsingStmt.d.ts +0 -16
  279. package/dist/ast/nodes/statements/UsingStmt.js +0 -20
  280. package/dist/ast/nodes/statements/VarStmt.d.ts +0 -10
  281. package/dist/ast/nodes/statements/VarStmt.js +0 -11
  282. package/dist/ast/nodes/statements/WhileStmt.d.ts +0 -10
  283. package/dist/ast/nodes/statements/WhileStmt.js +0 -10
  284. package/dist/ast/nodes/statements/declarations/EnumDecl.d.ts +0 -18
  285. package/dist/ast/nodes/statements/declarations/EnumDecl.js +0 -22
  286. package/dist/ast/nodes/statements/declarations/FuncDecl.d.ts +0 -8
  287. package/dist/ast/nodes/statements/declarations/FuncDecl.js +0 -9
  288. package/dist/ast/nodes/statements/declarations/InterfaceDecl.d.ts +0 -19
  289. package/dist/ast/nodes/statements/declarations/InterfaceDecl.js +0 -26
  290. package/dist/ast/nodes/statements/declarations/PebbleTypeDecl.d.ts +0 -5
  291. package/dist/ast/nodes/statements/declarations/PebbleTypeDecl.js +0 -8
  292. package/dist/ast/nodes/statements/declarations/StructDecl.d.ts +0 -25
  293. package/dist/ast/nodes/statements/declarations/StructDecl.js +0 -36
  294. package/dist/ast/nodes/statements/declarations/TypeAliasDecl.d.ts +0 -11
  295. package/dist/ast/nodes/statements/declarations/TypeAliasDecl.js +0 -12
  296. package/dist/ast/nodes/statements/declarations/VarDecl/ArrayLikeDeconstr.d.ts +0 -19
  297. package/dist/ast/nodes/statements/declarations/VarDecl/ArrayLikeDeconstr.js +0 -19
  298. package/dist/ast/nodes/statements/declarations/VarDecl/HasInit.d.ts +0 -5
  299. package/dist/ast/nodes/statements/declarations/VarDecl/HasInit.js +0 -7
  300. package/dist/ast/nodes/statements/declarations/VarDecl/NamedDeconstructVarDecl.d.ts +0 -24
  301. package/dist/ast/nodes/statements/declarations/VarDecl/NamedDeconstructVarDecl.js +0 -30
  302. package/dist/ast/nodes/statements/declarations/VarDecl/SimpleVarDecl.d.ts +0 -17
  303. package/dist/ast/nodes/statements/declarations/VarDecl/SimpleVarDecl.js +0 -21
  304. package/dist/ast/nodes/statements/declarations/VarDecl/SingleDeconstructVarDecl.d.ts +0 -24
  305. package/dist/ast/nodes/statements/declarations/VarDecl/SingleDeconstructVarDecl.js +0 -20
  306. package/dist/ast/nodes/statements/declarations/VarDecl/VarDecl.d.ts +0 -8
  307. package/dist/ast/nodes/statements/declarations/VarDecl/VarDecl.js +0 -13
  308. package/dist/ast/nodes/types/AstNamedTypeExpr.d.ts +0 -14
  309. package/dist/ast/nodes/types/AstNamedTypeExpr.js +0 -14
  310. package/dist/ast/nodes/types/AstNativeTypeExpr.d.ts +0 -52
  311. package/dist/ast/nodes/types/AstNativeTypeExpr.js +0 -82
  312. package/dist/ast/nodes/types/AstTypeExpr.d.ts +0 -4
  313. package/dist/ast/nodes/types/AstTypeExpr.js +0 -7
  314. package/dist/common.d.ts +0 -194
  315. package/dist/common.js +0 -224
  316. package/dist/compiler/AstCompiler/AstCompilationCtx.d.ts +0 -35
  317. package/dist/compiler/AstCompiler/AstCompilationCtx.js +0 -43
  318. package/dist/compiler/AstCompiler/AstCompiler.d.ts +0 -73
  319. package/dist/compiler/AstCompiler/AstCompiler.js +0 -532
  320. package/dist/compiler/AstCompiler/compileAst.d.ts +0 -0
  321. package/dist/compiler/AstCompiler/compileAst.js +0 -0
  322. package/dist/compiler/AstCompiler/index.d.ts +0 -1
  323. package/dist/compiler/AstCompiler/index.js +0 -1
  324. package/dist/compiler/AstCompiler/internal/exprs/_compileBinaryExpr.d.ts +0 -5
  325. package/dist/compiler/AstCompiler/internal/exprs/_compileBinaryExpr.js +0 -66
  326. package/dist/compiler/AstCompiler/internal/exprs/_compileCallExpr.d.ts +0 -5
  327. package/dist/compiler/AstCompiler/internal/exprs/_compileCallExpr.js +0 -36
  328. package/dist/compiler/AstCompiler/internal/exprs/_compileCaseExpr.d.ts +0 -6
  329. package/dist/compiler/AstCompiler/internal/exprs/_compileCaseExpr.js +0 -47
  330. package/dist/compiler/AstCompiler/internal/exprs/_compileElemAccessExpr.d.ts +0 -5
  331. package/dist/compiler/AstCompiler/internal/exprs/_compileElemAccessExpr.js +0 -23
  332. package/dist/compiler/AstCompiler/internal/exprs/_compileExpr.d.ts +0 -22
  333. package/dist/compiler/AstCompiler/internal/exprs/_compileExpr.js +0 -77
  334. package/dist/compiler/AstCompiler/internal/exprs/_compileFuncExpr.d.ts +0 -26
  335. package/dist/compiler/AstCompiler/internal/exprs/_compileFuncExpr.js +0 -163
  336. package/dist/compiler/AstCompiler/internal/exprs/_compileIsExpr.d.ts +0 -1
  337. package/dist/compiler/AstCompiler/internal/exprs/_compileIsExpr.js +0 -43
  338. package/dist/compiler/AstCompiler/internal/exprs/_compileLitteralExpr.d.ts +0 -19
  339. package/dist/compiler/AstCompiler/internal/exprs/_compileLitteralExpr.js +0 -202
  340. package/dist/compiler/AstCompiler/internal/exprs/_compileNonNullExpr.d.ts +0 -5
  341. package/dist/compiler/AstCompiler/internal/exprs/_compileNonNullExpr.js +0 -43
  342. package/dist/compiler/AstCompiler/internal/exprs/_compilePropAccessExpr.d.ts +0 -9
  343. package/dist/compiler/AstCompiler/internal/exprs/_compilePropAccessExpr.js +0 -102
  344. package/dist/compiler/AstCompiler/internal/exprs/_compileTernaryExpr.d.ts +0 -5
  345. package/dist/compiler/AstCompiler/internal/exprs/_compileTernaryExpr.js +0 -22
  346. package/dist/compiler/AstCompiler/internal/exprs/_compileTypeConversionExpr.d.ts +0 -5
  347. package/dist/compiler/AstCompiler/internal/exprs/_compileTypeConversionExpr.js +0 -25
  348. package/dist/compiler/AstCompiler/internal/exprs/_compileUnaryPrefixExpr.d.ts +0 -5
  349. package/dist/compiler/AstCompiler/internal/exprs/_compileUnaryPrefixExpr.js +0 -54
  350. package/dist/compiler/AstCompiler/internal/exprs/_compileVarAccessExpr.d.ts +0 -5
  351. package/dist/compiler/AstCompiler/internal/exprs/_compileVarAccessExpr.js +0 -9
  352. package/dist/compiler/AstCompiler/internal/exprs/_hasDuplicateTypeParams.d.ts +0 -3
  353. package/dist/compiler/AstCompiler/internal/exprs/_hasDuplicateTypeParams.js +0 -13
  354. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileAddExpr.d.ts +0 -5
  355. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileAddExpr.js +0 -20
  356. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseAndExpr.d.ts +0 -5
  357. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseAndExpr.js +0 -20
  358. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseOrExpr.d.ts +0 -5
  359. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseOrExpr.js +0 -20
  360. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseXorExpr.d.ts +0 -5
  361. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseXorExpr.js +0 -20
  362. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileDivExpr.d.ts +0 -5
  363. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileDivExpr.js +0 -20
  364. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileEqualExpr.d.ts +0 -5
  365. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileEqualExpr.js +0 -18
  366. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileExponentiationExpr.d.ts +0 -5
  367. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileExponentiationExpr.js +0 -20
  368. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanEqualExpr.d.ts +0 -5
  369. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanEqualExpr.js +0 -27
  370. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanExpr.d.ts +0 -5
  371. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanExpr.js +0 -26
  372. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanEqualExpr.d.ts +0 -5
  373. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanEqualExpr.js +0 -25
  374. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanExpr.d.ts +0 -5
  375. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanExpr.js +0 -26
  376. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalAndExpr.d.ts +0 -5
  377. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalAndExpr.js +0 -22
  378. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalOrExpr.d.ts +0 -5
  379. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalOrExpr.js +0 -22
  380. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileModuloExpr.d.ts +0 -5
  381. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileModuloExpr.js +0 -20
  382. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileMultExpr.d.ts +0 -5
  383. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileMultExpr.js +0 -20
  384. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileNotEqualExpr.d.ts +0 -5
  385. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileNotEqualExpr.js +0 -18
  386. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileOptionalDefaultExpr.d.ts +0 -5
  387. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileOptionalDefaultExpr.js +0 -60
  388. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftLeftExpr.d.ts +0 -5
  389. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftLeftExpr.js +0 -21
  390. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftRightExpr.d.ts +0 -5
  391. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftRightExpr.js +0 -21
  392. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileSubExpr.d.ts +0 -5
  393. package/dist/compiler/AstCompiler/internal/exprs/binary/_compileSubExpr.js +0 -20
  394. package/dist/compiler/AstCompiler/internal/statements/_compileAssertStmt.d.ts +0 -4
  395. package/dist/compiler/AstCompiler/internal/statements/_compileAssertStmt.js +0 -30
  396. package/dist/compiler/AstCompiler/internal/statements/_compileAssignmentStmt.d.ts +0 -8
  397. package/dist/compiler/AstCompiler/internal/statements/_compileAssignmentStmt.js +0 -154
  398. package/dist/compiler/AstCompiler/internal/statements/_compileBlockStmt.d.ts +0 -4
  399. package/dist/compiler/AstCompiler/internal/statements/_compileBlockStmt.js +0 -14
  400. package/dist/compiler/AstCompiler/internal/statements/_compileBreakStmt.d.ts +0 -4
  401. package/dist/compiler/AstCompiler/internal/statements/_compileBreakStmt.js +0 -7
  402. package/dist/compiler/AstCompiler/internal/statements/_compileContinueStmt.d.ts +0 -4
  403. package/dist/compiler/AstCompiler/internal/statements/_compileContinueStmt.js +0 -7
  404. package/dist/compiler/AstCompiler/internal/statements/_compileExprStmt.d.ts +0 -1
  405. package/dist/compiler/AstCompiler/internal/statements/_compileExprStmt.js +0 -12
  406. package/dist/compiler/AstCompiler/internal/statements/_compileFailStmt.d.ts +0 -4
  407. package/dist/compiler/AstCompiler/internal/statements/_compileFailStmt.js +0 -18
  408. package/dist/compiler/AstCompiler/internal/statements/_compileForOfStmt.d.ts +0 -4
  409. package/dist/compiler/AstCompiler/internal/statements/_compileForOfStmt.js +0 -30
  410. package/dist/compiler/AstCompiler/internal/statements/_compileForStmt.d.ts +0 -7
  411. package/dist/compiler/AstCompiler/internal/statements/_compileForStmt.js +0 -46
  412. package/dist/compiler/AstCompiler/internal/statements/_compileIfStmt.d.ts +0 -4
  413. package/dist/compiler/AstCompiler/internal/statements/_compileIfStmt.js +0 -27
  414. package/dist/compiler/AstCompiler/internal/statements/_compileMatchStmt.d.ts +0 -6
  415. package/dist/compiler/AstCompiler/internal/statements/_compileMatchStmt.js +0 -182
  416. package/dist/compiler/AstCompiler/internal/statements/_compileReturnStmt.d.ts +0 -4
  417. package/dist/compiler/AstCompiler/internal/statements/_compileReturnStmt.js +0 -17
  418. package/dist/compiler/AstCompiler/internal/statements/_compileStatement.d.ts +0 -11
  419. package/dist/compiler/AstCompiler/internal/statements/_compileStatement.js +0 -73
  420. package/dist/compiler/AstCompiler/internal/statements/_compileTestStmt.d.ts +0 -1
  421. package/dist/compiler/AstCompiler/internal/statements/_compileTestStmt.js +0 -32
  422. package/dist/compiler/AstCompiler/internal/statements/_compileUsingStmt.d.ts +0 -11
  423. package/dist/compiler/AstCompiler/internal/statements/_compileUsingStmt.js +0 -41
  424. package/dist/compiler/AstCompiler/internal/statements/_compileVarStmt.d.ts +0 -34
  425. package/dist/compiler/AstCompiler/internal/statements/_compileVarStmt.js +0 -207
  426. package/dist/compiler/AstCompiler/internal/statements/_compileWhileStmt.d.ts +0 -4
  427. package/dist/compiler/AstCompiler/internal/statements/_compileWhileStmt.js +0 -19
  428. package/dist/compiler/AstCompiler/internal/types/_compileDataEncodedConcreteType.d.ts +0 -4
  429. package/dist/compiler/AstCompiler/internal/types/_compileDataEncodedConcreteType.js +0 -61
  430. package/dist/compiler/AstCompiler/internal/types/_compileSopEncodedConcreteType.d.ts +0 -4
  431. package/dist/compiler/AstCompiler/internal/types/_compileSopEncodedConcreteType.js +0 -59
  432. package/dist/compiler/AstCompiler/scope/AstScope.d.ts +0 -102
  433. package/dist/compiler/AstCompiler/scope/AstScope.js +0 -195
  434. package/dist/compiler/AstCompiler/utils/deps/ResolveStackNode.d.ts +0 -14
  435. package/dist/compiler/AstCompiler/utils/deps/ResolveStackNode.js +0 -36
  436. package/dist/compiler/AstCompiler/utils/getPropAccessReturnType.d.ts +0 -4
  437. package/dist/compiler/AstCompiler/utils/getPropAccessReturnType.js +0 -121
  438. package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/TirFuncSigTree.d.ts +0 -39
  439. package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/TirFuncSigTree.js +0 -129
  440. package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/getTirFuncSigTree.d.ts +0 -4
  441. package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/getTirFuncSigTree.js +0 -49
  442. package/dist/compiler/AstCompiler/utils/wrapManyStatementsOrReturnSame.d.ts +0 -3
  443. package/dist/compiler/AstCompiler/utils/wrapManyStatementsOrReturnSame.js +0 -12
  444. package/dist/compiler/Compiler.d.ts +0 -10
  445. package/dist/compiler/Compiler.js +0 -39
  446. package/dist/compiler/TirCompiler/TirCompilerCtx.d.ts +0 -7
  447. package/dist/compiler/TirCompiler/TirCompilerCtx.js +0 -8
  448. package/dist/compiler/TirCompiler/compileTirProgram.d.ts +0 -9
  449. package/dist/compiler/TirCompiler/compileTirProgram.js +0 -18
  450. package/dist/compiler/TirCompiler/expressify/ExpressifyCtx.d.ts +0 -72
  451. package/dist/compiler/TirCompiler/expressify/ExpressifyCtx.js +0 -282
  452. package/dist/compiler/TirCompiler/expressify/determineReassignedVariablesAndReturn.d.ts +0 -27
  453. package/dist/compiler/TirCompiler/expressify/determineReassignedVariablesAndReturn.js +0 -248
  454. package/dist/compiler/TirCompiler/expressify/expressify.d.ts +0 -15
  455. package/dist/compiler/TirCompiler/expressify/expressify.js +0 -403
  456. package/dist/compiler/TirCompiler/expressify/expressifyForStmt.d.ts +0 -8
  457. package/dist/compiler/TirCompiler/expressify/expressifyForStmt.js +0 -115
  458. package/dist/compiler/TirCompiler/expressify/expressifyIfBranch.d.ts +0 -6
  459. package/dist/compiler/TirCompiler/expressify/expressifyIfBranch.js +0 -105
  460. package/dist/compiler/TirCompiler/expressify/expressifyTerminatingIfStmt.d.ts +0 -5
  461. package/dist/compiler/TirCompiler/expressify/expressifyTerminatingIfStmt.js +0 -15
  462. package/dist/compiler/TirCompiler/expressify/expressifyVarAssignmentStmt.d.ts +0 -4
  463. package/dist/compiler/TirCompiler/expressify/expressifyVarAssignmentStmt.js +0 -20
  464. package/dist/compiler/TirCompiler/expressify/expressifyVarDecl.d.ts +0 -3
  465. package/dist/compiler/TirCompiler/expressify/expressifyVarDecl.js +0 -34
  466. package/dist/compiler/TirCompiler/expressify/expressifyVars.d.ts +0 -10
  467. package/dist/compiler/TirCompiler/expressify/expressifyVars.js +0 -320
  468. package/dist/compiler/TirCompiler/expressify/flattenSopNamedDeconstructInplace_addTopDestructToCtx_getNestedDeconstruct.d.ts +0 -9
  469. package/dist/compiler/TirCompiler/expressify/flattenSopNamedDeconstructInplace_addTopDestructToCtx_getNestedDeconstruct.js +0 -59
  470. package/dist/compiler/TirCompiler/expressify/isSingleConstrStruct.d.ts +0 -3
  471. package/dist/compiler/TirCompiler/expressify/isSingleConstrStruct.js +0 -9
  472. package/dist/compiler/TirCompiler/expressify/toNamedDeconstructVarDecl.d.ts +0 -3
  473. package/dist/compiler/TirCompiler/expressify/toNamedDeconstructVarDecl.js +0 -15
  474. package/dist/compiler/TirCompiler/index.d.ts +0 -2
  475. package/dist/compiler/TirCompiler/index.js +0 -2
  476. package/dist/compiler/TirCompiler/internal/_compileHoistedDeps.d.ts +0 -5
  477. package/dist/compiler/TirCompiler/internal/_compileHoistedDeps.js +0 -37
  478. package/dist/compiler/TirCompiler/internal/deps/DepsNode.d.ts +0 -13
  479. package/dist/compiler/TirCompiler/internal/deps/DepsNode.js +0 -36
  480. package/dist/compiler/index.d.ts +0 -4
  481. package/dist/compiler/index.js +0 -4
  482. package/dist/compiler/internalVar.d.ts +0 -19
  483. package/dist/compiler/internalVar.js +0 -56
  484. package/dist/compiler/io/CompilerIoApi.d.ts +0 -36
  485. package/dist/compiler/io/CompilerIoApi.js +0 -62
  486. package/dist/compiler/io/IOutputStream.d.ts +0 -28
  487. package/dist/compiler/io/IOutputStream.js +0 -45
  488. package/dist/compiler/io/index.d.ts +0 -2
  489. package/dist/compiler/io/index.js +0 -2
  490. package/dist/compiler/path/getAbsolutePath.d.ts +0 -12
  491. package/dist/compiler/path/getAbsolutePath.js +0 -114
  492. package/dist/compiler/path/path.d.ts +0 -5
  493. package/dist/compiler/path/path.js +0 -160
  494. package/dist/compiler/tir/expressions/ITirExpr.d.ts +0 -11
  495. package/dist/compiler/tir/expressions/ITirExpr.js +0 -1
  496. package/dist/compiler/tir/expressions/TirAssertAndContinueExpr.d.ts +0 -19
  497. package/dist/compiler/tir/expressions/TirAssertAndContinueExpr.js +0 -41
  498. package/dist/compiler/tir/expressions/TirCallExpr.d.ts +0 -17
  499. package/dist/compiler/tir/expressions/TirCallExpr.js +0 -28
  500. package/dist/compiler/tir/expressions/TirCaseExpr.d.ts +0 -36
  501. package/dist/compiler/tir/expressions/TirCaseExpr.js +0 -257
  502. package/dist/compiler/tir/expressions/TirElemAccessExpr.d.ts +0 -20
  503. package/dist/compiler/tir/expressions/TirElemAccessExpr.js +0 -43
  504. package/dist/compiler/tir/expressions/TirExpr.d.ts +0 -23
  505. package/dist/compiler/tir/expressions/TirExpr.js +0 -46
  506. package/dist/compiler/tir/expressions/TirFailExpr.d.ts +0 -19
  507. package/dist/compiler/tir/expressions/TirFailExpr.js +0 -28
  508. package/dist/compiler/tir/expressions/TirFromDataExpr.d.ts +0 -22
  509. package/dist/compiler/tir/expressions/TirFromDataExpr.js +0 -196
  510. package/dist/compiler/tir/expressions/TirFuncExpr.d.ts +0 -37
  511. package/dist/compiler/tir/expressions/TirFuncExpr.js +0 -92
  512. package/dist/compiler/tir/expressions/TirHoistedExpr.d.ts +0 -18
  513. package/dist/compiler/tir/expressions/TirHoistedExpr.js +0 -28
  514. package/dist/compiler/tir/expressions/TirInlineClosedIR.d.ts +0 -16
  515. package/dist/compiler/tir/expressions/TirInlineClosedIR.js +0 -25
  516. package/dist/compiler/tir/expressions/TirLettedExpr.d.ts +0 -18
  517. package/dist/compiler/tir/expressions/TirLettedExpr.js +0 -28
  518. package/dist/compiler/tir/expressions/TirNativeFunc.d.ts +0 -104
  519. package/dist/compiler/tir/expressions/TirNativeFunc.js +0 -805
  520. package/dist/compiler/tir/expressions/TirParentesizedExpr.d.ts +0 -17
  521. package/dist/compiler/tir/expressions/TirParentesizedExpr.js +0 -20
  522. package/dist/compiler/tir/expressions/TirPropAccessExpr.d.ts +0 -18
  523. package/dist/compiler/tir/expressions/TirPropAccessExpr.js +0 -29
  524. package/dist/compiler/tir/expressions/TirTernaryExpr.d.ts +0 -18
  525. package/dist/compiler/tir/expressions/TirTernaryExpr.js +0 -36
  526. package/dist/compiler/tir/expressions/TirToDataExpr.d.ts +0 -28
  527. package/dist/compiler/tir/expressions/TirToDataExpr.js +0 -172
  528. package/dist/compiler/tir/expressions/TirTraceIfFalseExpr.d.ts +0 -23
  529. package/dist/compiler/tir/expressions/TirTraceIfFalseExpr.js +0 -32
  530. package/dist/compiler/tir/expressions/TirTypeConversionExpr.d.ts +0 -16
  531. package/dist/compiler/tir/expressions/TirTypeConversionExpr.js +0 -66
  532. package/dist/compiler/tir/expressions/TirVariableAccessExpr.d.ts +0 -18
  533. package/dist/compiler/tir/expressions/TirVariableAccessExpr.js +0 -30
  534. package/dist/compiler/tir/expressions/ToIRTermCtx.d.ts +0 -29
  535. package/dist/compiler/tir/expressions/ToIRTermCtx.js +0 -77
  536. package/dist/compiler/tir/expressions/binary/TirBinaryExpr.d.ts +0 -221
  537. package/dist/compiler/tir/expressions/binary/TirBinaryExpr.js +0 -532
  538. package/dist/compiler/tir/expressions/litteral/TirLitArrExpr.d.ts +0 -16
  539. package/dist/compiler/tir/expressions/litteral/TirLitArrExpr.js +0 -60
  540. package/dist/compiler/tir/expressions/litteral/TirLitFalseExpr.d.ts +0 -14
  541. package/dist/compiler/tir/expressions/litteral/TirLitFalseExpr.js +0 -17
  542. package/dist/compiler/tir/expressions/litteral/TirLitHexBytesExpr.d.ts +0 -15
  543. package/dist/compiler/tir/expressions/litteral/TirLitHexBytesExpr.js +0 -19
  544. package/dist/compiler/tir/expressions/litteral/TirLitIntExpr.d.ts +0 -15
  545. package/dist/compiler/tir/expressions/litteral/TirLitIntExpr.js +0 -19
  546. package/dist/compiler/tir/expressions/litteral/TirLitNamedObjExpr.d.ts +0 -22
  547. package/dist/compiler/tir/expressions/litteral/TirLitNamedObjExpr.js +0 -105
  548. package/dist/compiler/tir/expressions/litteral/TirLitObjExpr.d.ts +0 -22
  549. package/dist/compiler/tir/expressions/litteral/TirLitObjExpr.js +0 -102
  550. package/dist/compiler/tir/expressions/litteral/TirLitStrExpr.d.ts +0 -15
  551. package/dist/compiler/tir/expressions/litteral/TirLitStrExpr.js +0 -20
  552. package/dist/compiler/tir/expressions/litteral/TirLitThisExpr.d.ts +0 -14
  553. package/dist/compiler/tir/expressions/litteral/TirLitThisExpr.js +0 -20
  554. package/dist/compiler/tir/expressions/litteral/TirLitTrueExpr.d.ts +0 -14
  555. package/dist/compiler/tir/expressions/litteral/TirLitTrueExpr.js +0 -17
  556. package/dist/compiler/tir/expressions/litteral/TirLitUndefExpr.d.ts +0 -18
  557. package/dist/compiler/tir/expressions/litteral/TirLitUndefExpr.js +0 -23
  558. package/dist/compiler/tir/expressions/litteral/TirLitVoidExpr.d.ts +0 -14
  559. package/dist/compiler/tir/expressions/litteral/TirLitVoidExpr.js +0 -17
  560. package/dist/compiler/tir/expressions/litteral/TirLitteralExpr.d.ts +0 -13
  561. package/dist/compiler/tir/expressions/litteral/TirLitteralExpr.js +0 -24
  562. package/dist/compiler/tir/expressions/unary/ITirUnaryExpression.d.ts +0 -4
  563. package/dist/compiler/tir/expressions/unary/ITirUnaryExpression.js +0 -1
  564. package/dist/compiler/tir/expressions/unary/TirUnaryExclamation.d.ts +0 -17
  565. package/dist/compiler/tir/expressions/unary/TirUnaryExclamation.js +0 -23
  566. package/dist/compiler/tir/expressions/unary/TirUnaryMinus.d.ts +0 -17
  567. package/dist/compiler/tir/expressions/unary/TirUnaryMinus.js +0 -22
  568. package/dist/compiler/tir/expressions/unary/TirUnaryPlus.d.ts +0 -15
  569. package/dist/compiler/tir/expressions/unary/TirUnaryPlus.js +0 -20
  570. package/dist/compiler/tir/expressions/unary/TirUnaryPrefixExpr.d.ts +0 -6
  571. package/dist/compiler/tir/expressions/unary/TirUnaryPrefixExpr.js +0 -10
  572. package/dist/compiler/tir/expressions/unary/TirUnaryTilde.d.ts +0 -17
  573. package/dist/compiler/tir/expressions/unary/TirUnaryTilde.js +0 -22
  574. package/dist/compiler/tir/expressions/utils/NamedExpr.d.ts +0 -5
  575. package/dist/compiler/tir/expressions/utils/NamedExpr.js +0 -1
  576. package/dist/compiler/tir/program/TypedProgram.d.ts +0 -44
  577. package/dist/compiler/tir/program/TypedProgram.js +0 -126
  578. package/dist/compiler/tir/program/stdScope/StdTypes.d.ts +0 -34
  579. package/dist/compiler/tir/program/stdScope/StdTypes.js +0 -40
  580. package/dist/compiler/tir/program/stdScope/prelude/preludeTypesSrc.d.ts +0 -0
  581. package/dist/compiler/tir/program/stdScope/prelude/preludeTypesSrc.js +0 -288
  582. package/dist/compiler/tir/program/stdScope/stdScope.d.ts +0 -15
  583. package/dist/compiler/tir/program/stdScope/stdScope.js +0 -730
  584. package/dist/compiler/tir/statements/TirAssertStmt.d.ts +0 -18
  585. package/dist/compiler/tir/statements/TirAssertStmt.js +0 -29
  586. package/dist/compiler/tir/statements/TirAssignmentStmt.d.ts +0 -12
  587. package/dist/compiler/tir/statements/TirAssignmentStmt.js +0 -14
  588. package/dist/compiler/tir/statements/TirBlockStmt.d.ts +0 -9
  589. package/dist/compiler/tir/statements/TirBlockStmt.js +0 -25
  590. package/dist/compiler/tir/statements/TirBreakStmt.d.ts +0 -8
  591. package/dist/compiler/tir/statements/TirBreakStmt.js +0 -11
  592. package/dist/compiler/tir/statements/TirContinueStmt.d.ts +0 -8
  593. package/dist/compiler/tir/statements/TirContinueStmt.js +0 -13
  594. package/dist/compiler/tir/statements/TirFailStmt.d.ts +0 -13
  595. package/dist/compiler/tir/statements/TirFailStmt.js +0 -14
  596. package/dist/compiler/tir/statements/TirForOfStmt.d.ts +0 -16
  597. package/dist/compiler/tir/statements/TirForOfStmt.js +0 -25
  598. package/dist/compiler/tir/statements/TirForStmt.d.ts +0 -19
  599. package/dist/compiler/tir/statements/TirForStmt.js +0 -39
  600. package/dist/compiler/tir/statements/TirIfStmt.d.ts +0 -12
  601. package/dist/compiler/tir/statements/TirIfStmt.js +0 -23
  602. package/dist/compiler/tir/statements/TirMatchStmt.d.ts +0 -27
  603. package/dist/compiler/tir/statements/TirMatchStmt.js +0 -51
  604. package/dist/compiler/tir/statements/TirReturnStmt.d.ts +0 -10
  605. package/dist/compiler/tir/statements/TirReturnStmt.js +0 -12
  606. package/dist/compiler/tir/statements/TirStmt.d.ts +0 -32
  607. package/dist/compiler/tir/statements/TirStmt.js +0 -40
  608. package/dist/compiler/tir/statements/TirVarDecl/TirArrayLikeDeconstr.d.ts +0 -17
  609. package/dist/compiler/tir/statements/TirVarDecl/TirArrayLikeDeconstr.js +0 -30
  610. package/dist/compiler/tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.d.ts +0 -21
  611. package/dist/compiler/tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.js +0 -34
  612. package/dist/compiler/tir/statements/TirVarDecl/TirSimpleVarDecl.d.ts +0 -17
  613. package/dist/compiler/tir/statements/TirVarDecl/TirSimpleVarDecl.js +0 -22
  614. package/dist/compiler/tir/statements/TirVarDecl/TirSingleDeconstructVarDecl.d.ts +0 -17
  615. package/dist/compiler/tir/statements/TirVarDecl/TirSingleDeconstructVarDecl.js +0 -30
  616. package/dist/compiler/tir/statements/TirVarDecl/TirVarDecl.d.ts +0 -10
  617. package/dist/compiler/tir/statements/TirVarDecl/TirVarDecl.js +0 -11
  618. package/dist/compiler/tir/statements/TirWhileStmt.d.ts +0 -11
  619. package/dist/compiler/tir/statements/TirWhileStmt.js +0 -19
  620. package/dist/compiler/tir/statements/utils/definitelyFails.d.ts +0 -3
  621. package/dist/compiler/tir/statements/utils/definitelyFails.js +0 -52
  622. package/dist/compiler/tir/types/TirAliasType.d.ts +0 -32
  623. package/dist/compiler/tir/types/TirAliasType.js +0 -49
  624. package/dist/compiler/tir/types/TirInterfaceImpl.d.ts +0 -44
  625. package/dist/compiler/tir/types/TirInterfaceImpl.js +0 -32
  626. package/dist/compiler/tir/types/TirInterfaceType.d.ts +0 -28
  627. package/dist/compiler/tir/types/TirInterfaceType.js +0 -36
  628. package/dist/compiler/tir/types/TirNativeType/TirNativeType.d.ts +0 -41
  629. package/dist/compiler/tir/types/TirNativeType/TirNativeType.js +0 -86
  630. package/dist/compiler/tir/types/TirNativeType/index.d.ts +0 -2
  631. package/dist/compiler/tir/types/TirNativeType/index.js +0 -2
  632. package/dist/compiler/tir/types/TirNativeType/native/Optional/data.d.ts +0 -17
  633. package/dist/compiler/tir/types/TirNativeType/native/Optional/data.js +0 -47
  634. package/dist/compiler/tir/types/TirNativeType/native/Optional/index.d.ts +0 -3
  635. package/dist/compiler/tir/types/TirNativeType/native/Optional/index.js +0 -3
  636. package/dist/compiler/tir/types/TirNativeType/native/Optional/isTirOptType.d.ts +0 -4
  637. package/dist/compiler/tir/types/TirNativeType/native/Optional/isTirOptType.js +0 -6
  638. package/dist/compiler/tir/types/TirNativeType/native/Optional/sop.d.ts +0 -17
  639. package/dist/compiler/tir/types/TirNativeType/native/Optional/sop.js +0 -48
  640. package/dist/compiler/tir/types/TirNativeType/native/bool.d.ts +0 -13
  641. package/dist/compiler/tir/types/TirNativeType/native/bool.js +0 -12
  642. package/dist/compiler/tir/types/TirNativeType/native/bytes.d.ts +0 -13
  643. package/dist/compiler/tir/types/TirNativeType/native/bytes.js +0 -12
  644. package/dist/compiler/tir/types/TirNativeType/native/data.d.ts +0 -13
  645. package/dist/compiler/tir/types/TirNativeType/native/data.js +0 -12
  646. package/dist/compiler/tir/types/TirNativeType/native/function.d.ts +0 -16
  647. package/dist/compiler/tir/types/TirNativeType/native/function.js +0 -38
  648. package/dist/compiler/tir/types/TirNativeType/native/index.d.ts +0 -10
  649. package/dist/compiler/tir/types/TirNativeType/native/index.js +0 -10
  650. package/dist/compiler/tir/types/TirNativeType/native/int.d.ts +0 -13
  651. package/dist/compiler/tir/types/TirNativeType/native/int.js +0 -12
  652. package/dist/compiler/tir/types/TirNativeType/native/linearMap.d.ts +0 -17
  653. package/dist/compiler/tir/types/TirNativeType/native/linearMap.js +0 -44
  654. package/dist/compiler/tir/types/TirNativeType/native/list.d.ts +0 -16
  655. package/dist/compiler/tir/types/TirNativeType/native/list.js +0 -38
  656. package/dist/compiler/tir/types/TirNativeType/native/string.d.ts +0 -13
  657. package/dist/compiler/tir/types/TirNativeType/native/string.js +0 -12
  658. package/dist/compiler/tir/types/TirNativeType/native/void.d.ts +0 -13
  659. package/dist/compiler/tir/types/TirNativeType/native/void.js +0 -12
  660. package/dist/compiler/tir/types/TirStructType.d.ts +0 -68
  661. package/dist/compiler/tir/types/TirStructType.js +0 -128
  662. package/dist/compiler/tir/types/TirType.d.ts +0 -34
  663. package/dist/compiler/tir/types/TirType.js +0 -16
  664. package/dist/compiler/tir/types/TirTypeParam.d.ts +0 -18
  665. package/dist/compiler/tir/types/TirTypeParam.js +0 -39
  666. package/dist/compiler/tir/types/utils/canAssignTo.d.ts +0 -24
  667. package/dist/compiler/tir/types/utils/canAssignTo.js +0 -337
  668. package/dist/compiler/tir/types/utils/canCastTo.d.ts +0 -9
  669. package/dist/compiler/tir/types/utils/canCastTo.js +0 -155
  670. package/dist/compiler/tir/types/utils/getDeconstructableType.d.ts +0 -9
  671. package/dist/compiler/tir/types/utils/getDeconstructableType.js +0 -20
  672. package/dist/compiler/tir/types/utils/getListTypeArg.d.ts +0 -2
  673. package/dist/compiler/tir/types/utils/getListTypeArg.js +0 -9
  674. package/dist/compiler/tir/types/utils/getOptTypeArg.d.ts +0 -2
  675. package/dist/compiler/tir/types/utils/getOptTypeArg.js +0 -14
  676. package/dist/compiler/tir/types/utils/getUnaliased.d.ts +0 -3
  677. package/dist/compiler/tir/types/utils/getUnaliased.js +0 -9
  678. package/dist/diagnostics/DiagnosticCategory.d.ts +0 -16
  679. package/dist/diagnostics/DiagnosticCategory.js +0 -39
  680. package/dist/diagnostics/DiagnosticEmitter.d.ts +0 -32
  681. package/dist/diagnostics/DiagnosticEmitter.js +0 -95
  682. package/dist/diagnostics/DiagnosticMessage.d.ts +0 -37
  683. package/dist/diagnostics/DiagnosticMessage.js +0 -229
  684. package/dist/diagnostics/diagnosticMessages.generated.d.ts +0 -275
  685. package/dist/diagnostics/diagnosticMessages.generated.js +0 -551
  686. package/dist/diagnostics/utils/types.d.ts +0 -5
  687. package/dist/diagnostics/utils/types.js +0 -1
  688. package/dist/index.d.ts +0 -12
  689. package/dist/index.js +0 -13
  690. package/dist/parser/Parser.d.ts +0 -150
  691. package/dist/parser/Parser.js +0 -2416
  692. package/dist/parser/Precedence.d.ts +0 -38
  693. package/dist/parser/Precedence.js +0 -98
  694. package/dist/parser/hoistStatementsInplace.d.ts +0 -14
  695. package/dist/parser/hoistStatementsInplace.js +0 -94
  696. package/dist/parser/index.d.ts +0 -1
  697. package/dist/parser/index.js +0 -1
  698. package/dist/parser/parseFile.d.ts +0 -3
  699. package/dist/parser/parseFile.js +0 -8
  700. package/dist/tokenizer/IdentifierHandling.d.ts +0 -5
  701. package/dist/tokenizer/IdentifierHandling.js +0 -6
  702. package/dist/tokenizer/OnNewLine.d.ts +0 -6
  703. package/dist/tokenizer/OnNewLine.js +0 -8
  704. package/dist/tokenizer/Token.d.ts +0 -160
  705. package/dist/tokenizer/Token.js +0 -213
  706. package/dist/tokenizer/Tokenizer.d.ts +0 -129
  707. package/dist/tokenizer/Tokenizer.js +0 -1323
  708. package/dist/tokenizer/TokenizerState.d.ts +0 -17
  709. package/dist/tokenizer/TokenizerState.js +0 -17
  710. package/dist/tokenizer/index.d.ts +0 -2
  711. package/dist/tokenizer/index.js +0 -2
  712. package/dist/tokenizer/utils/isIllegalVariableIdentifier.d.ts +0 -1
  713. package/dist/tokenizer/utils/isIllegalVariableIdentifier.js +0 -12
  714. package/dist/tokenizer/utils/operatorTokenToString.d.ts +0 -2
  715. package/dist/tokenizer/utils/operatorTokenToString.js +0 -57
  716. package/dist/tokenizer/utils/tokenFromKeyword.d.ts +0 -2
  717. package/dist/tokenizer/utils/tokenFromKeyword.js +0 -222
  718. package/dist/tokenizer/utils/tokenIsAlsoIdentifier.d.ts +0 -2
  719. package/dist/tokenizer/utils/tokenIsAlsoIdentifier.js +0 -24
  720. package/dist/utils/BasePlutsError.d.ts +0 -2
  721. package/dist/utils/BasePlutsError.js +0 -2
  722. package/dist/utils/BitUtils/index.d.ts +0 -30
  723. package/dist/utils/BitUtils/index.js +0 -60
  724. package/dist/utils/CharCode.d.ts +0 -125
  725. package/dist/utils/CharCode.js +0 -1
  726. package/dist/utils/Cloneable.d.ts +0 -6
  727. package/dist/utils/Cloneable.js +0 -4
  728. package/dist/utils/InvalidCborFormatError.d.ts +0 -3
  729. package/dist/utils/InvalidCborFormatError.js +0 -5
  730. package/dist/utils/IsSingleKey.d.ts +0 -7
  731. package/dist/utils/IsSingleKey.js +0 -1
  732. package/dist/utils/MaybePromise.d.ts +0 -2
  733. package/dist/utils/MaybePromise.js +0 -4
  734. package/dist/utils/PlutusScriptType.d.ts +0 -12
  735. package/dist/utils/PlutusScriptType.js +0 -1
  736. package/dist/utils/ToJson.d.ts +0 -4
  737. package/dist/utils/ToJson.js +0 -5
  738. package/dist/utils/UPLCFlatUtils/index.d.ts +0 -46
  739. package/dist/utils/UPLCFlatUtils/index.js +0 -124
  740. package/dist/utils/array/filterSortedStrArrInplace.d.ts +0 -7
  741. package/dist/utils/array/filterSortedStrArrInplace.js +0 -46
  742. package/dist/utils/array/keepSortedArrInplace.d.ts +0 -7
  743. package/dist/utils/array/keepSortedArrInplace.js +0 -49
  744. package/dist/utils/array/mergeSortedStrArrInplace.d.ts +0 -6
  745. package/dist/utils/array/mergeSortedStrArrInplace.js +0 -52
  746. package/dist/utils/assert.d.ts +0 -1
  747. package/dist/utils/assert.js +0 -5
  748. package/dist/utils/capitalize.d.ts +0 -1
  749. package/dist/utils/capitalize.js +0 -5
  750. package/dist/utils/combinators.d.ts +0 -37
  751. package/dist/utils/combinators.js +0 -76
  752. package/dist/utils/getCallStackAt/index.d.ts +0 -43
  753. package/dist/utils/getCallStackAt/index.js +0 -295
  754. package/dist/utils/hex.d.ts +0 -1
  755. package/dist/utils/hex.js +0 -6
  756. package/dist/utils/ints.d.ts +0 -4
  757. package/dist/utils/ints.js +0 -19
  758. package/dist/utils/isNonEmpty.d.ts +0 -1
  759. package/dist/utils/isNonEmpty.js +0 -3
  760. package/dist/utils/maybeData.d.ts +0 -4
  761. package/dist/utils/maybeData.js +0 -10
  762. package/dist/utils/stringify.d.ts +0 -2
  763. package/dist/utils/stringify.js +0 -31
  764. package/dist/utils/terminal.d.ts +0 -28
  765. package/dist/utils/terminal.js +0 -38
  766. package/dist/utils/text.d.ts +0 -172
  767. package/dist/utils/text.js +0 -672
  768. package/dist/utils/types.d.ts +0 -12
  769. package/dist/utils/types.js +0 -1
@@ -1,15 +0,0 @@
1
- import { TirTernaryExpr } from "../../tir/expressions/TirTernaryExpr.js";
2
- import { TirBlockStmt } from "../../tir/statements/TirBlockStmt.js";
3
- import { expressifyFuncBody } from "./expressify.js";
4
- import { expressifyVars } from "./expressifyVars.js";
5
- export function expressifyTerminatingIfStmt(parentCtx, stmt, loopReplacements) {
6
- if (!stmt.elseBranch)
7
- throw new Error("Terminating if statement must have an else branch.");
8
- const thenBranch = stmt.thenBranch instanceof TirBlockStmt ?
9
- stmt.thenBranch.stmts.slice() :
10
- [stmt.thenBranch];
11
- const elseBranch = stmt.elseBranch instanceof TirBlockStmt ?
12
- stmt.elseBranch.stmts.slice() :
13
- [stmt.elseBranch];
14
- return new TirTernaryExpr(expressifyVars(parentCtx, stmt.condition), expressifyFuncBody(parentCtx.newChild(), thenBranch, loopReplacements), expressifyFuncBody(parentCtx.newChild(), elseBranch, loopReplacements), parentCtx.returnType, stmt.range);
15
- }
@@ -1,4 +0,0 @@
1
- import { TirAssignmentStmt } from "../../tir/statements/TirAssignmentStmt.js";
2
- import { TirSimpleVarDecl } from "../../tir/statements/TirVarDecl/TirSimpleVarDecl.js";
3
- import { ExpressifyCtx } from "./ExpressifyCtx.js";
4
- export declare function expressifyVarAssignmentStmt(ctx: ExpressifyCtx, stmt: TirAssignmentStmt): TirSimpleVarDecl;
@@ -1,20 +0,0 @@
1
- import { getUniqueInternalName } from "../../internalVar.js";
2
- import { TirLettedExpr } from "../../tir/expressions/TirLettedExpr.js";
3
- import { TirSimpleVarDecl } from "../../tir/statements/TirVarDecl/TirSimpleVarDecl.js";
4
- import { expressifyVars } from "./expressifyVars.js";
5
- export function expressifyVarAssignmentStmt(ctx, stmt) {
6
- const assignedExpr = expressifyVars(ctx, stmt.assignedExpr);
7
- const originalName = stmt.varIdentifier.resolvedValue.variableInfos.name;
8
- const latestVarNameSSA = ctx.variables.get(originalName);
9
- if (!latestVarNameSSA) {
10
- throw new Error("re-assigning constant variable");
11
- }
12
- const newUniqueName = getUniqueInternalName(originalName);
13
- latestVarNameSSA.latestName = newUniqueName;
14
- // point to the same object
15
- ctx.variables.set(newUniqueName, latestVarNameSSA);
16
- ctx.lettedConstants.set(newUniqueName, new TirLettedExpr(newUniqueName, assignedExpr, stmt.range));
17
- // will replace re-assignment in body
18
- return new TirSimpleVarDecl(newUniqueName, stmt.varIdentifier.resolvedValue.variableInfos.type, assignedExpr, true, // isConst
19
- stmt.range);
20
- }
@@ -1,3 +0,0 @@
1
- import { TirVarDecl } from "../../tir/statements/TirVarDecl/TirVarDecl.js";
2
- import { ExpressifyCtx } from "./ExpressifyCtx.js";
3
- export declare function expressifyVarDecl(ctx: ExpressifyCtx, stmt: TirVarDecl): void;
@@ -1,34 +0,0 @@
1
- import { TirLettedExpr } from "../../tir/expressions/TirLettedExpr.js";
2
- import { TirArrayLikeDeconstr } from "../../tir/statements/TirVarDecl/TirArrayLikeDeconstr.js";
3
- import { TirNamedDeconstructVarDecl } from "../../tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.js";
4
- import { TirSimpleVarDecl } from "../../tir/statements/TirVarDecl/TirSimpleVarDecl.js";
5
- import { TirSingleDeconstructVarDecl } from "../../tir/statements/TirVarDecl/TirSingleDeconstructVarDecl.js";
6
- import { expressifyVars } from "./expressifyVars.js";
7
- export function expressifyVarDecl(ctx, stmt) {
8
- const isConst = stmt.isConst;
9
- if (stmt.initExpr)
10
- expressifyVars(ctx, stmt.initExpr);
11
- if (stmt instanceof TirSimpleVarDecl) {
12
- if (stmt.isConst) {
13
- void ctx.variables.set(stmt.name, { latestName: stmt.name });
14
- /// @ts-ignore Cannot assign to 'isConst' because it is a read-only property.
15
- stmt.isConst = true;
16
- }
17
- ctx.lettedConstants.set(stmt.name, new TirLettedExpr(stmt.name, stmt.initExpr, stmt.range));
18
- }
19
- if (stmt instanceof TirNamedDeconstructVarDecl
20
- || stmt instanceof TirSingleDeconstructVarDecl) {
21
- for (const [_field, varDecl] of stmt.fields)
22
- expressifyVarDecl(ctx, varDecl);
23
- if (stmt.rest)
24
- ctx.variables.set(stmt.rest, { latestName: stmt.rest });
25
- return;
26
- }
27
- if (stmt instanceof TirArrayLikeDeconstr) {
28
- for (const varDecl of stmt.elements)
29
- expressifyVarDecl(ctx, varDecl);
30
- if (stmt.rest)
31
- ctx.variables.set(stmt.rest, { latestName: stmt.rest });
32
- return;
33
- }
34
- }
@@ -1,10 +0,0 @@
1
- import { TirExpr } from "../../tir/expressions/TirExpr.js";
2
- import { ExpressifyCtx } from "./ExpressifyCtx.js";
3
- /**
4
- * Side effect: modifies the expression in place if possible.
5
- *
6
- * **ASSUME THE INPUT EXPRESSION IS INVALID AFTER THIS FUNCTION CALL.**
7
- *
8
- * @returns a the modified expression
9
- **/
10
- export declare function expressifyVars(ctx: ExpressifyCtx, expr: TirExpr): TirExpr;
@@ -1,320 +0,0 @@
1
- import { isUnaryPrefixExpr } from "../../../ast/nodes/expr/unary/UnaryPrefixExpr.js";
2
- import { isTirBinaryExpr } from "../../tir/expressions/binary/TirBinaryExpr.js";
3
- import { TirLitArrExpr } from "../../tir/expressions/litteral/TirLitArrExpr.js";
4
- import { TirLitFalseExpr } from "../../tir/expressions/litteral/TirLitFalseExpr.js";
5
- import { TirLitHexBytesExpr } from "../../tir/expressions/litteral/TirLitHexBytesExpr.js";
6
- import { TirLitIntExpr } from "../../tir/expressions/litteral/TirLitIntExpr.js";
7
- import { TirLitNamedObjExpr } from "../../tir/expressions/litteral/TirLitNamedObjExpr.js";
8
- import { TirLitObjExpr } from "../../tir/expressions/litteral/TirLitObjExpr.js";
9
- import { TirLitStrExpr } from "../../tir/expressions/litteral/TirLitStrExpr.js";
10
- import { TirLitThisExpr } from "../../tir/expressions/litteral/TirLitThisExpr.js";
11
- import { TirLitTrueExpr } from "../../tir/expressions/litteral/TirLitTrueExpr.js";
12
- import { TirLitUndefExpr } from "../../tir/expressions/litteral/TirLitUndefExpr.js";
13
- import { TirLitVoidExpr } from "../../tir/expressions/litteral/TirLitVoidExpr.js";
14
- import { TirAssertAndContinueExpr } from "../../tir/expressions/TirAssertAndContinueExpr.js";
15
- import { TirCallExpr } from "../../tir/expressions/TirCallExpr.js";
16
- import { TirCaseExpr, TirCaseMatcher } from "../../tir/expressions/TirCaseExpr.js";
17
- import { TirElemAccessExpr } from "../../tir/expressions/TirElemAccessExpr.js";
18
- import { TirFailExpr } from "../../tir/expressions/TirFailExpr.js";
19
- import { TirFromDataExpr } from "../../tir/expressions/TirFromDataExpr.js";
20
- import { TirFuncExpr } from "../../tir/expressions/TirFuncExpr.js";
21
- import { TirHoistedExpr } from "../../tir/expressions/TirHoistedExpr.js";
22
- import { TirInlineClosedIR } from "../../tir/expressions/TirInlineClosedIR.js";
23
- import { TirLettedExpr } from "../../tir/expressions/TirLettedExpr.js";
24
- import { TirNativeFunc } from "../../tir/expressions/TirNativeFunc.js";
25
- import { TirParentesizedExpr } from "../../tir/expressions/TirParentesizedExpr.js";
26
- import { TirPropAccessExpr } from "../../tir/expressions/TirPropAccessExpr.js";
27
- import { TirTernaryExpr } from "../../tir/expressions/TirTernaryExpr.js";
28
- import { TirToDataExpr } from "../../tir/expressions/TirToDataExpr.js";
29
- import { TirTraceIfFalseExpr } from "../../tir/expressions/TirTraceIfFalseExpr.js";
30
- import { TirTypeConversionExpr } from "../../tir/expressions/TirTypeConversionExpr.js";
31
- import { TirVariableAccessExpr } from "../../tir/expressions/TirVariableAccessExpr.js";
32
- import { TirUnaryExclamation } from "../../tir/expressions/unary/TirUnaryExclamation.js";
33
- import { TirUnaryMinus } from "../../tir/expressions/unary/TirUnaryMinus.js";
34
- import { TirUnaryPlus } from "../../tir/expressions/unary/TirUnaryPlus.js";
35
- import { TirUnaryTilde } from "../../tir/expressions/unary/TirUnaryTilde.js";
36
- import { TirReturnStmt } from "../../tir/statements/TirReturnStmt.js";
37
- import { TirArrayLikeDeconstr } from "../../tir/statements/TirVarDecl/TirArrayLikeDeconstr.js";
38
- import { TirNamedDeconstructVarDecl } from "../../tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.js";
39
- import { TirSimpleVarDecl } from "../../tir/statements/TirVarDecl/TirSimpleVarDecl.js";
40
- import { getUnaliased } from "../../tir/types/utils/getUnaliased.js";
41
- import { expressify, expressifyFuncBody } from "./expressify.js";
42
- import { isExpressifyFuncParam } from "./ExpressifyCtx.js";
43
- import { flattenSopNamedDeconstructInplace_addTopDestructToCtx_getNestedDeconstruct } from "./flattenSopNamedDeconstructInplace_addTopDestructToCtx_getNestedDeconstruct.js";
44
- import { isSingleConstrStruct } from "./isSingleConstrStruct.js";
45
- import { toNamedDeconstructVarDecl } from "./toNamedDeconstructVarDecl.js";
46
- /**
47
- * Side effect: modifies the expression in place if possible.
48
- *
49
- * **ASSUME THE INPUT EXPRESSION IS INVALID AFTER THIS FUNCTION CALL.**
50
- *
51
- * @returns a the modified expression
52
- **/
53
- export function expressifyVars(ctx, expr) {
54
- if (
55
- // isTirLitteralExpr( expr )
56
- expr instanceof TirLitVoidExpr
57
- || expr instanceof TirLitUndefExpr
58
- || expr instanceof TirLitTrueExpr
59
- || expr instanceof TirLitFalseExpr
60
- || expr instanceof TirLitThisExpr
61
- || expr instanceof TirLitArrExpr
62
- || expr instanceof TirLitObjExpr
63
- || expr instanceof TirLitNamedObjExpr
64
- || expr instanceof TirLitStrExpr
65
- || expr instanceof TirLitIntExpr
66
- || expr instanceof TirLitHexBytesExpr
67
- || expr instanceof TirNativeFunc
68
- // hoisted expressions are necessarily closed, so no external variables
69
- || expr instanceof TirHoistedExpr)
70
- return expr;
71
- // every property access must be replaced with a variable access (or similar)
72
- // that is either letted/hoisted/nativeFunc/varAccess expression
73
- //
74
- // we don't have property access in TermIR (or UPLC)
75
- if (expr instanceof TirPropAccessExpr) {
76
- const objectExpr = expressifyVars(ctx, expr.object);
77
- expr.object = objectExpr;
78
- return getVarAccessFromPropAccess(ctx, expr);
79
- }
80
- if (expr instanceof TirVariableAccessExpr) {
81
- const originalVarName = expr.resolvedValue.variableInfos.name;
82
- const resolvedVariable = ctx.getVariable(originalVarName);
83
- if (!resolvedVariable)
84
- return expr; // variable not found, keep the original expression
85
- if (isExpressifyFuncParam(resolvedVariable)) {
86
- // variable was shadowed
87
- expr.resolvedValue.variableInfos.name = resolvedVariable.name;
88
- return expr;
89
- }
90
- // resovledVariable instanceof TirVariableAccessExpr
91
- return resolvedVariable;
92
- }
93
- if (isUnaryPrefixExpr(expr)) {
94
- const modifiedExpr = expressifyVars(ctx, expr.operand);
95
- expr.operand = modifiedExpr;
96
- return expr;
97
- }
98
- if (expr instanceof TirParentesizedExpr
99
- || expr instanceof TirTypeConversionExpr) {
100
- const modifiedExpr = expressifyVars(ctx, expr.expr);
101
- expr.expr = modifiedExpr;
102
- return expr;
103
- }
104
- if (expr instanceof TirFuncExpr) {
105
- expressify(expr, undefined, ctx);
106
- return expr;
107
- }
108
- if (expr instanceof TirCallExpr) {
109
- const func = expressifyVars(ctx, expr.func);
110
- expr.func = func;
111
- for (let i = 0; i < expr.args.length; i++) {
112
- const arg = expressifyVars(ctx, expr.args[i]);
113
- expr.args[i] = arg;
114
- }
115
- return expr;
116
- }
117
- if (expr instanceof TirCaseExpr) {
118
- const matchExpr = expressifyVars(ctx, expr.matchExpr);
119
- expr.matchExpr = matchExpr;
120
- for (let i = 0; i < expr.cases.length; i++) {
121
- const c = expr.cases[i];
122
- const branchCtx = ctx.newChild();
123
- if (c.pattern instanceof TirArrayLikeDeconstr)
124
- throw new Error("case expression not yet supported for array-like deconstruction");
125
- const pattern = toNamedDeconstructVarDecl(c.pattern);
126
- const branchBodyStmts = flattenSopNamedDeconstructInplace_addTopDestructToCtx_getNestedDeconstruct(pattern, branchCtx);
127
- branchBodyStmts.push(new TirReturnStmt(c.body, c.body.range));
128
- c.body = expressifyFuncBody(branchCtx, branchBodyStmts, undefined);
129
- }
130
- return expr;
131
- }
132
- if (expr instanceof TirElemAccessExpr) {
133
- const arrExpr = expressifyVars(ctx, expr.arrLikeExpr);
134
- const indexExpr = expressifyVars(ctx, expr.indexExpr);
135
- expr.arrLikeExpr = arrExpr;
136
- expr.indexExpr = indexExpr;
137
- return expr;
138
- }
139
- if (expr instanceof TirTernaryExpr) {
140
- const condition = expressifyVars(ctx, expr.condition);
141
- const ifTrue = expressifyVars(ctx, expr.ifTrue);
142
- const ifFalse = expressifyVars(ctx, expr.ifFalse);
143
- expr.condition = condition;
144
- expr.ifTrue = ifTrue;
145
- expr.ifFalse = ifFalse;
146
- return expr;
147
- }
148
- if (isTirBinaryExpr(expr)) {
149
- const left = expressifyVars(ctx, expr.left);
150
- const right = expressifyVars(ctx, expr.right);
151
- expr.left = left;
152
- expr.right = right;
153
- return expr;
154
- }
155
- if (expr instanceof TirLettedExpr) {
156
- const modifiedExpr = expressifyVars(ctx, expr.expr);
157
- expr.expr = modifiedExpr;
158
- return expr;
159
- }
160
- if (expr instanceof TirFromDataExpr) {
161
- const modifiedExpr = expressifyVars(ctx, expr.dataExpr);
162
- expr.dataExpr = modifiedExpr;
163
- return expr;
164
- }
165
- if (expr instanceof TirFailExpr) {
166
- if (expr.failMsgExpr) {
167
- const modifiedExpr = expressifyVars(ctx, expr.failMsgExpr);
168
- expr.failMsgExpr = modifiedExpr;
169
- }
170
- return expr;
171
- }
172
- // TirInlineClosedIR
173
- if (expr instanceof TirToDataExpr) {
174
- const modifiedExpr = expressifyVars(ctx, expr.expr);
175
- expr.expr = modifiedExpr;
176
- return expr;
177
- }
178
- if (expr instanceof TirAssertAndContinueExpr) {
179
- expr.conditions;
180
- expr.continuation;
181
- const modifiedConditions = expr.conditions.map(c => expressifyVars(ctx, c));
182
- const modifiedContinuation = expressifyVars(ctx, expr.continuation);
183
- expr.conditions = modifiedConditions;
184
- expr.continuation = modifiedContinuation;
185
- return expr;
186
- }
187
- if (expr instanceof TirTraceIfFalseExpr) {
188
- const modifiedCondition = expressifyVars(ctx, expr.condition);
189
- const modifiedTraceStrExpr = expressifyVars(ctx, expr.traceStrExpr);
190
- expr.condition = modifiedCondition;
191
- expr.traceStrExpr = modifiedTraceStrExpr;
192
- return expr;
193
- }
194
- if (expr instanceof TirInlineClosedIR)
195
- return expr;
196
- const tsEnsureExsautstiveCheck = expr;
197
- console.error(expr);
198
- throw new Error("unreachable::expressifyVars");
199
- }
200
- function getVarAccessFromPropAccess(ctx, propAccessExpr) {
201
- let expr = propAccessExpr.object;
202
- const prop = propAccessExpr.prop.text;
203
- while (expr instanceof TirParentesizedExpr)
204
- expr = expr.expr;
205
- if (expr instanceof TirLitVoidExpr
206
- || expr instanceof TirLitUndefExpr
207
- || expr instanceof TirLitTrueExpr
208
- || expr instanceof TirLitFalseExpr
209
- // methods on these should have already been converted to functions
210
- || expr instanceof TirLitArrExpr
211
- || expr instanceof TirLitStrExpr
212
- || expr instanceof TirLitIntExpr
213
- || expr instanceof TirLitHexBytesExpr
214
- || expr instanceof TirNativeFunc
215
- || expr instanceof TirPropAccessExpr // `expressifyVars` is called recursively on the object before this check
216
- // these result to native types
217
- || expr instanceof TirUnaryExclamation // boolean
218
- || expr instanceof TirUnaryPlus // int
219
- || expr instanceof TirUnaryMinus // int
220
- || expr instanceof TirUnaryTilde // bytes
221
- || expr instanceof TirFuncExpr // functions have no properties
222
- || expr instanceof TirParentesizedExpr // typescript being stupid
223
- || isTirBinaryExpr(expr) // all of these return either int, bytes or boolean
224
- // TirAssertAndContinueExpr | TirTraceIfFalseExpr | TirInlineClosedIR
225
- || expr instanceof TirAssertAndContinueExpr
226
- || expr instanceof TirTraceIfFalseExpr
227
- || expr instanceof TirInlineClosedIR)
228
- throw new Error("Invalid property access expression");
229
- if (expr instanceof TirLitThisExpr) {
230
- let varName = ctx.properties.get("this")?.get(prop);
231
- if (!varName)
232
- throw new Error(`Property '${prop}' does not exist on 'this'`);
233
- varName = ctx.variables.get(varName)?.latestName ?? varName;
234
- const expr = ctx.getVariable(varName);
235
- if (isExpressifyFuncParam(expr)) {
236
- return new TirVariableAccessExpr({
237
- variableInfos: {
238
- name: expr.name,
239
- type: expr.type,
240
- isConstant: true,
241
- },
242
- isDefinedOutsideFuncScope: false,
243
- }, propAccessExpr.range);
244
- }
245
- return expr;
246
- }
247
- if (expr instanceof TirLitObjExpr
248
- || expr instanceof TirLitNamedObjExpr) {
249
- const valIdx = expr.fieldNames.findIndex(f => f.text === prop);
250
- if (valIdx < 0)
251
- throw new Error(`Property '${prop}' does not exist on object literal`);
252
- return expr.values[valIdx];
253
- }
254
- if (expr instanceof TirHoistedExpr
255
- || expr instanceof TirLettedExpr
256
- || expr instanceof TirVariableAccessExpr
257
- // all of these are valid property access expressions
258
- // and we need to inspect the return type to check if the property exists
259
- || expr instanceof TirCallExpr
260
- || expr instanceof TirCaseExpr
261
- || expr instanceof TirTypeConversionExpr
262
- || expr instanceof TirElemAccessExpr
263
- || expr instanceof TirTernaryExpr
264
- || expr instanceof TirFromDataExpr
265
- || expr instanceof TirFailExpr
266
- || expr instanceof TirToDataExpr) {
267
- if (expr instanceof TirHoistedExpr
268
- || expr instanceof TirLettedExpr
269
- || expr instanceof TirVariableAccessExpr) {
270
- let varName = ctx.properties.get(expr.varName)?.get(prop);
271
- if (varName) {
272
- varName = ctx.variables.get(varName)?.latestName ?? varName;
273
- const result = ctx.getVariable(varName);
274
- if (isExpressifyFuncParam(result)) {
275
- return new TirVariableAccessExpr({
276
- variableInfos: {
277
- name: result.name,
278
- type: result.type,
279
- isConstant: true,
280
- },
281
- isDefinedOutsideFuncScope: false,
282
- }, propAccessExpr.range);
283
- }
284
- return result;
285
- }
286
- // if there is no property in the context
287
- // we extract the property inplace below (outside this block)
288
- }
289
- const objType = getUnaliased(expr.type);
290
- if (!isSingleConstrStruct(objType)) {
291
- console.log(objType);
292
- throw new Error("cannot access property on non-struct type");
293
- }
294
- const ctor = objType.constructors[0];
295
- const fIdx = ctor.fields.findIndex(f => f.name === prop);
296
- if (fIdx < 0)
297
- throw new Error(`Property '${prop}' does not exist on type '${objType.toString()}'`);
298
- const fName = ctor.fields[fIdx].name;
299
- const fType = ctor.fields[fIdx].type;
300
- return new TirCaseExpr(expr, [
301
- new TirCaseMatcher(new TirNamedDeconstructVarDecl(ctor.name, new Map([
302
- [fName, new TirSimpleVarDecl(fName, fType, undefined, true, propAccessExpr.range)]
303
- ]), undefined, // rest
304
- expr.type, undefined, // init expr
305
- true, // isConst
306
- propAccessExpr.range), new TirVariableAccessExpr({
307
- variableInfos: {
308
- name: fName,
309
- type: fType,
310
- isConstant: true,
311
- },
312
- isDefinedOutsideFuncScope: false,
313
- }, propAccessExpr.range), propAccessExpr.range)
314
- ], undefined, // wildcard case
315
- fType, propAccessExpr.range);
316
- }
317
- ;
318
- const tsEnsureExsautstiveCheck = expr;
319
- throw new Error("Invalid property access expression");
320
- }
@@ -1,9 +0,0 @@
1
- import { TirNamedDeconstructVarDecl } from "../../tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.js";
2
- import { TirSingleDeconstructVarDecl } from "../../tir/statements/TirVarDecl/TirSingleDeconstructVarDecl.js";
3
- import { TirVarDecl } from "../../tir/statements/TirVarDecl/TirVarDecl.js";
4
- import { ExpressifyCtx } from "./ExpressifyCtx.js";
5
- /**
6
- *
7
- * @returns the extracted nested deconstructions
8
- */
9
- export declare function flattenSopNamedDeconstructInplace_addTopDestructToCtx_getNestedDeconstruct(decl: TirNamedDeconstructVarDecl | TirSingleDeconstructVarDecl, ctx: ExpressifyCtx): TirVarDecl[];
@@ -1,59 +0,0 @@
1
- import { getUniqueInternalName } from "../../internalVar.js";
2
- import { TirVariableAccessExpr } from "../../tir/expressions/TirVariableAccessExpr.js";
3
- import { TirNamedDeconstructVarDecl } from "../../tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.js";
4
- import { TirSimpleVarDecl } from "../../tir/statements/TirVarDecl/TirSimpleVarDecl.js";
5
- import { getUnaliased } from "../../tir/types/utils/getUnaliased.js";
6
- import { isSingleConstrStruct } from "./isSingleConstrStruct.js";
7
- /**
8
- *
9
- * @returns the extracted nested deconstructions
10
- */
11
- export function flattenSopNamedDeconstructInplace_addTopDestructToCtx_getNestedDeconstruct(decl, ctx) {
12
- const extracted = [];
13
- const restFields = new Map();
14
- for (const [fName, varDecl] of decl.fields) {
15
- if (varDecl instanceof TirSimpleVarDecl) {
16
- restFields.set(fName, varDecl.name);
17
- ctx.introduceFuncParams([varDecl]);
18
- if (isSingleConstrStruct(varDecl.type)) {
19
- const structType = getUnaliased(varDecl.type);
20
- const constr = structType.constructors[0];
21
- extracted.push(new TirNamedDeconstructVarDecl(constr.name, new Map(constr.fields.map(f => [
22
- f.name,
23
- new TirSimpleVarDecl(getUniqueInternalName(f.name), f.type, undefined, // no init expr
24
- varDecl.isConst, varDecl.range)
25
- ])), undefined, // no rest field
26
- varDecl.type,
27
- // init expr
28
- new TirVariableAccessExpr({
29
- variableInfos: {
30
- name: varDecl.name,
31
- type: varDecl.type,
32
- isConstant: varDecl.isConst,
33
- },
34
- isDefinedOutsideFuncScope: false,
35
- }, varDecl.range), varDecl.isConst, varDecl.range));
36
- }
37
- continue;
38
- }
39
- const newFieldUniqueName = getUniqueInternalName(fName);
40
- const fieldAsSimpleVarDecl = new TirSimpleVarDecl(newFieldUniqueName, varDecl.type, varDecl.initExpr, varDecl.isConst, varDecl.range);
41
- decl.fields.set(fName, fieldAsSimpleVarDecl);
42
- ctx.introduceFuncParams([fieldAsSimpleVarDecl]);
43
- restFields.set(fName, newFieldUniqueName);
44
- varDecl.initExpr = new TirVariableAccessExpr({
45
- variableInfos: {
46
- name: newFieldUniqueName,
47
- type: varDecl.type,
48
- isConstant: varDecl.isConst,
49
- },
50
- isDefinedOutsideFuncScope: false,
51
- }, varDecl.range);
52
- extracted.push(varDecl);
53
- }
54
- if (decl.rest) {
55
- ctx.properties.set(decl.rest, restFields);
56
- // ctx.introduceFuncParams([ decl.rest ]);
57
- }
58
- return extracted;
59
- }
@@ -1,3 +0,0 @@
1
- import { TirSoPStructType, TirDataStructType } from "../../tir/types/TirStructType.js";
2
- import { TirType } from "../../tir/types/TirType.js";
3
- export declare function isSingleConstrStruct(type: TirType): type is (TirSoPStructType | TirDataStructType);
@@ -1,9 +0,0 @@
1
- import { TirSoPStructType, TirDataStructType } from "../../tir/types/TirStructType.js";
2
- import { getUnaliased } from "../../tir/types/utils/getUnaliased.js";
3
- export function isSingleConstrStruct(type) {
4
- type = getUnaliased(type);
5
- if (!(type instanceof TirSoPStructType
6
- || type instanceof TirDataStructType))
7
- return false;
8
- return type.constructors.length === 1;
9
- }
@@ -1,3 +0,0 @@
1
- import { TirNamedDeconstructVarDecl } from "../../tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.js";
2
- import { TirSingleDeconstructVarDecl } from "../../tir/statements/TirVarDecl/TirSingleDeconstructVarDecl.js";
3
- export declare function toNamedDeconstructVarDecl(varDecl: TirSingleDeconstructVarDecl | TirNamedDeconstructVarDecl): TirNamedDeconstructVarDecl;
@@ -1,15 +0,0 @@
1
- import { TirNamedDeconstructVarDecl } from "../../tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.js";
2
- import { TirSingleDeconstructVarDecl } from "../../tir/statements/TirVarDecl/TirSingleDeconstructVarDecl.js";
3
- import { isSingleConstrStruct } from "./isSingleConstrStruct.js";
4
- export function toNamedDeconstructVarDecl(varDecl) {
5
- if (varDecl instanceof TirNamedDeconstructVarDecl)
6
- return varDecl;
7
- if (varDecl instanceof TirSingleDeconstructVarDecl) {
8
- const declType = varDecl.type;
9
- if (!isSingleConstrStruct(declType))
10
- throw new Error("expected single constr struct type in single deconstruct var decl");
11
- const singleConstrName = declType.constructors[0].name;
12
- return new TirNamedDeconstructVarDecl(singleConstrName, varDecl.fields, varDecl.rest, varDecl.type, varDecl.initExpr, varDecl.isConst, varDecl.range);
13
- }
14
- throw new Error("unreachable::toNamedDeconstructVarDecl");
15
- }
@@ -1,2 +0,0 @@
1
- export * from "./compileTirProgram.js";
2
- export * from "./TirCompilerCtx.js";
@@ -1,2 +0,0 @@
1
- export * from "./compileTirProgram.js";
2
- export * from "./TirCompilerCtx.js";
@@ -1,5 +0,0 @@
1
- import { TirHoistedExpr } from "../../tir/expressions/TirHoistedExpr.js";
2
- import { TirNativeFunc } from "../../tir/expressions/TirNativeFunc.js";
3
- import { TypedProgram } from "../../tir/program/TypedProgram.js";
4
- import { DepsNode } from "./deps/DepsNode.js";
5
- export declare function _compileHoistedDeps(program: TypedProgram, hoistedMap: Map<string, TirHoistedExpr | TirNativeFunc>, deps: string[], depsStack: DepsNode): void;
@@ -1,37 +0,0 @@
1
- import { TirHoistedExpr } from "../../tir/expressions/TirHoistedExpr.js";
2
- import { ExpressifyCtx } from "../expressify/ExpressifyCtx.js";
3
- import { expressifyVars } from "../expressify/expressifyVars.js";
4
- export function _compileHoistedDeps(program, hoistedMap, deps, depsStack) {
5
- let depName;
6
- if (deps.some(dep => depsStack.includes(dep)))
7
- throw new Error("Circular dependency in hoisted expressions NOT YET IMPLEMENTED");
8
- while (depName = deps.pop()) {
9
- const funcDecl = program.functions.get(depName);
10
- if (funcDecl) {
11
- _compileHoistedDeps(program, hoistedMap, funcDecl.deps(), depsStack.getNext(depName));
12
- /*
13
- const funcExpr = funcDecl instanceof TirInlineClosedIR ? funcDecl : expressify(
14
- funcDecl,
15
- undefined, // loopReplacements
16
- new ExpressifyCtx(
17
- undefined,
18
- funcDecl.returnType,
19
- hoistedMap
20
- )
21
- );
22
- //*/
23
- const hoistedExpr = new TirHoistedExpr(depName, funcDecl);
24
- hoistedMap.set(depName, hoistedExpr);
25
- continue;
26
- }
27
- const constDecl = program.constants.get(depName);
28
- if (constDecl) {
29
- _compileHoistedDeps(program, hoistedMap, constDecl.deps(), depsStack.getNext(depName));
30
- const expr = expressifyVars(new ExpressifyCtx(undefined, constDecl.type, hoistedMap), constDecl);
31
- const hoistedExpr = new TirHoistedExpr(depName, expr);
32
- hoistedMap.set(depName, hoistedExpr);
33
- continue;
34
- }
35
- throw new Error(`Hoisted dependency "${depName}" not found in program`);
36
- }
37
- }
@@ -1,13 +0,0 @@
1
- export declare class DepsNode {
2
- readonly parent: DepsNode | undefined;
3
- readonly dependent: string;
4
- constructor(parent: DepsNode | undefined, dependent: string);
5
- static entry(dependent: string): DepsNode;
6
- getNext(dependent: string): DepsNode;
7
- includes(elem: string): boolean;
8
- /**
9
- *
10
- * @returns an array of hoisted names from the last to the first.
11
- */
12
- toArray(): string[];
13
- }
@@ -1,36 +0,0 @@
1
- export class DepsNode {
2
- parent;
3
- dependent;
4
- constructor(parent, dependent) {
5
- this.parent = parent;
6
- this.dependent = dependent;
7
- }
8
- static entry(dependent) {
9
- return new DepsNode(undefined, dependent);
10
- }
11
- getNext(dependent) {
12
- return new DepsNode(this, dependent);
13
- }
14
- includes(elem) {
15
- let req = this;
16
- while (req) {
17
- if (req.dependent === elem)
18
- return true;
19
- req = req.parent;
20
- }
21
- return false;
22
- }
23
- /**
24
- *
25
- * @returns an array of hoisted names from the last to the first.
26
- */
27
- toArray() {
28
- const arr = [];
29
- let req = this;
30
- while (req) {
31
- arr.push(req.dependent);
32
- req = req.parent;
33
- }
34
- return arr;
35
- }
36
- }
@@ -1,4 +0,0 @@
1
- export * from "./Compiler.js";
2
- export * from "./AstCompiler/index.js";
3
- export * from "./TirCompiler/index.js";
4
- export * from "./io/index.js";
@@ -1,4 +0,0 @@
1
- export * from "./Compiler.js";
2
- export * from "./AstCompiler/index.js";
3
- export * from "./TirCompiler/index.js";
4
- export * from "./io/index.js";