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
    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. val coster: Some[Coster]

    Permalink

    CosterFactory associated with this type.

    CosterFactory associated with this type.

    Definition Classes
    SGlobalSTypeCompanion
  8. def dataSize(v: SType.WrappedType): Long

    Permalink

    Approximate data size of the given context without ContextExtension.

    Approximate data size of the given context without ContextExtension.

    Definition Classes
    SGlobalSType
  9. final def eq(arg0: AnyRef): Boolean

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  13. 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()
  14. 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
  15. 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
  16. lazy val groupGeneratorMethod: SMethod

    Permalink
  17. 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
  18. def isConstantSize: Boolean

    Permalink

    Returns true if dataSize doesn't depend on data value.

    Returns true if dataSize doesn't depend on data value. This is useful for optimizations of calculating sizes of collections. The method should have O(1) amortized complexity over n invocations to avoid over-cost attacks on ErgoTree interpretation.

    Definition Classes
    SGlobalSType
  19. 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

  20. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  21. 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
  22. 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

  23. def methodIndex(name: String): Int

    Permalink

    Returns -1 if method is not found.

    Returns -1 if method is not found.

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

    Permalink

    Returns all the methods of this type.

    Returns all the methods of this type.

    Definition Classes
    SProduct
  25. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  28. def property(name: String, tpeRes: SType, id: Byte, valueCompanion: ValueCompanion): SMethod

    Permalink
    Attributes
    protected
    Definition Classes
    SMonoType
  29. def property(name: String, tpeRes: SType, id: Byte): SMethod

    Permalink
    Attributes
    protected
    Definition Classes
    SMonoType
  30. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  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
    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
    Definition Classes
    SType
  39. lazy val xorMethod: SMethod

    Permalink

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