Object

sigmastate

SGlobal

Related Doc: package sigmastate

Permalink

object SGlobal extends SProduct with SPredefType with SMonoType with Product with Serializable

This type is introduced to unify handling of global and non-global (i.e. methods) operations. It unifies implementation of global operation with implementation of methods and avoids code duplication (following DRY principle https://en.wikipedia.org/wiki/Don%27t_repeat_yourself). The WrappedType is special.sigma.SigmaDslBuilder, which is an interface implemented by the singleton sigmastate.eval.CostingSigmaDslBuilder

The Constant(...) tree node of this type are not allowed, as well as using it in register and context variables (aka ContextExtension)

When new methods are added to this type via a soft-fork, they will be serialized as part of ErgoTree using MethodCallSerializer, where SGlobal.typeCode will be used.

See also

sigmastate.lang.SigmaPredef

Linear Supertypes
Serializable, Serializable, SMonoType, STypeCompanion, SPredefType, SProduct, SType, SigmaNode, Product, Equals, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SGlobal
  2. Serializable
  3. Serializable
  4. SMonoType
  5. STypeCompanion
  6. SPredefType
  7. SProduct
  8. SType
  9. SigmaNode
  10. Product
  11. Equals
  12. AnyRef
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type WrappedType = SigmaDslBuilder

    Permalink

    The underlying Scala type of data values described by this type descriptor.

    The underlying Scala type of data values described by this type descriptor. E.g. scala.Int for SInt descriptor.

    Definition Classes
    SGlobalSType

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 ?:(whenNoType: ⇒ SType): SType

    Permalink

    Elvis operator for types.

    Elvis operator for types. See https://en.wikipedia.org/wiki/Elvis_operator

    Definition Classes
    SType
  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. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  10. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  11. def getMethodById(methodId: Byte): Option[SMethod]

    Permalink

    Lookup method by its id in this type.

    Lookup method by its id in this type.

    Definition Classes
    STypeCompanion
    Annotations
    @inline()
  12. def getMethodByName(name: String): SMethod

    Permalink

    Looks up the method descriptor by the method name.

    Looks up the method descriptor by the method name.

    Definition Classes
    STypeCompanion
  13. def getMethods(): Seq[SMethod]

    Permalink

    This method should be overriden in derived classes to add new methods in addition to inherited.

    This method should be overriden in derived classes to add new methods in addition to inherited. Typical override: super.getMethods() ++ Seq(m1, m2, m3)

    Attributes
    protected
    Definition Classes
    SGlobalSProduct
  14. lazy val groupGeneratorMethod: SMethod

    Permalink
  15. def hasMethod(name: String): Boolean

    Permalink

    Returns true if this type has a method with the given name.

    Returns true if this type has a method with the given name.

    Definition Classes
    SProduct
  16. def isEmbeddable: Boolean

    Permalink

    Returns true if this type embeddable, i.e.

    Returns true if this type embeddable, i.e. a type that can be combined with type constructor for optimized encoding. For each embeddable type T, and type constructor C, the type C[T] can be represented by a single byte.

    Definition Classes
    SType
    See also

    sigmastate.serialization.TypeSerializer

  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. def method(methodName: String): Option[SMethod]

    Permalink

    Finds a method descriptor SMethod for the given name.

    Finds a method descriptor SMethod for the given name.

    Definition Classes
    SProduct
  19. def methodById(methodId: Byte): SMethod

    Permalink

    Lookup method in this type by method's id or throw ValidationException.

    Lookup method in this type by method's id or throw ValidationException. This method can be used in trySoftForkable section to either obtain valid method or catch ValidatioinException which can be checked for soft-fork condition. It delegate to getMethodById to lookup method.

    Definition Classes
    STypeCompanion
    See also

    getMethodById

  20. def methodIndex(name: String): Int

    Permalink

    Returns -1 if method is not found.

    Returns -1 if method is not found.

    Definition Classes
    SProduct
  21. lazy val methods: Seq[SMethod]

    Permalink

    Returns all the methods of this type.

    Returns all the methods of this type.

    Definition Classes
    SProduct
  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. def property(name: String, tpeRes: SType, id: Byte, valueCompanion: ValueCompanion): SMethod

    Permalink

    Helper method to create method descriptors for properties (i.e.

    Helper method to create method descriptors for properties (i.e. methods without args).

    Attributes
    protected
    Definition Classes
    SMonoType
  26. def propertyCall(name: String, tpeRes: SType, id: Byte, costKind: CostKind): SMethod

    Permalink

    Helper method to create method descriptors for properties (i.e.

    Helper method to create method descriptors for properties (i.e. methods without args).

    Attributes
    protected
    Definition Classes
    SMonoType
  27. val reflection: InterpreterReflection.type

    Permalink

    Force initialization of reflection.

    Force initialization of reflection.

    Definition Classes
    STypeCompanion
  28. val reprClass: RClass[_]

    Permalink

    Class which represents values of this type.

    Class which represents values of this type. When method call is executed, the corresponding method of this class is invoked via RMethod.invoke().

    Definition Classes
    SGlobalSTypeCompanion
  29. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  30. lazy val thisRClass: RClass[_]

    Permalink

    Represents class of this.

    Represents class of this.

    Definition Classes
    STypeCompanion
  31. def toTermString: String

    Permalink

    Returns parsable type term string of the type described by this type descriptor.

    Returns parsable type term string of the type described by this type descriptor. For every type it should be inverse to SigmaTyper.parseType. This is default fallback implementation, should be overriden if it is not correct for a particular type.

    Definition Classes
    SType
  32. val typeCode: TypeCode

    Permalink

    Type code used in serialization of SType values.

    Type code used in serialization of SType values.

    Definition Classes
    SGlobalSType
    See also

    TypeSerializer

  33. def typeId: TypeCode

    Permalink

    Type identifier to use in method serialization

    Type identifier to use in method serialization

    Definition Classes
    SGlobalSTypeCompanion
  34. def typeName: String

    Permalink

    If this is SType instance then returns the name of the corresponding RType.

    If this is SType instance then returns the name of the corresponding RType. Otherwise returns the name of type companion object (e.g. SCollection).

    Definition Classes
    STypeCompanion
  35. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. def withSubstTypes(subst: Map[STypeVar, SType]): SType

    Permalink

    Applies a type substitution to this type.

    Applies a type substitution to this type.

    subst

    the type substitution to apply

    returns

    the type after applying the substitution

    Definition Classes
    SType
  39. lazy val xorMethod: SMethod

    Permalink
  40. def xor_eval(mc: MethodCall, G: SigmaDslBuilder, ls: Coll[Byte], rs: Coll[Byte])(implicit E: ErgoTreeEvaluator): Coll[Byte]

    Permalink

    Implements evaluation of Global.xor method call ErgoTree node.

    Implements evaluation of Global.xor method call ErgoTree node. Called via reflection based on naming convention.

    See also

    SMethod.evalMethod, Xor.eval, Xor.xorWithCosting

Inherited from Serializable

Inherited from Serializable

Inherited from SMonoType

Inherited from STypeCompanion

Inherited from SPredefType

Inherited from SProduct

Inherited from SType

Inherited from SigmaNode

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped