Fan

 

class

compiler::FuncType

sys::Obj
  compiler::GenericType
    compiler::FuncType

FuncType models a parameterized Func type.

Slots

aritySource

Int arity()

doParameterizeSource

override CType doParameterize(Int ch)

fitsSource

override Bool fits(CType t)

Overrides compiler::CType.fits

Doc inherited from compiler::CType.fits

Does this type implement the specified type. If true, then this type is assignable to the specified type (although the converse is not necessarily true). All types (including mixin types) fit sys::Obj.

flagsSource

override Int flags()

Overrides compiler::CType.flags

Doc inherited from compiler::CType.flags

Get the flags bitmask.

inferredSignatureSource

Bool inferredSignature

isGenericParameterSource

override readonly Bool isGenericParameter

Return if this type is a generic parameter (such as V or K) in a generic type (List, Map, or Method). Generic parameters serve as place holders for the parameterization of the generic type. Fan has a predefined set of generic parameters which are always defined in the sys pod with a one character name.

isValidSource

override Bool isValid()

Overrides compiler::CType.isValid

Doc inherited from compiler::CType.isValid

Is this a valid type usable anywhere (such as local var)

makeSource

new make(CType[] params, Str[] names, CType ret)

makeItBlockSource

new makeItBlock(CType itType)

mostSpecificSource

FuncType mostSpecific(FuncType b)

namesSource

readonly Str[] names

parameterizeThisSource

override FuncType parameterizeThis(CType thisType)

Replace any occurance of "sys::This" with thisType.

paramsSource

readonly CType[] params

retSource

readonly CType ret

signatureSource

override readonly Str signature

This is the full signature of the type.

toAritySource

FuncType toArity(Int num)

toMostSpecificSource

static CType toMostSpecific(CType a, CType b)

toParamDefsSource

ParamDef[] toParamDefs(Location loc)

usesThisSource

Bool usesThis()

Return if this function type has This type in its signature.