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