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