class Enumeration

Defined at line 25 of file ../../src/developer/debug/zxdb/symbols/enumeration.h

The "value" types of the enum are stored in uint64_t.

FUTURE ENHANCEMENTS

-------------------

This seems to be sufficient for now but DWARF can express more. If this is too limiting or

ambiguous, we should probably enhance ConstValue (which is how DWARF stores the enumeration

values in the first place) to have the capabilities we want (better number support, comparison

operators) and use that directly from here.

Public Methods

const LazySymbol & underlying_type ()

Underlying type of the data. This is marked as optional in the spec in which case you need to

use the byte_size() and assume an integer of sign matching is_signed().

Defined at line 35 of file ../../src/developer/debug/zxdb/symbols/enumeration.h

bool is_signed ()

Returns true if the enum values are signed. In this case they should be casted when looking up

in the map (which is always unsigned). Theoretically this should match underlying_type()'s

signedness but there may be no underlying type.

Defined at line 40 of file ../../src/developer/debug/zxdb/symbols/enumeration.h

const Map & values ()

Defined at line 42 of file ../../src/developer/debug/zxdb/symbols/enumeration.h

Protected Methods

const Enumeration * AsEnumeration ()

Symbol overrides.

Defined at line 30 of file ../../src/developer/debug/zxdb/symbols/enumeration.cc

Friends

class MakeRefCountedHelper
class RefCountedThreadSafe