Dotty Documentation


abstract case class ExprType
extends CachedProxyType with TermType with MethodicType with Product with Serializable

A by-name parameter type of the form => T, or the type of a method with no parameter list.

[-] Constructors

ExprType ( resType: Type )

[-] Members

[+] val resType : Type
[+] override def computeHash ( bs: Binders ) : Int

Compute hashcode relative to enclosing binders bs

[+] def computeSignature ( implicit ctx: Context ) : Signature
[+] def derivedExprType ( resType: Type ) ( implicit ctx: Context ) : ExprType
[+] override def eql ( that: Type ) : Boolean

Equality used for hash-consing; uses eq on all recursive invocations, except where a BindingType is involved. The latter demand a deep isomorphism check.

[+] override def iso ( that: Any , bs: BinderPairs ) : Boolean

Is this isomorphic to that, assuming pairs of matching binders bs? It is assumed that

[+] override def resultType ( implicit ctx: Context ) : Type

The resultType of a LambdaType, or ExprType, the type itself for others

[+] override def stableHash : Boolean

Is the hash of this type the same for all possible sequences of enclosing binders?

[+] override def underlying ( implicit ctx: Context ) : Type

The type to which this proxy forwards operations.