TypeFunction

Members

Functions

attributesEqual
bool attributesEqual(TypeFunction other, bool trustSystemEqualsDefault)
callMatch
MATCH callMatch(Type tthis, ArgumentList argumentList, 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.

isDstyleVariadic
bool isDstyleVariadic()

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

iswild
bool iswild()
parameterStorageClass
StorageClass parameterStorageClass(Type tthis, Parameter p, VarDeclarations* outerVars, bool indirect)

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.

resolveNamedArgs
Expressions* resolveNamedArgs(ArgumentList argumentList, const(char)** pMessage)

Convert an argumentList, which may contain named arguments, into a list of arguments in the order of the parameter list.

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.

Meta