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 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
- Alphabetic
- By Inheritance
- SGlobal
- Serializable
- Serializable
- SMonoType
- STypeCompanion
- SPredefType
- SProduct
- SType
- SigmaNode
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
type
WrappedType = SigmaDslBuilder
The underlying Scala type of data values described by this type descriptor.
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
?:(whenNoType: ⇒ SType): SType
Elvis operator for types.
Elvis operator for types. See https://en.wikipedia.org/wiki/Elvis_operator
- Definition Classes
- SType
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getMethodById(methodId: Byte): Option[SMethod]
Lookup method by its id in this type.
Lookup method by its id in this type.
- Definition Classes
- STypeCompanion
- Annotations
- @inline()
-
def
getMethodByName(name: String): SMethod
Looks up the method descriptor by the method name.
Looks up the method descriptor by the method name.
- Definition Classes
- STypeCompanion
-
def
getMethods(): Seq[SMethod]
This method should be overriden in derived classes to add new methods in addition to inherited.
- lazy val groupGeneratorMethod: SMethod
-
def
hasMethod(name: String): Boolean
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
-
def
isEmbeddable: Boolean
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 constructorC
, the typeC[T]
can be represented by a single byte.- Definition Classes
- SType
- See also
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
method(methodName: String): Option[SMethod]
Finds a method descriptor SMethod for the given name.
-
def
methodById(methodId: Byte): SMethod
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
-
def
methodIndex(name: String): Int
Returns -1 if
method
is not found.Returns -1 if
method
is not found.- Definition Classes
- SProduct
-
lazy val
methods: Seq[SMethod]
Returns all the methods of this type.
Returns all the methods of this type.
- Definition Classes
- SProduct
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
property(name: String, tpeRes: SType, id: Byte, valueCompanion: ValueCompanion): SMethod
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
-
def
propertyCall(name: String, tpeRes: SType, id: Byte, costKind: CostKind): SMethod
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
-
val
reflection: InterpreterReflection.type
Force initialization of reflection.
Force initialization of reflection.
- Definition Classes
- STypeCompanion
-
val
reprClass: RClass[_]
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
- SGlobal → STypeCompanion
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
lazy val
thisRClass: RClass[_]
Represents class of
this
.Represents class of
this
.- Definition Classes
- STypeCompanion
-
def
toTermString: String
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
-
val
typeCode: TypeCode
Type code used in serialization of SType values.
-
def
typeId: TypeCode
Type identifier to use in method serialization
Type identifier to use in method serialization
- Definition Classes
- SGlobal → STypeCompanion
-
def
typeName: String
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
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
withSubstTypes(subst: Map[STypeVar, SType]): SType
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
- lazy val xorMethod: SMethod
-
def
xor_eval(mc: MethodCall, G: SigmaDslBuilder, ls: Coll[Byte], rs: Coll[Byte])(implicit E: ErgoTreeEvaluator): Coll[Byte]
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