class Variable

Defined at line 18 of file ../../src/developer/debug/zxdb/symbols/variable.h

A variable is a value that can exist on the stack or in memory (it has a DWARF "location"). This

includes "variable" and "formal parameter" types. Not to be confused with DataMembers which are

located via an offset from their containing struct or class.

Public Methods

const VariableLocation & location ()

Holds the location of the variable value if it has a memory or register value. The symbols

could also be encoded to express a constant value as a DWARF expression which will be stored

here.

If value is constant and optimized out, Value::const_value() (on the base class) may contain

the literal value instead and there will be no location.

Generally one should check const_value().has_value() and fall back to location() if not.

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

void set_location (VariableLocation loc)

Defined at line 31 of file ../../src/developer/debug/zxdb/symbols/variable.h

Protected Methods

void Variable (DwarfTag tag)

Defined at line 9 of file ../../src/developer/debug/zxdb/symbols/variable.cc

void Variable (DwarfTag tag, const std::string & assigned_name, LazySymbol type, VariableLocation location)

Defined at line 10 of file ../../src/developer/debug/zxdb/symbols/variable.cc

void ~Variable ()

Defined at line 13 of file ../../src/developer/debug/zxdb/symbols/variable.cc

const Variable * AsVariable ()

Symbol overrides.

Defined at line 15 of file ../../src/developer/debug/zxdb/symbols/variable.cc

Friends

class MakeRefCountedHelper
class RefCountedThreadSafe