ExprTypeImpl

trait ExprTypeImpl[A1, Repr <: ([~ <: Txn[~]] =>> Expr[~, A1])] extends Type[A1, Repr]
trait Type[A1, Repr]
trait Type
trait Type
class Object
trait Matchable
class Any
object ArtifactLocation.type
object BooleanObj.type
object DoubleObj.type
object DoubleVector.type
object IntObj.type
object IntVector.type
object LongObj.type
object SpanLikeObj.type
object SpanObj.type
object StringObj.type
ExprTypeImpl[A1, Repr]

Type members

Classlikes

protected trait ConstImpl[T <: Txn[T]] extends ExprConstImpl[T, A]
protected trait ProgramImpl[T <: Txn[T]] extends Program[T, A] with ExprNodeImpl[T, A]
protected trait VarImpl[T <: Txn[T]] extends ExprVarImpl[T, A, Repr[T]]

Inherited classlikes

object Program
Inherited from:
Type
object Var
Inherited from:
Type

Inherited types

type A = A1
Inherited from:
Type
type Const[T <: Txn[T]] = Repr[T] & Const[T, A]
Inherited from:
Type
type E[T <: Txn[T]] = Repr[T]
Inherited from:
Type
type Program[T <: Txn[T]] = Repr[T] & Program[T, A]
Inherited from:
Type
type Var[T <: Txn[T]] = Repr[T] & Var[T, Repr[T]]
Inherited from:
Type

Value members

Abstract methods

protected def mkConst[T <: Txn[LazyRef(...)]](id: Ident[T], value: A)(implicit tx: T): Const[T]
protected def mkProgram[T <: Txn[LazyRef(...)]](targets: Targets[T], program: Var[T, Ex[A]], sources: Var[T, IndexedSeq[Event[T, Any]]], value: Var[T, A], connect: Boolean)(implicit tx: T): Program[T]
protected def mkVar[T <: Txn[LazyRef(...)]](targets: Targets[T], vr: Var[T, Repr[T]], connect: Boolean)(implicit tx: T): Var[T]

Concrete methods

final protected def addExtension(extensions: Array[ExprTypeExtension1[Repr]], ext: ExprTypeExtension1[Repr]): Array[ExprTypeExtension1[Repr]]
final protected def findExt(extensions: Array[ExprTypeExtension1[Repr]], op: Int): ExprTypeExtension1[Repr]
final protected def findExt(op: Int): ExprTypeExtension1[Repr]
protected def mkExtArray(size: Int): Array[ExprTypeExtension1[Repr]]
final override def newProgram[T <: Txn[LazyRef(...)]](program: Ex[A])(implicit tx: T): Program[T]
Definition Classes
final override def newVar[T <: Txn[LazyRef(...)]](init: Repr[T])(implicit tx: T): Var[T]
Definition Classes
final override def read[T <: Txn[LazyRef(...)]](in: DataInput)(implicit tx: T): Repr[T]
Definition Classes
final override def readConst[T <: Txn[LazyRef(...)]](in: DataInput)(implicit tx: T): Const[T]
Definition Classes
protected def readCookie[T <: Txn[LazyRef(...)]](in: DataInput, cookie: Byte)(implicit tx: T): Repr[T]

Reads an identified object whose cookie is neither 3 (constant) nor 0 (node). By default this throws an exception. Sub-classes may use a cookie greater than 3 for other constant types.

Reads an identified object whose cookie is neither 3 (constant) nor 0 (node). By default this throws an exception. Sub-classes may use a cookie greater than 3 for other constant types.

final protected def readExtension[T <: Txn[LazyRef(...)]](op: Int, in: DataInput, targets: Targets[T])(implicit tx: T): Repr[T]
override def readIdentifiedObj[T <: Txn[LazyRef(...)]](in: DataInput)(implicit tx: T): Repr[T]
Definition Classes
Type -> Type
protected def readNode[T <: Txn[LazyRef(...)]](in: DataInput, targets: Targets[T])(implicit tx: T): Repr[T]

The default implementation reads a type Int as operator id Int which will be resolved using readOpExtension.

The default implementation reads a type Int as operator id Int which will be resolved using readOpExtension.

final override def readProgram[T <: Txn[LazyRef(...)]](in: DataInput)(implicit tx: T): Program[T]
Definition Classes
final override def readVar[T <: Txn[LazyRef(...)]](in: DataInput)(implicit tx: T): Var[T]
Definition Classes
final def registerExtension(ext: ExprTypeExtension1[Repr]): Unit

Inherited methods

A value that can be used to initialize objects, as a temporary value, etc. If the valueFormat supports null, it may also be null. It should not be used for any semantic purposes.

A value that can be used to initialize objects, as a temporary value, etc. If the valueFormat supports null, it may also be null. It should not be used for any semantic purposes.

Inherited from:
Type
override def init(): Unit
Definition Classes
Type -> Type
Inherited from:
Type
final override def readObj[T <: Txn[LazyRef(...)]](in: DataInput)(implicit tx: T): Obj[T]
Definition Classes
Type -> Type
Inherited from:
Type
def tryParse(value: Any): Option[A]
Inherited from:
Type
def typeId: Int
Inherited from:
Type
def valueName: String

A human readable string representing the expression's element type.

A human readable string representing the expression's element type.

Inherited from:
Type

Implicits

Implicits

final implicit override def format[T <: Txn[LazyRef(...)]]: TFormat[T, Repr[T]]
Definition Classes
final implicit override def newConst[T <: Txn[LazyRef(...)]](value: A)(implicit tx: T): Const[T]
Definition Classes
final implicit override def programFormat[T <: Txn[LazyRef(...)]]: TFormat[T, Program[T]]
Definition Classes
final implicit def tpe: Type[A1, Repr]
final implicit override def varFormat[T <: Txn[LazyRef(...)]]: TFormat[T, Var[T]]
Definition Classes

Inherited implicits

implicit def valueFormat: ConstFormat[A]
Inherited from:
Type