TypeFunction

extern (C++) final
class TypeFunction : TypeNext {
Parameters* parameters;
int varargs;
bool isnothrow;
bool isnogc;
bool isproperty;
bool isref;
bool isreturn;
bool isscope;
LINK linkage;
TRUST trust;
PURE purity;
ubyte iswild;
Expressions* fargs;
int inuse;
}

Members

Functions

attributesApply
int attributesApply(void* param, int function(void*, const(char)*) fp, TRUSTformat trustFormat = TRUSTformatDefault)

For each active attribute (ref/const/nogc/etc) call fp with a void* for the work param and a string representation of the attribute.

callMatch
MATCH callMatch(Type tthis, Expressions* args, int flag = 0)

'args' are being matched to function 'this' Determine match level. Input: flag 1 performing a partial ordering match

hasLazyParameters
bool hasLazyParameters()

Return true if there are lazy parameters.

parameterEscapes
bool parameterEscapes(Parameter p)

Examine function signature for parameter p and see if p can 'escape' the scope of the function.

purityLevel
void purityLevel()

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.

Meta