Packages

object SType

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SType
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. implicit final class AnyOps extends AnyVal
  2. implicit final class STypeOps extends AnyVal
  3. type TypeCode = Byte

    Representation of type codes used in serialization.

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. val DummyValue: WrappedType
  5. val EmptyArray: Array[SType]

    Immutable empty array, can be used to avoid repeated allocations.

  6. val EmptySeq: IndexedSeq[SType]

    Immutable empty IndexedSeq, can be used to avoid repeated allocations.

  7. val IndexedSeqOfT1: IndexedSeq[SType]
  8. val IndexedSeqOfT2: IndexedSeq[SType]
  9. val allPredefTypes: Seq[SType]

    All pre-defined types should be listed here.

    All pre-defined types should be listed here. Note, NoType is not listed. Should be in sync with sigmastate.lang.Types.predefTypes.

  10. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  11. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  12. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  13. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. def isValueOfType[T <: SType](x: Any, tpe: T): Boolean

    Checks that the type of the value corresponds to the descriptor tpe.

    Checks that the type of the value corresponds to the descriptor tpe. If the value has complex structure only root type constructor is checked. NOTE, this method is used in ErgoTree evaluation to systematically check that each tree node evaluates to a value of the expected type. Shallow runtime checks are enough if: 1) ErgoTree is well-typed, i.e. each sub-expression has correct types (agree with the argument type). 2) isValueOfType == true for each tree leaf 3) isValueOfType == true for each sub-expression

    tpe

    type descriptor to check value against

    returns

    true if the given value is of type tpe

  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. val paramIV: STypeParam
  23. val paramIVSeq: Seq[STypeParam]
  24. val paramOV: STypeParam
  25. val paramR: STypeParam
  26. val paramT: STypeParam
  27. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  28. val tD: STypeVar
  29. val tIV: STypeVar
  30. val tK: STypeVar
  31. val tL: STypeVar
  32. val tO: STypeVar
  33. val tOV: STypeVar
  34. val tR: STypeVar
  35. val tT: STypeVar

    Named type variables and parameters used in generic types and method signatures.

    Named type variables and parameters used in generic types and method signatures. Generic type terms like (Coll[IV],(IV) => Boolean) => Boolean are used to represent method types of Coll and Option types. Each such type is an instance of SFunc. To represent variables (such as IV in the example above) STypeVar instances are used.

    Generic types are not supported by ErgoTree serialization format and STypeVars are used internally and never serialized (there is no serializer for STypeVar). Thus the usage of type variables is limited.

    All necessary type variables can be declared in advance and reused across all code base. This allows to avoid allocation of many duplicates and also improve performance of SType values.

  36. val tV: STypeVar
  37. def toString(): String
    Definition Classes
    AnyRef → Any
  38. implicit val typeAvlTree: SAvlTree.type
  39. implicit val typeBigInt: SBigInt.type
  40. implicit val typeBoolean: SBoolean.type
  41. implicit val typeBox: SBox.type
  42. implicit val typeByte: SByte.type
  43. implicit def typeCollection[V <: SType](implicit tV: V): SCollection[V]

    Costructs a collection type with the given type of elements.

  44. implicit val typeGroupElement: SGroupElement.type
  45. implicit val typeInt: SInt.type
  46. implicit val typeLong: SLong.type
  47. implicit val typeShort: SShort.type
  48. implicit val typeSigmaProp: SSigmaProp.type
  49. lazy val types: Map[Byte, STypeCompanion]

    A mapping of object types supporting MethodCall operations.

    A mapping of object types supporting MethodCall operations. For each serialized typeId this map contains a companion object which can be used to access the list of corresponding methods.

    NOTE: in the current implementation only monomorphic methods are supported (without type parameters)

    NOTE2: in v3.x SNumericType.typeId is silently shadowed by SGlobal.typeId as part of toMap operation. As a result, the methods collected into SByte.methods cannot be resolved (using SMethod.fromIds()) for all numeric types (SByte, SShort, SInt, SLong, SBigInt). See the corresponding regression property("MethodCall on numerics"). However, this "shadowing" is not a problem since all casting methods are implemented via Downcast, Upcast opcodes and the remaining toBytes, toBits methods are not implemented at all. In order to allow MethodCalls on numeric types in future versions the SNumericType.typeId should be changed and SGlobal.typeId should be preserved. The regression tests in property("MethodCall Codes") should pass.

  50. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  51. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  52. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped