class UnitSymbolFactory

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

A factory for creating symbol objects because on unit-relative offsets. Some DWARF constructs

refer to DIE entries via unit-relative offsets. Code needing this capability can be passed this

object.

This object is extremely simple and just encodes a Symbolfactory + unit_offset. It can be used

for mock symbols in tests by using a MockSymbolFactory and arranging for mock symbols to be

generated at the "unit_loc + offset" locations. The unit offset is never actually dereferenced so

a DWARF unit does not need to actually be present at the unit_loc for testing.

Copying and passing-by-value is OK.

Public Methods

void UnitSymbolFactory ()

A default-constructred UnitSymbolFactory returns empty LazySymbols.

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

void UnitSymbolFactory (fxl::RefPtr<const SymbolFactory> factory, uint64_t unit_loc)

Defined at line 30 of file ../../src/developer/debug/zxdb/symbols/unit_symbol_factory.h

void UnitSymbolFactory (const Symbol * symbol)

Constructs a UnitSymbolFactory for the unit containing the given Symbol. On failure this

generates a symbol factory that returns empty LazySymbols.

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

LazySymbol MakeLazyUnitRelative (uint64_t offset_from_unit)

Constructs a lazy symbol given a unit-relative DIE offset.

We could also add an "Uncached" variant in the future if needed.

Defined at line 51 of file ../../src/developer/debug/zxdb/symbols/unit_symbol_factory.h