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 BooleanObj
object DoubleObj
object IntObj
object IntVector
object LongObj
object SpanObj
object StringObj
ExprTypeImpl[A1, Repr]

Type members

Classlikes

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

Inherited classlikes

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 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 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
def newVar[T <: Txn[LazyRef(...)]](init: Repr[T])(implicit tx: T): Var[T]
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 readVar[T <: Txn[LazyRef(...)]](in: DataInput)(implicit tx: T): Var[T]
Definition Classes
final

Inherited methods

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

Implicits

Implicits

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

Inherited implicits

implicit
def valueFormat: ConstFormat[A]
Inherited from
Type