ScopeBracketsLoweredValue

scalus.sir.lowering.ScopeBracketsLoweredValue

Lowered value which exists to create a scope for the set of variables. Need to prevent pulling out variables outsiode scope from lambda-s, while we have not yet full tracking of control-flow dependencies. (i.e. variables defined inside scope should not be pulled outside of it automatically by lambda barrier logic)

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait LoweredValue
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override 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

Definition Classes
override def pos: SIRPosition

Attributes

Definition Classes

The type of representation of this value.

The type of representation of this value.

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

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:
ComplexLoweredValue
override def docRef(ctx: PrettyPrintingContext): Doc

Pretty print reference to value

Pretty print reference to value

Value parameters

style
  • style of printing

Attributes

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

Attributes

Definition Classes
Inherited from:
ComplexLoweredValue

Internal variables, that are used inside this value.

Internal variables, that are used inside this value.

Attributes

Definition Classes
Inherited from:
ComplexLoweredValue
override def isEffortLess: Boolean

Is this value effort-less to compute (i.e. constant or variable or lambda)

Is this value effort-less to compute (i.e. constant or variable or lambda)

Attributes

Definition Classes
Inherited from:
ComplexLoweredValue
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 productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product

Attributes

Inherited from:
ComplexLoweredValue
def shortShow: String

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

Uplevel variables, that are used in this value.

Uplevel variables, that are used in this value.

Attributes

Definition Classes
Inherited from:
ComplexLoweredValue

Inherited fields

Attributes

Inherited from:
ComplexLoweredValue

Attributes

Inherited from:
ComplexLoweredValue
val createdEx: RuntimeException

Attributes

Inherited from:
LoweredValue
var debugMark: String

Attributes

Inherited from:
LoweredValue

Uplevel variables, that should be generated before generation of term

Uplevel variables, that should be generated before generation of term

Attributes

Inherited from:
ComplexLoweredValue
override val ownVars: Set[IdentifiableLoweredValue]

Variables, that are directly defined in this value.

Variables, that are directly defined in this value.

Attributes

Inherited from:
ComplexLoweredValue

Attributes

Inherited from:
ComplexLoweredValue