@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,282 +0,0 @@
1
- import { isObject } from "@harmoniclabs/obj-utils";
2
- import { getUniqueInternalName } from "../../internalVar.js";
3
- import { TirEqualExpr } from "../../tir/expressions/binary/TirBinaryExpr.js";
4
- import { TirLitIntExpr } from "../../tir/expressions/litteral/TirLitIntExpr.js";
5
- import { TirCallExpr } from "../../tir/expressions/TirCallExpr.js";
6
- import { TirElemAccessExpr } from "../../tir/expressions/TirElemAccessExpr.js";
7
- import { TirFromDataExpr } from "../../tir/expressions/TirFromDataExpr.js";
8
- import { TirLettedExpr } from "../../tir/expressions/TirLettedExpr.js";
9
- import { TirNativeFunc } from "../../tir/expressions/TirNativeFunc.js";
10
- import { data_t, int_t } from "../../tir/program/stdScope/stdScope.js";
11
- import { TirAssertStmt } from "../../tir/statements/TirAssertStmt.js";
12
- import { TirArrayLikeDeconstr } from "../../tir/statements/TirVarDecl/TirArrayLikeDeconstr.js";
13
- import { TirNamedDeconstructVarDecl } from "../../tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.js";
14
- import { TirSimpleVarDecl } from "../../tir/statements/TirVarDecl/TirSimpleVarDecl.js";
15
- import { TirSingleDeconstructVarDecl } from "../../tir/statements/TirVarDecl/TirSingleDeconstructVarDecl.js";
16
- import { TirDataStructType } from "../../tir/types/TirStructType.js";
17
- import { isTirType } from "../../tir/types/TirType.js";
18
- import { getListTypeArg } from "../../tir/types/utils/getListTypeArg.js";
19
- import { toNamedDeconstructVarDecl } from "./toNamedDeconstructVarDecl.js";
20
- import { TirUnConstrDataResultT } from "../../tir/types/TirNativeType/index.js";
21
- import { TirListT } from "../../tir/types/TirNativeType/native/list.js";
22
- export function isExpressifyFuncParam(thing) {
23
- return isObject(thing) && (typeof thing.name === "string"
24
- && isTirType(thing.type));
25
- }
26
- export class ExpressifyCtx {
27
- parent;
28
- returnType;
29
- variables;
30
- funcParams;
31
- lettedConstants;
32
- properties;
33
- hoisted;
34
- constructor(parent, returnType, hoisted,
35
- /** var name -> latest constant name */
36
- variables = new Map(),
37
- /** constant name -> func param name (to build var access) */
38
- funcParams = new Map(),
39
- /** constant name -> letted expr */
40
- lettedConstants = new Map(),
41
- /** var name -> prop name -> constant name (letted field extraction expr or var access for SoP)*/
42
- properties = new Map()) {
43
- this.parent = parent;
44
- this.returnType = returnType;
45
- this.variables = variables;
46
- this.funcParams = funcParams;
47
- this.lettedConstants = lettedConstants;
48
- this.properties = properties;
49
- this.hoisted = hoisted ?? this.parent?.hoisted ?? new Map();
50
- }
51
- newChild() {
52
- return new ExpressifyCtx(this, this.returnType);
53
- }
54
- setNewVariableName(oldName, newName) {
55
- let latestNameSSA = this.variables.get(oldName);
56
- if (!latestNameSSA)
57
- this.variables.set(oldName, { latestName: newName });
58
- else
59
- latestNameSSA.latestName = newName;
60
- }
61
- setFuncParam(name, type) {
62
- this.variables.set(name, { latestName: name });
63
- this.funcParams.set(name, { name, type });
64
- }
65
- /**
66
- * `undefined` means the variable is not in the local context.
67
- */
68
- getLocalVariable(name) {
69
- // declared as constant shortcut
70
- const constResult = this.lettedConstants.get(name);
71
- if (constResult)
72
- return constResult;
73
- // declared as variable or param
74
- const latestConstName = this.variables.get(name)?.latestName;
75
- // no such variable
76
- if (!latestConstName)
77
- return undefined;
78
- return (this.lettedConstants.get(latestConstName)
79
- ?? this.funcParams.get(latestConstName));
80
- }
81
- /**
82
- *
83
- * `undefined` means the variable is not in the function context.
84
- *
85
- * so it is assumed to be an external (hoisted) variable.
86
- */
87
- _getNonHoistedVariable(name) {
88
- return (this.getLocalVariable(name)
89
- ?? this.parent?._getNonHoistedVariable(name));
90
- }
91
- getVariable(name) {
92
- const result = (this._getNonHoistedVariable(name)
93
- ?? this.hoisted.get(name));
94
- if (!result) {
95
- console.log(this);
96
- throw new Error(`variable '${name}' not found in the context`);
97
- }
98
- return result;
99
- }
100
- introduceFuncParams(params) {
101
- for (const param of params) {
102
- param.isConst = true;
103
- this.setFuncParam(param.name, param.type);
104
- }
105
- }
106
- introduceLettedConstant(name, lettedExpr, declRange) {
107
- const result = new TirLettedExpr(name, lettedExpr, declRange);
108
- this.lettedConstants.set(name, result);
109
- return result.unsafeClone();
110
- }
111
- introduceSopConstrFieldsAsProperties(sopName, destructuredPattern) {
112
- const fieldsMap = new Map();
113
- for (const [fName, varDecl] of destructuredPattern.fields) {
114
- if (!(varDecl instanceof TirSimpleVarDecl))
115
- throw new Error("expected simple var decl in single constr field extraction");
116
- this.setFuncParam(varDecl.name, varDecl.type);
117
- fieldsMap.set(fName, varDecl.name);
118
- }
119
- this.properties.set(sopName, fieldsMap);
120
- }
121
- introduceSopConstrFieldsAsParamsOnly(destructuredPattern) {
122
- for (const [fName, varDecl] of destructuredPattern.fields) {
123
- if (!(varDecl instanceof TirSimpleVarDecl))
124
- throw new Error("expected simple var decl in single constr field extraction");
125
- this.setFuncParam(varDecl.name, varDecl.type);
126
- }
127
- }
128
- introduceSingleConstrDataLettedFields(varName, structExpr, structType) {
129
- const constr = structType.constructors[0];
130
- if (constr.fields.length === 0)
131
- return; // no fields to extract
132
- const lettedRawFieldsName = getUniqueInternalName(`${varName}_fields`);
133
- const lettedFields = this.introduceLettedConstant(lettedRawFieldsName, new TirCallExpr(TirNativeFunc.unConstrDataResultFields, [new TirCallExpr(TirNativeFunc.unConstrData, [structExpr], new TirUnConstrDataResultT(), structExpr.range)], new TirListT(data_t), structExpr.range), structExpr.range);
134
- const fieldsMap = new Map();
135
- for (let i = 0; i < constr.fields.length; i++) {
136
- const field = constr.fields[i];
137
- const fieldName = field.name;
138
- const fieldVarName = getUniqueInternalName(`${varName}_${fieldName}`);
139
- const fieldType = field.type;
140
- const lettedField = this.introduceLettedConstant(fieldVarName,
141
- // FieldType.fromData( lettedFields[i] )
142
- new TirFromDataExpr(new TirElemAccessExpr(lettedFields, new TirLitIntExpr(BigInt(i), structExpr.range), data_t, structExpr.range), fieldType, structExpr.range), structExpr.range);
143
- fieldsMap.set(fieldName, fieldVarName);
144
- // data structs cannot have sop-encoded fields (thanks god)
145
- // recursively introduce letted fields for nested single-constructor data structs
146
- if (fieldType instanceof TirDataStructType
147
- && fieldType.constructors.length === 1) {
148
- this.introduceSingleConstrDataLettedFields(fieldVarName, lettedField, fieldType);
149
- }
150
- }
151
- this.properties.set(varName, fieldsMap);
152
- }
153
- introduceDeconstrDataLettedFields(stmt) {
154
- const structType = stmt.type;
155
- if (!(stmt.initExpr))
156
- throw new Error("expected init expr in deconstruct data statement");
157
- if (!(structType instanceof TirDataStructType))
158
- throw new Error("expected data struct type in deconstruct data statement");
159
- const varName = getUniqueInternalName(structType.toString().toLowerCase());
160
- const constrName = stmt.constrName;
161
- const constrIdx = structType.constructors.findIndex(c => c.name === constrName);
162
- if (constrIdx < 0)
163
- throw new Error(`constructor ${constrName} not found in data struct ${structType.name}`);
164
- const constr = structType.constructors[constrIdx];
165
- if (constr.fields.length === 0)
166
- return []; // no fields to extract, no assertions
167
- const structExpr = stmt.initExpr;
168
- const lettedUnconstrName = getUniqueInternalName(`${varName}_unconstrPair`);
169
- const lettedUnconstr = this.introduceLettedConstant(lettedUnconstrName, new TirCallExpr(TirNativeFunc.unBData, [stmt.initExpr], new TirUnConstrDataResultT(), stmt.range), stmt.range);
170
- const assertions = [];
171
- if (structType.constructors.length > 0)
172
- assertions.push(new TirAssertStmt(new TirEqualExpr(new TirCallExpr(TirNativeFunc.unConstrDataResultIndex, [lettedUnconstr], int_t, stmt.range), new TirLitIntExpr(BigInt(constrIdx), stmt.range), stmt.range), undefined, // no trace message
173
- stmt.range));
174
- const lettedRawFieldsName = getUniqueInternalName(`${varName}_fields`);
175
- const lettedFields = this.introduceLettedConstant(lettedRawFieldsName, new TirCallExpr(TirNativeFunc.unConstrDataResultFields, [lettedUnconstr], new TirListT(data_t), stmt.range), stmt.range);
176
- const fieldsToIntroduce = [...stmt.fields.keys()];
177
- const hasRest = typeof stmt.rest === "string";
178
- const fieldsMap = new Map();
179
- for (let i = 0; i < constr.fields.length; i++) {
180
- const field = constr.fields[i];
181
- const fieldName = field.name;
182
- const fieldType = field.type;
183
- const isFieldToIntroduce = fieldsToIntroduce.includes(fieldName);
184
- if (!hasRest && !isFieldToIntroduce)
185
- continue; // skip unused field
186
- const fieldVarDecl = stmt.fields.get(fieldName);
187
- const fieldVarName = getUniqueInternalName(`${varName}_${fieldName}`);
188
- const lettedField = this.introduceLettedConstant(fieldVarName,
189
- // FieldType.fromData( lettedFields[i] )
190
- new TirFromDataExpr(new TirElemAccessExpr(lettedFields, new TirLitIntExpr(BigInt(i), structExpr.range), data_t, structExpr.range), fieldType, structExpr.range), structExpr.range);
191
- if (hasRest)
192
- fieldsMap.set(fieldName, fieldVarName);
193
- if (!isFieldToIntroduce) {
194
- continue; // we only needed to add it as "rest"
195
- }
196
- if (!fieldVarDecl)
197
- throw new Error(`field '${fieldName}' not found in deconstruct data statement`);
198
- if (fieldVarDecl instanceof TirSimpleVarDecl) {
199
- this.variables.set(fieldVarDecl.name, { latestName: lettedField.varName });
200
- }
201
- // data structs cannot have sop-encoded fields (thanks god)
202
- // recursively introduce letted fields for nested single-constructor data structs
203
- if (!(fieldType instanceof TirDataStructType))
204
- continue;
205
- // if the field is simply introduced but still a single constr struct
206
- // we need to introduce its fields as well
207
- if (fieldVarDecl instanceof TirSimpleVarDecl
208
- && fieldType.constructors.length === 1) {
209
- this.introduceSingleConstrDataLettedFields(fieldVarName, lettedField, fieldType);
210
- }
211
- else if (fieldVarDecl instanceof TirNamedDeconstructVarDecl
212
- || fieldVarDecl instanceof TirSingleDeconstructVarDecl) {
213
- // if the field is destructured, we need to introduce its fields as well
214
- const namedVarDecl = toNamedDeconstructVarDecl(fieldVarDecl);
215
- namedVarDecl.initExpr = lettedField;
216
- assertions.push(...this.introduceDeconstrDataLettedFields(namedVarDecl));
217
- }
218
- else if (fieldVarDecl instanceof TirArrayLikeDeconstr) {
219
- fieldVarDecl.initExpr = lettedField;
220
- assertions.push(...this.introduceArrayDeconstr(fieldVarDecl, true // is destructured field
221
- ));
222
- }
223
- }
224
- if (hasRest)
225
- this.properties.set(stmt.rest, fieldsMap);
226
- return assertions;
227
- }
228
- introduceArrayDeconstr(stmt, isDestructuredField = false) {
229
- if (!(stmt.initExpr))
230
- throw new Error("expected init expr in array-like deconstruct statement");
231
- const elemsType = getListTypeArg(stmt.type);
232
- if (!elemsType)
233
- throw new Error("expected list type in array-like deconstruct statement");
234
- let lettedArrayExpr;
235
- if (stmt.initExpr instanceof TirLettedExpr) {
236
- lettedArrayExpr = stmt.initExpr;
237
- }
238
- else {
239
- const lettedArrayName = getUniqueInternalName(stmt.type.toString().toLowerCase());
240
- lettedArrayExpr = this.introduceLettedConstant(lettedArrayName, stmt.initExpr, stmt.range);
241
- }
242
- const assertions = [];
243
- const nElems = stmt.elements.length;
244
- for (let i = 0; i < nElems; i++) {
245
- const elemVarDecl = stmt.elements[i];
246
- const lettedElemName = getUniqueInternalName(`${lettedArrayExpr.varName}_elem_${i}`);
247
- let lettedExpr = new TirElemAccessExpr(lettedArrayExpr, new TirLitIntExpr(BigInt(i), elemVarDecl.range), isDestructuredField ? data_t : elemVarDecl.type, elemVarDecl.range);
248
- if (isDestructuredField)
249
- lettedExpr = new TirFromDataExpr(lettedExpr, elemVarDecl.type, elemVarDecl.range);
250
- const lettedElem = this.introduceLettedConstant(lettedElemName, lettedExpr, elemVarDecl.range);
251
- if (elemVarDecl instanceof TirSimpleVarDecl) {
252
- this.variables.set(elemVarDecl.name, { latestName: lettedElem.varName });
253
- if (lettedElem.type instanceof TirDataStructType
254
- && lettedElem.type.constructors.length === 1) {
255
- // if the element is a single-constructor data struct,
256
- // we need to introduce its fields as well
257
- this.introduceSingleConstrDataLettedFields(elemVarDecl.name, lettedElem, lettedElem.type);
258
- }
259
- }
260
- else if (elemVarDecl instanceof TirNamedDeconstructVarDecl
261
- || elemVarDecl instanceof TirSingleDeconstructVarDecl) {
262
- const namedVarDecl = toNamedDeconstructVarDecl(elemVarDecl);
263
- namedVarDecl.initExpr = lettedElem;
264
- assertions.push(...this.introduceDeconstrDataLettedFields(namedVarDecl));
265
- }
266
- else if (elemVarDecl instanceof TirArrayLikeDeconstr) {
267
- elemVarDecl.initExpr = lettedElem;
268
- assertions.push(...this.introduceArrayDeconstr(elemVarDecl, true // is destructured field
269
- ));
270
- }
271
- }
272
- if (stmt.rest) {
273
- if (isDestructuredField)
274
- throw new Error("rest is not implemented in destructured field array-like deconstruct. TODO: map data elems to elem type");
275
- const lettedRest = this.introduceLettedConstant(stmt.rest, new TirCallExpr(TirNativeFunc._dropList(elemsType), [
276
- new TirLitIntExpr(BigInt(nElems), stmt.range),
277
- lettedArrayExpr
278
- ], new TirListT(elemsType), stmt.range), stmt.range);
279
- }
280
- return assertions;
281
- }
282
- }
@@ -1,27 +0,0 @@
1
- import { SourceRange } from "../../../ast/Source/SourceRange.js";
2
- import { TirLitNamedObjExpr } from "../../tir/expressions/litteral/TirLitNamedObjExpr.js";
3
- import { TirBlockStmt } from "../../tir/statements/TirBlockStmt.js";
4
- import { TirForStmt } from "../../tir/statements/TirForStmt.js";
5
- import { TirStmt } from "../../tir/statements/TirStmt.js";
6
- import { TirSoPStructType } from "../../tir/types/TirStructType.js";
7
- import { ExpressifyCtx } from "./ExpressifyCtx.js";
8
- export interface ReassignedVariablesAndReturn {
9
- reassigned: string[];
10
- returns: boolean;
11
- }
12
- export interface ReassignedVariablesAndFlowInfos extends ReassignedVariablesAndReturn {
13
- canContinue: boolean;
14
- canBreak: boolean;
15
- }
16
- export declare function determineReassignedVariablesAndReturn(stmt: TirStmt): ReassignedVariablesAndReturn;
17
- export declare function determineReassignedVariablesAndFlowInfos(stmt: TirStmt): ReassignedVariablesAndFlowInfos;
18
- export declare function definitelyFails(stmt: TirStmt | TirBlockStmt): boolean;
19
- export interface BranchStmtSopAndInitState {
20
- sop: TirSoPStructType;
21
- initState: TirLitNamedObjExpr;
22
- }
23
- export declare function getBranchStmtReturnType({ reassigned, returns }: ReassignedVariablesAndReturn, ctx: ExpressifyCtx, stmtRange: SourceRange): BranchStmtSopAndInitState;
24
- export declare function getBodyStateType({ sop, initState }: BranchStmtSopAndInitState, stmt: TirForStmt): {
25
- bodyStateType: TirSoPStructType;
26
- initState: TirLitNamedObjExpr;
27
- };
@@ -1,248 +0,0 @@
1
- import { Identifier } from "../../../ast/nodes/common/Identifier.js";
2
- import { keepSortedStrArrInplace } from "../../../utils/array/keepSortedArrInplace.js";
3
- import { getUniqueInternalName } from "../../internalVar.js";
4
- import { TirLitNamedObjExpr } from "../../tir/expressions/litteral/TirLitNamedObjExpr.js";
5
- import { TirVariableAccessExpr } from "../../tir/expressions/TirVariableAccessExpr.js";
6
- import { TirAssertStmt } from "../../tir/statements/TirAssertStmt.js";
7
- import { TirAssignmentStmt } from "../../tir/statements/TirAssignmentStmt.js";
8
- import { TirBlockStmt } from "../../tir/statements/TirBlockStmt.js";
9
- import { TirBreakStmt } from "../../tir/statements/TirBreakStmt.js";
10
- import { TirContinueStmt } from "../../tir/statements/TirContinueStmt.js";
11
- import { TirFailStmt } from "../../tir/statements/TirFailStmt.js";
12
- import { TirForOfStmt } from "../../tir/statements/TirForOfStmt.js";
13
- import { TirForStmt } from "../../tir/statements/TirForStmt.js";
14
- import { TirIfStmt } from "../../tir/statements/TirIfStmt.js";
15
- import { TirMatchStmt } from "../../tir/statements/TirMatchStmt.js";
16
- import { TirReturnStmt } from "../../tir/statements/TirReturnStmt.js";
17
- import { isTirVarDecl } from "../../tir/statements/TirVarDecl/TirVarDecl.js";
18
- import { TirWhileStmt } from "../../tir/statements/TirWhileStmt.js";
19
- import { TirSoPStructType, TirStructConstr, TirStructField } from "../../tir/types/TirStructType.js";
20
- import { isExpressifyFuncParam } from "./ExpressifyCtx.js";
21
- export function determineReassignedVariablesAndReturn(stmt) {
22
- const originalStmtDeps = stmt.deps();
23
- const stack = [stmt];
24
- const reassignedSet = new Set();
25
- let returns = false;
26
- while (stmt = stack.pop()) {
27
- if (stmt instanceof TirFailStmt
28
- || isTirVarDecl(stmt)
29
- || stmt instanceof TirBreakStmt
30
- || stmt instanceof TirContinueStmt
31
- || stmt instanceof TirAssertStmt)
32
- continue;
33
- if (stmt instanceof TirReturnStmt) {
34
- returns = true;
35
- continue;
36
- }
37
- if (stmt instanceof TirAssignmentStmt) {
38
- reassignedSet.add(stmt.varIdentifier.varName);
39
- continue;
40
- }
41
- if (stmt instanceof TirBlockStmt) {
42
- stack.push(...stmt.stmts);
43
- continue;
44
- }
45
- if (stmt instanceof TirIfStmt) {
46
- stack.push(stmt.thenBranch);
47
- if (stmt.elseBranch)
48
- stack.push(stmt.elseBranch);
49
- continue;
50
- }
51
- if (stmt instanceof TirMatchStmt) {
52
- for (const caseStmt of stmt.cases) {
53
- stack.push(caseStmt.body);
54
- }
55
- continue;
56
- }
57
- if (stmt instanceof TirForStmt) {
58
- stack.push(stmt.body);
59
- if (stmt.update)
60
- stack.push(...stmt.update);
61
- continue;
62
- }
63
- if (stmt instanceof TirForOfStmt
64
- || stmt instanceof TirWhileStmt) {
65
- stack.push(stmt.body);
66
- continue;
67
- }
68
- const tsEnsureExsaustiveCheck = stmt;
69
- }
70
- let reassigned = [...reassignedSet].sort();
71
- reassigned = keepSortedStrArrInplace(reassigned, originalStmtDeps);
72
- return {
73
- reassigned,
74
- returns
75
- };
76
- }
77
- export function determineReassignedVariablesAndFlowInfos(stmt) {
78
- const originalStmtDeps = stmt.deps();
79
- const stack = [stmt];
80
- const reassignedSet = new Set();
81
- let returns = false;
82
- let canBreak = false;
83
- let canContinue = false;
84
- while (stmt = stack.pop()) {
85
- if (stmt instanceof TirFailStmt
86
- || isTirVarDecl(stmt)
87
- || stmt instanceof TirBreakStmt
88
- || stmt instanceof TirContinueStmt
89
- || stmt instanceof TirAssertStmt)
90
- continue;
91
- if (stmt instanceof TirBreakStmt) {
92
- canBreak = true;
93
- continue;
94
- }
95
- if (stmt instanceof TirContinueStmt) {
96
- canContinue = true;
97
- continue;
98
- }
99
- if (stmt instanceof TirReturnStmt) {
100
- returns = true;
101
- continue;
102
- }
103
- if (stmt instanceof TirAssignmentStmt) {
104
- reassignedSet.add(stmt.varIdentifier.varName);
105
- continue;
106
- }
107
- if (stmt instanceof TirBlockStmt) {
108
- stack.push(...stmt.stmts);
109
- continue;
110
- }
111
- if (stmt instanceof TirIfStmt) {
112
- stack.push(stmt.thenBranch);
113
- if (stmt.elseBranch)
114
- stack.push(stmt.elseBranch);
115
- continue;
116
- }
117
- if (stmt instanceof TirMatchStmt) {
118
- for (const caseStmt of stmt.cases) {
119
- stack.push(caseStmt.body);
120
- }
121
- continue;
122
- }
123
- // for loop statements
124
- // we are only intersted in eventual reassignments and returns
125
- //
126
- // if conitnue or break statements are present there
127
- // they refer to the inner loop itself, not to this outer loop
128
- if (stmt instanceof TirForStmt) {
129
- const reassignedAndReturn = determineReassignedVariablesAndReturn(stmt.body);
130
- for (const varName of reassignedAndReturn.reassigned) {
131
- reassignedSet.add(varName);
132
- }
133
- if (reassignedAndReturn.returns)
134
- returns = true;
135
- if (stmt.update)
136
- stack.push(...stmt.update);
137
- continue;
138
- }
139
- if (stmt instanceof TirForOfStmt
140
- || stmt instanceof TirWhileStmt) {
141
- const reassignedAndReturn = determineReassignedVariablesAndReturn(stmt.body);
142
- for (const varName of reassignedAndReturn.reassigned) {
143
- reassignedSet.add(varName);
144
- }
145
- if (reassignedAndReturn.returns)
146
- returns = true;
147
- continue;
148
- }
149
- const tsEnsureExsaustiveCheck = stmt;
150
- }
151
- let reassigned = [...reassignedSet].sort();
152
- reassigned = keepSortedStrArrInplace(reassigned, originalStmtDeps);
153
- return {
154
- reassigned,
155
- returns,
156
- canBreak,
157
- canContinue
158
- };
159
- }
160
- export function definitelyFails(stmt) {
161
- const stack = [stmt];
162
- while (stmt = stack.pop()) {
163
- if (stmt instanceof TirFailStmt)
164
- return true;
165
- if (stmt instanceof TirBlockStmt) {
166
- stack.push(...stmt.stmts);
167
- continue;
168
- }
169
- if (isTirVarDecl(stmt))
170
- continue;
171
- if (stmt instanceof TirIfStmt) {
172
- stack.push(stmt.thenBranch);
173
- if (stmt.elseBranch)
174
- stack.push(stmt.elseBranch);
175
- continue;
176
- }
177
- if (stmt instanceof TirMatchStmt) {
178
- if (stmt.cases.every(({ body }) => definitelyFails(body)))
179
- return true;
180
- continue;
181
- }
182
- if (stmt instanceof TirForStmt
183
- || stmt instanceof TirForOfStmt
184
- || stmt instanceof TirWhileStmt) {
185
- stack.push(stmt.body);
186
- continue;
187
- }
188
- if (stmt instanceof TirReturnStmt
189
- || stmt instanceof TirBlockStmt
190
- || stmt instanceof TirBreakStmt
191
- || stmt instanceof TirContinueStmt
192
- || stmt instanceof TirAssertStmt
193
- || stmt instanceof TirAssignmentStmt)
194
- continue;
195
- // const tsEnsureExsaustiveCheck: never = stmt;
196
- }
197
- return false;
198
- }
199
- export function getBranchStmtReturnType({ reassigned, returns }, ctx, stmtRange) {
200
- const uniqueName = getUniqueInternalName("__StmtSideEffects");
201
- const reassignsConstrName = "Reassigns";
202
- const earlyReturnConstrName = "EarlyReturn";
203
- const initVars = reassigned.map(varName => {
204
- const varExpr = ctx.getVariable(varName);
205
- if (isExpressifyFuncParam(varExpr))
206
- return new TirVariableAccessExpr({
207
- variableInfos: {
208
- name: varName,
209
- type: varExpr.type,
210
- isConstant: false
211
- },
212
- isDefinedOutsideFuncScope: false
213
- }, stmtRange);
214
- return varExpr;
215
- });
216
- const constrs = [
217
- new TirStructConstr(reassignsConstrName, reassigned.map((varName, i) => new TirStructField(varName, initVars[i].type)))
218
- ];
219
- if (returns) {
220
- constrs.push(new TirStructConstr(earlyReturnConstrName, [
221
- new TirStructField("returnValue", ctx.returnType)
222
- ]));
223
- }
224
- const sop = new TirSoPStructType(uniqueName, "", // file uid
225
- constrs, new Map());
226
- return {
227
- sop,
228
- initState: new TirLitNamedObjExpr(new Identifier(reassignsConstrName, stmtRange), reassigned.map(varName => new Identifier(varName, stmtRange)), initVars, sop, stmtRange)
229
- };
230
- }
231
- export function getBodyStateType({ sop, initState }, stmt) {
232
- const bodyStateType = sop.clone();
233
- bodyStateType.constructors.length = 1; // keep only the first constructor
234
- const bodyStateConstr = bodyStateType.constructors[0];
235
- for (const { name, type, range, initExpr, isConst } of stmt.init) {
236
- if (!initExpr)
237
- throw new Error("loop init variable requires initialization expression");
238
- // TODO: optimize for `isConst`
239
- const uniqueFieldName = getUniqueInternalName(name);
240
- bodyStateConstr.fields.push(new TirStructField(uniqueFieldName, type));
241
- initState.fieldNames.push(new Identifier(uniqueFieldName, range));
242
- initState.values.push(initExpr);
243
- }
244
- return {
245
- bodyStateType,
246
- initState,
247
- };
248
- }
@@ -1,15 +0,0 @@
1
- import { TirExpr } from "../../tir/expressions/TirExpr.js";
2
- import { TirFuncExpr } from "../../tir/expressions/TirFuncExpr.js";
3
- import { TirAssertStmt } from "../../tir/statements/TirAssertStmt.js";
4
- import { TirBreakStmt } from "../../tir/statements/TirBreakStmt.js";
5
- import { TirContinueStmt } from "../../tir/statements/TirContinueStmt.js";
6
- import { TirReturnStmt } from "../../tir/statements/TirReturnStmt.js";
7
- import { TirStmt } from "../../tir/statements/TirStmt.js";
8
- import { ExpressifyCtx } from "./ExpressifyCtx.js";
9
- export declare function expressify(func: TirFuncExpr, loopReplacements: LoopReplacements | undefined, parentCtx?: ExpressifyCtx | undefined): void;
10
- export interface LoopReplacements {
11
- readonly replaceReturnValue: (ctx: ExpressifyCtx, stmt: TirReturnStmt) => TirExpr;
12
- readonly compileBreak: (ctx: ExpressifyCtx, stmt: TirBreakStmt) => TirExpr;
13
- readonly compileContinue: (ctx: ExpressifyCtx, stmt: TirContinueStmt) => TirExpr;
14
- }
15
- export declare function expressifyFuncBody(ctx: ExpressifyCtx, bodyStmts: TirStmt[], loopReplacements: LoopReplacements | undefined, assertions?: TirAssertStmt[]): TirExpr;