@harmoniclabs/pebble 0.1.0-dev1 → 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.
- package/package.json +1 -1
- package/dist/IR/IRHash.d.ts +0 -8
- package/dist/IR/IRHash.js +0 -78
- package/dist/IR/IRNodeKind.d.ts +0 -17
- package/dist/IR/IRNodeKind.js +0 -19
- package/dist/IR/IRNodes/BaseIRMetadata.d.ts +0 -3
- package/dist/IR/IRNodes/BaseIRMetadata.js +0 -1
- package/dist/IR/IRNodes/IRApp.d.ts +0 -36
- package/dist/IR/IRNodes/IRApp.js +0 -91
- package/dist/IR/IRNodes/IRCase.d.ts +0 -32
- package/dist/IR/IRNodes/IRCase.js +0 -91
- package/dist/IR/IRNodes/IRConst.d.ts +0 -49
- package/dist/IR/IRNodes/IRConst.js +0 -273
- package/dist/IR/IRNodes/IRConstr.d.ts +0 -30
- package/dist/IR/IRNodes/IRConstr.js +0 -87
- package/dist/IR/IRNodes/IRDelayed.d.ts +0 -31
- package/dist/IR/IRNodes/IRDelayed.js +0 -68
- package/dist/IR/IRNodes/IRError.d.ts +0 -32
- package/dist/IR/IRNodes/IRError.js +0 -44
- package/dist/IR/IRNodes/IRForced.d.ts +0 -31
- package/dist/IR/IRNodes/IRForced.js +0 -69
- package/dist/IR/IRNodes/IRFunc.d.ts +0 -33
- package/dist/IR/IRNodes/IRFunc.js +0 -91
- package/dist/IR/IRNodes/IRHoisted.d.ts +0 -55
- package/dist/IR/IRNodes/IRHoisted.js +0 -212
- package/dist/IR/IRNodes/IRLetted.d.ts +0 -108
- package/dist/IR/IRNodes/IRLetted.js +0 -444
- package/dist/IR/IRNodes/IRNative/IRNativeTag.d.ts +0 -138
- package/dist/IR/IRNodes/IRNative/IRNativeTag.js +0 -204
- package/dist/IR/IRNodes/IRNative/index.d.ts +0 -165
- package/dist/IR/IRNodes/IRNative/index.js +0 -240
- package/dist/IR/IRNodes/IRNative/isForcedNative.d.ts +0 -3
- package/dist/IR/IRNodes/IRNative/isForcedNative.js +0 -18
- package/dist/IR/IRNodes/IRRecursive.d.ts +0 -29
- package/dist/IR/IRNodes/IRRecursive.js +0 -90
- package/dist/IR/IRNodes/IRSelfCall.d.ts +0 -46
- package/dist/IR/IRNodes/IRSelfCall.js +0 -127
- package/dist/IR/IRNodes/IRVar.d.ts +0 -41
- package/dist/IR/IRNodes/IRVar.js +0 -93
- package/dist/IR/IRNodes/index.d.ts +0 -12
- package/dist/IR/IRNodes/index.js +0 -12
- package/dist/IR/IRNodes/utils/dependsByDbns.d.ts +0 -5
- package/dist/IR/IRNodes/utils/dependsByDbns.js +0 -29
- package/dist/IR/IRNodes/utils/isClosedAtDbn.d.ts +0 -2
- package/dist/IR/IRNodes/utils/isClosedAtDbn.js +0 -22
- package/dist/IR/IRNodes/utils/makeArrayLikeProxy.d.ts +0 -1
- package/dist/IR/IRNodes/utils/makeArrayLikeProxy.js +0 -34
- package/dist/IR/IRNodes/utils/mapArrayLike.d.ts +0 -1
- package/dist/IR/IRNodes/utils/mapArrayLike.js +0 -8
- package/dist/IR/IRTerm.d.ts +0 -15
- package/dist/IR/IRTerm.js +0 -1
- package/dist/IR/index.d.ts +0 -5
- package/dist/IR/index.js +0 -5
- package/dist/IR/interfaces/IHash.d.ts +0 -6
- package/dist/IR/interfaces/IHash.js +0 -1
- package/dist/IR/interfaces/IIRParent.d.ts +0 -4
- package/dist/IR/interfaces/IIRParent.js +0 -1
- package/dist/IR/interfaces/IRMetadata.d.ts +0 -3
- package/dist/IR/interfaces/IRMetadata.js +0 -2
- package/dist/IR/interfaces/ToIR.d.ts +0 -5
- package/dist/IR/interfaces/ToIR.js +0 -1
- package/dist/IR/interfaces/index.d.ts +0 -4
- package/dist/IR/interfaces/index.js +0 -4
- package/dist/IR/toUPLC/CompilerOptions.d.ts +0 -80
- package/dist/IR/toUPLC/CompilerOptions.js +0 -98
- package/dist/IR/toUPLC/_internal/_addDepth.d.ts +0 -2
- package/dist/IR/toUPLC/_internal/_addDepth.js +0 -58
- package/dist/IR/toUPLC/_internal/_irToUplc.d.ts +0 -9
- package/dist/IR/toUPLC/_internal/_irToUplc.js +0 -156
- package/dist/IR/toUPLC/_internal/_makeAllNegativeNativesHoisted.d.ts +0 -2
- package/dist/IR/toUPLC/_internal/_makeAllNegativeNativesHoisted.js +0 -12
- package/dist/IR/toUPLC/_internal/_modifyChildFromTo.d.ts +0 -10
- package/dist/IR/toUPLC/_internal/_modifyChildFromTo.js +0 -141
- package/dist/IR/toUPLC/_internal/depth.d.ts +0 -5
- package/dist/IR/toUPLC/_internal/depth.js +0 -8
- package/dist/IR/toUPLC/_internal/findAll.d.ts +0 -3
- package/dist/IR/toUPLC/_internal/findAll.js +0 -99
- package/dist/IR/toUPLC/_internal/getDebruijnInTerm.d.ts +0 -2
- package/dist/IR/toUPLC/_internal/getDebruijnInTerm.js +0 -51
- package/dist/IR/toUPLC/_internal/getDiffDbn.d.ts +0 -2
- package/dist/IR/toUPLC/_internal/getDiffDbn.js +0 -55
- package/dist/IR/toUPLC/_internal/includesLettedTerms.d.ts +0 -2
- package/dist/IR/toUPLC/_internal/includesLettedTerms.js +0 -50
- package/dist/IR/toUPLC/_internal/includesNode.d.ts +0 -2
- package/dist/IR/toUPLC/_internal/includesNode.js +0 -54
- package/dist/IR/toUPLC/_internal/iterTree.d.ts +0 -2
- package/dist/IR/toUPLC/_internal/iterTree.js +0 -93
- package/dist/IR/toUPLC/_internal/lowestCommonAncestor.d.ts +0 -3
- package/dist/IR/toUPLC/_internal/lowestCommonAncestor.js +0 -41
- package/dist/IR/toUPLC/compileIRToUPLC.d.ts +0 -4
- package/dist/IR/toUPLC/compileIRToUPLC.js +0 -118
- package/dist/IR/toUPLC/index.d.ts +0 -2
- package/dist/IR/toUPLC/index.js +0 -2
- package/dist/IR/toUPLC/subRoutines/handleHoistedAndReturnRoot/index.d.ts +0 -2
- package/dist/IR/toUPLC/subRoutines/handleHoistedAndReturnRoot/index.js +0 -161
- package/dist/IR/toUPLC/subRoutines/handleLetted/findHighestRecursiveParent.d.ts +0 -5
- package/dist/IR/toUPLC/subRoutines/handleLetted/findHighestRecursiveParent.js +0 -14
- package/dist/IR/toUPLC/subRoutines/handleLetted/groupByScope.d.ts +0 -20
- package/dist/IR/toUPLC/subRoutines/handleLetted/groupByScope.js +0 -107
- package/dist/IR/toUPLC/subRoutines/handleLetted/incrementUnboundDbns.d.ts +0 -9
- package/dist/IR/toUPLC/subRoutines/handleLetted/incrementUnboundDbns.js +0 -73
- package/dist/IR/toUPLC/subRoutines/handleLetted/index.d.ts +0 -2
- package/dist/IR/toUPLC/subRoutines/handleLetted/index.js +0 -304
- package/dist/IR/toUPLC/subRoutines/handleRecursiveTerms.d.ts +0 -3
- package/dist/IR/toUPLC/subRoutines/handleRecursiveTerms.js +0 -32
- package/dist/IR/toUPLC/subRoutines/hoistForcedNatives.d.ts +0 -2
- package/dist/IR/toUPLC/subRoutines/hoistForcedNatives.js +0 -58
- package/dist/IR/toUPLC/subRoutines/inlineSingleUseApplications.d.ts +0 -1
- package/dist/IR/toUPLC/subRoutines/inlineSingleUseApplications.js +0 -12
- package/dist/IR/toUPLC/subRoutines/markRecursiveHoistsAsForced.d.ts +0 -2
- package/dist/IR/toUPLC/subRoutines/markRecursiveHoistsAsForced.js +0 -82
- package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/expandFuncsAndReturnRoot.d.ts +0 -4
- package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/expandFuncsAndReturnRoot.js +0 -68
- package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/index.d.ts +0 -5
- package/dist/IR/toUPLC/subRoutines/performUplcOptimizationsAndReturnRoot/index.js +0 -227
- package/dist/IR/toUPLC/subRoutines/replaceClosedLettedWithHoisted.d.ts +0 -2
- package/dist/IR/toUPLC/subRoutines/replaceClosedLettedWithHoisted.js +0 -13
- package/dist/IR/toUPLC/subRoutines/replaceForcedNativesWithHoisted.d.ts +0 -2
- package/dist/IR/toUPLC/subRoutines/replaceForcedNativesWithHoisted.js +0 -11
- package/dist/IR/toUPLC/subRoutines/replaceHoistedWithLetted.d.ts +0 -2
- package/dist/IR/toUPLC/subRoutines/replaceHoistedWithLetted.js +0 -16
- package/dist/IR/toUPLC/subRoutines/replaceNatives/index.d.ts +0 -2
- package/dist/IR/toUPLC/subRoutines/replaceNatives/index.js +0 -16
- package/dist/IR/toUPLC/subRoutines/replaceNatives/nativeToIR.d.ts +0 -3
- package/dist/IR/toUPLC/subRoutines/replaceNatives/nativeToIR.js +0 -520
- package/dist/IR/toUPLC/subRoutines/sanifyTree.d.ts +0 -5
- package/dist/IR/toUPLC/subRoutines/sanifyTree.js +0 -84
- package/dist/IR/tree_utils/_ir_apps.d.ts +0 -3
- package/dist/IR/tree_utils/_ir_apps.js +0 -8
- package/dist/IR/tree_utils/_ir_lazyChooseList.d.ts +0 -3
- package/dist/IR/tree_utils/_ir_lazyChooseList.js +0 -5
- package/dist/IR/tree_utils/_ir_lazyIfThenElse.d.ts +0 -3
- package/dist/IR/tree_utils/_ir_lazyIfThenElse.js +0 -5
- package/dist/IR/tree_utils/_ir_let.d.ts +0 -3
- package/dist/IR/tree_utils/_ir_let.js +0 -4
- package/dist/IR/tree_utils/getChildren.d.ts +0 -2
- package/dist/IR/tree_utils/getChildren.js +0 -33
- package/dist/IR/tree_utils/getRoot.d.ts +0 -2
- package/dist/IR/tree_utils/getRoot.js +0 -6
- package/dist/IR/utils/MutArrayLike.d.ts +0 -5
- package/dist/IR/utils/MutArrayLike.js +0 -1
- package/dist/IR/utils/concatUint8Arr.d.ts +0 -1
- package/dist/IR/utils/concatUint8Arr.js +0 -11
- package/dist/IR/utils/equalIRTerm.d.ts +0 -12
- package/dist/IR/utils/equalIRTerm.js +0 -19
- package/dist/IR/utils/index.d.ts +0 -3
- package/dist/IR/utils/index.js +0 -3
- package/dist/IR/utils/isClosedIRTerm.d.ts +0 -2
- package/dist/IR/utils/isClosedIRTerm.js +0 -58
- package/dist/IR/utils/isIRParentTerm.d.ts +0 -12
- package/dist/IR/utils/isIRParentTerm.js +0 -26
- package/dist/IR/utils/isIRTerm.d.ts +0 -2
- package/dist/IR/utils/isIRTerm.js +0 -30
- package/dist/IR/utils/positiveIntAsBytes.d.ts +0 -5
- package/dist/IR/utils/positiveIntAsBytes.js +0 -27
- package/dist/IR/utils/showIR.d.ts +0 -43
- package/dist/IR/utils/showIR.js +0 -372
- package/dist/ast/PebbleAst.d.ts +0 -8
- package/dist/ast/PebbleAst.js +0 -15
- package/dist/ast/Source/Source.d.ts +0 -47
- package/dist/ast/Source/Source.js +0 -89
- package/dist/ast/Source/SourceRange.d.ts +0 -16
- package/dist/ast/Source/SourceRange.js +0 -49
- package/dist/ast/nodes/HasSourceRange.d.ts +0 -5
- package/dist/ast/nodes/HasSourceRange.js +0 -6
- package/dist/ast/nodes/common/Identifier.d.ts +0 -13
- package/dist/ast/nodes/common/Identifier.js +0 -20
- package/dist/ast/nodes/expr/CaseExpr.d.ts +0 -22
- package/dist/ast/nodes/expr/CaseExpr.js +0 -30
- package/dist/ast/nodes/expr/ElemAccessExpr.d.ts +0 -12
- package/dist/ast/nodes/expr/ElemAccessExpr.js +0 -13
- package/dist/ast/nodes/expr/IsExpr.d.ts +0 -1
- package/dist/ast/nodes/expr/IsExpr.js +0 -14
- package/dist/ast/nodes/expr/ParentesizedExpr.d.ts +0 -8
- package/dist/ast/nodes/expr/ParentesizedExpr.js +0 -8
- package/dist/ast/nodes/expr/PebbleExpr.d.ts +0 -18
- package/dist/ast/nodes/expr/PebbleExpr.js +0 -31
- package/dist/ast/nodes/expr/PropAccessExpr.d.ts +0 -28
- package/dist/ast/nodes/expr/PropAccessExpr.js +0 -46
- package/dist/ast/nodes/expr/TernaryExpr.d.ts +0 -10
- package/dist/ast/nodes/expr/TernaryExpr.js +0 -12
- package/dist/ast/nodes/expr/TypeConversionExpr.d.ts +0 -10
- package/dist/ast/nodes/expr/TypeConversionExpr.js +0 -11
- package/dist/ast/nodes/expr/binary/BinaryExpr.d.ts +0 -133
- package/dist/ast/nodes/expr/binary/BinaryExpr.js +0 -253
- package/dist/ast/nodes/expr/functions/ArrowKind.d.ts +0 -9
- package/dist/ast/nodes/expr/functions/ArrowKind.js +0 -11
- package/dist/ast/nodes/expr/functions/CallExpr.d.ts +0 -17
- package/dist/ast/nodes/expr/functions/CallExpr.js +0 -16
- package/dist/ast/nodes/expr/functions/FuncExpr.d.ts +0 -21
- package/dist/ast/nodes/expr/functions/FuncExpr.js +0 -21
- package/dist/ast/nodes/expr/litteral/LitArrExpr.d.ts +0 -8
- package/dist/ast/nodes/expr/litteral/LitArrExpr.js +0 -8
- package/dist/ast/nodes/expr/litteral/LitFalseExpr.d.ts +0 -6
- package/dist/ast/nodes/expr/litteral/LitFalseExpr.js +0 -6
- package/dist/ast/nodes/expr/litteral/LitHexBytesExpr.d.ts +0 -7
- package/dist/ast/nodes/expr/litteral/LitHexBytesExpr.js +0 -8
- package/dist/ast/nodes/expr/litteral/LitIntExpr.d.ts +0 -7
- package/dist/ast/nodes/expr/litteral/LitIntExpr.js +0 -8
- package/dist/ast/nodes/expr/litteral/LitNamedObjExpr.d.ts +0 -12
- package/dist/ast/nodes/expr/litteral/LitNamedObjExpr.js +0 -12
- package/dist/ast/nodes/expr/litteral/LitObjExpr.d.ts +0 -14
- package/dist/ast/nodes/expr/litteral/LitObjExpr.js +0 -10
- package/dist/ast/nodes/expr/litteral/LitStrExpr.d.ts +0 -7
- package/dist/ast/nodes/expr/litteral/LitStrExpr.js +0 -8
- package/dist/ast/nodes/expr/litteral/LitThisExpr.d.ts +0 -6
- package/dist/ast/nodes/expr/litteral/LitThisExpr.js +0 -6
- package/dist/ast/nodes/expr/litteral/LitTrueExpr.d.ts +0 -6
- package/dist/ast/nodes/expr/litteral/LitTrueExpr.js +0 -6
- package/dist/ast/nodes/expr/litteral/LitUndefExpr.d.ts +0 -6
- package/dist/ast/nodes/expr/litteral/LitUndefExpr.js +0 -6
- package/dist/ast/nodes/expr/litteral/LitVoidExpr.d.ts +0 -6
- package/dist/ast/nodes/expr/litteral/LitVoidExpr.js +0 -6
- package/dist/ast/nodes/expr/litteral/LitteralExpr.d.ts +0 -13
- package/dist/ast/nodes/expr/litteral/LitteralExpr.js +0 -24
- package/dist/ast/nodes/expr/unary/IUnaryExpression.d.ts +0 -4
- package/dist/ast/nodes/expr/unary/IUnaryExpression.js +0 -1
- package/dist/ast/nodes/expr/unary/NonNullExpr.d.ts +0 -8
- package/dist/ast/nodes/expr/unary/NonNullExpr.js +0 -8
- package/dist/ast/nodes/expr/unary/UnaryExclamation.d.ts +0 -9
- package/dist/ast/nodes/expr/unary/UnaryExclamation.js +0 -8
- package/dist/ast/nodes/expr/unary/UnaryMinus.d.ts +0 -9
- package/dist/ast/nodes/expr/unary/UnaryMinus.js +0 -8
- package/dist/ast/nodes/expr/unary/UnaryPlus.d.ts +0 -9
- package/dist/ast/nodes/expr/unary/UnaryPlus.js +0 -8
- package/dist/ast/nodes/expr/unary/UnaryPrefixExpr.d.ts +0 -14
- package/dist/ast/nodes/expr/unary/UnaryPrefixExpr.js +0 -27
- package/dist/ast/nodes/expr/unary/UnaryTilde.d.ts +0 -9
- package/dist/ast/nodes/expr/unary/UnaryTilde.js +0 -8
- package/dist/ast/nodes/statements/AssertStmt.d.ts +0 -15
- package/dist/ast/nodes/statements/AssertStmt.js +0 -14
- package/dist/ast/nodes/statements/AssignmentStmt.d.ts +0 -105
- package/dist/ast/nodes/statements/AssignmentStmt.js +0 -211
- package/dist/ast/nodes/statements/BlockStmt.d.ts +0 -8
- package/dist/ast/nodes/statements/BlockStmt.js +0 -8
- package/dist/ast/nodes/statements/BreakStmt.d.ts +0 -6
- package/dist/ast/nodes/statements/BreakStmt.js +0 -6
- package/dist/ast/nodes/statements/ContinueStmt.d.ts +0 -6
- package/dist/ast/nodes/statements/ContinueStmt.js +0 -6
- package/dist/ast/nodes/statements/DecrStmt.d.ts +0 -11
- package/dist/ast/nodes/statements/DecrStmt.js +0 -11
- package/dist/ast/nodes/statements/DoWhileStmt.d.ts +0 -10
- package/dist/ast/nodes/statements/DoWhileStmt.js +0 -10
- package/dist/ast/nodes/statements/EmptyStmt.d.ts +0 -6
- package/dist/ast/nodes/statements/EmptyStmt.js +0 -6
- package/dist/ast/nodes/statements/ExportImportStmt.d.ts +0 -15
- package/dist/ast/nodes/statements/ExportImportStmt.js +0 -15
- package/dist/ast/nodes/statements/ExportStarStmt.d.ts +0 -8
- package/dist/ast/nodes/statements/ExportStarStmt.js +0 -8
- package/dist/ast/nodes/statements/ExportStmt.d.ts +0 -13
- package/dist/ast/nodes/statements/ExportStmt.js +0 -13
- package/dist/ast/nodes/statements/ExprStmt.d.ts +0 -8
- package/dist/ast/nodes/statements/ExprStmt.js +0 -18
- package/dist/ast/nodes/statements/FailStmt.d.ts +0 -11
- package/dist/ast/nodes/statements/FailStmt.js +0 -10
- package/dist/ast/nodes/statements/ForOfStmt.d.ts +0 -16
- package/dist/ast/nodes/statements/ForOfStmt.js +0 -15
- package/dist/ast/nodes/statements/ForStmt.d.ts +0 -19
- package/dist/ast/nodes/statements/ForStmt.js +0 -19
- package/dist/ast/nodes/statements/IfStmt.d.ts +0 -11
- package/dist/ast/nodes/statements/IfStmt.js +0 -12
- package/dist/ast/nodes/statements/ImportStarStmt.d.ts +0 -15
- package/dist/ast/nodes/statements/ImportStarStmt.js +0 -15
- package/dist/ast/nodes/statements/ImportStmt.d.ts +0 -21
- package/dist/ast/nodes/statements/ImportStmt.js +0 -25
- package/dist/ast/nodes/statements/IncrStmt.d.ts +0 -8
- package/dist/ast/nodes/statements/IncrStmt.js +0 -8
- package/dist/ast/nodes/statements/MatchStmt.d.ts +0 -17
- package/dist/ast/nodes/statements/MatchStmt.js +0 -20
- package/dist/ast/nodes/statements/PebbleStmt.d.ts +0 -29
- package/dist/ast/nodes/statements/PebbleStmt.js +0 -62
- package/dist/ast/nodes/statements/ReturnStmt.d.ts +0 -8
- package/dist/ast/nodes/statements/ReturnStmt.js +0 -8
- package/dist/ast/nodes/statements/TestStmt.d.ts +0 -10
- package/dist/ast/nodes/statements/TestStmt.js +0 -10
- package/dist/ast/nodes/statements/TypeImplementsStmt.d.ts +0 -21
- package/dist/ast/nodes/statements/TypeImplementsStmt.js +0 -26
- package/dist/ast/nodes/statements/UsingStmt.d.ts +0 -16
- package/dist/ast/nodes/statements/UsingStmt.js +0 -20
- package/dist/ast/nodes/statements/VarStmt.d.ts +0 -10
- package/dist/ast/nodes/statements/VarStmt.js +0 -11
- package/dist/ast/nodes/statements/WhileStmt.d.ts +0 -10
- package/dist/ast/nodes/statements/WhileStmt.js +0 -10
- package/dist/ast/nodes/statements/declarations/EnumDecl.d.ts +0 -18
- package/dist/ast/nodes/statements/declarations/EnumDecl.js +0 -22
- package/dist/ast/nodes/statements/declarations/FuncDecl.d.ts +0 -8
- package/dist/ast/nodes/statements/declarations/FuncDecl.js +0 -9
- package/dist/ast/nodes/statements/declarations/InterfaceDecl.d.ts +0 -19
- package/dist/ast/nodes/statements/declarations/InterfaceDecl.js +0 -26
- package/dist/ast/nodes/statements/declarations/PebbleTypeDecl.d.ts +0 -5
- package/dist/ast/nodes/statements/declarations/PebbleTypeDecl.js +0 -8
- package/dist/ast/nodes/statements/declarations/StructDecl.d.ts +0 -25
- package/dist/ast/nodes/statements/declarations/StructDecl.js +0 -36
- package/dist/ast/nodes/statements/declarations/TypeAliasDecl.d.ts +0 -11
- package/dist/ast/nodes/statements/declarations/TypeAliasDecl.js +0 -12
- package/dist/ast/nodes/statements/declarations/VarDecl/ArrayLikeDeconstr.d.ts +0 -19
- package/dist/ast/nodes/statements/declarations/VarDecl/ArrayLikeDeconstr.js +0 -19
- package/dist/ast/nodes/statements/declarations/VarDecl/HasInit.d.ts +0 -5
- package/dist/ast/nodes/statements/declarations/VarDecl/HasInit.js +0 -7
- package/dist/ast/nodes/statements/declarations/VarDecl/NamedDeconstructVarDecl.d.ts +0 -24
- package/dist/ast/nodes/statements/declarations/VarDecl/NamedDeconstructVarDecl.js +0 -30
- package/dist/ast/nodes/statements/declarations/VarDecl/SimpleVarDecl.d.ts +0 -17
- package/dist/ast/nodes/statements/declarations/VarDecl/SimpleVarDecl.js +0 -21
- package/dist/ast/nodes/statements/declarations/VarDecl/SingleDeconstructVarDecl.d.ts +0 -24
- package/dist/ast/nodes/statements/declarations/VarDecl/SingleDeconstructVarDecl.js +0 -20
- package/dist/ast/nodes/statements/declarations/VarDecl/VarDecl.d.ts +0 -8
- package/dist/ast/nodes/statements/declarations/VarDecl/VarDecl.js +0 -13
- package/dist/ast/nodes/types/AstNamedTypeExpr.d.ts +0 -14
- package/dist/ast/nodes/types/AstNamedTypeExpr.js +0 -14
- package/dist/ast/nodes/types/AstNativeTypeExpr.d.ts +0 -52
- package/dist/ast/nodes/types/AstNativeTypeExpr.js +0 -82
- package/dist/ast/nodes/types/AstTypeExpr.d.ts +0 -4
- package/dist/ast/nodes/types/AstTypeExpr.js +0 -7
- package/dist/common.d.ts +0 -194
- package/dist/common.js +0 -224
- package/dist/compiler/AstCompiler/AstCompilationCtx.d.ts +0 -35
- package/dist/compiler/AstCompiler/AstCompilationCtx.js +0 -43
- package/dist/compiler/AstCompiler/AstCompiler.d.ts +0 -73
- package/dist/compiler/AstCompiler/AstCompiler.js +0 -532
- package/dist/compiler/AstCompiler/compileAst.d.ts +0 -0
- package/dist/compiler/AstCompiler/compileAst.js +0 -0
- package/dist/compiler/AstCompiler/index.d.ts +0 -1
- package/dist/compiler/AstCompiler/index.js +0 -1
- package/dist/compiler/AstCompiler/internal/exprs/_compileBinaryExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/_compileBinaryExpr.js +0 -66
- package/dist/compiler/AstCompiler/internal/exprs/_compileCallExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/_compileCallExpr.js +0 -36
- package/dist/compiler/AstCompiler/internal/exprs/_compileCaseExpr.d.ts +0 -6
- package/dist/compiler/AstCompiler/internal/exprs/_compileCaseExpr.js +0 -47
- package/dist/compiler/AstCompiler/internal/exprs/_compileElemAccessExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/_compileElemAccessExpr.js +0 -23
- package/dist/compiler/AstCompiler/internal/exprs/_compileExpr.d.ts +0 -22
- package/dist/compiler/AstCompiler/internal/exprs/_compileExpr.js +0 -77
- package/dist/compiler/AstCompiler/internal/exprs/_compileFuncExpr.d.ts +0 -26
- package/dist/compiler/AstCompiler/internal/exprs/_compileFuncExpr.js +0 -163
- package/dist/compiler/AstCompiler/internal/exprs/_compileIsExpr.d.ts +0 -1
- package/dist/compiler/AstCompiler/internal/exprs/_compileIsExpr.js +0 -43
- package/dist/compiler/AstCompiler/internal/exprs/_compileLitteralExpr.d.ts +0 -19
- package/dist/compiler/AstCompiler/internal/exprs/_compileLitteralExpr.js +0 -202
- package/dist/compiler/AstCompiler/internal/exprs/_compileNonNullExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/_compileNonNullExpr.js +0 -43
- package/dist/compiler/AstCompiler/internal/exprs/_compilePropAccessExpr.d.ts +0 -9
- package/dist/compiler/AstCompiler/internal/exprs/_compilePropAccessExpr.js +0 -102
- package/dist/compiler/AstCompiler/internal/exprs/_compileTernaryExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/_compileTernaryExpr.js +0 -22
- package/dist/compiler/AstCompiler/internal/exprs/_compileTypeConversionExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/_compileTypeConversionExpr.js +0 -25
- package/dist/compiler/AstCompiler/internal/exprs/_compileUnaryPrefixExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/_compileUnaryPrefixExpr.js +0 -54
- package/dist/compiler/AstCompiler/internal/exprs/_compileVarAccessExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/_compileVarAccessExpr.js +0 -9
- package/dist/compiler/AstCompiler/internal/exprs/_hasDuplicateTypeParams.d.ts +0 -3
- package/dist/compiler/AstCompiler/internal/exprs/_hasDuplicateTypeParams.js +0 -13
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileAddExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileAddExpr.js +0 -20
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseAndExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseAndExpr.js +0 -20
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseOrExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseOrExpr.js +0 -20
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseXorExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileBitwiseXorExpr.js +0 -20
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileDivExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileDivExpr.js +0 -20
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileEqualExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileEqualExpr.js +0 -18
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileExponentiationExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileExponentiationExpr.js +0 -20
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanEqualExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanEqualExpr.js +0 -27
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileGreaterThanExpr.js +0 -26
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanEqualExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanEqualExpr.js +0 -25
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLessThanExpr.js +0 -26
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalAndExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalAndExpr.js +0 -22
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalOrExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileLogicalOrExpr.js +0 -22
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileModuloExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileModuloExpr.js +0 -20
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileMultExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileMultExpr.js +0 -20
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileNotEqualExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileNotEqualExpr.js +0 -18
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileOptionalDefaultExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileOptionalDefaultExpr.js +0 -60
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftLeftExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftLeftExpr.js +0 -21
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftRightExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileShiftRightExpr.js +0 -21
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileSubExpr.d.ts +0 -5
- package/dist/compiler/AstCompiler/internal/exprs/binary/_compileSubExpr.js +0 -20
- package/dist/compiler/AstCompiler/internal/statements/_compileAssertStmt.d.ts +0 -4
- package/dist/compiler/AstCompiler/internal/statements/_compileAssertStmt.js +0 -30
- package/dist/compiler/AstCompiler/internal/statements/_compileAssignmentStmt.d.ts +0 -8
- package/dist/compiler/AstCompiler/internal/statements/_compileAssignmentStmt.js +0 -154
- package/dist/compiler/AstCompiler/internal/statements/_compileBlockStmt.d.ts +0 -4
- package/dist/compiler/AstCompiler/internal/statements/_compileBlockStmt.js +0 -14
- package/dist/compiler/AstCompiler/internal/statements/_compileBreakStmt.d.ts +0 -4
- package/dist/compiler/AstCompiler/internal/statements/_compileBreakStmt.js +0 -7
- package/dist/compiler/AstCompiler/internal/statements/_compileContinueStmt.d.ts +0 -4
- package/dist/compiler/AstCompiler/internal/statements/_compileContinueStmt.js +0 -7
- package/dist/compiler/AstCompiler/internal/statements/_compileExprStmt.d.ts +0 -1
- package/dist/compiler/AstCompiler/internal/statements/_compileExprStmt.js +0 -12
- package/dist/compiler/AstCompiler/internal/statements/_compileFailStmt.d.ts +0 -4
- package/dist/compiler/AstCompiler/internal/statements/_compileFailStmt.js +0 -18
- package/dist/compiler/AstCompiler/internal/statements/_compileForOfStmt.d.ts +0 -4
- package/dist/compiler/AstCompiler/internal/statements/_compileForOfStmt.js +0 -30
- package/dist/compiler/AstCompiler/internal/statements/_compileForStmt.d.ts +0 -7
- package/dist/compiler/AstCompiler/internal/statements/_compileForStmt.js +0 -46
- package/dist/compiler/AstCompiler/internal/statements/_compileIfStmt.d.ts +0 -4
- package/dist/compiler/AstCompiler/internal/statements/_compileIfStmt.js +0 -27
- package/dist/compiler/AstCompiler/internal/statements/_compileMatchStmt.d.ts +0 -6
- package/dist/compiler/AstCompiler/internal/statements/_compileMatchStmt.js +0 -182
- package/dist/compiler/AstCompiler/internal/statements/_compileReturnStmt.d.ts +0 -4
- package/dist/compiler/AstCompiler/internal/statements/_compileReturnStmt.js +0 -17
- package/dist/compiler/AstCompiler/internal/statements/_compileStatement.d.ts +0 -11
- package/dist/compiler/AstCompiler/internal/statements/_compileStatement.js +0 -73
- package/dist/compiler/AstCompiler/internal/statements/_compileTestStmt.d.ts +0 -1
- package/dist/compiler/AstCompiler/internal/statements/_compileTestStmt.js +0 -32
- package/dist/compiler/AstCompiler/internal/statements/_compileUsingStmt.d.ts +0 -11
- package/dist/compiler/AstCompiler/internal/statements/_compileUsingStmt.js +0 -41
- package/dist/compiler/AstCompiler/internal/statements/_compileVarStmt.d.ts +0 -34
- package/dist/compiler/AstCompiler/internal/statements/_compileVarStmt.js +0 -207
- package/dist/compiler/AstCompiler/internal/statements/_compileWhileStmt.d.ts +0 -4
- package/dist/compiler/AstCompiler/internal/statements/_compileWhileStmt.js +0 -19
- package/dist/compiler/AstCompiler/internal/types/_compileDataEncodedConcreteType.d.ts +0 -4
- package/dist/compiler/AstCompiler/internal/types/_compileDataEncodedConcreteType.js +0 -61
- package/dist/compiler/AstCompiler/internal/types/_compileSopEncodedConcreteType.d.ts +0 -4
- package/dist/compiler/AstCompiler/internal/types/_compileSopEncodedConcreteType.js +0 -59
- package/dist/compiler/AstCompiler/scope/AstScope.d.ts +0 -102
- package/dist/compiler/AstCompiler/scope/AstScope.js +0 -195
- package/dist/compiler/AstCompiler/utils/deps/ResolveStackNode.d.ts +0 -14
- package/dist/compiler/AstCompiler/utils/deps/ResolveStackNode.js +0 -36
- package/dist/compiler/AstCompiler/utils/getPropAccessReturnType.d.ts +0 -4
- package/dist/compiler/AstCompiler/utils/getPropAccessReturnType.js +0 -121
- package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/TirFuncSigTree.d.ts +0 -39
- package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/TirFuncSigTree.js +0 -129
- package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/getTirFuncSigTree.d.ts +0 -4
- package/dist/compiler/AstCompiler/utils/getTirFuncSigTree/getTirFuncSigTree.js +0 -49
- package/dist/compiler/AstCompiler/utils/wrapManyStatementsOrReturnSame.d.ts +0 -3
- package/dist/compiler/AstCompiler/utils/wrapManyStatementsOrReturnSame.js +0 -12
- package/dist/compiler/Compiler.d.ts +0 -10
- package/dist/compiler/Compiler.js +0 -39
- package/dist/compiler/TirCompiler/TirCompilerCtx.d.ts +0 -7
- package/dist/compiler/TirCompiler/TirCompilerCtx.js +0 -8
- package/dist/compiler/TirCompiler/compileTirProgram.d.ts +0 -9
- package/dist/compiler/TirCompiler/compileTirProgram.js +0 -18
- package/dist/compiler/TirCompiler/expressify/ExpressifyCtx.d.ts +0 -72
- package/dist/compiler/TirCompiler/expressify/ExpressifyCtx.js +0 -282
- package/dist/compiler/TirCompiler/expressify/determineReassignedVariablesAndReturn.d.ts +0 -27
- package/dist/compiler/TirCompiler/expressify/determineReassignedVariablesAndReturn.js +0 -248
- package/dist/compiler/TirCompiler/expressify/expressify.d.ts +0 -15
- package/dist/compiler/TirCompiler/expressify/expressify.js +0 -403
- package/dist/compiler/TirCompiler/expressify/expressifyForStmt.d.ts +0 -8
- package/dist/compiler/TirCompiler/expressify/expressifyForStmt.js +0 -115
- package/dist/compiler/TirCompiler/expressify/expressifyIfBranch.d.ts +0 -6
- package/dist/compiler/TirCompiler/expressify/expressifyIfBranch.js +0 -105
- package/dist/compiler/TirCompiler/expressify/expressifyTerminatingIfStmt.d.ts +0 -5
- package/dist/compiler/TirCompiler/expressify/expressifyTerminatingIfStmt.js +0 -15
- package/dist/compiler/TirCompiler/expressify/expressifyVarAssignmentStmt.d.ts +0 -4
- package/dist/compiler/TirCompiler/expressify/expressifyVarAssignmentStmt.js +0 -20
- package/dist/compiler/TirCompiler/expressify/expressifyVarDecl.d.ts +0 -3
- package/dist/compiler/TirCompiler/expressify/expressifyVarDecl.js +0 -34
- package/dist/compiler/TirCompiler/expressify/expressifyVars.d.ts +0 -10
- package/dist/compiler/TirCompiler/expressify/expressifyVars.js +0 -320
- package/dist/compiler/TirCompiler/expressify/flattenSopNamedDeconstructInplace_addTopDestructToCtx_getNestedDeconstruct.d.ts +0 -9
- package/dist/compiler/TirCompiler/expressify/flattenSopNamedDeconstructInplace_addTopDestructToCtx_getNestedDeconstruct.js +0 -59
- package/dist/compiler/TirCompiler/expressify/isSingleConstrStruct.d.ts +0 -3
- package/dist/compiler/TirCompiler/expressify/isSingleConstrStruct.js +0 -9
- package/dist/compiler/TirCompiler/expressify/toNamedDeconstructVarDecl.d.ts +0 -3
- package/dist/compiler/TirCompiler/expressify/toNamedDeconstructVarDecl.js +0 -15
- package/dist/compiler/TirCompiler/index.d.ts +0 -2
- package/dist/compiler/TirCompiler/index.js +0 -2
- package/dist/compiler/TirCompiler/internal/_compileHoistedDeps.d.ts +0 -5
- package/dist/compiler/TirCompiler/internal/_compileHoistedDeps.js +0 -37
- package/dist/compiler/TirCompiler/internal/deps/DepsNode.d.ts +0 -13
- package/dist/compiler/TirCompiler/internal/deps/DepsNode.js +0 -36
- package/dist/compiler/index.d.ts +0 -4
- package/dist/compiler/index.js +0 -4
- package/dist/compiler/internalVar.d.ts +0 -19
- package/dist/compiler/internalVar.js +0 -56
- package/dist/compiler/io/CompilerIoApi.d.ts +0 -36
- package/dist/compiler/io/CompilerIoApi.js +0 -62
- package/dist/compiler/io/IOutputStream.d.ts +0 -28
- package/dist/compiler/io/IOutputStream.js +0 -45
- package/dist/compiler/io/index.d.ts +0 -2
- package/dist/compiler/io/index.js +0 -2
- package/dist/compiler/path/getAbsolutePath.d.ts +0 -12
- package/dist/compiler/path/getAbsolutePath.js +0 -114
- package/dist/compiler/path/path.d.ts +0 -5
- package/dist/compiler/path/path.js +0 -160
- package/dist/compiler/tir/expressions/ITirExpr.d.ts +0 -11
- package/dist/compiler/tir/expressions/ITirExpr.js +0 -1
- package/dist/compiler/tir/expressions/TirAssertAndContinueExpr.d.ts +0 -19
- package/dist/compiler/tir/expressions/TirAssertAndContinueExpr.js +0 -41
- package/dist/compiler/tir/expressions/TirCallExpr.d.ts +0 -17
- package/dist/compiler/tir/expressions/TirCallExpr.js +0 -28
- package/dist/compiler/tir/expressions/TirCaseExpr.d.ts +0 -36
- package/dist/compiler/tir/expressions/TirCaseExpr.js +0 -257
- package/dist/compiler/tir/expressions/TirElemAccessExpr.d.ts +0 -20
- package/dist/compiler/tir/expressions/TirElemAccessExpr.js +0 -43
- package/dist/compiler/tir/expressions/TirExpr.d.ts +0 -23
- package/dist/compiler/tir/expressions/TirExpr.js +0 -46
- package/dist/compiler/tir/expressions/TirFailExpr.d.ts +0 -19
- package/dist/compiler/tir/expressions/TirFailExpr.js +0 -28
- package/dist/compiler/tir/expressions/TirFromDataExpr.d.ts +0 -22
- package/dist/compiler/tir/expressions/TirFromDataExpr.js +0 -196
- package/dist/compiler/tir/expressions/TirFuncExpr.d.ts +0 -37
- package/dist/compiler/tir/expressions/TirFuncExpr.js +0 -92
- package/dist/compiler/tir/expressions/TirHoistedExpr.d.ts +0 -18
- package/dist/compiler/tir/expressions/TirHoistedExpr.js +0 -28
- package/dist/compiler/tir/expressions/TirInlineClosedIR.d.ts +0 -16
- package/dist/compiler/tir/expressions/TirInlineClosedIR.js +0 -25
- package/dist/compiler/tir/expressions/TirLettedExpr.d.ts +0 -18
- package/dist/compiler/tir/expressions/TirLettedExpr.js +0 -28
- package/dist/compiler/tir/expressions/TirNativeFunc.d.ts +0 -104
- package/dist/compiler/tir/expressions/TirNativeFunc.js +0 -805
- package/dist/compiler/tir/expressions/TirParentesizedExpr.d.ts +0 -17
- package/dist/compiler/tir/expressions/TirParentesizedExpr.js +0 -20
- package/dist/compiler/tir/expressions/TirPropAccessExpr.d.ts +0 -18
- package/dist/compiler/tir/expressions/TirPropAccessExpr.js +0 -29
- package/dist/compiler/tir/expressions/TirTernaryExpr.d.ts +0 -18
- package/dist/compiler/tir/expressions/TirTernaryExpr.js +0 -36
- package/dist/compiler/tir/expressions/TirToDataExpr.d.ts +0 -28
- package/dist/compiler/tir/expressions/TirToDataExpr.js +0 -172
- package/dist/compiler/tir/expressions/TirTraceIfFalseExpr.d.ts +0 -23
- package/dist/compiler/tir/expressions/TirTraceIfFalseExpr.js +0 -32
- package/dist/compiler/tir/expressions/TirTypeConversionExpr.d.ts +0 -16
- package/dist/compiler/tir/expressions/TirTypeConversionExpr.js +0 -66
- package/dist/compiler/tir/expressions/TirVariableAccessExpr.d.ts +0 -18
- package/dist/compiler/tir/expressions/TirVariableAccessExpr.js +0 -30
- package/dist/compiler/tir/expressions/ToIRTermCtx.d.ts +0 -29
- package/dist/compiler/tir/expressions/ToIRTermCtx.js +0 -77
- package/dist/compiler/tir/expressions/binary/TirBinaryExpr.d.ts +0 -221
- package/dist/compiler/tir/expressions/binary/TirBinaryExpr.js +0 -532
- package/dist/compiler/tir/expressions/litteral/TirLitArrExpr.d.ts +0 -16
- package/dist/compiler/tir/expressions/litteral/TirLitArrExpr.js +0 -60
- package/dist/compiler/tir/expressions/litteral/TirLitFalseExpr.d.ts +0 -14
- package/dist/compiler/tir/expressions/litteral/TirLitFalseExpr.js +0 -17
- package/dist/compiler/tir/expressions/litteral/TirLitHexBytesExpr.d.ts +0 -15
- package/dist/compiler/tir/expressions/litteral/TirLitHexBytesExpr.js +0 -19
- package/dist/compiler/tir/expressions/litteral/TirLitIntExpr.d.ts +0 -15
- package/dist/compiler/tir/expressions/litteral/TirLitIntExpr.js +0 -19
- package/dist/compiler/tir/expressions/litteral/TirLitNamedObjExpr.d.ts +0 -22
- package/dist/compiler/tir/expressions/litteral/TirLitNamedObjExpr.js +0 -105
- package/dist/compiler/tir/expressions/litteral/TirLitObjExpr.d.ts +0 -22
- package/dist/compiler/tir/expressions/litteral/TirLitObjExpr.js +0 -102
- package/dist/compiler/tir/expressions/litteral/TirLitStrExpr.d.ts +0 -15
- package/dist/compiler/tir/expressions/litteral/TirLitStrExpr.js +0 -20
- package/dist/compiler/tir/expressions/litteral/TirLitThisExpr.d.ts +0 -14
- package/dist/compiler/tir/expressions/litteral/TirLitThisExpr.js +0 -20
- package/dist/compiler/tir/expressions/litteral/TirLitTrueExpr.d.ts +0 -14
- package/dist/compiler/tir/expressions/litteral/TirLitTrueExpr.js +0 -17
- package/dist/compiler/tir/expressions/litteral/TirLitUndefExpr.d.ts +0 -18
- package/dist/compiler/tir/expressions/litteral/TirLitUndefExpr.js +0 -23
- package/dist/compiler/tir/expressions/litteral/TirLitVoidExpr.d.ts +0 -14
- package/dist/compiler/tir/expressions/litteral/TirLitVoidExpr.js +0 -17
- package/dist/compiler/tir/expressions/litteral/TirLitteralExpr.d.ts +0 -13
- package/dist/compiler/tir/expressions/litteral/TirLitteralExpr.js +0 -24
- package/dist/compiler/tir/expressions/unary/ITirUnaryExpression.d.ts +0 -4
- package/dist/compiler/tir/expressions/unary/ITirUnaryExpression.js +0 -1
- package/dist/compiler/tir/expressions/unary/TirUnaryExclamation.d.ts +0 -17
- package/dist/compiler/tir/expressions/unary/TirUnaryExclamation.js +0 -23
- package/dist/compiler/tir/expressions/unary/TirUnaryMinus.d.ts +0 -17
- package/dist/compiler/tir/expressions/unary/TirUnaryMinus.js +0 -22
- package/dist/compiler/tir/expressions/unary/TirUnaryPlus.d.ts +0 -15
- package/dist/compiler/tir/expressions/unary/TirUnaryPlus.js +0 -20
- package/dist/compiler/tir/expressions/unary/TirUnaryPrefixExpr.d.ts +0 -6
- package/dist/compiler/tir/expressions/unary/TirUnaryPrefixExpr.js +0 -10
- package/dist/compiler/tir/expressions/unary/TirUnaryTilde.d.ts +0 -17
- package/dist/compiler/tir/expressions/unary/TirUnaryTilde.js +0 -22
- package/dist/compiler/tir/expressions/utils/NamedExpr.d.ts +0 -5
- package/dist/compiler/tir/expressions/utils/NamedExpr.js +0 -1
- package/dist/compiler/tir/program/TypedProgram.d.ts +0 -44
- package/dist/compiler/tir/program/TypedProgram.js +0 -126
- package/dist/compiler/tir/program/stdScope/StdTypes.d.ts +0 -34
- package/dist/compiler/tir/program/stdScope/StdTypes.js +0 -40
- package/dist/compiler/tir/program/stdScope/prelude/preludeTypesSrc.d.ts +0 -0
- package/dist/compiler/tir/program/stdScope/prelude/preludeTypesSrc.js +0 -288
- package/dist/compiler/tir/program/stdScope/stdScope.d.ts +0 -15
- package/dist/compiler/tir/program/stdScope/stdScope.js +0 -730
- package/dist/compiler/tir/statements/TirAssertStmt.d.ts +0 -18
- package/dist/compiler/tir/statements/TirAssertStmt.js +0 -29
- package/dist/compiler/tir/statements/TirAssignmentStmt.d.ts +0 -12
- package/dist/compiler/tir/statements/TirAssignmentStmt.js +0 -14
- package/dist/compiler/tir/statements/TirBlockStmt.d.ts +0 -9
- package/dist/compiler/tir/statements/TirBlockStmt.js +0 -25
- package/dist/compiler/tir/statements/TirBreakStmt.d.ts +0 -8
- package/dist/compiler/tir/statements/TirBreakStmt.js +0 -11
- package/dist/compiler/tir/statements/TirContinueStmt.d.ts +0 -8
- package/dist/compiler/tir/statements/TirContinueStmt.js +0 -13
- package/dist/compiler/tir/statements/TirFailStmt.d.ts +0 -13
- package/dist/compiler/tir/statements/TirFailStmt.js +0 -14
- package/dist/compiler/tir/statements/TirForOfStmt.d.ts +0 -16
- package/dist/compiler/tir/statements/TirForOfStmt.js +0 -25
- package/dist/compiler/tir/statements/TirForStmt.d.ts +0 -19
- package/dist/compiler/tir/statements/TirForStmt.js +0 -39
- package/dist/compiler/tir/statements/TirIfStmt.d.ts +0 -12
- package/dist/compiler/tir/statements/TirIfStmt.js +0 -23
- package/dist/compiler/tir/statements/TirMatchStmt.d.ts +0 -27
- package/dist/compiler/tir/statements/TirMatchStmt.js +0 -51
- package/dist/compiler/tir/statements/TirReturnStmt.d.ts +0 -10
- package/dist/compiler/tir/statements/TirReturnStmt.js +0 -12
- package/dist/compiler/tir/statements/TirStmt.d.ts +0 -32
- package/dist/compiler/tir/statements/TirStmt.js +0 -40
- package/dist/compiler/tir/statements/TirVarDecl/TirArrayLikeDeconstr.d.ts +0 -17
- package/dist/compiler/tir/statements/TirVarDecl/TirArrayLikeDeconstr.js +0 -30
- package/dist/compiler/tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.d.ts +0 -21
- package/dist/compiler/tir/statements/TirVarDecl/TirNamedDeconstructVarDecl.js +0 -34
- package/dist/compiler/tir/statements/TirVarDecl/TirSimpleVarDecl.d.ts +0 -17
- package/dist/compiler/tir/statements/TirVarDecl/TirSimpleVarDecl.js +0 -22
- package/dist/compiler/tir/statements/TirVarDecl/TirSingleDeconstructVarDecl.d.ts +0 -17
- package/dist/compiler/tir/statements/TirVarDecl/TirSingleDeconstructVarDecl.js +0 -30
- package/dist/compiler/tir/statements/TirVarDecl/TirVarDecl.d.ts +0 -10
- package/dist/compiler/tir/statements/TirVarDecl/TirVarDecl.js +0 -11
- package/dist/compiler/tir/statements/TirWhileStmt.d.ts +0 -11
- package/dist/compiler/tir/statements/TirWhileStmt.js +0 -19
- package/dist/compiler/tir/statements/utils/definitelyFails.d.ts +0 -3
- package/dist/compiler/tir/statements/utils/definitelyFails.js +0 -52
- package/dist/compiler/tir/types/TirAliasType.d.ts +0 -32
- package/dist/compiler/tir/types/TirAliasType.js +0 -49
- package/dist/compiler/tir/types/TirInterfaceImpl.d.ts +0 -44
- package/dist/compiler/tir/types/TirInterfaceImpl.js +0 -32
- package/dist/compiler/tir/types/TirInterfaceType.d.ts +0 -28
- package/dist/compiler/tir/types/TirInterfaceType.js +0 -36
- package/dist/compiler/tir/types/TirNativeType/TirNativeType.d.ts +0 -41
- package/dist/compiler/tir/types/TirNativeType/TirNativeType.js +0 -86
- package/dist/compiler/tir/types/TirNativeType/index.d.ts +0 -2
- package/dist/compiler/tir/types/TirNativeType/index.js +0 -2
- package/dist/compiler/tir/types/TirNativeType/native/Optional/data.d.ts +0 -17
- package/dist/compiler/tir/types/TirNativeType/native/Optional/data.js +0 -47
- package/dist/compiler/tir/types/TirNativeType/native/Optional/index.d.ts +0 -3
- package/dist/compiler/tir/types/TirNativeType/native/Optional/index.js +0 -3
- package/dist/compiler/tir/types/TirNativeType/native/Optional/isTirOptType.d.ts +0 -4
- package/dist/compiler/tir/types/TirNativeType/native/Optional/isTirOptType.js +0 -6
- package/dist/compiler/tir/types/TirNativeType/native/Optional/sop.d.ts +0 -17
- package/dist/compiler/tir/types/TirNativeType/native/Optional/sop.js +0 -48
- package/dist/compiler/tir/types/TirNativeType/native/bool.d.ts +0 -13
- package/dist/compiler/tir/types/TirNativeType/native/bool.js +0 -12
- package/dist/compiler/tir/types/TirNativeType/native/bytes.d.ts +0 -13
- package/dist/compiler/tir/types/TirNativeType/native/bytes.js +0 -12
- package/dist/compiler/tir/types/TirNativeType/native/data.d.ts +0 -13
- package/dist/compiler/tir/types/TirNativeType/native/data.js +0 -12
- package/dist/compiler/tir/types/TirNativeType/native/function.d.ts +0 -16
- package/dist/compiler/tir/types/TirNativeType/native/function.js +0 -38
- package/dist/compiler/tir/types/TirNativeType/native/index.d.ts +0 -10
- package/dist/compiler/tir/types/TirNativeType/native/index.js +0 -10
- package/dist/compiler/tir/types/TirNativeType/native/int.d.ts +0 -13
- package/dist/compiler/tir/types/TirNativeType/native/int.js +0 -12
- package/dist/compiler/tir/types/TirNativeType/native/linearMap.d.ts +0 -17
- package/dist/compiler/tir/types/TirNativeType/native/linearMap.js +0 -44
- package/dist/compiler/tir/types/TirNativeType/native/list.d.ts +0 -16
- package/dist/compiler/tir/types/TirNativeType/native/list.js +0 -38
- package/dist/compiler/tir/types/TirNativeType/native/string.d.ts +0 -13
- package/dist/compiler/tir/types/TirNativeType/native/string.js +0 -12
- package/dist/compiler/tir/types/TirNativeType/native/void.d.ts +0 -13
- package/dist/compiler/tir/types/TirNativeType/native/void.js +0 -12
- package/dist/compiler/tir/types/TirStructType.d.ts +0 -68
- package/dist/compiler/tir/types/TirStructType.js +0 -128
- package/dist/compiler/tir/types/TirType.d.ts +0 -34
- package/dist/compiler/tir/types/TirType.js +0 -16
- package/dist/compiler/tir/types/TirTypeParam.d.ts +0 -18
- package/dist/compiler/tir/types/TirTypeParam.js +0 -39
- package/dist/compiler/tir/types/utils/canAssignTo.d.ts +0 -24
- package/dist/compiler/tir/types/utils/canAssignTo.js +0 -337
- package/dist/compiler/tir/types/utils/canCastTo.d.ts +0 -9
- package/dist/compiler/tir/types/utils/canCastTo.js +0 -155
- package/dist/compiler/tir/types/utils/getDeconstructableType.d.ts +0 -9
- package/dist/compiler/tir/types/utils/getDeconstructableType.js +0 -20
- package/dist/compiler/tir/types/utils/getListTypeArg.d.ts +0 -2
- package/dist/compiler/tir/types/utils/getListTypeArg.js +0 -9
- package/dist/compiler/tir/types/utils/getOptTypeArg.d.ts +0 -2
- package/dist/compiler/tir/types/utils/getOptTypeArg.js +0 -14
- package/dist/compiler/tir/types/utils/getUnaliased.d.ts +0 -3
- package/dist/compiler/tir/types/utils/getUnaliased.js +0 -9
- package/dist/diagnostics/DiagnosticCategory.d.ts +0 -16
- package/dist/diagnostics/DiagnosticCategory.js +0 -39
- package/dist/diagnostics/DiagnosticEmitter.d.ts +0 -32
- package/dist/diagnostics/DiagnosticEmitter.js +0 -95
- package/dist/diagnostics/DiagnosticMessage.d.ts +0 -37
- package/dist/diagnostics/DiagnosticMessage.js +0 -229
- package/dist/diagnostics/diagnosticMessages.generated.d.ts +0 -275
- package/dist/diagnostics/diagnosticMessages.generated.js +0 -551
- package/dist/diagnostics/utils/types.d.ts +0 -5
- package/dist/diagnostics/utils/types.js +0 -1
- package/dist/index.d.ts +0 -12
- package/dist/index.js +0 -13
- package/dist/parser/Parser.d.ts +0 -150
- package/dist/parser/Parser.js +0 -2416
- package/dist/parser/Precedence.d.ts +0 -38
- package/dist/parser/Precedence.js +0 -98
- package/dist/parser/hoistStatementsInplace.d.ts +0 -14
- package/dist/parser/hoistStatementsInplace.js +0 -94
- package/dist/parser/index.d.ts +0 -1
- package/dist/parser/index.js +0 -1
- package/dist/parser/parseFile.d.ts +0 -3
- package/dist/parser/parseFile.js +0 -8
- package/dist/tokenizer/IdentifierHandling.d.ts +0 -5
- package/dist/tokenizer/IdentifierHandling.js +0 -6
- package/dist/tokenizer/OnNewLine.d.ts +0 -6
- package/dist/tokenizer/OnNewLine.js +0 -8
- package/dist/tokenizer/Token.d.ts +0 -160
- package/dist/tokenizer/Token.js +0 -213
- package/dist/tokenizer/Tokenizer.d.ts +0 -129
- package/dist/tokenizer/Tokenizer.js +0 -1323
- package/dist/tokenizer/TokenizerState.d.ts +0 -17
- package/dist/tokenizer/TokenizerState.js +0 -17
- package/dist/tokenizer/index.d.ts +0 -2
- package/dist/tokenizer/index.js +0 -2
- package/dist/tokenizer/utils/isIllegalVariableIdentifier.d.ts +0 -1
- package/dist/tokenizer/utils/isIllegalVariableIdentifier.js +0 -12
- package/dist/tokenizer/utils/operatorTokenToString.d.ts +0 -2
- package/dist/tokenizer/utils/operatorTokenToString.js +0 -57
- package/dist/tokenizer/utils/tokenFromKeyword.d.ts +0 -2
- package/dist/tokenizer/utils/tokenFromKeyword.js +0 -222
- package/dist/tokenizer/utils/tokenIsAlsoIdentifier.d.ts +0 -2
- package/dist/tokenizer/utils/tokenIsAlsoIdentifier.js +0 -24
- package/dist/utils/BasePlutsError.d.ts +0 -2
- package/dist/utils/BasePlutsError.js +0 -2
- package/dist/utils/BitUtils/index.d.ts +0 -30
- package/dist/utils/BitUtils/index.js +0 -60
- package/dist/utils/CharCode.d.ts +0 -125
- package/dist/utils/CharCode.js +0 -1
- package/dist/utils/Cloneable.d.ts +0 -6
- package/dist/utils/Cloneable.js +0 -4
- package/dist/utils/InvalidCborFormatError.d.ts +0 -3
- package/dist/utils/InvalidCborFormatError.js +0 -5
- package/dist/utils/IsSingleKey.d.ts +0 -7
- package/dist/utils/IsSingleKey.js +0 -1
- package/dist/utils/MaybePromise.d.ts +0 -2
- package/dist/utils/MaybePromise.js +0 -4
- package/dist/utils/PlutusScriptType.d.ts +0 -12
- package/dist/utils/PlutusScriptType.js +0 -1
- package/dist/utils/ToJson.d.ts +0 -4
- package/dist/utils/ToJson.js +0 -5
- package/dist/utils/UPLCFlatUtils/index.d.ts +0 -46
- package/dist/utils/UPLCFlatUtils/index.js +0 -124
- package/dist/utils/array/filterSortedStrArrInplace.d.ts +0 -7
- package/dist/utils/array/filterSortedStrArrInplace.js +0 -46
- package/dist/utils/array/keepSortedArrInplace.d.ts +0 -7
- package/dist/utils/array/keepSortedArrInplace.js +0 -49
- package/dist/utils/array/mergeSortedStrArrInplace.d.ts +0 -6
- package/dist/utils/array/mergeSortedStrArrInplace.js +0 -52
- package/dist/utils/assert.d.ts +0 -1
- package/dist/utils/assert.js +0 -5
- package/dist/utils/capitalize.d.ts +0 -1
- package/dist/utils/capitalize.js +0 -5
- package/dist/utils/combinators.d.ts +0 -37
- package/dist/utils/combinators.js +0 -76
- package/dist/utils/getCallStackAt/index.d.ts +0 -43
- package/dist/utils/getCallStackAt/index.js +0 -295
- package/dist/utils/hex.d.ts +0 -1
- package/dist/utils/hex.js +0 -6
- package/dist/utils/ints.d.ts +0 -4
- package/dist/utils/ints.js +0 -19
- package/dist/utils/isNonEmpty.d.ts +0 -1
- package/dist/utils/isNonEmpty.js +0 -3
- package/dist/utils/maybeData.d.ts +0 -4
- package/dist/utils/maybeData.js +0 -10
- package/dist/utils/stringify.d.ts +0 -2
- package/dist/utils/stringify.js +0 -31
- package/dist/utils/terminal.d.ts +0 -28
- package/dist/utils/terminal.js +0 -38
- package/dist/utils/text.d.ts +0 -172
- package/dist/utils/text.js +0 -672
- package/dist/utils/types.d.ts +0 -12
- package/dist/utils/types.js +0 -1
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { ConstType } from "@harmoniclabs/uplc";
|
|
2
|
-
import { ITirType } from "./TirType.js";
|
|
3
|
-
export declare class TirTypeParam implements ITirType {
|
|
4
|
-
readonly name: string;
|
|
5
|
-
readonly symbol: symbol;
|
|
6
|
-
constructor(name: string, symbol?: symbol);
|
|
7
|
-
hasDataEncoding(): boolean;
|
|
8
|
-
toTirTypeKey(): string;
|
|
9
|
-
toConcreteTirTypeName(): string;
|
|
10
|
-
toString(): string;
|
|
11
|
-
toAstName(): string;
|
|
12
|
-
toInternalName(): string;
|
|
13
|
-
isConcrete(): boolean;
|
|
14
|
-
clone(): TirTypeParam;
|
|
15
|
-
eq(other: TirTypeParam): boolean;
|
|
16
|
-
static eq(a: TirTypeParam, b: TirTypeParam): boolean;
|
|
17
|
-
toUplcConstType(): ConstType;
|
|
18
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
export class TirTypeParam {
|
|
2
|
-
name;
|
|
3
|
-
symbol;
|
|
4
|
-
constructor(name, symbol) {
|
|
5
|
-
this.name = name;
|
|
6
|
-
this.name = name;
|
|
7
|
-
if (typeof symbol !== "symbol")
|
|
8
|
-
this.symbol = Symbol(name);
|
|
9
|
-
}
|
|
10
|
-
hasDataEncoding() { return false; }
|
|
11
|
-
toTirTypeKey() {
|
|
12
|
-
throw new Error("`toTirTypeKey` called on TirTypeParam; tir cannot have ambiguous types");
|
|
13
|
-
}
|
|
14
|
-
toConcreteTirTypeName() {
|
|
15
|
-
throw new Error("`toConcreteTirTypeName` called on TirTypeParam; tir cannot have ambiguous types");
|
|
16
|
-
}
|
|
17
|
-
toString() {
|
|
18
|
-
return this.name;
|
|
19
|
-
}
|
|
20
|
-
toAstName() {
|
|
21
|
-
return this.toString();
|
|
22
|
-
}
|
|
23
|
-
toInternalName() {
|
|
24
|
-
return this.toString();
|
|
25
|
-
}
|
|
26
|
-
isConcrete() { return false; }
|
|
27
|
-
clone() {
|
|
28
|
-
return new TirTypeParam(this.name, this.symbol);
|
|
29
|
-
}
|
|
30
|
-
eq(other) {
|
|
31
|
-
return this.symbol === other.symbol;
|
|
32
|
-
}
|
|
33
|
-
static eq(a, b) {
|
|
34
|
-
return a.symbol === b.symbol;
|
|
35
|
-
}
|
|
36
|
-
toUplcConstType() {
|
|
37
|
-
throw new Error("type parameters cannot be represented as uplc constants.");
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { TirAliasType } from "../TirAliasType.js";
|
|
2
|
-
import { TirDataOptT } from "../TirNativeType/native/Optional/data.js";
|
|
3
|
-
import { TirSopOptT } from "../TirNativeType/native/Optional/sop.js";
|
|
4
|
-
import { TirStructType } from "../TirStructType.js";
|
|
5
|
-
import { TirNamedDestructableType, TirType } from "../TirType.js";
|
|
6
|
-
export declare enum CanAssign {
|
|
7
|
-
LeftArgIsNotConcrete = -1,
|
|
8
|
-
No = 0,
|
|
9
|
-
Yes = 1,
|
|
10
|
-
LiftToOptional = 2,
|
|
11
|
-
RequiresExplicitCast = 3
|
|
12
|
-
}
|
|
13
|
-
export declare function isStructOrStructAlias(type: TirType): boolean;
|
|
14
|
-
export declare function getStructType(type: TirType | undefined): TirStructType | undefined;
|
|
15
|
-
export declare function getNamedDestructableType(type: TirType | undefined): TirNamedDestructableType | undefined;
|
|
16
|
-
export declare function canAssignToOptional(type: TirType): type is TirDataOptT | TirSopOptT | TirAliasType<TirDataOptT | TirSopOptT>;
|
|
17
|
-
export declare function canAssignToList(type: TirType): boolean;
|
|
18
|
-
/**
|
|
19
|
-
* @returns `true` if `a` can be assigned to `b` **without** explicit cast
|
|
20
|
-
*
|
|
21
|
-
* use `getCanAssign` for more detailed information
|
|
22
|
-
*/
|
|
23
|
-
export declare function canAssignTo(a: TirType, b: TirType): boolean;
|
|
24
|
-
export declare function getCanAssign(a: TirType, b: TirType): CanAssign;
|
|
@@ -1,337 +0,0 @@
|
|
|
1
|
-
import { TirAliasType } from "../TirAliasType.js";
|
|
2
|
-
import { TirUnConstrDataResultT, TirPairDataT } from "../TirNativeType/index.js";
|
|
3
|
-
import { TirBoolT } from "../TirNativeType/native/bool.js";
|
|
4
|
-
import { TirBytesT } from "../TirNativeType/native/bytes.js";
|
|
5
|
-
import { TirDataT } from "../TirNativeType/native/data.js";
|
|
6
|
-
import { TirFuncT } from "../TirNativeType/native/function.js";
|
|
7
|
-
import { TirIntT } from "../TirNativeType/native/int.js";
|
|
8
|
-
import { TirLinearMapT } from "../TirNativeType/native/linearMap.js";
|
|
9
|
-
import { TirListT } from "../TirNativeType/native/list.js";
|
|
10
|
-
import { TirDataOptT } from "../TirNativeType/native/Optional/data.js";
|
|
11
|
-
import { TirSopOptT } from "../TirNativeType/native/Optional/sop.js";
|
|
12
|
-
import { TirStringT } from "../TirNativeType/native/string.js";
|
|
13
|
-
import { TirVoidT } from "../TirNativeType/native/void.js";
|
|
14
|
-
import { isTirStructType, TirDataStructType, TirSoPStructType } from "../TirStructType.js";
|
|
15
|
-
import { isTirNamedDestructableType } from "../TirType.js";
|
|
16
|
-
import { TirTypeParam } from "../TirTypeParam.js";
|
|
17
|
-
import { canCastToData } from "./canCastTo.js";
|
|
18
|
-
import { getUnaliased } from "./getUnaliased.js";
|
|
19
|
-
export var CanAssign;
|
|
20
|
-
(function (CanAssign) {
|
|
21
|
-
CanAssign[CanAssign["LeftArgIsNotConcrete"] = -1] = "LeftArgIsNotConcrete";
|
|
22
|
-
CanAssign[CanAssign["No"] = 0] = "No";
|
|
23
|
-
CanAssign[CanAssign["Yes"] = 1] = "Yes";
|
|
24
|
-
// yes, but...
|
|
25
|
-
CanAssign[CanAssign["LiftToOptional"] = 2] = "LiftToOptional";
|
|
26
|
-
CanAssign[CanAssign["RequiresExplicitCast"] = 3] = "RequiresExplicitCast";
|
|
27
|
-
// OnlyAsData,
|
|
28
|
-
// runtimeModifier,
|
|
29
|
-
})(CanAssign || (CanAssign = {}));
|
|
30
|
-
Object.freeze(CanAssign);
|
|
31
|
-
export function isStructOrStructAlias(type) {
|
|
32
|
-
while (type instanceof TirAliasType)
|
|
33
|
-
type = type.aliased;
|
|
34
|
-
return isTirStructType(type);
|
|
35
|
-
}
|
|
36
|
-
export function getStructType(type) {
|
|
37
|
-
while (type instanceof TirAliasType)
|
|
38
|
-
type = type.aliased;
|
|
39
|
-
return isTirStructType(type) ? type : undefined;
|
|
40
|
-
}
|
|
41
|
-
export function getNamedDestructableType(type) {
|
|
42
|
-
while (type instanceof TirAliasType)
|
|
43
|
-
type = type.aliased;
|
|
44
|
-
if (!isTirNamedDestructableType(type))
|
|
45
|
-
return undefined;
|
|
46
|
-
return type;
|
|
47
|
-
}
|
|
48
|
-
export function canAssignToOptional(type) {
|
|
49
|
-
type = getUnaliased(type);
|
|
50
|
-
return (type instanceof TirDataOptT
|
|
51
|
-
|| type instanceof TirSopOptT);
|
|
52
|
-
}
|
|
53
|
-
export function canAssignToList(type) {
|
|
54
|
-
type = getUnaliased(type);
|
|
55
|
-
return (type instanceof TirListT
|
|
56
|
-
// || type instanceof TirLinearMapT
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* @returns `true` if `a` can be assigned to `b` **without** explicit cast
|
|
61
|
-
*
|
|
62
|
-
* use `getCanAssign` for more detailed information
|
|
63
|
-
*/
|
|
64
|
-
export function canAssignTo(a, b) {
|
|
65
|
-
return getCanAssign(a, b) === CanAssign.Yes;
|
|
66
|
-
}
|
|
67
|
-
export function getCanAssign(a, b) {
|
|
68
|
-
// remove for tests
|
|
69
|
-
if (a === b)
|
|
70
|
-
return CanAssign.Yes; // same object, we don't care if not concrete
|
|
71
|
-
if (!a.isConcrete())
|
|
72
|
-
return CanAssign.LeftArgIsNotConcrete;
|
|
73
|
-
return uncheckedGetCanAssign(a, b, new Map());
|
|
74
|
-
}
|
|
75
|
-
function uncheckedGetCanAssign(a, b, symbols) {
|
|
76
|
-
// remove for tests
|
|
77
|
-
if (a === b)
|
|
78
|
-
return CanAssign.Yes; // same object (here for recursive calls)
|
|
79
|
-
// unwrap all aliases
|
|
80
|
-
// aliases are only for custom interface implementations
|
|
81
|
-
// but the data is the same
|
|
82
|
-
while (a instanceof TirAliasType)
|
|
83
|
-
a = a.aliased;
|
|
84
|
-
while (b instanceof TirAliasType)
|
|
85
|
-
b = b.aliased;
|
|
86
|
-
if (b instanceof TirTypeParam) {
|
|
87
|
-
if (symbols.has(b.symbol)) {
|
|
88
|
-
return uncheckedGetCanAssign(a, symbols.get(b.symbol), symbols);
|
|
89
|
-
}
|
|
90
|
-
symbols.set(b.symbol, a);
|
|
91
|
-
return CanAssign.Yes;
|
|
92
|
-
}
|
|
93
|
-
if (b instanceof TirVoidT) {
|
|
94
|
-
if (a instanceof TirVoidT)
|
|
95
|
-
return CanAssign.Yes;
|
|
96
|
-
if (a instanceof TirDataT)
|
|
97
|
-
return CanAssign.RequiresExplicitCast;
|
|
98
|
-
return CanAssign.No;
|
|
99
|
-
}
|
|
100
|
-
if (b instanceof TirBoolT) {
|
|
101
|
-
if (a instanceof TirBoolT)
|
|
102
|
-
return CanAssign.Yes;
|
|
103
|
-
if (a instanceof TirDataT)
|
|
104
|
-
return CanAssign.RequiresExplicitCast;
|
|
105
|
-
return CanAssign.No;
|
|
106
|
-
}
|
|
107
|
-
if (b instanceof TirIntT) {
|
|
108
|
-
if (a instanceof TirIntT)
|
|
109
|
-
return CanAssign.Yes;
|
|
110
|
-
if (a instanceof TirDataT)
|
|
111
|
-
return CanAssign.RequiresExplicitCast;
|
|
112
|
-
return CanAssign.No;
|
|
113
|
-
}
|
|
114
|
-
if (b instanceof TirBytesT) {
|
|
115
|
-
if (a instanceof TirBytesT)
|
|
116
|
-
return CanAssign.Yes;
|
|
117
|
-
if (a instanceof TirStringT)
|
|
118
|
-
return CanAssign.RequiresExplicitCast;
|
|
119
|
-
if (a instanceof TirDataT)
|
|
120
|
-
return CanAssign.RequiresExplicitCast;
|
|
121
|
-
return CanAssign.No;
|
|
122
|
-
}
|
|
123
|
-
if (b instanceof TirStringT) {
|
|
124
|
-
if (a instanceof TirStringT)
|
|
125
|
-
return CanAssign.Yes;
|
|
126
|
-
if (a instanceof TirBytesT)
|
|
127
|
-
return CanAssign.RequiresExplicitCast;
|
|
128
|
-
if (a instanceof TirDataT)
|
|
129
|
-
return CanAssign.RequiresExplicitCast;
|
|
130
|
-
return CanAssign.No;
|
|
131
|
-
}
|
|
132
|
-
if (b instanceof TirUnConstrDataResultT) {
|
|
133
|
-
return a instanceof TirUnConstrDataResultT ? CanAssign.Yes : CanAssign.No;
|
|
134
|
-
}
|
|
135
|
-
if (b instanceof TirPairDataT) {
|
|
136
|
-
return a instanceof TirPairDataT ? CanAssign.Yes : CanAssign.No;
|
|
137
|
-
}
|
|
138
|
-
if (b instanceof TirSopOptT) {
|
|
139
|
-
if (a instanceof TirSopOptT)
|
|
140
|
-
return uncheckedGetCanAssign(a.typeArg, b.typeArg, symbols);
|
|
141
|
-
if (a instanceof TirDataOptT)
|
|
142
|
-
return canAssignTo(a.typeArg, b.typeArg) ? CanAssign.RequiresExplicitCast : CanAssign.No;
|
|
143
|
-
if (a instanceof TirDataT)
|
|
144
|
-
return CanAssign.RequiresExplicitCast;
|
|
145
|
-
const canAssingToDefined = uncheckedGetCanAssign(a, b.typeArg, symbols);
|
|
146
|
-
switch (canAssingToDefined) {
|
|
147
|
-
case CanAssign.Yes: // value => Some{ value }
|
|
148
|
-
return CanAssign.LiftToOptional;
|
|
149
|
-
case CanAssign.RequiresExplicitCast:
|
|
150
|
-
// TODO: do we want to allow this?
|
|
151
|
-
// return CanAssign.RequiresExplicitCast;
|
|
152
|
-
case CanAssign.No:
|
|
153
|
-
case CanAssign.LeftArgIsNotConcrete:
|
|
154
|
-
case CanAssign.LiftToOptional: // value is not assignable with single lift
|
|
155
|
-
default:
|
|
156
|
-
return CanAssign.No;
|
|
157
|
-
}
|
|
158
|
-
return CanAssign.No;
|
|
159
|
-
}
|
|
160
|
-
if (b instanceof TirDataOptT) {
|
|
161
|
-
if (a instanceof TirSopOptT)
|
|
162
|
-
return uncheckedGetCanAssign(a.typeArg, b.typeArg, symbols);
|
|
163
|
-
if (a instanceof TirDataOptT)
|
|
164
|
-
return canAssignTo(a.typeArg, b.typeArg) ? CanAssign.RequiresExplicitCast : CanAssign.No;
|
|
165
|
-
if (a instanceof TirDataT)
|
|
166
|
-
return CanAssign.RequiresExplicitCast;
|
|
167
|
-
return CanAssign.No;
|
|
168
|
-
}
|
|
169
|
-
if (b instanceof TirListT) {
|
|
170
|
-
if (a instanceof TirListT)
|
|
171
|
-
return uncheckedGetCanAssign(a.typeArg, b.typeArg, symbols);
|
|
172
|
-
if (a instanceof TirDataT)
|
|
173
|
-
return CanAssign.RequiresExplicitCast;
|
|
174
|
-
return CanAssign.No;
|
|
175
|
-
}
|
|
176
|
-
if (b instanceof TirLinearMapT) {
|
|
177
|
-
if (a instanceof TirLinearMapT) {
|
|
178
|
-
return decideCanAssignField(uncheckedGetCanAssign(a.keyTypeArg, b.keyTypeArg, symbols), uncheckedGetCanAssign(a.valTypeArg, b.valTypeArg, symbols));
|
|
179
|
-
}
|
|
180
|
-
if (a instanceof TirDataT)
|
|
181
|
-
return CanAssign.RequiresExplicitCast;
|
|
182
|
-
return CanAssign.No;
|
|
183
|
-
}
|
|
184
|
-
if (b instanceof TirDataT) {
|
|
185
|
-
if (a instanceof TirDataT)
|
|
186
|
-
return CanAssign.Yes;
|
|
187
|
-
if (a instanceof TirDataStructType)
|
|
188
|
-
return CanAssign.RequiresExplicitCast;
|
|
189
|
-
if (a instanceof TirSoPStructType)
|
|
190
|
-
return CanAssign.No;
|
|
191
|
-
// int, bytes, string, bool, even void
|
|
192
|
-
// optionals (part of the standard ledger API) as long as the type argument can too
|
|
193
|
-
// structs that allow data encoding
|
|
194
|
-
// lists and maps of any of the above
|
|
195
|
-
// can all cast to data
|
|
196
|
-
return canCastToData(a) ? CanAssign.RequiresExplicitCast : CanAssign.No;
|
|
197
|
-
}
|
|
198
|
-
if (b instanceof TirDataStructType) {
|
|
199
|
-
if (a instanceof TirDataStructType)
|
|
200
|
-
return canAssignStruct(a, b, symbols);
|
|
201
|
-
if (a instanceof TirSoPStructType)
|
|
202
|
-
return CanAssign.No;
|
|
203
|
-
if (a instanceof TirDataT)
|
|
204
|
-
return CanAssign.RequiresExplicitCast;
|
|
205
|
-
return CanAssign.No;
|
|
206
|
-
}
|
|
207
|
-
if (b instanceof TirSoPStructType) {
|
|
208
|
-
if (a instanceof TirSoPStructType)
|
|
209
|
-
return canAssignStruct(a, b, symbols);
|
|
210
|
-
return CanAssign.No;
|
|
211
|
-
}
|
|
212
|
-
if (isTirStructType(a))
|
|
213
|
-
return CanAssign.No;
|
|
214
|
-
if (b instanceof TirFuncT) {
|
|
215
|
-
if (!(a instanceof TirFuncT
|
|
216
|
-
&& a.argTypes.length === b.argTypes.length))
|
|
217
|
-
return CanAssign.No;
|
|
218
|
-
let currentDecision = uncheckedGetCanAssign(a.returnType, b.returnType, symbols);
|
|
219
|
-
for (let i = 0; i < a.argTypes.length; i++) {
|
|
220
|
-
currentDecision = decideCanAssignField(currentDecision,
|
|
221
|
-
// TODO make one only for functions
|
|
222
|
-
uncheckedGetCanAssign(a.argTypes[i], b.argTypes[i], symbols));
|
|
223
|
-
if (currentDecision <= CanAssign.No)
|
|
224
|
-
return currentDecision;
|
|
225
|
-
}
|
|
226
|
-
return currentDecision;
|
|
227
|
-
}
|
|
228
|
-
const tsEnsureExsautstiveCheck = b;
|
|
229
|
-
return CanAssign.No;
|
|
230
|
-
}
|
|
231
|
-
function canAssignStruct(a, b, symbols) {
|
|
232
|
-
while (a instanceof TirAliasType)
|
|
233
|
-
a = a.aliased;
|
|
234
|
-
while (b instanceof TirAliasType)
|
|
235
|
-
b = b.aliased;
|
|
236
|
-
const aCtors = a.constructors;
|
|
237
|
-
const bCtors = b.constructors;
|
|
238
|
-
if (aCtors.length !== bCtors.length)
|
|
239
|
-
return CanAssign.No;
|
|
240
|
-
const len = aCtors.length;
|
|
241
|
-
// check for the same number of fields
|
|
242
|
-
// so we avoid useless checks on types that don't exsist
|
|
243
|
-
for (let i = 0; i < len; i++) {
|
|
244
|
-
const aCtor = aCtors[i];
|
|
245
|
-
const bCtor = bCtors[i];
|
|
246
|
-
if (aCtor.fields.length !== bCtor.fields.length)
|
|
247
|
-
return CanAssign.No;
|
|
248
|
-
}
|
|
249
|
-
for (let i = 0; i < len; i++) {
|
|
250
|
-
if (
|
|
251
|
-
// check for the same fields and the extending types to extend the given struct ones
|
|
252
|
-
!canAssignCtorDef(aCtors[i], bCtors[i], symbols))
|
|
253
|
-
return CanAssign.No;
|
|
254
|
-
}
|
|
255
|
-
// check if cast is needed even if shape is the same
|
|
256
|
-
for (let i = 0; i < len; i++) {
|
|
257
|
-
const aCtor = aCtors[i];
|
|
258
|
-
const bCtor = bCtors[i];
|
|
259
|
-
if (aCtor.fields.length !== bCtor.fields.length)
|
|
260
|
-
return CanAssign.RequiresExplicitCast;
|
|
261
|
-
}
|
|
262
|
-
if (a.name !== b.name)
|
|
263
|
-
return CanAssign.RequiresExplicitCast;
|
|
264
|
-
return CanAssign.Yes;
|
|
265
|
-
}
|
|
266
|
-
/**
|
|
267
|
-
*
|
|
268
|
-
* @param a extending ctor
|
|
269
|
-
* @param b extended ctor
|
|
270
|
-
* @returns
|
|
271
|
-
*/
|
|
272
|
-
function canAssignCtorDef(a, b, symbols) {
|
|
273
|
-
if (a.fields.length !== b.fields.length)
|
|
274
|
-
return CanAssign.No;
|
|
275
|
-
const len = a.fields.length;
|
|
276
|
-
let currentDecision = CanAssign.Yes;
|
|
277
|
-
let prevDecision = currentDecision;
|
|
278
|
-
for (let i = 0; i < len; i++) {
|
|
279
|
-
prevDecision = currentDecision;
|
|
280
|
-
currentDecision = decideCanAssignField(currentDecision, uncheckedGetCanAssign(a.fields[i].type, b.fields[i].type, symbols));
|
|
281
|
-
if (currentDecision <= CanAssign.No)
|
|
282
|
-
return currentDecision;
|
|
283
|
-
if (a.fields[i].name !== b.fields[i].name)
|
|
284
|
-
currentDecision = decideCanAssignField(currentDecision, CanAssign.RequiresExplicitCast);
|
|
285
|
-
}
|
|
286
|
-
return currentDecision;
|
|
287
|
-
}
|
|
288
|
-
function decideCanAssignField(currentDecision, fieldDecision) {
|
|
289
|
-
if (currentDecision === CanAssign.No
|
|
290
|
-
|| currentDecision === CanAssign.LeftArgIsNotConcrete)
|
|
291
|
-
return currentDecision;
|
|
292
|
-
switch (fieldDecision) {
|
|
293
|
-
// lift to optional only valid for direct types
|
|
294
|
-
case CanAssign.LiftToOptional: return CanAssign.No;
|
|
295
|
-
// no decisions always win
|
|
296
|
-
case CanAssign.No: return CanAssign.No;
|
|
297
|
-
case CanAssign.LeftArgIsNotConcrete: return CanAssign.LeftArgIsNotConcrete;
|
|
298
|
-
// yes decisions by most descriptive (sop and data conflict become nos)
|
|
299
|
-
case CanAssign.Yes: return currentDecision;
|
|
300
|
-
case CanAssign.RequiresExplicitCast: {
|
|
301
|
-
switch (currentDecision) {
|
|
302
|
-
case CanAssign.Yes: return CanAssign.RequiresExplicitCast;
|
|
303
|
-
case CanAssign.RequiresExplicitCast: return CanAssign.RequiresExplicitCast;
|
|
304
|
-
// case CanAssign.OnlyAsData: return CanAssign.OnlyAsData;
|
|
305
|
-
// case CanAssign.runtimeModifier: return CanAssign.runtimeModifier;
|
|
306
|
-
default: return CanAssign.No;
|
|
307
|
-
}
|
|
308
|
-
break;
|
|
309
|
-
}
|
|
310
|
-
// case CanAssign.OnlyAsData: {
|
|
311
|
-
// switch( currentDecision )
|
|
312
|
-
// {
|
|
313
|
-
// case CanAssign.Yes: return CanAssign.OnlyAsData;
|
|
314
|
-
// case CanAssign.RequiresExplicitCast: return CanAssign.OnlyAsData;
|
|
315
|
-
// case CanAssign.OnlyAsData: return CanAssign.OnlyAsData;
|
|
316
|
-
// case CanAssign.runtimeModifier: return CanAssign.No; // conflict
|
|
317
|
-
// default: return CanAssign.No;
|
|
318
|
-
// }
|
|
319
|
-
// break;
|
|
320
|
-
// }
|
|
321
|
-
// case CanAssign.runtimeModifier: {
|
|
322
|
-
// switch( currentDecision )
|
|
323
|
-
// {
|
|
324
|
-
// case CanAssign.Yes: return CanAssign.runtimeModifier;
|
|
325
|
-
// case CanAssign.RequiresExplicitCast: return CanAssign.runtimeModifier;
|
|
326
|
-
// // case CanAssign.OnlyAsData: return CanAssign.No; // conflict
|
|
327
|
-
// case CanAssign.runtimeModifier: return CanAssign.runtimeModifier;
|
|
328
|
-
// default: return CanAssign.No;
|
|
329
|
-
// }
|
|
330
|
-
// break;
|
|
331
|
-
// }
|
|
332
|
-
default:
|
|
333
|
-
// never
|
|
334
|
-
// fieldDecision;
|
|
335
|
-
return CanAssign.No;
|
|
336
|
-
}
|
|
337
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { TirType } from "../TirType.js";
|
|
2
|
-
export declare function canCastTo(a: TirType, b: TirType): boolean;
|
|
3
|
-
/**
|
|
4
|
-
* int, bytes, string, bool, even void
|
|
5
|
-
* lists and maps of any of the above
|
|
6
|
-
* optionals (part of the standard ledger API) as long as the type argument can too
|
|
7
|
-
* can all cast to data
|
|
8
|
-
*/
|
|
9
|
-
export declare function canCastToData(a: TirType): boolean;
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { TirAliasType } from "../TirAliasType.js";
|
|
2
|
-
import { TirBoolT } from "../TirNativeType/native/bool.js";
|
|
3
|
-
import { TirBytesT } from "../TirNativeType/native/bytes.js";
|
|
4
|
-
import { TirDataT } from "../TirNativeType/native/data.js";
|
|
5
|
-
import { TirFuncT } from "../TirNativeType/native/function.js";
|
|
6
|
-
import { TirIntT } from "../TirNativeType/native/int.js";
|
|
7
|
-
import { TirLinearMapT } from "../TirNativeType/native/linearMap.js";
|
|
8
|
-
import { TirListT } from "../TirNativeType/native/list.js";
|
|
9
|
-
import { TirDataOptT } from "../TirNativeType/native/Optional/data.js";
|
|
10
|
-
import { TirSopOptT } from "../TirNativeType/native/Optional/sop.js";
|
|
11
|
-
import { TirStringT } from "../TirNativeType/native/string.js";
|
|
12
|
-
import { TirVoidT } from "../TirNativeType/native/void.js";
|
|
13
|
-
import { isTirStructType, TirDataStructType } from "../TirStructType.js";
|
|
14
|
-
import { CanAssign, getCanAssign } from "./canAssignTo.js";
|
|
15
|
-
export function canCastTo(a, b) {
|
|
16
|
-
if (!(a.isConcrete()
|
|
17
|
-
&& b.isConcrete()))
|
|
18
|
-
return false; // both need to be concrete
|
|
19
|
-
while (b instanceof TirAliasType)
|
|
20
|
-
b = b.aliased;
|
|
21
|
-
while (a instanceof TirAliasType)
|
|
22
|
-
a = a.aliased;
|
|
23
|
-
if (b instanceof TirDataT) {
|
|
24
|
-
return canCastToData(a);
|
|
25
|
-
}
|
|
26
|
-
if (isTirStructType(b)) {
|
|
27
|
-
switch (getCanAssign(a, b)) {
|
|
28
|
-
case CanAssign.Yes:
|
|
29
|
-
// case CanAssign.runtimeModifier:
|
|
30
|
-
// case CanAssign.OnlyAsData:
|
|
31
|
-
case CanAssign.RequiresExplicitCast:
|
|
32
|
-
return true;
|
|
33
|
-
case CanAssign.No:
|
|
34
|
-
case CanAssign.LeftArgIsNotConcrete:
|
|
35
|
-
default:
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
if (b instanceof TirVoidT) {
|
|
40
|
-
return (a instanceof TirVoidT
|
|
41
|
-
|| a instanceof TirDataT // Constr( 0, [] ) // void is unit
|
|
42
|
-
);
|
|
43
|
-
}
|
|
44
|
-
if (b instanceof TirBoolT) {
|
|
45
|
-
return (a instanceof TirBoolT
|
|
46
|
-
|| a instanceof TirDataT
|
|
47
|
-
|| a instanceof TirIntT
|
|
48
|
-
|| a instanceof TirSopOptT
|
|
49
|
-
|| a instanceof TirDataOptT);
|
|
50
|
-
}
|
|
51
|
-
if (b instanceof TirIntT) {
|
|
52
|
-
if (a instanceof TirIntT)
|
|
53
|
-
return true;
|
|
54
|
-
if (a instanceof TirDataT)
|
|
55
|
-
return true;
|
|
56
|
-
if (a instanceof TirBoolT)
|
|
57
|
-
return true; // 0 | 1
|
|
58
|
-
if (a instanceof TirBytesT)
|
|
59
|
-
return true; // decode big endian plutus v3 builtin
|
|
60
|
-
return false;
|
|
61
|
-
}
|
|
62
|
-
if (b instanceof TirBytesT) {
|
|
63
|
-
if (a instanceof TirBytesT)
|
|
64
|
-
return true;
|
|
65
|
-
if (a instanceof TirDataT)
|
|
66
|
-
return true;
|
|
67
|
-
if (a instanceof TirStringT)
|
|
68
|
-
return true; // string -> bytes // decode utf8
|
|
69
|
-
// how do we handle this?
|
|
70
|
-
// in theory we can encode but only fixed size
|
|
71
|
-
// we have no idea of the size of ints
|
|
72
|
-
// if( a instanceof TirIntT ) return true;
|
|
73
|
-
return false;
|
|
74
|
-
}
|
|
75
|
-
if (b instanceof TirStringT) {
|
|
76
|
-
if (a instanceof TirStringT)
|
|
77
|
-
return true;
|
|
78
|
-
if (a instanceof TirDataT)
|
|
79
|
-
return true;
|
|
80
|
-
if (a instanceof TirBytesT)
|
|
81
|
-
return true; // bytes -> string // encode utf8
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
if (b instanceof TirDataOptT
|
|
85
|
-
|| b instanceof TirSopOptT) {
|
|
86
|
-
if (a instanceof TirDataOptT
|
|
87
|
-
|| a instanceof TirSopOptT)
|
|
88
|
-
return canCastTo(a.typeArg, b.typeArg);
|
|
89
|
-
if (a instanceof TirDataT)
|
|
90
|
-
return true;
|
|
91
|
-
return false;
|
|
92
|
-
}
|
|
93
|
-
if (b instanceof TirListT) {
|
|
94
|
-
if (a instanceof TirListT)
|
|
95
|
-
return canCastTo(a.typeArg, b.typeArg);
|
|
96
|
-
if (a instanceof TirDataT)
|
|
97
|
-
return canCastToData(b.typeArg);
|
|
98
|
-
return false;
|
|
99
|
-
}
|
|
100
|
-
if (b instanceof TirLinearMapT) {
|
|
101
|
-
if (a instanceof TirLinearMapT) {
|
|
102
|
-
return (canCastTo(a.keyTypeArg, b.keyTypeArg)
|
|
103
|
-
&& canCastTo(a.valTypeArg, b.valTypeArg));
|
|
104
|
-
}
|
|
105
|
-
if (a instanceof TirDataT)
|
|
106
|
-
return (canCastToData(b.keyTypeArg)
|
|
107
|
-
&& canCastToData(b.valTypeArg));
|
|
108
|
-
return false;
|
|
109
|
-
}
|
|
110
|
-
if (b instanceof TirFuncT) {
|
|
111
|
-
if (!(a instanceof TirFuncT))
|
|
112
|
-
return false;
|
|
113
|
-
return (a.argTypes.length === b.argTypes.length
|
|
114
|
-
&& a.argTypes.every((arg, i) => getCanAssign(arg, b.argTypes[i]) === CanAssign.Yes)
|
|
115
|
-
&& getCanAssign(a.returnType, b.returnType) === CanAssign.Yes);
|
|
116
|
-
}
|
|
117
|
-
// TirTypeParam
|
|
118
|
-
// b;
|
|
119
|
-
return false;
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* int, bytes, string, bool, even void
|
|
123
|
-
* lists and maps of any of the above
|
|
124
|
-
* optionals (part of the standard ledger API) as long as the type argument can too
|
|
125
|
-
* can all cast to data
|
|
126
|
-
*/
|
|
127
|
-
export function canCastToData(a) {
|
|
128
|
-
while (a instanceof TirAliasType
|
|
129
|
-
|| a instanceof TirSopOptT
|
|
130
|
-
|| a instanceof TirDataOptT
|
|
131
|
-
|| a instanceof TirListT) {
|
|
132
|
-
if (a instanceof TirAliasType)
|
|
133
|
-
a = a.aliased;
|
|
134
|
-
if (a instanceof TirListT
|
|
135
|
-
|| a instanceof TirSopOptT)
|
|
136
|
-
a = a.typeArg;
|
|
137
|
-
}
|
|
138
|
-
if (a instanceof TirDataT
|
|
139
|
-
|| a instanceof TirVoidT
|
|
140
|
-
|| a instanceof TirIntT
|
|
141
|
-
|| a instanceof TirBytesT
|
|
142
|
-
|| a instanceof TirStringT
|
|
143
|
-
|| a instanceof TirBoolT
|
|
144
|
-
|| a instanceof TirDataOptT
|
|
145
|
-
|| a instanceof TirDataStructType)
|
|
146
|
-
return true;
|
|
147
|
-
if (a instanceof TirLinearMapT) {
|
|
148
|
-
const key = canCastToData(a.keyTypeArg);
|
|
149
|
-
const value = canCastToData(a.valTypeArg);
|
|
150
|
-
return key && value;
|
|
151
|
-
}
|
|
152
|
-
// TirFuncT | TirSoPStructType | TirTypeParam
|
|
153
|
-
a;
|
|
154
|
-
return false;
|
|
155
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { TirDataT } from "../TirNativeType/native/data.js";
|
|
2
|
-
import { TirLinearMapT } from "../TirNativeType/native/linearMap.js";
|
|
3
|
-
import { TirListT } from "../TirNativeType/native/list.js";
|
|
4
|
-
import { TirDataOptT } from "../TirNativeType/native/Optional/data.js";
|
|
5
|
-
import { TirSopOptT } from "../TirNativeType/native/Optional/sop.js";
|
|
6
|
-
import { TirStructType } from "../TirStructType.js";
|
|
7
|
-
import { TirType } from "../TirType.js";
|
|
8
|
-
export type DeconstructableTirType = TirStructType | TirSopOptT | TirDataOptT | TirListT | TirLinearMapT | TirDataT;
|
|
9
|
-
export declare function getDeconstructableType(type: TirType): DeconstructableTirType | undefined;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { TirAliasType } from "../TirAliasType.js";
|
|
2
|
-
import { TirDataT } from "../TirNativeType/native/data.js";
|
|
3
|
-
import { TirLinearMapT } from "../TirNativeType/native/linearMap.js";
|
|
4
|
-
import { TirListT } from "../TirNativeType/native/list.js";
|
|
5
|
-
import { TirDataOptT } from "../TirNativeType/native/Optional/data.js";
|
|
6
|
-
import { TirSopOptT } from "../TirNativeType/native/Optional/sop.js";
|
|
7
|
-
import { isTirStructType } from "../TirStructType.js";
|
|
8
|
-
export function getDeconstructableType(type) {
|
|
9
|
-
while (type instanceof TirAliasType)
|
|
10
|
-
type = type.aliased;
|
|
11
|
-
if (isTirStructType(type)
|
|
12
|
-
|| type instanceof TirSopOptT
|
|
13
|
-
|| type instanceof TirDataOptT
|
|
14
|
-
|| type instanceof TirListT
|
|
15
|
-
|| type instanceof TirLinearMapT
|
|
16
|
-
|| type instanceof TirDataT // builtin choose data
|
|
17
|
-
)
|
|
18
|
-
return type;
|
|
19
|
-
return undefined;
|
|
20
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { TirAliasType } from "../TirAliasType.js";
|
|
2
|
-
import { TirListT } from "../TirNativeType/native/list.js";
|
|
3
|
-
export function getListTypeArg(list_t) {
|
|
4
|
-
while (list_t instanceof TirAliasType)
|
|
5
|
-
list_t = list_t.aliased;
|
|
6
|
-
if (list_t instanceof TirListT)
|
|
7
|
-
return list_t.typeArg;
|
|
8
|
-
return undefined;
|
|
9
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { TirAliasType } from "../TirAliasType.js";
|
|
2
|
-
import { TirDataOptT } from "../TirNativeType/native/Optional/data.js";
|
|
3
|
-
import { TirSopOptT } from "../TirNativeType/native/Optional/sop.js";
|
|
4
|
-
import { isTirType } from "../TirType.js";
|
|
5
|
-
export function getOptTypeArg(opt_t) {
|
|
6
|
-
if (!isTirType(opt_t))
|
|
7
|
-
throw new Error("getOptTypeArg: not a TirType");
|
|
8
|
-
while (opt_t instanceof TirAliasType)
|
|
9
|
-
opt_t = opt_t.aliased;
|
|
10
|
-
if (opt_t instanceof TirSopOptT
|
|
11
|
-
|| opt_t instanceof TirDataOptT)
|
|
12
|
-
return opt_t.typeArg;
|
|
13
|
-
return undefined;
|
|
14
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { TirAliasType } from "../TirAliasType.js";
|
|
2
|
-
import { isTirType } from "../TirType.js";
|
|
3
|
-
export function getUnaliased(t) {
|
|
4
|
-
if (!isTirType(t))
|
|
5
|
-
throw new Error(`getUnaliased: expected a TirType, got ${t}`);
|
|
6
|
-
while (t instanceof TirAliasType)
|
|
7
|
-
t = t.aliased;
|
|
8
|
-
return t;
|
|
9
|
-
}
|