class CallSiteParameter
Defined at line 14 of file ../../src/developer/debug/zxdb/symbols/call_site_parameter.h
Represents a DW_TAG_call_site_parameter.
Public Methods
std::optional<uint32_t> location_register_num ()
The DWARF register number that corresponds to this location.
This corresponds to the decoded register number of the DW_AT_location of the call site
parameter. Theoretically, the DW_AT_location could specify any location in any way, but the
current compilers we support always output a single-byte operation of DW_OP_reg? to indicate
the register number.
More complex locations are not useful for call site parameters since the whole point is to
specify the registers upon function call. They could be expressed as "DW_OP_regx, <regnum>"
but currently compilers don't do that and the expression is longer anyway.
If we see more complex expressions, we should probably add a real VariableLocation here for
uniform evaluation rather than pushing more decode logic into the DwarfSymbolFactory. Perhaps
this class could have a helper to decode it.
Defined at line 30 of file ../../src/developer/debug/zxdb/symbols/call_site_parameter.h
const DwarfExpr & value_expr ()
The expression indicating the value of the location. This could be empty() if it's not
specified in the symbols.
Defined at line 34 of file ../../src/developer/debug/zxdb/symbols/call_site_parameter.h
Protected Methods
const CallSiteParameter * AsCallSiteParameter ()
Additional information is also supported by DWARF which we have no current need for. These can
be added as required:
DW_AT_call_data_location
DW_AT_call_data_value
DW_AT_call_parameter
DW_AT_name
DW_AT_type
Defined at line 46 of file ../../src/developer/debug/zxdb/symbols/call_site_parameter.h
Friends
class MakeRefCountedHelper
class RefCountedThreadSafe