SIR

scalus.sir.SIR
See theSIR companion trait
object SIR

Attributes

Companion
trait
Graph
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
SIR.type

Members list

Type members

Classlikes

case class And(a: AnnotatedSIR, b: AnnotatedSIR, anns: AnnotationsDecl) extends AnnotatedSIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all
case class Apply(f: AnnotatedSIR, arg: AnnotatedSIR, tp: SIRType, anns: AnnotationsDecl) extends AnnotatedSIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all
case class Builtin(bn: DefaultFun, tp: SIRType, anns: AnnotationsDecl) extends AnnotatedSIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all
case class Case(pattern: Pattern, body: SIR, anns: AnnotationsDecl)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class Cast(term: AnnotatedSIR, tp: SIRType, anns: AnnotationsDecl) extends AnnotatedSIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all
case class Const(uplcConst: Constant, tp: SIRType, anns: AnnotationsDecl) extends AnnotatedSIR

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all
object Const

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Const.type
case class Constr(name: String, data: DataDecl, args: List[SIR], tp: SIRType, anns: AnnotationsDecl) extends AnnotatedSIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all
case class Decl(data: DataDecl, term: SIR) extends SIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait SIR
class Object
trait Matchable
class Any
Show all
case class Error(msg: String, anns: AnnotationsDecl, cause: Throwable | Null) extends AnnotatedSIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all
case class ExternalVar(moduleName: String, name: String, tp: SIRType, anns: AnnotationsDecl) extends AnnotatedSIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all
case class IfThenElse(cond: AnnotatedSIR, t: AnnotatedSIR, f: AnnotatedSIR, tp: SIRType, anns: AnnotationsDecl) extends AnnotatedSIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all
case class LamAbs(param: Var, term: SIR, typeParams: List[TypeVar], anns: AnnotationsDecl) extends AnnotatedSIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all
case class Let(recursivity: Recursivity, bindings: List[Binding], body: SIR, anns: AnnotationsDecl) extends AnnotatedSIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all
case class Match(scrutinee: AnnotatedSIR, cases: List[Case], tp: SIRType, anns: AnnotationsDecl) extends AnnotatedSIR

Match expression.

Match expression.

Value parameters

tp

- resulting type of Match expression, can be calculated as max(tp of all cases)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all
case class Not(a: AnnotatedSIR, anns: AnnotationsDecl) extends AnnotatedSIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all
case class Or(a: AnnotatedSIR, b: AnnotatedSIR, anns: AnnotationsDecl) extends AnnotatedSIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all
object Pattern

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Pattern.type
sealed trait Pattern

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Constr
object Wildcard
case class Select(scrutinee: SIR, field: String, tp: SIRType, anns: AnnotationsDecl) extends AnnotatedSIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all
case class Var(name: String, tp: SIRType, anns: AnnotationsDecl) extends AnnotatedSIR

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait AnnotatedSIR
trait SIR
class Object
trait Matchable
class Any
Show all

Inherited and Abstract types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror