Create arithmetic operation using given operation arguments and the given node constructor.
Create arithmetic operation using given operation arguments and the given node constructor.
operand of the operation (left sub-expression)
operand of the operation (right sub-expression)
constructor of the node
Helper method to check constraints on the arguments of the binary operation.
Helper method to check constraints on the arguments of the binary operation.
operand of the operation (left sub-expression)
operand of the operation (right sub-expression)
an array of constraints (should be WrappedArray (not List) for performance) HOTSPOT: called during script deserialization (don't beautify this code)
Create comparison operation using given operation arguments and the given node constructor.
Create comparison operation using given operation arguments and the given node constructor.
operand of the operation (left sub-expression)
operand of the operation (right sub-expression)
constructor of the node
Dynamic variable used to pass SourceContext to the constructors of the node.
Dynamic variable used to pass SourceContext to the constructors of the node. Used in concrete implementations of this interface.
Create equality operation using given operation arguments and the given node constructor.
Create equality operation using given operation arguments and the given node constructor.
operand of the operation (left sub-expression)
operand of the operation (right sub-expression)
constructor of the node
Created a new Value instance with an appropriate type derived from the given data obj
.
Created a new Value instance with an appropriate type derived from the given data obj
.
If obj
is already Value, then it is returned as result.
Uses scalan.Nullable instead of scala.Option to avoid allocation on consensus hot path.
Logically inverse to mkSigmaPropIsProven
Logically inverse to mkSigmaPropIsProven
Logically inverse to mkBoolToSigmaProp
Logically inverse to mkBoolToSigmaProp
Standard implementation of SigmaBuilder interface in which most of the operations delegate common logic to equalityOp, comparisonOp and arithOp with default implementation. Note, each method of this class uses current value of
currentSrcCtx
dynamic variable to attach SourceContext to the created node. Thus, it is a responsibility of the caller to provide valid value of thecurrentSrcCtx
variable. (See for example how this variable is used in SigmaParser.)