Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.


Handle enums.
Compiler implementation of the D programming language.

Source denum.d

class EnumDeclaration: dmd.dsymbol.ScopeDsymbol;
Expression getMaxMinValue(ref const 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.
Loc loc location to use for error messages
Identifier id Id::max or Id::min
corresponding value of .max/.min
const nothrow @nogc bool isSpecial();
Determine if enum is a special one.
true if special
class EnumMember: dmd.declaration.VarDeclaration;
nothrow @nogc bool isSpecialEnumIdent(const Identifier ident);
Check for special enum names.
Special enum names are used by the C++ name mangler to represent C++ types that are not basic D types.
Identifier ident identifier to check for specialness
true if it is special