TypeFunction

Members

Functions

attributesEqual
bool attributesEqual(TypeFunction other)
callMatch
MATCH callMatch(Type tthis, Expression[] args, int flag, const(char)** pMessage, Scope* sc)

'args' are being matched to function 'this' Determine match level.

constConv
MATCH constConv(Type to)

Extends TypeNext.constConv by also checking for matching attributes *

hasLazyParameters
bool hasLazyParameters()

Return true if there are lazy parameters.

incomplete
bool incomplete()
void incomplete(bool v)

set or get if the return type or the default arguments are removed

isDstyleVariadic
bool isDstyleVariadic()

Check for extern (D) U func(T t, ...) variadic function type, which has _arguments[] added as the first argument.

isInOutParam
bool isInOutParam()
void isInOutParam(bool v)
isInOutQual
void isInOutQual(bool v)

set or get if the function has the inout on the parameters

isInOutQual
bool isInOutQual()

set or get if the function has the inout on the parameters

isScopeQual
bool isScopeQual()
void isScopeQual(bool v)

set or get if the function has the scope attribute

islive
bool islive()
void islive(bool v)

set or get if the function has the @live attribute

isnogc
bool isnogc()
void isnogc(bool v)

set or get if the function has the @nogc attribute

isnothrow
bool isnothrow()
void isnothrow(bool v)

set or get if the function has the nothrow attribute

isproperty
bool isproperty()
void isproperty(bool v)

set or get if the function has the @property attribute

isref
bool isref()
void isref(bool v)

set or get if the function has the ref attribute

isreturn
bool isreturn()
void isreturn(bool v)

set or get if the function has the return attribute

isreturninferred
bool isreturninferred()
void isreturninferred(bool v)

set or get if the function has the return attribute inferred

isscopeinferred
bool isscopeinferred()

set or get if the function has the scope attribute inferred

isscopeinferred
void isscopeinferred(bool v)

ditoo

iswild
bool iswild()
parameterEscapes
bool parameterEscapes(Type tthis, Parameter p)

Examine function signature for parameter p and see if the value of p can 'escape' the scope of the function. This is useful to minimize the needed annotations for the parameters.

parameterStorageClass
StorageClass parameterStorageClass(Type tthis, Parameter p)

Take the specified storage class for p, and use the function signature to infer whether STC.scope_ and STC.return_ should be OR'd in. (This will not affect the name mangling.)

purityLevel
void purityLevel()

Set 'purity' field of 'this'. Do this lazily, as the parameter types might be forward referenced.

Inherited Members

From TypeNext

nextOf
Type nextOf()

For TypeFunction, nextOf() can return NULL if the function return type is meant to be inferred, and semantic() hasn't yet ben run on the function. After semantic(), it must no longer be NULL.

Suggestion Box / Bug Report