TypeFunction

Constructors

this
this(ParameterList pl, Type treturn, LINK linkage, StorageClass stc)
Undocumented in source.

Members

Functions

accept
void accept(Visitor v)
Undocumented in source. Be warned that the author may not have intended to support it.
addStorageClass
Type addStorageClass(StorageClass stc)
Undocumented in source. Be warned that the author may not have intended to support it.
callMatch
MATCH callMatch(Type tthis, Expression[] args, int flag, const(char)** pMessage, Scope* sc)

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

checkRetType
bool checkRetType(Loc loc)
Undocumented in source. Be warned that the author may not have intended to support it.
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.

kind
const(char)* kind()
Undocumented in source. Be warned that the author may not have intended to support it.
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.

substWildTo
Type substWildTo(uint )
Undocumented in source. Be warned that the author may not have intended to support it.
syntaxCopy
Type syntaxCopy()
Undocumented in source. Be warned that the author may not have intended to support it.

Static functions

create
TypeFunction create(Parameters* parameters, Type treturn, VarArg varargs, LINK linkage, StorageClass stc)
Undocumented in source. Be warned that the author may not have intended to support it.

Variables

fargs
Expressions* fargs;
Undocumented in source.
incomplete
bool incomplete;
Undocumented in source.
inuse
int inuse;
Undocumented in source.
islive
bool islive;
Undocumented in source.
isnogc
bool isnogc;
Undocumented in source.
isnothrow
bool isnothrow;
Undocumented in source.
isproperty
bool isproperty;
Undocumented in source.
isref
bool isref;
Undocumented in source.
isreturn
bool isreturn;
Undocumented in source.
isreturninferred
bool isreturninferred;
Undocumented in source.
isscope
bool isscope;
Undocumented in source.
isscopeinferred
bool isscopeinferred;
Undocumented in source.
iswild
ubyte iswild;
Undocumented in source.
linkage
LINK linkage;
Undocumented in source.
parameterList
ParameterList parameterList;
Undocumented in source.
purity
PURE purity;
Undocumented in source.
trust
TRUST trust;
Undocumented in source.

Inherited Members

From TypeNext

next
Type next;
Undocumented in source.
checkDeprecated
void checkDeprecated(Loc loc, Scope* sc)
Undocumented in source. Be warned that the author may not have intended to support it.
hasWild
int hasWild()
Undocumented in source. Be warned that the author may not have intended to support it.
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.

makeConst
Type makeConst()
Undocumented in source. Be warned that the author may not have intended to support it.
makeImmutable
Type makeImmutable()
Undocumented in source. Be warned that the author may not have intended to support it.
makeShared
Type makeShared()
Undocumented in source. Be warned that the author may not have intended to support it.
makeSharedConst
Type makeSharedConst()
Undocumented in source. Be warned that the author may not have intended to support it.
makeWild
Type makeWild()
Undocumented in source. Be warned that the author may not have intended to support it.
makeWildConst
Type makeWildConst()
Undocumented in source. Be warned that the author may not have intended to support it.
makeSharedWild
Type makeSharedWild()
Undocumented in source. Be warned that the author may not have intended to support it.
makeSharedWildConst
Type makeSharedWildConst()
Undocumented in source. Be warned that the author may not have intended to support it.
makeMutable
Type makeMutable()
Undocumented in source. Be warned that the author may not have intended to support it.
constConv
MATCH constConv(Type to)
Undocumented in source. Be warned that the author may not have intended to support it.
deduceWild
MOD deduceWild(Type t, bool isRef)
Undocumented in source. Be warned that the author may not have intended to support it.
transitive
void transitive()
Undocumented in source. Be warned that the author may not have intended to support it.
accept
void accept(Visitor v)
Undocumented in source. Be warned that the author may not have intended to support it.

Meta