Parameter

Constructors

this
this(StorageClass storageClass, Type type, Identifier ident, Expression defaultArg, UserAttributeDeclaration userAttribDecl)
Undocumented in source.

Members

Aliases

ForeachDg
alias ForeachDg = int delegate(size_t paramidx, Parameter param)

Type of delegate when iterating solely on the parameters

SemanticForeachDg
alias SemanticForeachDg = int delegate(size_t oidx, Parameter oparam, size_t eidx, Parameter eparam)

Type of delegate when iterating on both the original set of parameters, and the type tuple. Useful for semantic analysis. 'o' stands for 'original' and 'e' stands for 'expanded'.

Functions

accept
void accept(Visitor v)
Undocumented in source. Be warned that the author may not have intended to support it.
dyncast
DYNCAST dyncast()
Undocumented in source. Be warned that the author may not have intended to support it.
isCovariant
bool isCovariant(bool returnByRef, Parameter p, bool previewIn)

Compute covariance of parameters this and p as determined by the storage classes of both.

isLazyArray
Type isLazyArray()

Determine if parameter is a lazy array of delegates. If so, return the return type of those delegates. If not, return NULL.

isReference
bool isReference()
syntaxCopy
Parameter syntaxCopy()
Undocumented in source. Be warned that the author may not have intended to support it.
toChars
const(char)* toChars()
Undocumented in source. Be warned that the author may not have intended to support it.

Static functions

_foreach
int _foreach(Parameters* parameters, ForeachDg dg)
int _foreach(Parameters* parameters, SemanticForeachDg dg)

Expands tuples in args in depth first order. Calls dg(void *ctx, size_t argidx, Parameter *arg) for each Parameter. If dg returns !=0, stops and returns that value else returns 0. Use this function to avoid the O(N + N^2/2) complexity of calculating dim and calling N times getNth.

arraySyntaxCopy
Parameters* arraySyntaxCopy(Parameters* parameters)
Undocumented in source. Be warned that the author may not have intended to support it.
create
Parameter create(StorageClass storageClass, Type type, Identifier ident, Expression defaultArg, UserAttributeDeclaration userAttribDecl)
Undocumented in source. Be warned that the author may not have intended to support it.
dim
size_t dim(Parameters* parameters)

Determine number of arguments, folding in tuples.

getNth
Parameter getNth(Parameters* parameters, size_t nth)

Get nth Parameter, folding in tuples.

Variables

defaultArg
Expression defaultArg;
Undocumented in source.
ident
Identifier ident;
Undocumented in source.
storageClass
StorageClass storageClass;
Undocumented in source.
type
Type type;
Undocumented in source.
userAttribDecl
UserAttributeDeclaration userAttribDecl;
Undocumented in source.

Inherited Members

From ASTNode

accept
void accept(Visitor v)

Visits this AST node using the given visitor.

Meta