class ModifiedType

Defined at line 22 of file ../../src/developer/debug/zxdb/symbols/modified_type.h

A DWARF type modifier is something that applies to an underlying type. If you want to declare a

type for "int*", you would first declare a base type for "int", and then declare a pointer

modifier that references the "int" record.

We also count typedefs as type modifiers since they apply a new name to a type in the same

manner.

We also count imported declarations are type modifiers. These are "using" statements. They also

reference an underlying type but won't have a name. In this case, the name comes from the

modified type but the namespace comes from the surrounding context of the ModifiedType.

Public Methods

const LazySymbol & modified ()

The underlying modified type. Note that there is no setter for this, it must be supplied in the

constructor since the setter will decode the modified type if necessary to compute its size.

This may be null. This means the modified type is "void" (e.g. a pointer modifying nothing is a

void*, and a typedef of nothing is a typedef for void).

Defined at line 33 of file ../../src/developer/debug/zxdb/symbols/modified_type.h

const Type * StripCV ()

Type/Symbol overrides.

Defined at line 39 of file ../../src/developer/debug/zxdb/symbols/modified_type.cc

const Type * StripCVT ()

Defined at line 47 of file ../../src/developer/debug/zxdb/symbols/modified_type.cc

bool ModifiesVoid ()

Returns true if this modified type is a modification of "void", e.g. "void*".

Defined at line 56 of file ../../src/developer/debug/zxdb/symbols/modified_type.cc

Protected Methods

const ModifiedType * AsModifiedType ()

Symbol protected overrides:

Defined at line 37 of file ../../src/developer/debug/zxdb/symbols/modified_type.cc

Friends

class MakeRefCountedHelper
class RefCountedThreadSafe