Class/Object

sigmastate

SMethod

Related Docs: object SMethod | package sigmastate

Permalink

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])

    Permalink

    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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def argInfo(argName: String): ArgInfo

    Permalink

    Lookup ArgInfo for the given argName or throw an exception.

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. val costFunc: Option[MethodCostFunc]

    Permalink

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

  8. val costKind: CostKind

    Permalink

    cost descriptor for this method

  9. val docInfo: Option[OperationInfo]

    Permalink

    optional human readable method description data

  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. lazy val evalMethod: Method

    Permalink

    Returns Java refection Method which must be invoked to evaluate this method.

    Returns Java refection Method 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[_]]

    Permalink

    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

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

    Permalink

    Return generic template of this method.

    Return generic template of this method.

    Annotations
    @inline()
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. def invokeFixed(obj: Any, args: Array[Any])(implicit E: ErgoTreeEvaluator): AnyRef

    Permalink

    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

    Permalink

    meta information connecting SMethod with ErgoTree (see MethodIRInfo)

  18. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  19. lazy val javaMethod: Method

    Permalink

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

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

  20. val methodId: Byte

    Permalink

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

  21. val name: String

    Permalink

    method name

  22. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  23. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  25. val objType: STypeCompanion

    Permalink

    type or type constructor descriptor

  26. lazy val opDesc: MethodDesc

    Permalink

    Operation descriptor of this method.

  27. def opId: OperationId

    Permalink

    Returns OperationId for AOT costing.

  28. def opName: String

    Permalink

    Name of a language operation represented by this method.

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

    Permalink

    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

    Permalink

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

  31. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  32. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  35. def withConcreteTypes(subst: Map[STypeVar, SType]): SMethod

    Permalink

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

  36. def withCost(costFunc: MethodCostFunc): SMethod

    Permalink

    Create a new instance with the given cost function.

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

    Permalink

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

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

    Permalink

    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

    Permalink

    Create a new instance with the given OperationInfo parameters.

  40. def withSType(newSType: SFunc): SMethod

    Permalink

    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