@harmoniclabs/pebble 0.1.0-dev2 → 0.1.0-dev4
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.
- package/dist/IR/IRHash.d.ts +8 -0
- package/dist/IR/IRHash.js +78 -0
- package/dist/IR/IRNodeKind.d.ts +17 -0
- package/dist/IR/IRNodeKind.js +19 -0
- package/dist/IR/IRNodes/BaseIRMetadata.d.ts +3 -0
- package/dist/IR/IRNodes/BaseIRMetadata.js +1 -0
- package/dist/IR/IRNodes/IRApp.d.ts +36 -0
- package/dist/IR/IRNodes/IRApp.js +91 -0
- package/dist/IR/IRNodes/IRCase.d.ts +32 -0
- package/dist/IR/IRNodes/IRCase.js +91 -0
- package/dist/IR/IRNodes/IRConst.d.ts +49 -0
- package/dist/IR/IRNodes/IRConst.js +273 -0
- package/dist/IR/IRNodes/IRConstr.d.ts +30 -0
- package/dist/IR/IRNodes/IRConstr.js +87 -0
- package/dist/IR/IRNodes/IRDelayed.d.ts +31 -0
- package/dist/IR/IRNodes/IRDelayed.js +68 -0
- package/dist/IR/IRNodes/IRError.d.ts +32 -0
- package/dist/IR/IRNodes/IRError.js +44 -0
- package/dist/IR/IRNodes/IRForced.d.ts +31 -0
- package/dist/IR/IRNodes/IRForced.js +69 -0
- package/dist/IR/IRNodes/IRFunc.d.ts +33 -0
- package/dist/IR/IRNodes/IRFunc.js +91 -0
- package/dist/IR/IRNodes/IRHoisted.d.ts +55 -0
- package/dist/IR/IRNodes/IRHoisted.js +212 -0
- package/dist/IR/IRNodes/IRLetted.d.ts +108 -0
- package/dist/IR/IRNodes/IRLetted.js +444 -0
- package/dist/IR/IRNodes/IRNative/IRNativeTag.d.ts +138 -0
- package/dist/IR/IRNodes/IRNative/IRNativeTag.js +204 -0
- package/dist/IR/IRNodes/IRNative/index.d.ts +165 -0
- package/dist/IR/IRNodes/IRNative/index.js +240 -0
- package/dist/IR/IRNodes/IRNative/isForcedNative.d.ts +3 -0
- package/dist/IR/IRNodes/IRNative/isForcedNative.js +18 -0
- package/dist/IR/IRNodes/IRRecursive.d.ts +29 -0
- package/dist/IR/IRNodes/IRRecursive.js +90 -0
- package/dist/IR/IRNodes/IRSelfCall.d.ts +46 -0
- package/dist/IR/IRNodes/IRSelfCall.js +127 -0
- package/dist/IR/IRNodes/IRVar.d.ts +41 -0
- package/dist/IR/IRNodes/IRVar.js +93 -0
- package/dist/IR/IRNodes/index.d.ts +12 -0
- package/dist/IR/IRNodes/index.js +12 -0
- package/dist/IR/IRNodes/utils/dependsByDbns.d.ts +5 -0
- package/dist/IR/IRNodes/utils/dependsByDbns.js +29 -0
- package/dist/IR/IRNodes/utils/isClosedAtDbn.d.ts +2 -0
- package/dist/IR/IRNodes/utils/isClosedAtDbn.js +22 -0
- package/dist/IR/IRNodes/utils/makeArrayLikeProxy.d.ts +1 -0
- package/dist/IR/IRNodes/utils/makeArrayLikeProxy.js +34 -0
- package/dist/IR/IRNodes/utils/mapArrayLike.d.ts +1 -0
- package/dist/IR/IRNodes/utils/mapArrayLike.js +8 -0
- package/dist/IR/IRTerm.d.ts +15 -0
- package/dist/IR/IRTerm.js +1 -0
- package/dist/IR/index.d.ts +5 -0
- package/dist/IR/index.js +5 -0
- package/dist/IR/interfaces/IHash.d.ts +6 -0
- package/dist/IR/interfaces/IHash.js +1 -0
- package/dist/IR/interfaces/IIRParent.d.ts +4 -0
- package/dist/IR/interfaces/IIRParent.js +1 -0
- package/dist/IR/interfaces/IRMetadata.d.ts +3 -0
- package/dist/IR/interfaces/IRMetadata.js +2 -0
- package/dist/IR/interfaces/ToIR.d.ts +5 -0
- package/dist/IR/interfaces/ToIR.js +1 -0
- package/dist/IR/interfaces/index.d.ts +4 -0
- package/dist/IR/interfaces/index.js +4 -0
- package/dist/IR/toUPLC/CompilerOptions.d.ts +80 -0
- package/dist/IR/toUPLC/CompilerOptions.js +98 -0
- package/dist/IR/toUPLC/_internal/_addDepth.d.ts +2 -0
- package/dist/IR/toUPLC/_internal/_addDepth.js +58 -0
- package/dist/IR/toUPLC/_internal/_irToUplc.d.ts +9 -0
- package/dist/IR/toUPLC/_internal/_irToUplc.js +156 -0
- package/dist/IR/toUPLC/_internal/_makeAllNegativeNativesHoisted.d.ts +2 -0
- package/dist/IR/toUPLC/_internal/_makeAllNegativeNativesHoisted.js +12 -0
- package/dist/IR/toUPLC/_internal/_modifyChildFromTo.d.ts +10 -0
- package/dist/IR/toUPLC/_internal/_modifyChildFromTo.js +141 -0
- package/dist/IR/toUPLC/_internal/depth.d.ts +5 -0
- package/dist/IR/toUPLC/_internal/depth.js +8 -0
- package/dist/IR/toUPLC/_internal/findAll.d.ts +3 -0
- package/dist/IR/toUPLC/_internal/findAll.js +99 -0
- package/dist/IR/toUPLC/_internal/getDebruijnInTerm.d.ts +2 -0
- package/dist/IR/toUPLC/_internal/getDebruijnInTerm.js +51 -0
- package/dist/IR/toUPLC/_internal/getDiffDbn.d.ts +2 -0
- package/dist/IR/toUPLC/_internal/getDiffDbn.js +55 -0
- package/dist/IR/toUPLC/_internal/includesLettedTerms.d.ts +2 -0
- package/dist/IR/toUPLC/_internal/includesLettedTerms.js +50 -0
- package/dist/IR/toUPLC/_internal/includesNode.d.ts +2 -0
- package/dist/IR/toUPLC/_internal/includesNode.js +54 -0
- package/dist/IR/toUPLC/_internal/iterTree.d.ts +2 -0
- package/dist/IR/toUPLC/_internal/iterTree.js +93 -0
- package/dist/IR/toUPLC/_internal/lowestCommonAncestor.d.ts +3 -0
- package/dist/IR/toUPLC/_internal/lowestCommonAncestor.js +41 -0
- package/dist/IR/toUPLC/compileIRToUPLC.d.ts +4 -0
- package/dist/IR/toUPLC/compileIRToUPLC.js +118 -0
- package/dist/IR/toUPLC/index.d.ts +2 -0
- package/dist/IR/toUPLC/index.js +2 -0
- package/dist/IR/toUPLC/subRoutines/handleHoistedAndReturnRoot/index.d.ts +2 -0
- package/dist/IR/toUPLC/subRoutines/handleHoistedAndReturnRoot/index.js +161 -0
- package/dist/IR/toUPLC/subRoutines/handleLetted/findHighestRecursiveParent.d.ts +5 -0
- package/dist/IR/toUPLC/subRoutines/handleLetted/findHighestRecursiveParent.js +14 -0
- package/dist/IR/toUPLC/subRoutines/handleLetted/groupByScope.d.ts +20 -0
- package/dist/IR/toUPLC/subRoutines/handleLetted/groupByScope.js +107 -0
- package/dist/IR/toUPLC/subRoutines/handleLetted/incrementUnboundDbns.d.ts +9 -0
- package/dist/IR/toUPLC/subRoutines/handleLetted/incrementUnboundDbns.js +73 -0
- package/dist/IR/toUPLC/subRoutines/handleLetted/index.d.ts +2 -0
- package/dist/IR/toUPLC/subRoutines/handleLetted/index.js +304 -0
- package/dist/IR/toUPLC/subRoutines/handleRecursiveTerms.d.ts +3 -0
- package/dist/IR/toUPLC/subRoutines/handleRecursiveTerms.js +32 -0
- package/dist/IR/toUPLC/subRoutines/hoistForcedNatives.d.ts +2 -0
- package/dist/IR/toUPLC/subRoutines/hoistForcedNatives.js +58 -0
- package/dist/IR/toUPLC/subRoutines/inlineSingleUseApplications.d.ts +1 -0
- package/dist/IR/toUPLC/subRoutines/inlineSingleUseApplications.js +12 -0
- package/dist/IR/toUPLC/subRoutines/markRecursiveHoistsAsForced.d.ts +2 -0
- package/dist/IR/toUPLC/subRoutines/markRecursiveHoistsAsForced.js +82 -0
- package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/expandFuncsAndReturnRoot.d.ts +4 -0
- package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/expandFuncsAndReturnRoot.js +68 -0
- package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/index.d.ts +5 -0
- package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/index.js +227 -0
- package/dist/IR/toUPLC/subRoutines/replaceClosedLettedWithHoisted.d.ts +2 -0
- package/dist/IR/toUPLC/subRoutines/replaceClosedLettedWithHoisted.js +13 -0
- package/dist/IR/toUPLC/subRoutines/replaceForcedNativesWithHoisted.d.ts +2 -0
- package/dist/IR/toUPLC/subRoutines/replaceForcedNativesWithHoisted.js +11 -0
- package/dist/IR/toUPLC/subRoutines/replaceHoistedWithLetted.d.ts +2 -0
- package/dist/IR/toUPLC/subRoutines/replaceHoistedWithLetted.js +16 -0
- package/dist/IR/toUPLC/subRoutines/replaceNatives/index.d.ts +2 -0
- package/dist/IR/toUPLC/subRoutines/replaceNatives/index.js +16 -0
- package/dist/IR/toUPLC/subRoutines/replaceNatives/nativeToIR.d.ts +3 -0
- package/dist/IR/toUPLC/subRoutines/replaceNatives/nativeToIR.js +520 -0
- package/dist/IR/toUPLC/subRoutines/sanifyTree.d.ts +5 -0
- package/dist/IR/toUPLC/subRoutines/sanifyTree.js +84 -0
- package/dist/IR/tree_utils/_ir_apps.d.ts +3 -0
- package/dist/IR/tree_utils/_ir_apps.js +8 -0
- package/dist/IR/tree_utils/_ir_lazyChooseList.d.ts +3 -0
- package/dist/IR/tree_utils/_ir_lazyChooseList.js +5 -0
- package/dist/IR/tree_utils/_ir_lazyIfThenElse.d.ts +3 -0
- package/dist/IR/tree_utils/_ir_lazyIfThenElse.js +5 -0
- package/dist/IR/tree_utils/_ir_let.d.ts +3 -0
- package/dist/IR/tree_utils/_ir_let.js +4 -0
- package/dist/IR/tree_utils/getChildren.d.ts +2 -0
- package/dist/IR/tree_utils/getChildren.js +33 -0
- package/dist/IR/tree_utils/getRoot.d.ts +2 -0
- package/dist/IR/tree_utils/getRoot.js +6 -0
- package/dist/IR/utils/MutArrayLike.d.ts +5 -0
- package/dist/IR/utils/MutArrayLike.js +1 -0
- package/dist/IR/utils/concatUint8Arr.d.ts +1 -0
- package/dist/IR/utils/concatUint8Arr.js +11 -0
- package/dist/IR/utils/equalIRTerm.d.ts +12 -0
- package/dist/IR/utils/equalIRTerm.js +19 -0
- package/dist/IR/utils/index.d.ts +3 -0
- package/dist/IR/utils/index.js +3 -0
- package/dist/IR/utils/isClosedIRTerm.d.ts +2 -0
- package/dist/IR/utils/isClosedIRTerm.js +58 -0
- package/dist/IR/utils/isIRParentTerm.d.ts +12 -0
- package/dist/IR/utils/isIRParentTerm.js +26 -0
- package/dist/IR/utils/isIRTerm.d.ts +2 -0
- package/dist/IR/utils/isIRTerm.js +30 -0
- package/dist/IR/utils/positiveIntAsBytes.d.ts +5 -0
- package/dist/IR/utils/positiveIntAsBytes.js +27 -0
- package/dist/IR/utils/showIR.d.ts +43 -0
- package/dist/IR/utils/showIR.js +372 -0
- package/dist/ast/PebbleAst.d.ts +8 -0
- package/dist/ast/PebbleAst.js +15 -0
- package/dist/ast/Source/Source.d.ts +47 -0
- package/dist/ast/Source/Source.js +89 -0
- package/dist/ast/Source/SourceRange.d.ts +16 -0
- package/dist/ast/Source/SourceRange.js +49 -0
- package/dist/ast/nodes/HasSourceRange.d.ts +5 -0
- package/dist/ast/nodes/HasSourceRange.js +6 -0
- package/dist/ast/nodes/common/Identifier.d.ts +13 -0
- package/dist/ast/nodes/common/Identifier.js +20 -0
- package/dist/ast/nodes/expr/CaseExpr.d.ts +22 -0
- package/dist/ast/nodes/expr/CaseExpr.js +30 -0
- package/dist/ast/nodes/expr/ElemAccessExpr.d.ts +12 -0
- package/dist/ast/nodes/expr/ElemAccessExpr.js +13 -0
- package/dist/ast/nodes/expr/IsExpr.d.ts +1 -0
- package/dist/ast/nodes/expr/IsExpr.js +14 -0
- package/dist/ast/nodes/expr/ParentesizedExpr.d.ts +8 -0
- package/dist/ast/nodes/expr/ParentesizedExpr.js +8 -0
- package/dist/ast/nodes/expr/PebbleExpr.d.ts +18 -0
- package/dist/ast/nodes/expr/PebbleExpr.js +31 -0
- package/dist/ast/nodes/expr/PropAccessExpr.d.ts +28 -0
- package/dist/ast/nodes/expr/PropAccessExpr.js +46 -0
- package/dist/ast/nodes/expr/TernaryExpr.d.ts +10 -0
- package/dist/ast/nodes/expr/TernaryExpr.js +12 -0
- package/dist/ast/nodes/expr/TypeConversionExpr.d.ts +10 -0
- package/dist/ast/nodes/expr/TypeConversionExpr.js +11 -0
- package/dist/ast/nodes/expr/binary/BinaryExpr.d.ts +133 -0
- package/dist/ast/nodes/expr/binary/BinaryExpr.js +253 -0
- package/dist/ast/nodes/expr/functions/ArrowKind.d.ts +9 -0
- package/dist/ast/nodes/expr/functions/ArrowKind.js +11 -0
- package/dist/ast/nodes/expr/functions/CallExpr.d.ts +17 -0
- package/dist/ast/nodes/expr/functions/CallExpr.js +16 -0
- package/dist/ast/nodes/expr/functions/FuncExpr.d.ts +21 -0
- package/dist/ast/nodes/expr/functions/FuncExpr.js +21 -0
- package/dist/ast/nodes/expr/litteral/LitArrExpr.d.ts +8 -0
- package/dist/ast/nodes/expr/litteral/LitArrExpr.js +8 -0
- package/dist/ast/nodes/expr/litteral/LitFalseExpr.d.ts +6 -0
- package/dist/ast/nodes/expr/litteral/LitFalseExpr.js +6 -0
- package/dist/ast/nodes/expr/litteral/LitHexBytesExpr.d.ts +7 -0
- package/dist/ast/nodes/expr/litteral/LitHexBytesExpr.js +8 -0
- package/dist/ast/nodes/expr/litteral/LitIntExpr.d.ts +7 -0
- package/dist/ast/nodes/expr/litteral/LitIntExpr.js +8 -0
- package/dist/ast/nodes/expr/litteral/LitNamedObjExpr.d.ts +12 -0
- package/dist/ast/nodes/expr/litteral/LitNamedObjExpr.js +12 -0
- package/dist/ast/nodes/expr/litteral/LitObjExpr.d.ts +14 -0
- package/dist/ast/nodes/expr/litteral/LitObjExpr.js +10 -0
- package/dist/ast/nodes/expr/litteral/LitStrExpr.d.ts +7 -0
- package/dist/ast/nodes/expr/litteral/LitStrExpr.js +8 -0
- package/dist/ast/nodes/expr/litteral/LitThisExpr.d.ts +6 -0
- package/dist/ast/nodes/expr/litteral/LitThisExpr.js +6 -0
- package/dist/ast/nodes/expr/litteral/LitTrueExpr.d.ts +6 -0
- package/dist/ast/nodes/expr/litteral/LitTrueExpr.js +6 -0
- package/dist/ast/nodes/expr/litteral/LitUndefExpr.d.ts +6 -0
- package/dist/ast/nodes/expr/litteral/LitUndefExpr.js +6 -0
- package/dist/ast/nodes/expr/litteral/LitVoidExpr.d.ts +6 -0
- package/dist/ast/nodes/expr/litteral/LitVoidExpr.js +6 -0
- package/dist/ast/nodes/expr/litteral/LitteralExpr.d.ts +13 -0
- package/dist/ast/nodes/expr/litteral/LitteralExpr.js +24 -0
- package/dist/ast/nodes/expr/unary/IUnaryExpression.d.ts +4 -0
- package/dist/ast/nodes/expr/unary/IUnaryExpression.js +1 -0
- package/dist/ast/nodes/expr/unary/NonNullExpr.d.ts +8 -0
- package/dist/ast/nodes/expr/unary/NonNullExpr.js +8 -0
- package/dist/ast/nodes/expr/unary/UnaryExclamation.d.ts +9 -0
- package/dist/ast/nodes/expr/unary/UnaryExclamation.js +8 -0
- package/dist/ast/nodes/expr/unary/UnaryMinus.d.ts +9 -0
- package/dist/ast/nodes/expr/unary/UnaryMinus.js +8 -0
- package/dist/ast/nodes/expr/unary/UnaryPlus.d.ts +9 -0
- package/dist/ast/nodes/expr/unary/UnaryPlus.js +8 -0
- package/dist/ast/nodes/expr/unary/UnaryPrefixExpr.d.ts +14 -0
- package/dist/ast/nodes/expr/unary/UnaryPrefixExpr.js +27 -0
- package/dist/ast/nodes/expr/unary/UnaryTilde.d.ts +9 -0
- package/dist/ast/nodes/expr/unary/UnaryTilde.js +8 -0
- package/dist/ast/nodes/statements/AssertStmt.d.ts +15 -0
- package/dist/ast/nodes/statements/AssertStmt.js +14 -0
- package/dist/ast/nodes/statements/AssignmentStmt.d.ts +105 -0
- package/dist/ast/nodes/statements/AssignmentStmt.js +211 -0
- package/dist/ast/nodes/statements/BlockStmt.d.ts +8 -0
- package/dist/ast/nodes/statements/BlockStmt.js +8 -0
- package/dist/ast/nodes/statements/BreakStmt.d.ts +6 -0
- package/dist/ast/nodes/statements/BreakStmt.js +6 -0
- package/dist/ast/nodes/statements/ContinueStmt.d.ts +6 -0
- package/dist/ast/nodes/statements/ContinueStmt.js +6 -0
- package/dist/ast/nodes/statements/DecrStmt.d.ts +11 -0
- package/dist/ast/nodes/statements/DecrStmt.js +11 -0
- package/dist/ast/nodes/statements/DoWhileStmt.d.ts +10 -0
- package/dist/ast/nodes/statements/DoWhileStmt.js +10 -0
- package/dist/ast/nodes/statements/EmptyStmt.d.ts +6 -0
- package/dist/ast/nodes/statements/EmptyStmt.js +6 -0
- package/dist/ast/nodes/statements/ExportImportStmt.d.ts +15 -0
- package/dist/ast/nodes/statements/ExportImportStmt.js +15 -0
- package/dist/ast/nodes/statements/ExportStarStmt.d.ts +8 -0
- package/dist/ast/nodes/statements/ExportStarStmt.js +8 -0
- package/dist/ast/nodes/statements/ExportStmt.d.ts +13 -0
- package/dist/ast/nodes/statements/ExportStmt.js +13 -0
- package/dist/ast/nodes/statements/ExprStmt.d.ts +8 -0
- package/dist/ast/nodes/statements/ExprStmt.js +18 -0
- package/dist/ast/nodes/statements/FailStmt.d.ts +11 -0
- package/dist/ast/nodes/statements/FailStmt.js +10 -0
- package/dist/ast/nodes/statements/ForOfStmt.d.ts +16 -0
- package/dist/ast/nodes/statements/ForOfStmt.js +15 -0
- package/dist/ast/nodes/statements/ForStmt.d.ts +19 -0
- package/dist/ast/nodes/statements/ForStmt.js +19 -0
- package/dist/ast/nodes/statements/IfStmt.d.ts +11 -0
- package/dist/ast/nodes/statements/IfStmt.js +12 -0
- package/dist/ast/nodes/statements/ImportStarStmt.d.ts +15 -0
- package/dist/ast/nodes/statements/ImportStarStmt.js +15 -0
- package/dist/ast/nodes/statements/ImportStmt.d.ts +21 -0
- package/dist/ast/nodes/statements/ImportStmt.js +25 -0
- package/dist/ast/nodes/statements/IncrStmt.d.ts +8 -0
- package/dist/ast/nodes/statements/IncrStmt.js +8 -0
- package/dist/ast/nodes/statements/MatchStmt.d.ts +17 -0
- package/dist/ast/nodes/statements/MatchStmt.js +20 -0
- package/dist/ast/nodes/statements/PebbleStmt.d.ts +29 -0
- package/dist/ast/nodes/statements/PebbleStmt.js +62 -0
- package/dist/ast/nodes/statements/ReturnStmt.d.ts +8 -0
- package/dist/ast/nodes/statements/ReturnStmt.js +8 -0
- package/dist/ast/nodes/statements/TestStmt.d.ts +10 -0
- package/dist/ast/nodes/statements/TestStmt.js +10 -0
- package/dist/ast/nodes/statements/TypeImplementsStmt.d.ts +21 -0
- package/dist/ast/nodes/statements/TypeImplementsStmt.js +26 -0
- package/dist/ast/nodes/statements/UsingStmt.d.ts +16 -0
- package/dist/ast/nodes/statements/UsingStmt.js +20 -0
- package/dist/ast/nodes/statements/VarStmt.d.ts +10 -0
- package/dist/ast/nodes/statements/VarStmt.js +11 -0
- package/dist/ast/nodes/statements/WhileStmt.d.ts +10 -0
- package/dist/ast/nodes/statements/WhileStmt.js +10 -0
- package/dist/ast/nodes/statements/declarations/EnumDecl.d.ts +18 -0
- package/dist/ast/nodes/statements/declarations/EnumDecl.js +22 -0
- package/dist/ast/nodes/statements/declarations/FuncDecl.d.ts +8 -0
- package/dist/ast/nodes/statements/declarations/FuncDecl.js +9 -0
- package/dist/ast/nodes/statements/declarations/InterfaceDecl.d.ts +19 -0
- package/dist/ast/nodes/statements/declarations/InterfaceDecl.js +26 -0
- package/dist/ast/nodes/statements/declarations/PebbleTypeDecl.d.ts +5 -0
- package/dist/ast/nodes/statements/declarations/PebbleTypeDecl.js +8 -0
- package/dist/ast/nodes/statements/declarations/StructDecl.d.ts +25 -0
- package/dist/ast/nodes/statements/declarations/StructDecl.js +36 -0
- package/dist/ast/nodes/statements/declarations/TypeAliasDecl.d.ts +11 -0
- package/dist/ast/nodes/statements/declarations/TypeAliasDecl.js +12 -0
- package/dist/ast/nodes/statements/declarations/VarDecl/ArrayLikeDeconstr.d.ts +19 -0
- package/dist/ast/nodes/statements/declarations/VarDecl/ArrayLikeDeconstr.js +19 -0
- package/dist/ast/nodes/statements/declarations/VarDecl/HasInit.d.ts +5 -0
- package/dist/ast/nodes/statements/declarations/VarDecl/HasInit.js +7 -0
- package/dist/ast/nodes/statements/declarations/VarDecl/NamedDeconstructVarDecl.d.ts +24 -0
- package/dist/ast/nodes/statements/declarations/VarDecl/NamedDeconstructVarDecl.js +30 -0
- package/dist/ast/nodes/statements/declarations/VarDecl/SimpleVarDecl.d.ts +17 -0
- package/dist/ast/nodes/statements/declarations/VarDecl/SimpleVarDecl.js +21 -0
- package/dist/ast/nodes/statements/declarations/VarDecl/SingleDeconstructVarDecl.d.ts +24 -0
- package/dist/ast/nodes/statements/declarations/VarDecl/SingleDeconstructVarDecl.js +20 -0
- package/dist/ast/nodes/statements/declarations/VarDecl/VarDecl.d.ts +8 -0
- package/dist/ast/nodes/statements/declarations/VarDecl/VarDecl.js +13 -0
- package/dist/ast/nodes/types/AstNamedTypeExpr.d.ts +14 -0
- package/dist/ast/nodes/types/AstNamedTypeExpr.js +14 -0
- package/dist/ast/nodes/types/AstNativeTypeExpr.d.ts +52 -0
- package/dist/ast/nodes/types/AstNativeTypeExpr.js +82 -0
- package/dist/ast/nodes/types/AstTypeExpr.d.ts +4 -0
- package/dist/ast/nodes/types/AstTypeExpr.js +7 -0
- package/dist/common.d.ts +194 -0
- package/dist/common.js +224 -0
- package/dist/compiler/AstCompiler/AstCompilationCtx.d.ts +35 -0
- package/dist/compiler/AstCompiler/AstCompilationCtx.js +43 -0
- package/dist/compiler/AstCompiler/AstCompiler.d.ts +73 -0
- package/dist/compiler/AstCompiler/AstCompiler.js +542 -0
- package/dist/compiler/AstCompiler/compileAst.d.ts +0 -0
- package/dist/compiler/AstCompiler/compileAst.js +0 -0
- package/dist/compiler/AstCompiler/index.d.ts +1 -0
- package/dist/compiler/AstCompiler/index.js +1 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileBinaryExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileBinaryExpr.js +66 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileCallExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileCallExpr.js +36 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileCaseExpr.d.ts +6 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileCaseExpr.js +47 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileElemAccessExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileElemAccessExpr.js +23 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileExpr.d.ts +22 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileExpr.js +77 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileFuncExpr.d.ts +26 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileFuncExpr.js +163 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileIsExpr.d.ts +1 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileIsExpr.js +43 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileLitteralExpr.d.ts +19 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileLitteralExpr.js +202 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileNonNullExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileNonNullExpr.js +43 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compilePropAccessExpr.d.ts +9 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compilePropAccessExpr.js +102 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileTernaryExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileTernaryExpr.js +22 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileTypeConversionExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileTypeConversionExpr.js +25 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileUnaryPrefixExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileUnaryPrefixExpr.js +54 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileVarAccessExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/_compileVarAccessExpr.js +9 -0
- package/dist/compiler/AstCompiler/internal/exprs/_hasDuplicateTypeParams.d.ts +3 -0
- package/dist/compiler/AstCompiler/internal/exprs/_hasDuplicateTypeParams.js +13 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileAddExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileAddExpr.js +20 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseAndExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseAndExpr.js +20 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseOrExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseOrExpr.js +20 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseXorExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseXorExpr.js +20 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileDivExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileDivExpr.js +20 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileEqualExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileEqualExpr.js +18 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileExponentiationExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileExponentiationExpr.js +20 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanEqualExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanEqualExpr.js +27 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanExpr.js +26 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanEqualExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanEqualExpr.js +25 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanExpr.js +26 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalAndExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalAndExpr.js +22 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalOrExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalOrExpr.js +22 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileModuloExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileModuloExpr.js +20 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileMultExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileMultExpr.js +20 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileNotEqualExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileNotEqualExpr.js +18 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileOptionalDefaultExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileOptionalDefaultExpr.js +60 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftLeftExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftLeftExpr.js +21 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftRightExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftRightExpr.js +21 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileSubExpr.d.ts +5 -0
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileSubExpr.js +20 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileAssertStmt.d.ts +4 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileAssertStmt.js +30 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileAssignmentStmt.d.ts +8 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileAssignmentStmt.js +154 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileBlockStmt.d.ts +4 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileBlockStmt.js +14 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileBreakStmt.d.ts +4 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileBreakStmt.js +7 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileContinueStmt.d.ts +4 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileContinueStmt.js +7 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileExprStmt.d.ts +1 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileExprStmt.js +12 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileFailStmt.d.ts +4 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileFailStmt.js +18 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileForOfStmt.d.ts +4 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileForOfStmt.js +30 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileForStmt.d.ts +7 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileForStmt.js +46 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileIfStmt.d.ts +4 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileIfStmt.js +27 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileMatchStmt.d.ts +6 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileMatchStmt.js +182 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileReturnStmt.d.ts +4 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileReturnStmt.js +17 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileStatement.d.ts +11 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileStatement.js +73 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileTestStmt.d.ts +1 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileTestStmt.js +32 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileUsingStmt.d.ts +11 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileUsingStmt.js +41 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileVarStmt.d.ts +34 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileVarStmt.js +207 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileWhileStmt.d.ts +4 -0
- package/dist/compiler/AstCompiler/internal/statements/_compileWhileStmt.js +19 -0
- package/dist/compiler/AstCompiler/internal/types/_compileDataEncodedConcreteType.d.ts +4 -0
- package/dist/compiler/AstCompiler/internal/types/_compileDataEncodedConcreteType.js +61 -0
- package/dist/compiler/AstCompiler/internal/types/_compileSopEncodedConcreteType.d.ts +4 -0
- package/dist/compiler/AstCompiler/internal/types/_compileSopEncodedConcreteType.js +59 -0
- package/dist/compiler/AstCompiler/scope/AstScope.d.ts +102 -0
- package/dist/compiler/AstCompiler/scope/AstScope.js +195 -0
- package/dist/compiler/AstCompiler/utils/deps/ResolveStackNode.d.ts +14 -0
- package/dist/compiler/AstCompiler/utils/deps/ResolveStackNode.js +36 -0
- package/dist/compiler/AstCompiler/utils/getPropAccessReturnType.d.ts +4 -0
- package/dist/compiler/AstCompiler/utils/getPropAccessReturnType.js +121 -0
- package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/TirFuncSigTree.d.ts +39 -0
- package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/TirFuncSigTree.js +129 -0
- package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/getTirFuncSigTree.d.ts +4 -0
- package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/getTirFuncSigTree.js +49 -0
- package/dist/compiler/AstCompiler/utils/wrapManyStatementsOrReturnSame.d.ts +3 -0
- package/dist/compiler/AstCompiler/utils/wrapManyStatementsOrReturnSame.js +12 -0
- package/dist/compiler/Compiler.d.ts +10 -0
- package/dist/compiler/Compiler.js +42 -0
- package/dist/compiler/TirCompiler/TirCompilerCtx.d.ts +7 -0
- package/dist/compiler/TirCompiler/TirCompilerCtx.js +8 -0
- package/dist/compiler/TirCompiler/compileTirProgram.d.ts +9 -0
- package/dist/compiler/TirCompiler/compileTirProgram.js +18 -0
- package/dist/compiler/TirCompiler/expressify/ExpressifyCtx.d.ts +72 -0
- package/dist/compiler/TirCompiler/expressify/ExpressifyCtx.js +282 -0
- package/dist/compiler/TirCompiler/expressify/determineReassignedVariablesAndReturn.d.ts +27 -0
- package/dist/compiler/TirCompiler/expressify/determineReassignedVariablesAndReturn.js +248 -0
- package/dist/compiler/TirCompiler/expressify/expressify.d.ts +15 -0
- package/dist/compiler/TirCompiler/expressify/expressify.js +403 -0
- package/dist/compiler/TirCompiler/expressify/expressifyForStmt.d.ts +8 -0
- package/dist/compiler/TirCompiler/expressify/expressifyForStmt.js +115 -0
- package/dist/compiler/TirCompiler/expressify/expressifyIfBranch.d.ts +6 -0
- package/dist/compiler/TirCompiler/expressify/expressifyIfBranch.js +105 -0
- package/dist/compiler/TirCompiler/expressify/expressifyTerminatingIfStmt.d.ts +5 -0
- package/dist/compiler/TirCompiler/expressify/expressifyTerminatingIfStmt.js +15 -0
- package/dist/compiler/TirCompiler/expressify/expressifyVarAssignmentStmt.d.ts +4 -0
- package/dist/compiler/TirCompiler/expressify/expressifyVarAssignmentStmt.js +20 -0
- package/dist/compiler/TirCompiler/expressify/expressifyVarDecl.d.ts +3 -0
- package/dist/compiler/TirCompiler/expressify/expressifyVarDecl.js +34 -0
- package/dist/compiler/TirCompiler/expressify/expressifyVars.d.ts +10 -0
- package/dist/compiler/TirCompiler/expressify/expressifyVars.js +320 -0
- package/dist/compiler/TirCompiler/expressify/flattenSopNamedDeconstructInplace_addTopDestructToCtx_getNestedDeconstruct.d.ts +9 -0
- package/dist/compiler/TirCompiler/expressify/flattenSopNamedDeconstructInplace_addTopDestructToCtx_getNestedDeconstruct.js +59 -0
- package/dist/compiler/TirCompiler/expressify/isSingleConstrStruct.d.ts +3 -0
- package/dist/compiler/TirCompiler/expressify/isSingleConstrStruct.js +9 -0
- package/dist/compiler/TirCompiler/expressify/toNamedDeconstructVarDecl.d.ts +3 -0
- package/dist/compiler/TirCompiler/expressify/toNamedDeconstructVarDecl.js +15 -0
- package/dist/compiler/TirCompiler/index.d.ts +2 -0
- package/dist/compiler/TirCompiler/index.js +2 -0
- package/dist/compiler/TirCompiler/internal/_compileHoistedDeps.d.ts +5 -0
- package/dist/compiler/TirCompiler/internal/_compileHoistedDeps.js +37 -0
- package/dist/compiler/TirCompiler/internal/deps/DepsNode.d.ts +13 -0
- package/dist/compiler/TirCompiler/internal/deps/DepsNode.js +36 -0
- package/dist/compiler/index.d.ts +4 -0
- package/dist/compiler/index.js +4 -0
- package/dist/compiler/internalVar.d.ts +19 -0
- package/dist/compiler/internalVar.js +56 -0
- package/dist/compiler/io/CompilerIoApi.d.ts +36 -0
- package/dist/compiler/io/CompilerIoApi.js +62 -0
- package/dist/compiler/io/IOutputStream.d.ts +28 -0
- package/dist/compiler/io/IOutputStream.js +45 -0
- package/dist/compiler/io/index.d.ts +2 -0
- package/dist/compiler/io/index.js +2 -0
- package/dist/compiler/path/getAbsolutePath.d.ts +12 -0
- package/dist/compiler/path/getAbsolutePath.js +114 -0
- package/dist/compiler/path/path.d.ts +5 -0
- package/dist/compiler/path/path.js +160 -0
- package/dist/compiler/tir/expressions/ITirExpr.d.ts +11 -0
- package/dist/compiler/tir/expressions/ITirExpr.js +1 -0
- package/dist/compiler/tir/expressions/TirAssertAndContinueExpr.d.ts +19 -0
- package/dist/compiler/tir/expressions/TirAssertAndContinueExpr.js +41 -0
- package/dist/compiler/tir/expressions/TirCallExpr.d.ts +17 -0
- package/dist/compiler/tir/expressions/TirCallExpr.js +28 -0
- package/dist/compiler/tir/expressions/TirCaseExpr.d.ts +36 -0
- package/dist/compiler/tir/expressions/TirCaseExpr.js +257 -0
- package/dist/compiler/tir/expressions/TirElemAccessExpr.d.ts +20 -0
- package/dist/compiler/tir/expressions/TirElemAccessExpr.js +43 -0
- package/dist/compiler/tir/expressions/TirExpr.d.ts +23 -0
- package/dist/compiler/tir/expressions/TirExpr.js +46 -0
- package/dist/compiler/tir/expressions/TirFailExpr.d.ts +19 -0
- package/dist/compiler/tir/expressions/TirFailExpr.js +28 -0
- package/dist/compiler/tir/expressions/TirFromDataExpr.d.ts +22 -0
- package/dist/compiler/tir/expressions/TirFromDataExpr.js +196 -0
- package/dist/compiler/tir/expressions/TirFuncExpr.d.ts +37 -0
- package/dist/compiler/tir/expressions/TirFuncExpr.js +92 -0
- package/dist/compiler/tir/expressions/TirHoistedExpr.d.ts +18 -0
- package/dist/compiler/tir/expressions/TirHoistedExpr.js +28 -0
- package/dist/compiler/tir/expressions/TirInlineClosedIR.d.ts +16 -0
- package/dist/compiler/tir/expressions/TirInlineClosedIR.js +25 -0
- package/dist/compiler/tir/expressions/TirLettedExpr.d.ts +18 -0
- package/dist/compiler/tir/expressions/TirLettedExpr.js +28 -0
- package/dist/compiler/tir/expressions/TirNativeFunc.d.ts +104 -0
- package/dist/compiler/tir/expressions/TirNativeFunc.js +805 -0
- package/dist/compiler/tir/expressions/TirParentesizedExpr.d.ts +17 -0
- package/dist/compiler/tir/expressions/TirParentesizedExpr.js +20 -0
- package/dist/compiler/tir/expressions/TirPropAccessExpr.d.ts +18 -0
- package/dist/compiler/tir/expressions/TirPropAccessExpr.js +29 -0
- package/dist/compiler/tir/expressions/TirTernaryExpr.d.ts +18 -0
- package/dist/compiler/tir/expressions/TirTernaryExpr.js +36 -0
- package/dist/compiler/tir/expressions/TirToDataExpr.d.ts +28 -0
- package/dist/compiler/tir/expressions/TirToDataExpr.js +172 -0
- package/dist/compiler/tir/expressions/TirTraceIfFalseExpr.d.ts +23 -0
- package/dist/compiler/tir/expressions/TirTraceIfFalseExpr.js +32 -0
- package/dist/compiler/tir/expressions/TirTypeConversionExpr.d.ts +16 -0
- package/dist/compiler/tir/expressions/TirTypeConversionExpr.js +66 -0
- package/dist/compiler/tir/expressions/TirVariableAccessExpr.d.ts +18 -0
- package/dist/compiler/tir/expressions/TirVariableAccessExpr.js +30 -0
- package/dist/compiler/tir/expressions/ToIRTermCtx.d.ts +29 -0
- package/dist/compiler/tir/expressions/ToIRTermCtx.js +77 -0
- package/dist/compiler/tir/expressions/binary/TirBinaryExpr.d.ts +221 -0
- package/dist/compiler/tir/expressions/binary/TirBinaryExpr.js +532 -0
- package/dist/compiler/tir/expressions/litteral/TirLitArrExpr.d.ts +16 -0
- package/dist/compiler/tir/expressions/litteral/TirLitArrExpr.js +60 -0
- package/dist/compiler/tir/expressions/litteral/TirLitFalseExpr.d.ts +14 -0
- package/dist/compiler/tir/expressions/litteral/TirLitFalseExpr.js +17 -0
- package/dist/compiler/tir/expressions/litteral/TirLitHexBytesExpr.d.ts +15 -0
- package/dist/compiler/tir/expressions/litteral/TirLitHexBytesExpr.js +19 -0
- package/dist/compiler/tir/expressions/litteral/TirLitIntExpr.d.ts +15 -0
- package/dist/compiler/tir/expressions/litteral/TirLitIntExpr.js +19 -0
- package/dist/compiler/tir/expressions/litteral/TirLitNamedObjExpr.d.ts +22 -0
- package/dist/compiler/tir/expressions/litteral/TirLitNamedObjExpr.js +105 -0
- package/dist/compiler/tir/expressions/litteral/TirLitObjExpr.d.ts +22 -0
- package/dist/compiler/tir/expressions/litteral/TirLitObjExpr.js +102 -0
- package/dist/compiler/tir/expressions/litteral/TirLitStrExpr.d.ts +15 -0
- package/dist/compiler/tir/expressions/litteral/TirLitStrExpr.js +20 -0
- package/dist/compiler/tir/expressions/litteral/TirLitThisExpr.d.ts +14 -0
- package/dist/compiler/tir/expressions/litteral/TirLitThisExpr.js +20 -0
- package/dist/compiler/tir/expressions/litteral/TirLitTrueExpr.d.ts +14 -0
- package/dist/compiler/tir/expressions/litteral/TirLitTrueExpr.js +17 -0
- package/dist/compiler/tir/expressions/litteral/TirLitUndefExpr.d.ts +18 -0
- package/dist/compiler/tir/expressions/litteral/TirLitUndefExpr.js +23 -0
- package/dist/compiler/tir/expressions/litteral/TirLitVoidExpr.d.ts +14 -0
- package/dist/compiler/tir/expressions/litteral/TirLitVoidExpr.js +17 -0
- package/dist/compiler/tir/expressions/litteral/TirLitteralExpr.d.ts +13 -0
- package/dist/compiler/tir/expressions/litteral/TirLitteralExpr.js +24 -0
- package/dist/compiler/tir/expressions/unary/ITirUnaryExpression.d.ts +4 -0
- package/dist/compiler/tir/expressions/unary/ITirUnaryExpression.js +1 -0
- package/dist/compiler/tir/expressions/unary/TirUnaryExclamation.d.ts +17 -0
- package/dist/compiler/tir/expressions/unary/TirUnaryExclamation.js +23 -0
- package/dist/compiler/tir/expressions/unary/TirUnaryMinus.d.ts +17 -0
- package/dist/compiler/tir/expressions/unary/TirUnaryMinus.js +22 -0
- package/dist/compiler/tir/expressions/unary/TirUnaryPlus.d.ts +15 -0
- package/dist/compiler/tir/expressions/unary/TirUnaryPlus.js +20 -0
- package/dist/compiler/tir/expressions/unary/TirUnaryPrefixExpr.d.ts +6 -0
- package/dist/compiler/tir/expressions/unary/TirUnaryPrefixExpr.js +10 -0
- package/dist/compiler/tir/expressions/unary/TirUnaryTilde.d.ts +17 -0
- package/dist/compiler/tir/expressions/unary/TirUnaryTilde.js +22 -0
- package/dist/compiler/tir/expressions/utils/NamedExpr.d.ts +5 -0
- package/dist/compiler/tir/expressions/utils/NamedExpr.js +1 -0
- package/dist/compiler/tir/program/TypedProgram.d.ts +44 -0
- package/dist/compiler/tir/program/TypedProgram.js +126 -0
- package/dist/compiler/tir/program/stdScope/StdTypes.d.ts +34 -0
- package/dist/compiler/tir/program/stdScope/StdTypes.js +40 -0
- package/dist/compiler/tir/program/stdScope/prelude/preludeTypesSrc.d.ts +0 -0
- package/dist/compiler/tir/program/stdScope/prelude/preludeTypesSrc.js +288 -0
- package/dist/compiler/tir/program/stdScope/stdScope.d.ts +15 -0
- package/dist/compiler/tir/program/stdScope/stdScope.js +730 -0
- package/dist/compiler/tir/statements/TirAssertStmt.d.ts +18 -0
- package/dist/compiler/tir/statements/TirAssertStmt.js +29 -0
- package/dist/compiler/tir/statements/TirAssignmentStmt.d.ts +12 -0
- package/dist/compiler/tir/statements/TirAssignmentStmt.js +14 -0
- package/dist/compiler/tir/statements/TirBlockStmt.d.ts +9 -0
- package/dist/compiler/tir/statements/TirBlockStmt.js +25 -0
- package/dist/compiler/tir/statements/TirBreakStmt.d.ts +8 -0
- package/dist/compiler/tir/statements/TirBreakStmt.js +11 -0
- package/dist/compiler/tir/statements/TirContinueStmt.d.ts +8 -0
- package/dist/compiler/tir/statements/TirContinueStmt.js +13 -0
- package/dist/compiler/tir/statements/TirFailStmt.d.ts +13 -0
- package/dist/compiler/tir/statements/TirFailStmt.js +14 -0
- package/dist/compiler/tir/statements/TirForOfStmt.d.ts +16 -0
- package/dist/compiler/tir/statements/TirForOfStmt.js +25 -0
- package/dist/compiler/tir/statements/TirForStmt.d.ts +19 -0
- package/dist/compiler/tir/statements/TirForStmt.js +39 -0
- package/dist/compiler/tir/statements/TirIfStmt.d.ts +12 -0
- package/dist/compiler/tir/statements/TirIfStmt.js +23 -0
- package/dist/compiler/tir/statements/TirMatchStmt.d.ts +27 -0
- package/dist/compiler/tir/statements/TirMatchStmt.js +51 -0
- package/dist/compiler/tir/statements/TirReturnStmt.d.ts +10 -0
- package/dist/compiler/tir/statements/TirReturnStmt.js +12 -0
- package/dist/compiler/tir/statements/TirStmt.d.ts +32 -0
- package/dist/compiler/tir/statements/TirStmt.js +40 -0
- package/dist/compiler/tir/statements/TirVarDecl/TirArrayLikeDeconstr.d.ts +17 -0
- package/dist/compiler/tir/statements/TirVarDecl/TirArrayLikeDeconstr.js +30 -0
- package/dist/compiler/tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.d.ts +21 -0
- package/dist/compiler/tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.js +34 -0
- package/dist/compiler/tir/statements/TirVarDecl/TirSimpleVarDecl.d.ts +17 -0
- package/dist/compiler/tir/statements/TirVarDecl/TirSimpleVarDecl.js +22 -0
- package/dist/compiler/tir/statements/TirVarDecl/TirSingleDeconstructVarDecl.d.ts +17 -0
- package/dist/compiler/tir/statements/TirVarDecl/TirSingleDeconstructVarDecl.js +30 -0
- package/dist/compiler/tir/statements/TirVarDecl/TirVarDecl.d.ts +10 -0
- package/dist/compiler/tir/statements/TirVarDecl/TirVarDecl.js +11 -0
- package/dist/compiler/tir/statements/TirWhileStmt.d.ts +11 -0
- package/dist/compiler/tir/statements/TirWhileStmt.js +19 -0
- package/dist/compiler/tir/statements/utils/definitelyFails.d.ts +3 -0
- package/dist/compiler/tir/statements/utils/definitelyFails.js +52 -0
- package/dist/compiler/tir/types/TirAliasType.d.ts +32 -0
- package/dist/compiler/tir/types/TirAliasType.js +49 -0
- package/dist/compiler/tir/types/TirInterfaceImpl.d.ts +44 -0
- package/dist/compiler/tir/types/TirInterfaceImpl.js +32 -0
- package/dist/compiler/tir/types/TirInterfaceType.d.ts +28 -0
- package/dist/compiler/tir/types/TirInterfaceType.js +36 -0
- package/dist/compiler/tir/types/TirNativeType/TirNativeType.d.ts +41 -0
- package/dist/compiler/tir/types/TirNativeType/TirNativeType.js +86 -0
- package/dist/compiler/tir/types/TirNativeType/index.d.ts +2 -0
- package/dist/compiler/tir/types/TirNativeType/index.js +2 -0
- package/dist/compiler/tir/types/TirNativeType/native/Optional/data.d.ts +17 -0
- package/dist/compiler/tir/types/TirNativeType/native/Optional/data.js +47 -0
- package/dist/compiler/tir/types/TirNativeType/native/Optional/index.d.ts +3 -0
- package/dist/compiler/tir/types/TirNativeType/native/Optional/index.js +3 -0
- package/dist/compiler/tir/types/TirNativeType/native/Optional/isTirOptType.d.ts +4 -0
- package/dist/compiler/tir/types/TirNativeType/native/Optional/isTirOptType.js +6 -0
- package/dist/compiler/tir/types/TirNativeType/native/Optional/sop.d.ts +17 -0
- package/dist/compiler/tir/types/TirNativeType/native/Optional/sop.js +48 -0
- package/dist/compiler/tir/types/TirNativeType/native/bool.d.ts +13 -0
- package/dist/compiler/tir/types/TirNativeType/native/bool.js +12 -0
- package/dist/compiler/tir/types/TirNativeType/native/bytes.d.ts +13 -0
- package/dist/compiler/tir/types/TirNativeType/native/bytes.js +12 -0
- package/dist/compiler/tir/types/TirNativeType/native/data.d.ts +13 -0
- package/dist/compiler/tir/types/TirNativeType/native/data.js +12 -0
- package/dist/compiler/tir/types/TirNativeType/native/function.d.ts +16 -0
- package/dist/compiler/tir/types/TirNativeType/native/function.js +38 -0
- package/dist/compiler/tir/types/TirNativeType/native/index.d.ts +10 -0
- package/dist/compiler/tir/types/TirNativeType/native/index.js +10 -0
- package/dist/compiler/tir/types/TirNativeType/native/int.d.ts +13 -0
- package/dist/compiler/tir/types/TirNativeType/native/int.js +12 -0
- package/dist/compiler/tir/types/TirNativeType/native/linearMap.d.ts +17 -0
- package/dist/compiler/tir/types/TirNativeType/native/linearMap.js +44 -0
- package/dist/compiler/tir/types/TirNativeType/native/list.d.ts +16 -0
- package/dist/compiler/tir/types/TirNativeType/native/list.js +38 -0
- package/dist/compiler/tir/types/TirNativeType/native/string.d.ts +13 -0
- package/dist/compiler/tir/types/TirNativeType/native/string.js +12 -0
- package/dist/compiler/tir/types/TirNativeType/native/void.d.ts +13 -0
- package/dist/compiler/tir/types/TirNativeType/native/void.js +12 -0
- package/dist/compiler/tir/types/TirStructType.d.ts +68 -0
- package/dist/compiler/tir/types/TirStructType.js +128 -0
- package/dist/compiler/tir/types/TirType.d.ts +34 -0
- package/dist/compiler/tir/types/TirType.js +16 -0
- package/dist/compiler/tir/types/TirTypeParam.d.ts +18 -0
- package/dist/compiler/tir/types/TirTypeParam.js +39 -0
- package/dist/compiler/tir/types/utils/canAssignTo.d.ts +24 -0
- package/dist/compiler/tir/types/utils/canAssignTo.js +337 -0
- package/dist/compiler/tir/types/utils/canCastTo.d.ts +9 -0
- package/dist/compiler/tir/types/utils/canCastTo.js +155 -0
- package/dist/compiler/tir/types/utils/getDeconstructableType.d.ts +9 -0
- package/dist/compiler/tir/types/utils/getDeconstructableType.js +20 -0
- package/dist/compiler/tir/types/utils/getListTypeArg.d.ts +2 -0
- package/dist/compiler/tir/types/utils/getListTypeArg.js +9 -0
- package/dist/compiler/tir/types/utils/getOptTypeArg.d.ts +2 -0
- package/dist/compiler/tir/types/utils/getOptTypeArg.js +14 -0
- package/dist/compiler/tir/types/utils/getUnaliased.d.ts +3 -0
- package/dist/compiler/tir/types/utils/getUnaliased.js +9 -0
- package/dist/diagnostics/DiagnosticCategory.d.ts +16 -0
- package/dist/diagnostics/DiagnosticCategory.js +39 -0
- package/dist/diagnostics/DiagnosticEmitter.d.ts +32 -0
- package/dist/diagnostics/DiagnosticEmitter.js +95 -0
- package/dist/diagnostics/DiagnosticMessage.d.ts +37 -0
- package/dist/diagnostics/DiagnosticMessage.js +229 -0
- package/dist/diagnostics/diagnosticMessages.generated.d.ts +275 -0
- package/dist/diagnostics/diagnosticMessages.generated.js +551 -0
- package/dist/diagnostics/utils/types.d.ts +5 -0
- package/dist/diagnostics/utils/types.js +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +13 -0
- package/dist/parser/Parser.d.ts +150 -0
- package/dist/parser/Parser.js +2416 -0
- package/dist/parser/Precedence.d.ts +38 -0
- package/dist/parser/Precedence.js +98 -0
- package/dist/parser/hoistStatementsInplace.d.ts +14 -0
- package/dist/parser/hoistStatementsInplace.js +94 -0
- package/dist/parser/index.d.ts +1 -0
- package/dist/parser/index.js +1 -0
- package/dist/parser/parseFile.d.ts +3 -0
- package/dist/parser/parseFile.js +8 -0
- package/dist/tokenizer/IdentifierHandling.d.ts +5 -0
- package/dist/tokenizer/IdentifierHandling.js +6 -0
- package/dist/tokenizer/OnNewLine.d.ts +6 -0
- package/dist/tokenizer/OnNewLine.js +8 -0
- package/dist/tokenizer/Token.d.ts +160 -0
- package/dist/tokenizer/Token.js +213 -0
- package/dist/tokenizer/Tokenizer.d.ts +129 -0
- package/dist/tokenizer/Tokenizer.js +1323 -0
- package/dist/tokenizer/TokenizerState.d.ts +17 -0
- package/dist/tokenizer/TokenizerState.js +17 -0
- package/dist/tokenizer/index.d.ts +2 -0
- package/dist/tokenizer/index.js +2 -0
- package/dist/tokenizer/utils/isIllegalVariableIdentifier.d.ts +1 -0
- package/dist/tokenizer/utils/isIllegalVariableIdentifier.js +12 -0
- package/dist/tokenizer/utils/operatorTokenToString.d.ts +2 -0
- package/dist/tokenizer/utils/operatorTokenToString.js +57 -0
- package/dist/tokenizer/utils/tokenFromKeyword.d.ts +2 -0
- package/dist/tokenizer/utils/tokenFromKeyword.js +222 -0
- package/dist/tokenizer/utils/tokenIsAlsoIdentifier.d.ts +2 -0
- package/dist/tokenizer/utils/tokenIsAlsoIdentifier.js +24 -0
- package/dist/utils/BasePlutsError.d.ts +2 -0
- package/dist/utils/BasePlutsError.js +2 -0
- package/dist/utils/BitUtils/index.d.ts +30 -0
- package/dist/utils/BitUtils/index.js +60 -0
- package/dist/utils/CharCode.d.ts +125 -0
- package/dist/utils/CharCode.js +1 -0
- package/dist/utils/Cloneable.d.ts +6 -0
- package/dist/utils/Cloneable.js +4 -0
- package/dist/utils/InvalidCborFormatError.d.ts +3 -0
- package/dist/utils/InvalidCborFormatError.js +5 -0
- package/dist/utils/IsSingleKey.d.ts +7 -0
- package/dist/utils/IsSingleKey.js +1 -0
- package/dist/utils/MaybePromise.d.ts +2 -0
- package/dist/utils/MaybePromise.js +4 -0
- package/dist/utils/PlutusScriptType.d.ts +12 -0
- package/dist/utils/PlutusScriptType.js +1 -0
- package/dist/utils/ToJson.d.ts +4 -0
- package/dist/utils/ToJson.js +5 -0
- package/dist/utils/UPLCFlatUtils/index.d.ts +46 -0
- package/dist/utils/UPLCFlatUtils/index.js +124 -0
- package/dist/utils/array/filterSortedStrArrInplace.d.ts +7 -0
- package/dist/utils/array/filterSortedStrArrInplace.js +46 -0
- package/dist/utils/array/keepSortedArrInplace.d.ts +7 -0
- package/dist/utils/array/keepSortedArrInplace.js +49 -0
- package/dist/utils/array/mergeSortedStrArrInplace.d.ts +6 -0
- package/dist/utils/array/mergeSortedStrArrInplace.js +52 -0
- package/dist/utils/assert.d.ts +1 -0
- package/dist/utils/assert.js +5 -0
- package/dist/utils/capitalize.d.ts +1 -0
- package/dist/utils/capitalize.js +5 -0
- package/dist/utils/combinators.d.ts +37 -0
- package/dist/utils/combinators.js +76 -0
- package/dist/utils/getCallStackAt/index.d.ts +43 -0
- package/dist/utils/getCallStackAt/index.js +295 -0
- package/dist/utils/hex.d.ts +1 -0
- package/dist/utils/hex.js +6 -0
- package/dist/utils/ints.d.ts +4 -0
- package/dist/utils/ints.js +19 -0
- package/dist/utils/isNonEmpty.d.ts +1 -0
- package/dist/utils/isNonEmpty.js +3 -0
- package/dist/utils/maybeData.d.ts +4 -0
- package/dist/utils/maybeData.js +10 -0
- package/dist/utils/stringify.d.ts +2 -0
- package/dist/utils/stringify.js +31 -0
- package/dist/utils/terminal.d.ts +28 -0
- package/dist/utils/terminal.js +38 -0
- package/dist/utils/text.d.ts +172 -0
- package/dist/utils/text.js +672 -0
- package/dist/utils/types.d.ts +12 -0
- package/dist/utils/types.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { builtinTagToString } from "@harmoniclabs/uplc";
|
|
2
|
+
/**
|
|
3
|
+
* we use positive for natives which map to `UPLCBuiltin`
|
|
4
|
+
* possibly keeping the same number
|
|
5
|
+
*
|
|
6
|
+
* we use negatives for natives of the `std::fn` family
|
|
7
|
+
* since there is no negative `UPLCBuiltin` tag
|
|
8
|
+
*/
|
|
9
|
+
export var IRNativeTag;
|
|
10
|
+
(function (IRNativeTag) {
|
|
11
|
+
// integers monoidal operations
|
|
12
|
+
IRNativeTag[IRNativeTag["addInteger"] = 0] = "addInteger";
|
|
13
|
+
IRNativeTag[IRNativeTag["subtractInteger"] = 1] = "subtractInteger";
|
|
14
|
+
IRNativeTag[IRNativeTag["multiplyInteger"] = 2] = "multiplyInteger";
|
|
15
|
+
IRNativeTag[IRNativeTag["divideInteger"] = 3] = "divideInteger";
|
|
16
|
+
IRNativeTag[IRNativeTag["quotientInteger"] = 4] = "quotientInteger";
|
|
17
|
+
IRNativeTag[IRNativeTag["remainderInteger"] = 5] = "remainderInteger";
|
|
18
|
+
IRNativeTag[IRNativeTag["modInteger"] = 6] = "modInteger";
|
|
19
|
+
// integers comparison operaitons
|
|
20
|
+
IRNativeTag[IRNativeTag["equalsInteger"] = 7] = "equalsInteger";
|
|
21
|
+
IRNativeTag[IRNativeTag["lessThanInteger"] = 8] = "lessThanInteger";
|
|
22
|
+
IRNativeTag[IRNativeTag["lessThanEqualInteger"] = 9] = "lessThanEqualInteger";
|
|
23
|
+
// bytestring operations
|
|
24
|
+
IRNativeTag[IRNativeTag["appendByteString"] = 10] = "appendByteString";
|
|
25
|
+
IRNativeTag[IRNativeTag["consByteString"] = 11] = "consByteString";
|
|
26
|
+
IRNativeTag[IRNativeTag["sliceByteString"] = 12] = "sliceByteString";
|
|
27
|
+
IRNativeTag[IRNativeTag["lengthOfByteString"] = 13] = "lengthOfByteString";
|
|
28
|
+
IRNativeTag[IRNativeTag["indexByteString"] = 14] = "indexByteString";
|
|
29
|
+
// bytestring comparison operations
|
|
30
|
+
IRNativeTag[IRNativeTag["equalsByteString"] = 15] = "equalsByteString";
|
|
31
|
+
IRNativeTag[IRNativeTag["lessThanByteString"] = 16] = "lessThanByteString";
|
|
32
|
+
IRNativeTag[IRNativeTag["lessThanEqualsByteString"] = 17] = "lessThanEqualsByteString";
|
|
33
|
+
// hashes
|
|
34
|
+
IRNativeTag[IRNativeTag["sha2_256"] = 18] = "sha2_256";
|
|
35
|
+
IRNativeTag[IRNativeTag["sha3_256"] = 19] = "sha3_256";
|
|
36
|
+
IRNativeTag[IRNativeTag["blake2b_256"] = 20] = "blake2b_256";
|
|
37
|
+
IRNativeTag[IRNativeTag["verifyEd25519Signature"] = 21] = "verifyEd25519Signature";
|
|
38
|
+
// string operations
|
|
39
|
+
IRNativeTag[IRNativeTag["appendString"] = 22] = "appendString";
|
|
40
|
+
IRNativeTag[IRNativeTag["equalsString"] = 23] = "equalsString";
|
|
41
|
+
IRNativeTag[IRNativeTag["encodeUtf8"] = 24] = "encodeUtf8";
|
|
42
|
+
IRNativeTag[IRNativeTag["decodeUtf8"] = 25] = "decodeUtf8";
|
|
43
|
+
// control flow
|
|
44
|
+
IRNativeTag[IRNativeTag["strictIfThenElse"] = 26] = "strictIfThenElse";
|
|
45
|
+
IRNativeTag[IRNativeTag["chooseUnit"] = 27] = "chooseUnit";
|
|
46
|
+
// tracing
|
|
47
|
+
IRNativeTag[IRNativeTag["trace"] = 28] = "trace";
|
|
48
|
+
// data
|
|
49
|
+
IRNativeTag[IRNativeTag["fstPair"] = 29] = "fstPair";
|
|
50
|
+
IRNativeTag[IRNativeTag["sndPair"] = 30] = "sndPair";
|
|
51
|
+
IRNativeTag[IRNativeTag["strictChooseList"] = 31] = "strictChooseList";
|
|
52
|
+
IRNativeTag[IRNativeTag["mkCons"] = 32] = "mkCons";
|
|
53
|
+
IRNativeTag[IRNativeTag["headList"] = 33] = "headList";
|
|
54
|
+
IRNativeTag[IRNativeTag["tailList"] = 34] = "tailList";
|
|
55
|
+
IRNativeTag[IRNativeTag["nullList"] = 35] = "nullList";
|
|
56
|
+
IRNativeTag[IRNativeTag["chooseData"] = 36] = "chooseData";
|
|
57
|
+
IRNativeTag[IRNativeTag["constrData"] = 37] = "constrData";
|
|
58
|
+
IRNativeTag[IRNativeTag["mapData"] = 38] = "mapData";
|
|
59
|
+
IRNativeTag[IRNativeTag["listData"] = 39] = "listData";
|
|
60
|
+
IRNativeTag[IRNativeTag["iData"] = 40] = "iData";
|
|
61
|
+
IRNativeTag[IRNativeTag["bData"] = 41] = "bData";
|
|
62
|
+
IRNativeTag[IRNativeTag["unConstrData"] = 42] = "unConstrData";
|
|
63
|
+
IRNativeTag[IRNativeTag["unMapData"] = 43] = "unMapData";
|
|
64
|
+
IRNativeTag[IRNativeTag["unListData"] = 44] = "unListData";
|
|
65
|
+
IRNativeTag[IRNativeTag["unIData"] = 45] = "unIData";
|
|
66
|
+
IRNativeTag[IRNativeTag["unBData"] = 46] = "unBData";
|
|
67
|
+
IRNativeTag[IRNativeTag["equalsData"] = 47] = "equalsData";
|
|
68
|
+
IRNativeTag[IRNativeTag["mkPairData"] = 48] = "mkPairData";
|
|
69
|
+
IRNativeTag[IRNativeTag["mkNilData"] = 49] = "mkNilData";
|
|
70
|
+
IRNativeTag[IRNativeTag["mkNilPairData"] = 50] = "mkNilPairData";
|
|
71
|
+
// Vasil (Plutus V2)
|
|
72
|
+
IRNativeTag[IRNativeTag["serialiseData"] = 51] = "serialiseData";
|
|
73
|
+
IRNativeTag[IRNativeTag["verifyEcdsaSecp256k1Signature"] = 52] = "verifyEcdsaSecp256k1Signature";
|
|
74
|
+
IRNativeTag[IRNativeTag["verifySchnorrSecp256k1Signature"] = 53] = "verifySchnorrSecp256k1Signature";
|
|
75
|
+
// Plutus V3
|
|
76
|
+
IRNativeTag[IRNativeTag["bls12_381_G1_add"] = 54] = "bls12_381_G1_add";
|
|
77
|
+
IRNativeTag[IRNativeTag["bls12_381_G1_neg"] = 55] = "bls12_381_G1_neg";
|
|
78
|
+
IRNativeTag[IRNativeTag["bls12_381_G1_scalarMul"] = 56] = "bls12_381_G1_scalarMul";
|
|
79
|
+
IRNativeTag[IRNativeTag["bls12_381_G1_equal"] = 57] = "bls12_381_G1_equal";
|
|
80
|
+
IRNativeTag[IRNativeTag["bls12_381_G1_hashToGroup"] = 58] = "bls12_381_G1_hashToGroup";
|
|
81
|
+
IRNativeTag[IRNativeTag["bls12_381_G1_compress"] = 59] = "bls12_381_G1_compress";
|
|
82
|
+
IRNativeTag[IRNativeTag["bls12_381_G1_uncompress"] = 60] = "bls12_381_G1_uncompress";
|
|
83
|
+
IRNativeTag[IRNativeTag["bls12_381_G2_add"] = 61] = "bls12_381_G2_add";
|
|
84
|
+
IRNativeTag[IRNativeTag["bls12_381_G2_neg"] = 62] = "bls12_381_G2_neg";
|
|
85
|
+
IRNativeTag[IRNativeTag["bls12_381_G2_scalarMul"] = 63] = "bls12_381_G2_scalarMul";
|
|
86
|
+
IRNativeTag[IRNativeTag["bls12_381_G2_equal"] = 64] = "bls12_381_G2_equal";
|
|
87
|
+
IRNativeTag[IRNativeTag["bls12_381_G2_hashToGroup"] = 65] = "bls12_381_G2_hashToGroup";
|
|
88
|
+
IRNativeTag[IRNativeTag["bls12_381_G2_compress"] = 66] = "bls12_381_G2_compress";
|
|
89
|
+
IRNativeTag[IRNativeTag["bls12_381_G2_uncompress"] = 67] = "bls12_381_G2_uncompress";
|
|
90
|
+
IRNativeTag[IRNativeTag["bls12_381_millerLoop"] = 68] = "bls12_381_millerLoop";
|
|
91
|
+
IRNativeTag[IRNativeTag["bls12_381_mulMlResult"] = 69] = "bls12_381_mulMlResult";
|
|
92
|
+
IRNativeTag[IRNativeTag["bls12_381_finalVerify"] = 70] = "bls12_381_finalVerify";
|
|
93
|
+
IRNativeTag[IRNativeTag["keccak_256"] = 71] = "keccak_256";
|
|
94
|
+
IRNativeTag[IRNativeTag["blake2b_224"] = 72] = "blake2b_224";
|
|
95
|
+
// bitwise
|
|
96
|
+
IRNativeTag[IRNativeTag["integerToByteString"] = 73] = "integerToByteString";
|
|
97
|
+
IRNativeTag[IRNativeTag["byteStringToInteger"] = 74] = "byteStringToInteger";
|
|
98
|
+
// plomin (batch 5)
|
|
99
|
+
IRNativeTag[IRNativeTag["andByteString"] = 75] = "andByteString";
|
|
100
|
+
IRNativeTag[IRNativeTag["orByteString"] = 76] = "orByteString";
|
|
101
|
+
IRNativeTag[IRNativeTag["xorByteString"] = 77] = "xorByteString";
|
|
102
|
+
IRNativeTag[IRNativeTag["complementByteString"] = 78] = "complementByteString";
|
|
103
|
+
IRNativeTag[IRNativeTag["readBit"] = 79] = "readBit";
|
|
104
|
+
IRNativeTag[IRNativeTag["writeBits"] = 80] = "writeBits";
|
|
105
|
+
IRNativeTag[IRNativeTag["replicateByte"] = 81] = "replicateByte";
|
|
106
|
+
IRNativeTag[IRNativeTag["shiftByteString"] = 82] = "shiftByteString";
|
|
107
|
+
IRNativeTag[IRNativeTag["rotateByteString"] = 83] = "rotateByteString";
|
|
108
|
+
IRNativeTag[IRNativeTag["countSetBits"] = 84] = "countSetBits";
|
|
109
|
+
IRNativeTag[IRNativeTag["findFirstSetBit"] = 85] = "findFirstSetBit";
|
|
110
|
+
IRNativeTag[IRNativeTag["ripemd_160"] = 86] = "ripemd_160";
|
|
111
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
112
|
+
// -------------------------------------------------------------------------- //
|
|
113
|
+
// -------------------------- here starts the fun -------------------------- //
|
|
114
|
+
// -------------------------------------------------------------------------- //
|
|
115
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
116
|
+
IRNativeTag[IRNativeTag["_dropList"] = -4] = "_dropList";
|
|
117
|
+
IRNativeTag[IRNativeTag["_foldr"] = -6] = "_foldr";
|
|
118
|
+
IRNativeTag[IRNativeTag["_foldl"] = -7] = "_foldl";
|
|
119
|
+
IRNativeTag[IRNativeTag["_mkFindDataOptional"] = -8] = "_mkFindDataOptional";
|
|
120
|
+
IRNativeTag[IRNativeTag["_length"] = -9] = "_length";
|
|
121
|
+
IRNativeTag[IRNativeTag["_some"] = -10] = "_some";
|
|
122
|
+
IRNativeTag[IRNativeTag["_every"] = -11] = "_every";
|
|
123
|
+
IRNativeTag[IRNativeTag["_mkFilter"] = -12] = "_mkFilter";
|
|
124
|
+
// _fstPair = -13,
|
|
125
|
+
// _sndPair = -14,
|
|
126
|
+
IRNativeTag[IRNativeTag["_id"] = -15] = "_id";
|
|
127
|
+
IRNativeTag[IRNativeTag["_not"] = -16] = "_not";
|
|
128
|
+
IRNativeTag[IRNativeTag["_strictAnd"] = -17] = "_strictAnd";
|
|
129
|
+
IRNativeTag[IRNativeTag["_and"] = -18] = "_and";
|
|
130
|
+
IRNativeTag[IRNativeTag["_strictOr"] = -19] = "_strictOr";
|
|
131
|
+
IRNativeTag[IRNativeTag["_or"] = -20] = "_or";
|
|
132
|
+
IRNativeTag[IRNativeTag["_gtBS"] = -21] = "_gtBS";
|
|
133
|
+
IRNativeTag[IRNativeTag["_gtEqBS"] = -22] = "_gtEqBS";
|
|
134
|
+
IRNativeTag[IRNativeTag["_gtInt"] = -23] = "_gtInt";
|
|
135
|
+
IRNativeTag[IRNativeTag["_gtEqInt"] = -24] = "_gtEqInt";
|
|
136
|
+
IRNativeTag[IRNativeTag["_strToData"] = -25] = "_strToData";
|
|
137
|
+
IRNativeTag[IRNativeTag["_pairDataToData"] = -26] = "_pairDataToData";
|
|
138
|
+
IRNativeTag[IRNativeTag["_strFromData"] = -27] = "_strFromData";
|
|
139
|
+
IRNativeTag[IRNativeTag["_pairDataFromData"] = -28] = "_pairDataFromData";
|
|
140
|
+
IRNativeTag[IRNativeTag["_mkEqualsList"] = -31] = "_mkEqualsList";
|
|
141
|
+
IRNativeTag[IRNativeTag["_equalPairData"] = -32] = "_equalPairData";
|
|
142
|
+
/**
|
|
143
|
+
* function eqBool( a: boolean, b: boolean ): boolean
|
|
144
|
+
* {
|
|
145
|
+
* return a ? ( b ? true : false ) : ( b ? false : true );
|
|
146
|
+
* }
|
|
147
|
+
**/
|
|
148
|
+
IRNativeTag[IRNativeTag["_equalBoolean"] = -33] = "_equalBoolean";
|
|
149
|
+
IRNativeTag[IRNativeTag["_negateInt"] = -34] = "_negateInt";
|
|
150
|
+
IRNativeTag[IRNativeTag["_mkMapList"] = -35] = "_mkMapList";
|
|
151
|
+
IRNativeTag[IRNativeTag["_bytesToIntBE"] = -36] = "_bytesToIntBE";
|
|
152
|
+
IRNativeTag[IRNativeTag["_boolToInt"] = -37] = "_boolToInt";
|
|
153
|
+
IRNativeTag[IRNativeTag["_intToBytesBE"] = -38] = "_intToBytesBE";
|
|
154
|
+
IRNativeTag[IRNativeTag["_intToBool"] = -39] = "_intToBool";
|
|
155
|
+
IRNativeTag[IRNativeTag["_exponentiateInteger"] = -40] = "_exponentiateInteger";
|
|
156
|
+
IRNativeTag[IRNativeTag["_amountOfValue"] = -41] = "_amountOfValue";
|
|
157
|
+
IRNativeTag[IRNativeTag["_isZero"] = -42] = "_isZero";
|
|
158
|
+
IRNativeTag[IRNativeTag["_sortedValueLovelaces"] = -43] = "_sortedValueLovelaces";
|
|
159
|
+
})(IRNativeTag || (IRNativeTag = {}));
|
|
160
|
+
Object.freeze(IRNativeTag);
|
|
161
|
+
export function nativeTagToString(nativeTag) {
|
|
162
|
+
if (nativeTag >= 0)
|
|
163
|
+
return builtinTagToString(nativeTag);
|
|
164
|
+
switch (nativeTag) {
|
|
165
|
+
case IRNativeTag._dropList: return "dropList";
|
|
166
|
+
case IRNativeTag._foldr: return "foldr";
|
|
167
|
+
case IRNativeTag._foldl: return "foldl";
|
|
168
|
+
case IRNativeTag._mkFindDataOptional: return "mkFind";
|
|
169
|
+
case IRNativeTag._length: return "length";
|
|
170
|
+
case IRNativeTag._some: return "some";
|
|
171
|
+
case IRNativeTag._every: return "every";
|
|
172
|
+
case IRNativeTag._mkFilter: return "mkFilter";
|
|
173
|
+
// case IRNativeTag._fstPair : return "fstPair";
|
|
174
|
+
// case IRNativeTag._sndPair : return "sndPair";
|
|
175
|
+
case IRNativeTag._id: return "id";
|
|
176
|
+
case IRNativeTag._not: return "not";
|
|
177
|
+
case IRNativeTag._strictAnd: return "strictAnd";
|
|
178
|
+
case IRNativeTag._and: return "and";
|
|
179
|
+
case IRNativeTag._strictOr: return "strictOr";
|
|
180
|
+
case IRNativeTag._or: return "or";
|
|
181
|
+
case IRNativeTag._gtBS: return "gtBS";
|
|
182
|
+
case IRNativeTag._gtEqBS: return "gtEqBS";
|
|
183
|
+
case IRNativeTag._gtInt: return "gtInt";
|
|
184
|
+
case IRNativeTag._gtEqInt: return "gtEqInt";
|
|
185
|
+
case IRNativeTag._strToData: return "strToData";
|
|
186
|
+
case IRNativeTag._pairDataToData: return "pairToData";
|
|
187
|
+
case IRNativeTag._strFromData: return "strFromData";
|
|
188
|
+
case IRNativeTag._pairDataFromData: return "pairFromData";
|
|
189
|
+
case IRNativeTag._mkEqualsList: return "mkEqualsList";
|
|
190
|
+
case IRNativeTag._equalPairData: return "equalPairData";
|
|
191
|
+
case IRNativeTag._equalBoolean: return "equalBoolean";
|
|
192
|
+
case IRNativeTag._negateInt: return "negateInt";
|
|
193
|
+
case IRNativeTag._mkMapList: return "mapList";
|
|
194
|
+
case IRNativeTag._bytesToIntBE: return "bytesToIntBE";
|
|
195
|
+
case IRNativeTag._boolToInt: return "boolToInt";
|
|
196
|
+
case IRNativeTag._intToBytesBE: return "intToBytesBE";
|
|
197
|
+
case IRNativeTag._intToBool: return "intToBool";
|
|
198
|
+
case IRNativeTag._exponentiateInteger: return "exponentiateInteger";
|
|
199
|
+
case IRNativeTag._amountOfValue: return "amountOfValue";
|
|
200
|
+
case IRNativeTag._isZero: return "isZero";
|
|
201
|
+
case IRNativeTag._sortedValueLovelaces: return "sortedValueLovelaces";
|
|
202
|
+
default: return "";
|
|
203
|
+
}
|
|
204
|
+
}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { Cloneable } from "@harmoniclabs/cbor/dist/utils/Cloneable";
|
|
2
|
+
import { IHash } from "../../interfaces/IHash.js";
|
|
3
|
+
import { IIRParent } from "../../interfaces/IIRParent.js";
|
|
4
|
+
import { IRNativeTag } from "./IRNativeTag.js";
|
|
5
|
+
import { IRParentTerm } from "../../utils/isIRParentTerm.js";
|
|
6
|
+
import { BaseIRMetadata } from "../BaseIRMetadata.js";
|
|
7
|
+
import { ToJson } from "../../../utils/ToJson.js";
|
|
8
|
+
import { IRHash } from "../../IRHash.js";
|
|
9
|
+
import { IRNodeKind } from "../../IRNodeKind.js";
|
|
10
|
+
import { TirType } from "../../../compiler/tir/types/TirType.js";
|
|
11
|
+
import { IRHoisted } from "../index.js";
|
|
12
|
+
import { IRTerm } from "../../IRTerm.js";
|
|
13
|
+
export interface IRNativeMetadata extends BaseIRMetadata {
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* `IRNative` ⊇ (`Builtins` + `std::fn`)
|
|
17
|
+
**/
|
|
18
|
+
export declare class IRNative implements Cloneable<IRNative>, IHash, IIRParent, ToJson {
|
|
19
|
+
readonly tag: IRNativeTag;
|
|
20
|
+
static get kind(): IRNodeKind.Native;
|
|
21
|
+
get kind(): IRNodeKind.Native;
|
|
22
|
+
static get tag(): Uint8Array;
|
|
23
|
+
constructor(tag: IRNativeTag);
|
|
24
|
+
get hash(): IRHash;
|
|
25
|
+
markHashAsInvalid(): void;
|
|
26
|
+
isHashPresent(): true;
|
|
27
|
+
private _meta;
|
|
28
|
+
get meta(): IRNativeMetadata;
|
|
29
|
+
private _parent;
|
|
30
|
+
get parent(): IRParentTerm | undefined;
|
|
31
|
+
set parent(newParent: IRParentTerm | undefined);
|
|
32
|
+
clone(): IRNative;
|
|
33
|
+
toJSON(): {
|
|
34
|
+
type: string;
|
|
35
|
+
native: string;
|
|
36
|
+
};
|
|
37
|
+
toJson(): {
|
|
38
|
+
type: string;
|
|
39
|
+
native: string;
|
|
40
|
+
};
|
|
41
|
+
static get addInteger(): IRNative;
|
|
42
|
+
static get subtractInteger(): IRNative;
|
|
43
|
+
static get multiplyInteger(): IRNative;
|
|
44
|
+
static get divideInteger(): IRNative;
|
|
45
|
+
static get quotientInteger(): IRNative;
|
|
46
|
+
static get remainderInteger(): IRNative;
|
|
47
|
+
static get modInteger(): IRNative;
|
|
48
|
+
static get equalsInteger(): IRNative;
|
|
49
|
+
static get lessThanInteger(): IRNative;
|
|
50
|
+
static get lessThanEqualInteger(): IRNative;
|
|
51
|
+
static get appendByteString(): IRNative;
|
|
52
|
+
static get consByteString(): IRNative;
|
|
53
|
+
static get sliceByteString(): IRNative;
|
|
54
|
+
static get lengthOfByteString(): IRNative;
|
|
55
|
+
static get indexByteString(): IRNative;
|
|
56
|
+
static get equalsByteString(): IRNative;
|
|
57
|
+
static get lessThanByteString(): IRNative;
|
|
58
|
+
static get lessThanEqualsByteString(): IRNative;
|
|
59
|
+
static get sha2_256(): IRNative;
|
|
60
|
+
static get sha3_256(): IRNative;
|
|
61
|
+
static get blake2b_256(): IRNative;
|
|
62
|
+
static get verifyEd25519Signature(): IRNative;
|
|
63
|
+
static get appendString(): IRNative;
|
|
64
|
+
static get equalsString(): IRNative;
|
|
65
|
+
static get encodeUtf8(): IRNative;
|
|
66
|
+
static get decodeUtf8(): IRNative;
|
|
67
|
+
static get strictIfThenElse(): IRNative;
|
|
68
|
+
static get chooseUnit(): IRNative;
|
|
69
|
+
static get trace(): IRNative;
|
|
70
|
+
static get fstPair(): IRNative;
|
|
71
|
+
static get sndPair(): IRNative;
|
|
72
|
+
static get strictChooseList(): IRNative;
|
|
73
|
+
static get mkCons(): IRNative;
|
|
74
|
+
static get headList(): IRNative;
|
|
75
|
+
static get tailList(): IRNative;
|
|
76
|
+
static get nullList(): IRNative;
|
|
77
|
+
static get chooseData(): IRNative;
|
|
78
|
+
static get constrData(): IRNative;
|
|
79
|
+
static get mapData(): IRNative;
|
|
80
|
+
static get listData(): IRNative;
|
|
81
|
+
static get iData(): IRNative;
|
|
82
|
+
static get bData(): IRNative;
|
|
83
|
+
static get unConstrData(): IRNative;
|
|
84
|
+
static get unMapData(): IRNative;
|
|
85
|
+
static get unListData(): IRNative;
|
|
86
|
+
static get unIData(): IRNative;
|
|
87
|
+
static get unBData(): IRNative;
|
|
88
|
+
static get equalsData(): IRNative;
|
|
89
|
+
static get mkPairData(): IRNative;
|
|
90
|
+
static get mkNilData(): IRNative;
|
|
91
|
+
static get mkNilPairData(): IRNative;
|
|
92
|
+
static get serialiseData(): IRNative;
|
|
93
|
+
static get verifyEcdsaSecp256k1Signature(): IRNative;
|
|
94
|
+
static get verifySchnorrSecp256k1Signature(): IRNative;
|
|
95
|
+
static get bls12_381_G1_add(): IRNative;
|
|
96
|
+
static get bls12_381_G1_neg(): IRNative;
|
|
97
|
+
static get bls12_381_G1_scalarMul(): IRNative;
|
|
98
|
+
static get bls12_381_G1_equal(): IRNative;
|
|
99
|
+
static get bls12_381_G1_hashToGroup(): IRNative;
|
|
100
|
+
static get bls12_381_G1_compress(): IRNative;
|
|
101
|
+
static get bls12_381_G1_uncompress(): IRNative;
|
|
102
|
+
static get bls12_381_G2_add(): IRNative;
|
|
103
|
+
static get bls12_381_G2_neg(): IRNative;
|
|
104
|
+
static get bls12_381_G2_scalarMul(): IRNative;
|
|
105
|
+
static get bls12_381_G2_equal(): IRNative;
|
|
106
|
+
static get bls12_381_G2_hashToGroup(): IRNative;
|
|
107
|
+
static get bls12_381_G2_compress(): IRNative;
|
|
108
|
+
static get bls12_381_G2_uncompress(): IRNative;
|
|
109
|
+
static get bls12_381_millerLoop(): IRNative;
|
|
110
|
+
static get bls12_381_mulMlResult(): IRNative;
|
|
111
|
+
static get bls12_381_finalVerify(): IRNative;
|
|
112
|
+
static get keccak_256(): IRNative;
|
|
113
|
+
static get blake2b_224(): IRNative;
|
|
114
|
+
static get integerToByteString(): IRNative;
|
|
115
|
+
static get byteStringToInteger(): IRNative;
|
|
116
|
+
static get andByteString(): IRNative;
|
|
117
|
+
static get orByteString(): IRNative;
|
|
118
|
+
static get xorByteString(): IRNative;
|
|
119
|
+
static get complementByteString(): IRNative;
|
|
120
|
+
static get readBit(): IRNative;
|
|
121
|
+
static get writeBits(): IRNative;
|
|
122
|
+
static get replicateByte(): IRNative;
|
|
123
|
+
static get shiftByteString(): IRNative;
|
|
124
|
+
static get rotateByteString(): IRNative;
|
|
125
|
+
static get countSetBits(): IRNative;
|
|
126
|
+
static get findFirstSetBit(): IRNative;
|
|
127
|
+
static get ripemd_160(): IRNative;
|
|
128
|
+
static get _dropList(): IRNative;
|
|
129
|
+
static get _foldr(): IRNative;
|
|
130
|
+
static get _foldl(): IRNative;
|
|
131
|
+
static get _mkFindDataOptional(): IRNative;
|
|
132
|
+
static get _length(): IRNative;
|
|
133
|
+
static get _some(): IRNative;
|
|
134
|
+
static get _every(): IRNative;
|
|
135
|
+
static get _mkFilter(): IRNative;
|
|
136
|
+
static get _id(): IRNative;
|
|
137
|
+
static get _not(): IRNative;
|
|
138
|
+
static get _strictAnd(): IRNative;
|
|
139
|
+
static get _and(): IRNative;
|
|
140
|
+
static get _strictOr(): IRNative;
|
|
141
|
+
static get _or(): IRNative;
|
|
142
|
+
static get _gtBS(): IRNative;
|
|
143
|
+
static get _gtEqBS(): IRNative;
|
|
144
|
+
static get _gtInt(): IRNative;
|
|
145
|
+
static get _gtEqInt(): IRNative;
|
|
146
|
+
static get _strToData(): IRNative;
|
|
147
|
+
static get _pairDataToData(): IRNative;
|
|
148
|
+
static get _strFromData(): IRNative;
|
|
149
|
+
static get _pairDataFromData(): IRNative;
|
|
150
|
+
static get _mkEqualsList(): IRNative;
|
|
151
|
+
static get _equalPairData(): IRNative;
|
|
152
|
+
static get _equalBoolean(): IRNative;
|
|
153
|
+
static get _negateInt(): IRNative;
|
|
154
|
+
static get _mkMapList(): IRNative;
|
|
155
|
+
static get _bytesToIntBE(): IRNative;
|
|
156
|
+
static get _boolToInt(): IRNative;
|
|
157
|
+
/** internally handles int size */
|
|
158
|
+
static get _intToBytesBE(): IRNative;
|
|
159
|
+
static get _intToBool(): IRNative;
|
|
160
|
+
static get _exponentiateInteger(): IRNative;
|
|
161
|
+
static get _amountOfValue(): IRNative;
|
|
162
|
+
static get _sortedValueLovelaces(): IRNative;
|
|
163
|
+
static equals(type: TirType): IRTerm;
|
|
164
|
+
static equalListOf(type: TirType): IRHoisted;
|
|
165
|
+
}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import { concatUint8Arr } from "../../utils/concatUint8Arr.js";
|
|
2
|
+
import { positiveBigIntAsBytes } from "../../utils/positiveIntAsBytes.js";
|
|
3
|
+
import { IRNativeTag, nativeTagToString } from "./IRNativeTag.js";
|
|
4
|
+
import UPLCFlatUtils from "../../../utils/UPLCFlatUtils/index.js";
|
|
5
|
+
import { isIRParentTerm } from "../../utils/isIRParentTerm.js";
|
|
6
|
+
import { hashIrData } from "../../IRHash.js";
|
|
7
|
+
import { isObject } from "@harmoniclabs/obj-utils";
|
|
8
|
+
import { IRNodeKind } from "../../IRNodeKind.js";
|
|
9
|
+
import { IRConst, IRFunc, IRHoisted, IRVar } from "../index.js";
|
|
10
|
+
import { _ir_apps } from "../../tree_utils/_ir_apps.js";
|
|
11
|
+
import { getUnaliased } from "../../../compiler/tir/types/utils/getUnaliased.js";
|
|
12
|
+
import { TirDataStructType } from "../../../compiler/tir/types/TirStructType.js";
|
|
13
|
+
import { TirAliasType } from "../../../compiler/tir/types/TirAliasType.js";
|
|
14
|
+
import { getListTypeArg } from "../../../compiler/tir/types/utils/getListTypeArg.js";
|
|
15
|
+
import { TirPairDataT, TirUnConstrDataResultT } from "../../../compiler/tir/types/TirNativeType/index.js";
|
|
16
|
+
import { TirBoolT } from "../../../compiler/tir/types/TirNativeType/native/bool.js";
|
|
17
|
+
import { TirBytesT } from "../../../compiler/tir/types/TirNativeType/native/bytes.js";
|
|
18
|
+
import { TirDataT } from "../../../compiler/tir/types/TirNativeType/native/data.js";
|
|
19
|
+
import { TirIntT } from "../../../compiler/tir/types/TirNativeType/native/int.js";
|
|
20
|
+
import { TirLinearMapT } from "../../../compiler/tir/types/TirNativeType/native/linearMap.js";
|
|
21
|
+
import { TirListT } from "../../../compiler/tir/types/TirNativeType/native/list.js";
|
|
22
|
+
import { TirDataOptT } from "../../../compiler/tir/types/TirNativeType/native/Optional/data.js";
|
|
23
|
+
import { TirStringT } from "../../../compiler/tir/types/TirNativeType/native/string.js";
|
|
24
|
+
import { TirVoidT } from "../../../compiler/tir/types/TirNativeType/native/void.js";
|
|
25
|
+
/**
|
|
26
|
+
* we might not need all the hashes
|
|
27
|
+
*
|
|
28
|
+
* but one we get one for a specific tag is not worth it re calculate it
|
|
29
|
+
*/
|
|
30
|
+
const nativeHashesCache = {};
|
|
31
|
+
/**
|
|
32
|
+
* `IRNative` ⊇ (`Builtins` + `std::fn`)
|
|
33
|
+
**/
|
|
34
|
+
export class IRNative {
|
|
35
|
+
tag;
|
|
36
|
+
static get kind() { return IRNodeKind.Native; }
|
|
37
|
+
get kind() { return IRNative.kind; }
|
|
38
|
+
static get tag() { return new Uint8Array([IRNative.kind]); }
|
|
39
|
+
constructor(tag) {
|
|
40
|
+
this.tag = tag;
|
|
41
|
+
}
|
|
42
|
+
get hash() {
|
|
43
|
+
if (nativeHashesCache[this.tag] === undefined) {
|
|
44
|
+
nativeHashesCache[this.tag] = hashIrData(concatUint8Arr(IRNative.tag, positiveBigIntAsBytes(UPLCFlatUtils.zigzagBigint(BigInt(this.tag)))));
|
|
45
|
+
}
|
|
46
|
+
return nativeHashesCache[this.tag];
|
|
47
|
+
}
|
|
48
|
+
markHashAsInvalid() { throw new Error("IRNative should never be invalid; 'markHashAsInvalid' called"); }
|
|
49
|
+
isHashPresent() { return true; }
|
|
50
|
+
_meta;
|
|
51
|
+
get meta() {
|
|
52
|
+
if (!isObject(this._meta))
|
|
53
|
+
this._meta = {};
|
|
54
|
+
return this._meta;
|
|
55
|
+
}
|
|
56
|
+
_parent = undefined;
|
|
57
|
+
get parent() {
|
|
58
|
+
return this._parent;
|
|
59
|
+
}
|
|
60
|
+
set parent(newParent) {
|
|
61
|
+
if (!( // assert
|
|
62
|
+
// new parent value is different than current
|
|
63
|
+
this._parent !== newParent && (
|
|
64
|
+
// and the new parent value is valid
|
|
65
|
+
newParent === undefined ||
|
|
66
|
+
isIRParentTerm(newParent))))
|
|
67
|
+
return;
|
|
68
|
+
this._parent = newParent;
|
|
69
|
+
}
|
|
70
|
+
clone() {
|
|
71
|
+
return new IRNative(this.tag);
|
|
72
|
+
}
|
|
73
|
+
toJSON() { return this.toJson(); }
|
|
74
|
+
toJson() {
|
|
75
|
+
return {
|
|
76
|
+
type: "IRNative",
|
|
77
|
+
native: nativeTagToString(this.tag)
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
static get addInteger() { return new IRNative(IRNativeTag.addInteger); }
|
|
81
|
+
static get subtractInteger() { return new IRNative(IRNativeTag.subtractInteger); }
|
|
82
|
+
static get multiplyInteger() { return new IRNative(IRNativeTag.multiplyInteger); }
|
|
83
|
+
static get divideInteger() { return new IRNative(IRNativeTag.divideInteger); }
|
|
84
|
+
static get quotientInteger() { return new IRNative(IRNativeTag.quotientInteger); }
|
|
85
|
+
static get remainderInteger() { return new IRNative(IRNativeTag.remainderInteger); }
|
|
86
|
+
static get modInteger() { return new IRNative(IRNativeTag.modInteger); }
|
|
87
|
+
static get equalsInteger() { return new IRNative(IRNativeTag.equalsInteger); }
|
|
88
|
+
static get lessThanInteger() { return new IRNative(IRNativeTag.lessThanInteger); }
|
|
89
|
+
static get lessThanEqualInteger() { return new IRNative(IRNativeTag.lessThanEqualInteger); }
|
|
90
|
+
static get appendByteString() { return new IRNative(IRNativeTag.appendByteString); }
|
|
91
|
+
static get consByteString() { return new IRNative(IRNativeTag.consByteString); }
|
|
92
|
+
static get sliceByteString() { return new IRNative(IRNativeTag.sliceByteString); }
|
|
93
|
+
static get lengthOfByteString() { return new IRNative(IRNativeTag.lengthOfByteString); }
|
|
94
|
+
static get indexByteString() { return new IRNative(IRNativeTag.indexByteString); }
|
|
95
|
+
static get equalsByteString() { return new IRNative(IRNativeTag.equalsByteString); }
|
|
96
|
+
static get lessThanByteString() { return new IRNative(IRNativeTag.lessThanByteString); }
|
|
97
|
+
static get lessThanEqualsByteString() { return new IRNative(IRNativeTag.lessThanEqualsByteString); }
|
|
98
|
+
static get sha2_256() { return new IRNative(IRNativeTag.sha2_256); }
|
|
99
|
+
static get sha3_256() { return new IRNative(IRNativeTag.sha3_256); }
|
|
100
|
+
static get blake2b_256() { return new IRNative(IRNativeTag.blake2b_256); }
|
|
101
|
+
static get verifyEd25519Signature() { return new IRNative(IRNativeTag.verifyEd25519Signature); }
|
|
102
|
+
static get appendString() { return new IRNative(IRNativeTag.appendString); }
|
|
103
|
+
static get equalsString() { return new IRNative(IRNativeTag.equalsString); }
|
|
104
|
+
static get encodeUtf8() { return new IRNative(IRNativeTag.encodeUtf8); }
|
|
105
|
+
static get decodeUtf8() { return new IRNative(IRNativeTag.decodeUtf8); }
|
|
106
|
+
static get strictIfThenElse() { return new IRNative(IRNativeTag.strictIfThenElse); }
|
|
107
|
+
static get chooseUnit() { return new IRNative(IRNativeTag.chooseUnit); }
|
|
108
|
+
static get trace() { return new IRNative(IRNativeTag.trace); }
|
|
109
|
+
static get fstPair() { return new IRNative(IRNativeTag.fstPair); }
|
|
110
|
+
static get sndPair() { return new IRNative(IRNativeTag.sndPair); }
|
|
111
|
+
static get strictChooseList() { return new IRNative(IRNativeTag.strictChooseList); }
|
|
112
|
+
static get mkCons() { return new IRNative(IRNativeTag.mkCons); }
|
|
113
|
+
static get headList() { return new IRNative(IRNativeTag.headList); }
|
|
114
|
+
static get tailList() { return new IRNative(IRNativeTag.tailList); }
|
|
115
|
+
static get nullList() { return new IRNative(IRNativeTag.nullList); }
|
|
116
|
+
static get chooseData() { return new IRNative(IRNativeTag.chooseData); }
|
|
117
|
+
static get constrData() { return new IRNative(IRNativeTag.constrData); }
|
|
118
|
+
static get mapData() { return new IRNative(IRNativeTag.mapData); }
|
|
119
|
+
static get listData() { return new IRNative(IRNativeTag.listData); }
|
|
120
|
+
static get iData() { return new IRNative(IRNativeTag.iData); }
|
|
121
|
+
static get bData() { return new IRNative(IRNativeTag.bData); }
|
|
122
|
+
static get unConstrData() { return new IRNative(IRNativeTag.unConstrData); }
|
|
123
|
+
static get unMapData() { return new IRNative(IRNativeTag.unMapData); }
|
|
124
|
+
static get unListData() { return new IRNative(IRNativeTag.unListData); }
|
|
125
|
+
static get unIData() { return new IRNative(IRNativeTag.unIData); }
|
|
126
|
+
static get unBData() { return new IRNative(IRNativeTag.unBData); }
|
|
127
|
+
static get equalsData() { return new IRNative(IRNativeTag.equalsData); }
|
|
128
|
+
static get mkPairData() { return new IRNative(IRNativeTag.mkPairData); }
|
|
129
|
+
static get mkNilData() { return new IRNative(IRNativeTag.mkNilData); }
|
|
130
|
+
static get mkNilPairData() { return new IRNative(IRNativeTag.mkNilPairData); }
|
|
131
|
+
static get serialiseData() { return new IRNative(IRNativeTag.serialiseData); }
|
|
132
|
+
static get verifyEcdsaSecp256k1Signature() { return new IRNative(IRNativeTag.verifyEcdsaSecp256k1Signature); }
|
|
133
|
+
static get verifySchnorrSecp256k1Signature() { return new IRNative(IRNativeTag.verifySchnorrSecp256k1Signature); }
|
|
134
|
+
static get bls12_381_G1_add() { return new IRNative(IRNativeTag.bls12_381_G1_add); }
|
|
135
|
+
static get bls12_381_G1_neg() { return new IRNative(IRNativeTag.bls12_381_G1_neg); }
|
|
136
|
+
static get bls12_381_G1_scalarMul() { return new IRNative(IRNativeTag.bls12_381_G1_scalarMul); }
|
|
137
|
+
static get bls12_381_G1_equal() { return new IRNative(IRNativeTag.bls12_381_G1_equal); }
|
|
138
|
+
static get bls12_381_G1_hashToGroup() { return new IRNative(IRNativeTag.bls12_381_G1_hashToGroup); }
|
|
139
|
+
static get bls12_381_G1_compress() { return new IRNative(IRNativeTag.bls12_381_G1_compress); }
|
|
140
|
+
static get bls12_381_G1_uncompress() { return new IRNative(IRNativeTag.bls12_381_G1_uncompress); }
|
|
141
|
+
static get bls12_381_G2_add() { return new IRNative(IRNativeTag.bls12_381_G2_add); }
|
|
142
|
+
static get bls12_381_G2_neg() { return new IRNative(IRNativeTag.bls12_381_G2_neg); }
|
|
143
|
+
static get bls12_381_G2_scalarMul() { return new IRNative(IRNativeTag.bls12_381_G2_scalarMul); }
|
|
144
|
+
static get bls12_381_G2_equal() { return new IRNative(IRNativeTag.bls12_381_G2_equal); }
|
|
145
|
+
static get bls12_381_G2_hashToGroup() { return new IRNative(IRNativeTag.bls12_381_G2_hashToGroup); }
|
|
146
|
+
static get bls12_381_G2_compress() { return new IRNative(IRNativeTag.bls12_381_G2_compress); }
|
|
147
|
+
static get bls12_381_G2_uncompress() { return new IRNative(IRNativeTag.bls12_381_G2_uncompress); }
|
|
148
|
+
static get bls12_381_millerLoop() { return new IRNative(IRNativeTag.bls12_381_millerLoop); }
|
|
149
|
+
static get bls12_381_mulMlResult() { return new IRNative(IRNativeTag.bls12_381_mulMlResult); }
|
|
150
|
+
static get bls12_381_finalVerify() { return new IRNative(IRNativeTag.bls12_381_finalVerify); }
|
|
151
|
+
static get keccak_256() { return new IRNative(IRNativeTag.keccak_256); }
|
|
152
|
+
static get blake2b_224() { return new IRNative(IRNativeTag.blake2b_224); }
|
|
153
|
+
static get integerToByteString() { return new IRNative(IRNativeTag.integerToByteString); }
|
|
154
|
+
static get byteStringToInteger() { return new IRNative(IRNativeTag.byteStringToInteger); }
|
|
155
|
+
// plomin (batch 5)
|
|
156
|
+
static get andByteString() { return new IRNative(IRNativeTag.andByteString); }
|
|
157
|
+
static get orByteString() { return new IRNative(IRNativeTag.orByteString); }
|
|
158
|
+
static get xorByteString() { return new IRNative(IRNativeTag.xorByteString); }
|
|
159
|
+
static get complementByteString() { return new IRNative(IRNativeTag.complementByteString); }
|
|
160
|
+
static get readBit() { return new IRNative(IRNativeTag.readBit); }
|
|
161
|
+
static get writeBits() { return new IRNative(IRNativeTag.writeBits); }
|
|
162
|
+
static get replicateByte() { return new IRNative(IRNativeTag.replicateByte); }
|
|
163
|
+
static get shiftByteString() { return new IRNative(IRNativeTag.shiftByteString); }
|
|
164
|
+
static get rotateByteString() { return new IRNative(IRNativeTag.rotateByteString); }
|
|
165
|
+
static get countSetBits() { return new IRNative(IRNativeTag.countSetBits); }
|
|
166
|
+
static get findFirstSetBit() { return new IRNative(IRNativeTag.findFirstSetBit); }
|
|
167
|
+
static get ripemd_160() { return new IRNative(IRNativeTag.ripemd_160); }
|
|
168
|
+
static get _dropList() { return new IRNative(IRNativeTag._dropList); }
|
|
169
|
+
static get _foldr() { return new IRNative(IRNativeTag._foldr); }
|
|
170
|
+
static get _foldl() { return new IRNative(IRNativeTag._foldl); }
|
|
171
|
+
static get _mkFindDataOptional() { return new IRNative(IRNativeTag._mkFindDataOptional); }
|
|
172
|
+
static get _length() { return new IRNative(IRNativeTag._length); }
|
|
173
|
+
static get _some() { return new IRNative(IRNativeTag._some); }
|
|
174
|
+
static get _every() { return new IRNative(IRNativeTag._every); }
|
|
175
|
+
static get _mkFilter() { return new IRNative(IRNativeTag._mkFilter); }
|
|
176
|
+
// static get _fstPair() { return new IRNative( IRNativeTag._fstPair ); }
|
|
177
|
+
// static get _sndPair() { return new IRNative( IRNativeTag._sndPair ); }
|
|
178
|
+
static get _id() { return new IRNative(IRNativeTag._id); }
|
|
179
|
+
static get _not() { return new IRNative(IRNativeTag._not); }
|
|
180
|
+
static get _strictAnd() { return new IRNative(IRNativeTag._strictAnd); }
|
|
181
|
+
static get _and() { return new IRNative(IRNativeTag._and); }
|
|
182
|
+
static get _strictOr() { return new IRNative(IRNativeTag._strictOr); }
|
|
183
|
+
static get _or() { return new IRNative(IRNativeTag._or); }
|
|
184
|
+
static get _gtBS() { return new IRNative(IRNativeTag._gtBS); }
|
|
185
|
+
static get _gtEqBS() { return new IRNative(IRNativeTag._gtEqBS); }
|
|
186
|
+
static get _gtInt() { return new IRNative(IRNativeTag._gtInt); }
|
|
187
|
+
static get _gtEqInt() { return new IRNative(IRNativeTag._gtEqInt); }
|
|
188
|
+
static get _strToData() { return new IRNative(IRNativeTag._strToData); }
|
|
189
|
+
static get _pairDataToData() { return new IRNative(IRNativeTag._pairDataToData); }
|
|
190
|
+
static get _strFromData() { return new IRNative(IRNativeTag._strFromData); }
|
|
191
|
+
static get _pairDataFromData() { return new IRNative(IRNativeTag._pairDataFromData); }
|
|
192
|
+
static get _mkEqualsList() { return new IRNative(IRNativeTag._mkEqualsList); }
|
|
193
|
+
static get _equalPairData() { return new IRNative(IRNativeTag._equalPairData); }
|
|
194
|
+
static get _equalBoolean() { return new IRNative(IRNativeTag._equalBoolean); }
|
|
195
|
+
static get _negateInt() { return new IRNative(IRNativeTag._negateInt); }
|
|
196
|
+
static get _mkMapList() { return new IRNative(IRNativeTag._mkMapList); }
|
|
197
|
+
static get _bytesToIntBE() { return new IRNative(IRNativeTag._bytesToIntBE); }
|
|
198
|
+
static get _boolToInt() { return new IRNative(IRNativeTag._boolToInt); }
|
|
199
|
+
/** internally handles int size */
|
|
200
|
+
static get _intToBytesBE() { return new IRNative(IRNativeTag._intToBytesBE); }
|
|
201
|
+
static get _intToBool() { return new IRNative(IRNativeTag._intToBool); }
|
|
202
|
+
static get _exponentiateInteger() { return new IRNative(IRNativeTag._exponentiateInteger); }
|
|
203
|
+
static get _amountOfValue() { return new IRNative(IRNativeTag._amountOfValue); }
|
|
204
|
+
static get _sortedValueLovelaces() { return new IRNative(IRNativeTag._sortedValueLovelaces); }
|
|
205
|
+
static equals(type) {
|
|
206
|
+
type = getUnaliased(type);
|
|
207
|
+
if (type instanceof TirAliasType)
|
|
208
|
+
throw new Error("unreachable");
|
|
209
|
+
if (type instanceof TirIntT)
|
|
210
|
+
return IRNative.equalsInteger;
|
|
211
|
+
if (type instanceof TirBytesT)
|
|
212
|
+
return IRNative.equalsByteString;
|
|
213
|
+
if (type instanceof TirStringT)
|
|
214
|
+
return IRNative.equalsString;
|
|
215
|
+
if (type instanceof TirBoolT)
|
|
216
|
+
return IRNative._equalBoolean;
|
|
217
|
+
if (type instanceof TirPairDataT)
|
|
218
|
+
return IRNative._equalPairData;
|
|
219
|
+
if (type instanceof TirDataT
|
|
220
|
+
|| type instanceof TirDataOptT
|
|
221
|
+
|| type instanceof TirDataStructType)
|
|
222
|
+
return IRNative.equalsData;
|
|
223
|
+
if (type instanceof TirListT)
|
|
224
|
+
return IRNative.equalListOf(getListTypeArg(type));
|
|
225
|
+
if (type instanceof TirLinearMapT)
|
|
226
|
+
return IRNative.equalListOf(new TirPairDataT());
|
|
227
|
+
if (type instanceof TirLinearMapT)
|
|
228
|
+
return IRNative.equalListOf(new TirPairDataT());
|
|
229
|
+
if (type instanceof TirUnConstrDataResultT)
|
|
230
|
+
return new IRHoisted(new IRFunc(2, _ir_apps(IRNative.equalsData, _ir_apps(IRNative.constrData, new IRVar(0)), _ir_apps(IRNative.constrData, new IRVar(1)))));
|
|
231
|
+
// don't even hoist, who is even going to use this?
|
|
232
|
+
if (type instanceof TirVoidT)
|
|
233
|
+
return new IRFunc(2, IRConst.bool(true));
|
|
234
|
+
const tsEnsureExsaustiveCheck = type;
|
|
235
|
+
throw new Error("invalid type for std equality");
|
|
236
|
+
}
|
|
237
|
+
static equalListOf(type) {
|
|
238
|
+
return new IRHoisted(_ir_apps(IRNative._mkEqualsList, IRNative.equals(type)), { forceHoist: false, name: `equalsListOf_${type.toString()}` });
|
|
239
|
+
}
|
|
240
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IRNative } from "./index.js";
|
|
2
|
+
import { IRNativeTag } from "./IRNativeTag.js";
|
|
3
|
+
function isForcedNativeTag(tag) {
|
|
4
|
+
return (tag === IRNativeTag.strictIfThenElse ||
|
|
5
|
+
tag === IRNativeTag.chooseUnit ||
|
|
6
|
+
tag === IRNativeTag.trace ||
|
|
7
|
+
tag === IRNativeTag.mkCons ||
|
|
8
|
+
tag === IRNativeTag.headList ||
|
|
9
|
+
tag === IRNativeTag.tailList ||
|
|
10
|
+
tag === IRNativeTag.nullList ||
|
|
11
|
+
tag === IRNativeTag.chooseData ||
|
|
12
|
+
tag === IRNativeTag.fstPair ||
|
|
13
|
+
tag === IRNativeTag.sndPair ||
|
|
14
|
+
tag === IRNativeTag.strictChooseList);
|
|
15
|
+
}
|
|
16
|
+
export function isForcedNative(node) {
|
|
17
|
+
return node instanceof IRNative && isForcedNativeTag(node.tag);
|
|
18
|
+
}
|