Packages

case class SMethod(objType: STypeCompanion, name: String, stype: SFunc, methodId: Byte, costKind: CostKind, irInfo: MethodIRInfo, docInfo: Option[OperationInfo], costFunc: Option[MethodCostFunc]) extends Product with Serializable

Represents method descriptor.

objType

type or type constructor descriptor

name

method name

stype

method signature type, where stype.tDom - argument type and stype.tRange - method result type.

methodId

method code, it should be unique among methods of the same objType.

costKind

cost descriptor for this method

irInfo

meta information connecting SMethod with ErgoTree (see MethodIRInfo)

docInfo

optional human readable method description data

costFunc

optional specification of how the cost should be computed for the given method call (See ErgoTreeEvaluator.calcCost method).

Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SMethod
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SMethod(objType: STypeCompanion, name: String, stype: SFunc, methodId: Byte, costKind: CostKind, irInfo: MethodIRInfo, docInfo: Option[OperationInfo], costFunc: Option[MethodCostFunc])

    objType

    type or type constructor descriptor

    name

    method name

    stype

    method signature type, where stype.tDom - argument type and stype.tRange - method result type.

    methodId

    method code, it should be unique among methods of the same objType.

    costKind

    cost descriptor for this method

    irInfo

    meta information connecting SMethod with ErgoTree (see MethodIRInfo)

    docInfo

    optional human readable method description data

    costFunc

    optional specification of how the cost should be computed for the given method call (See ErgoTreeEvaluator.calcCost method).

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def argInfo(argName: String): ArgInfo

    Lookup ArgInfo for the given argName or throw an exception.

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  7. val costFunc: Option[MethodCostFunc]
  8. val costKind: CostKind
  9. val docInfo: Option[OperationInfo]
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. lazy val evalMethod: RMethod

    Returns refection RMethod which must be invoked to evaluate this method.

    Returns refection RMethod which must be invoked to evaluate this method. The method is resolved by its name using name + "_eval" naming convention.

    See also

    map_eval, flatMap_eval and other *_eval methods.

  12. lazy val extraDescriptors: Seq[RType[_]]

    Additional type descriptors, which are necessary to perform invocation of Method associated with this instance.

    Additional type descriptors, which are necessary to perform invocation of Method associated with this instance.

    See also

    MethodCall.eval

  13. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def genericMethod: SMethod

    Return generic template of this method.

    Return generic template of this method.

    Annotations
    @inline()
  15. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. def invokeFixed(obj: Any, args: Array[Any])(implicit E: ErgoTreeEvaluator): Any

    Invoke this method on the given object with the arguments.

    Invoke this method on the given object with the arguments. This is used for methods with FixedCost costKind.

  17. val irInfo: MethodIRInfo
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. lazy val javaMethod: RMethod

    Finds and keeps the RMethod instance which corresponds to this method descriptor.

    Finds and keeps the RMethod instance which corresponds to this method descriptor. The lazy value is forced only if irInfo.javaMethod == None

  20. val methodId: Byte
  21. val name: String
  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. val objType: STypeCompanion
  26. lazy val opDesc: MethodDesc

    Operation descriptor of this method.

  27. def opId: OperationId

    Returns OperationId for AOT costing.

  28. def opName: String

    Name of a language operation represented by this method.

  29. def specializeFor(objTpe: SType, args: Seq[SType]): SMethod

    Specializes this instance by creating a new SMethod instance where signature is specialized with respect to the given object and args types.

    Specializes this instance by creating a new SMethod instance where signature is specialized with respect to the given object and args types. It is used in sigmastate.serialization.MethodCallSerializer parse method, so it is part of consensus protocol.

    objTpe

    specific type of method receiver (aka object)

    args

    specific types of method arguments

    returns

    new instance of method descriptor with specialized signature

  30. val stype: SFunc
  31. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  32. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  35. def withConcreteTypes(subst: Map[STypeVar, SType]): SMethod

    Create a new instance in which the stype field transformed using the given substitution.

  36. def withCost(costFunc: MethodCostFunc): SMethod

    Create a new instance with the given cost function.

  37. def withIRInfo(irBuilder: PartialFunction[(SigmaBuilder, SValue, SMethod, Seq[SValue], STypeSubst), SValue], javaMethod: RMethod = null, invokeHandler: InvokeDescBuilder = null): SMethod

    Create a new instance with the given IR builder (aka MethodCall rewriter) parameter.

  38. def withInfo(desc: String, args: ArgInfo*): SMethod

    Create a new instance with the given OperationInfo parameters.

    Create a new instance with the given OperationInfo parameters. NOTE: opDesc parameter is not defined and falls back to None.

  39. def withInfo(opDesc: ValueCompanion, desc: String, args: ArgInfo*): SMethod

    Create a new instance with the given OperationInfo parameters.

  40. def withSType(newSType: SFunc): SMethod

    Create a new instance with the given stype.

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped