VariableLoweredValue

scalus.sir.lowering.VariableLoweredValue
class VariableLoweredValue(val id: String, val name: String, val sir: Var, val representation: LoweredValueRepresentation, val otherRepresentations: Map[LoweredValueRepresentation, DependendVariableLoweredValue], val optRhs: Option[LoweredValue], val directDepended: Set[IdentifiableLoweredValue], val directDependFrom: Set[IdentifiableLoweredValue]) extends IdentifiableLoweredValue

Attributes

Graph
Supertypes
trait LoweredValue
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

def docDef(ctx: PrettyPrintingContext): Doc

Pretty print this value with all definitona

Pretty print this value with all definitona

Value parameters

style
  • style of printing

Attributes

def docRef(ctx: PrettyPrintingContext): Doc

Pretty print reference to value

Pretty print reference to value

Value parameters

style
  • style of printing

Attributes

Uplevel variables, that shoule be generated before generation of term

Uplevel variables, that shoule be generated before generation of term

Attributes

Definition Classes
override def pos: SIRPosition

Attributes

Definition Classes
override def sirType: SIRType

Attributes

Definition Classes
override def termInternal(gctx: TermGenerationContext): Term

Generates the term for this value.

Generates the term for this value.

Attributes

Definition Classes

Uplevel variables, that are used in this value.

Uplevel variables, that are used in this value.

Attributes

Definition Classes

Inherited methods

override def addDependent(value: IdentifiableLoweredValue): Unit

add identifiable variable to be updated from this variable

add identifiable variable to be updated from this variable

Attributes

Definition Classes
Inherited from:
IdentifiableLoweredValue
override def equals(obj: Any): Boolean

Compares the receiver object (this) with the argument object (that) for equivalence.

Compares the receiver object (this) with the argument object (that) for equivalence.

Any implementation of this method should be an equivalence relation:

  • It is reflexive: for any instance x of type Any, x.equals(x) should return true.
  • It is symmetric: for any instances x and y of type Any, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any instances x, y, and z of type Any if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.

If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override hashCode to ensure that objects which are "equal" (o1.equals(o2) returns true) hash to the same scala.Int. (o1.hashCode.equals(o2.hashCode)).

Value parameters

that

the object to compare against this object for equality.

Attributes

Returns

true if the receiver object is equivalent to the argument; false otherwise.

Definition Classes
Inherited from:
IdentifiableLoweredValue
override def findSelfOrSubtems(p: LoweredValue => Boolean): Option[LoweredValue]

Attributes

Definition Classes
Inherited from:
IdentifiableLoweredValue
override def hashCode(): Int

Calculates a hash code value for the object.

Calculates a hash code value for the object.

The default hashing algorithm is platform dependent.

Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.

Attributes

Returns

the hash code value for this object.

Definition Classes
Inherited from:
IdentifiableLoweredValue
def isDependFrom(value: IdentifiableLoweredValue): Boolean

Attributes

Inherited from:
IdentifiableLoweredValue
def isDependFromOneOf(values: Set[IdentifiableLoweredValue]): Boolean

Attributes

Inherited from:
IdentifiableLoweredValue
def maybeUpcast(targetType: SIRType, pos: SIRPosition)(using lctx: LoweringContext): LoweredValue

Upcast the value to the target type if needed.

Upcast the value to the target type if needed.

Attributes

Inherited from:
LoweredValue
def pretty: Doc

Attributes

Inherited from:
LoweredValue
def show: String

Attributes

Inherited from:
LoweredValue

The UPLC term that represents this value, wrapped in vars if needed.

The UPLC term that represents this value, wrapped in vars if needed.

Value parameters

gctx
  • context for term generation

Attributes

Returns

generated term wrapped in lambdas with definition of needed uplevel variables

Inherited from:
LoweredValue

Convert this value to the giveb representation,

Convert this value to the giveb representation,

Attributes

Inherited from:
LoweredValue
def upcastOne(targetType: SIRType, pos: SIRPosition)(using LoweringContext): LoweredValue

Attributes

Inherited from:
LoweredValue

Concrete fields

Set of variables, which this value are directly depended on.

Set of variables, which this value are directly depended on.

Attributes

Set of variables, which this value are directly used in. (i.e. the have this value in rhs). non-transitive (i.e. if your want to find all depended set you should run transitive closure on this)

Set of variables, which this value are directly used in. (i.e. the have this value in rhs). non-transitive (i.e. if your want to find all depended set you should run transitive closure on this)

Attributes

val id: String
val name: String
val optRhs: Option[LoweredValue]

The type of representation of this value.

The type of representation of this value.

Attributes

val sir: Var

Inherited fields

val createdEx: RuntimeException

Attributes

Inherited from:
LoweredValue
var debugMark: String

Attributes

Inherited from:
LoweredValue