class ArrayType

Defined at line 26 of file ../../src/developer/debug/zxdb/symbols/array_type.h

Represents an array. An array is similar to a pointer but we specifically know that it is an

array and often know its length. Not much can be done with arrays with unknown lengths.

DWARF says an array *may* have a length. Clang and GCC define int[] as a pointer so we expect

all "real" arrays to have a length.

The case that may not have lengths are extern definitions that refer to arrays. For example:

extern const char kFoo[];

will be marked as an "external" variable with an array type with no length. Resolving the

extern to getting the real variable definition will give an array type with a real length.

Public Methods

const Type * value_type ()

Defined at line 28 of file ../../src/developer/debug/zxdb/symbols/array_type.h

std::optional<size_t> num_elts ()

Defined at line 29 of file ../../src/developer/debug/zxdb/symbols/array_type.h

Protected Methods

const ArrayType * AsArrayType ()

Symbol protected override.

Defined at line 20 of file ../../src/developer/debug/zxdb/symbols/array_type.cc

Friends

class MakeRefCountedHelper
class RefCountedThreadSafe