arguments passed to the method on invocation
method to be invoked
object on which method will be invoked
Unique id of the node class used in serialization of ErgoTree.
Unique id of the node class used in serialization of ErgoTree.
Every value represents an operation and that operation can be associated with a function type, describing functional meaning of the operation, kind of operation signature.
Every value represents an operation and that operation can be associated with a function type, describing functional meaning of the operation, kind of operation signature. Thus we can obtain global operation identifiers by combining Value.opName with Value.opType, so that if (v1.opName == v2.opName) && (v1.opType == v2.opType) then v1 and v2 are functionally point-wise equivalent. This in particular means that if two _different_ ops have the same opType they _should_ have different opNames. Thus defined op ids are used in a Cost Model - a table of all existing primitives coupled with performance parameters.
The type of the value represented by this node.
The type of the value represented by this node. If the value is an operation it is the type of operation result.
a map of concrete type for each generic type parameter
Represents in ErgoTree an invocation of method of the object
obj
with argumentsargs
. The SMethod instances in STypeCompanions may have type STypeIdent in methods types, but valid ErgoTree should have SMethod instances specialized for specific types of obj and args usingspecializeFor
. This means, if we save typeId, mathodId, and we save all the arguments, we can restore the specialized SMethod instance. This work by induction, if we assume all arguments are monomorphic, then we can make MethodCall monomorphic. Thus, all ErgoTree instances are monomorphic by construction.object on which method will be invoked
method to be invoked
arguments passed to the method on invocation
a map of concrete type for each generic type parameter