case class PolyProto

A prototype for expressions [] that are type-parameterized:

[] [targs] resultType

Constructors

PolyProto ( targs: List [ Type ] , resType: Type )

Members

val resType : Type
val targs : List [ Type ]
def _1 : T1
def _2 : T2
def copy ( targs: List [ Type ] , resType: Type ) : PolyProto
def copy$default$1 : List [ Type ]
def copy$default$2 : Type
override def deepenProto ( implicit ctx: Context ) : Type

If this is a prototype with some ignored component, reveal one more layer of it. Otherwise the type itself.

If this is a prototype with some ignored component, reveal one more layer of it. Otherwise the type itself.

def derivedPolyProto ( targs: List [ Type ] , resultType: Type ) : R
def fold ( x: T , ta: TypeAccumulator [ T ] ) ( implicit ctx: Context ) : T
override def isMatchedBy ( tp: Type ) ( implicit ctx: Context ) : Boolean
def map ( tm: TypeMap ) ( implicit ctx: Context ) : PolyProto
override def notApplied : Type

If this is a FunProto or PolyProto, WildcardType, otherwise this.

If this is a FunProto or PolyProto, WildcardType, otherwise this.

override def resultType ( implicit ctx: Context ) : Type

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

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