Define enum declarations and enum members.

Specification: Enums


Walter Bright

Source: denum.d

  • Declaration

    class EnumDeclaration: dmd.dsymbol.ScopeDsymbol;

    • Declaration

      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

      Return Value

      corresponding value of .max/.min

    • Declaration

      const nothrow @nogc bool isSpecial();

      Determine if enum is a special one.

      Return Value

      true if special

  • Declaration

    class EnumMember: dmd.declaration.VarDeclaration;

  • Declaration

    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

    Return Value

    true if it is special