EnumDeclaration

extern (C++) final
class EnumDeclaration : ScopeDsymbol {
Type type;
Type memtype;
Prot protection;
Expression maxval;
Expression minval;
Expression defaultval;
bool isdeprecated;
bool added;
int inuse;
Symbol* sinit;
}

Members

Functions

getMaxMinValue
Expression getMaxMinValue(Loc loc, Identifier id)

Get the value of the .max/.min property as an Expression. Lazily computes the value and caches it in maxval/minval. Reports any errors.

Inherited Members

From ScopeDsymbol

search
Dsymbol search(Loc loc, Identifier ident, int flags = SearchLocalsOnly)

This function is #1 on the list of functions that eat cpu time. Be very, very careful about slowing it down.

findGetMembers
FuncDeclaration findGetMembers()

Look for member of the form: const(MemberInfo)[] getMembers(string); Returns NULL if not found

hasStaticCtorOrDtor
bool hasStaticCtorOrDtor()

Return true if any of the members are static ctors or static dtors, or if any members have members that are.

dim
size_t dim(Dsymbols* members)

Determine number of Dsymbols, folding in AttribDeclaration members.

getNth
Dsymbol getNth(Dsymbols* members, size_t nth, size_t* pn = null)

Get nth Dsymbol, folding in AttribDeclaration members.

_foreach
int _foreach(Scope* sc, Dsymbols* members, scope ForeachDg dg, size_t* pn = null)

Expands attribute declarations in members in depth first order. Calls dg(size_t symidx, Dsymbol *sym) for each member. 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.

Meta