|
LLDB mainline
|
Tracks live variable annotations across instructions and produces per-instruction "events" like name = RDI or name = <undef>. More...
#include <Disassembler.h>
Public Member Functions | |
| std::vector< std::string > | Annotate (Instruction &inst) |
| Compute annotation strings for a single instruction and update m_live_vars. | |
| std::vector< VariableAnnotation > | AnnotateStructured (Instruction &inst) |
| Returns structured data for all variables relevant at this instruction. | |
Private Attributes | |
| llvm::DenseMap< lldb::user_id_t, VariableAnnotation > | m_live_vars |
Tracks live variable annotations across instructions and produces per-instruction "events" like name = RDI or name = <undef>.
Definition at line 598 of file Disassembler.h.
| std::vector< std::string > VariableAnnotator::Annotate | ( | Instruction & | inst | ) |
Compute annotation strings for a single instruction and update m_live_vars.
Returns only the events that should be printed at this instruction.
Definition at line 314 of file Disassembler.cpp.
References AnnotateStructured(), kUndefLocation, and kUndefLocationFormatted.
Referenced by lldb_private::Disassembler::PrintInstructions().
| std::vector< VariableAnnotation > VariableAnnotator::AnnotateStructured | ( | Instruction & | inst | ) |
Returns structured data for all variables relevant at this instruction.
Definition at line 335 of file Disassembler.cpp.
References AddVariableAnnotationToVector(), lldb_private::ConstString::AsCString(), lldb_private::SymbolContext::block, lldb::eDescriptionLevelBrief, lldb_private::ABI::FindPlugin(), lldb_private::SymbolContext::function, lldb_private::Function::GetAddress(), lldb_private::Instruction::GetAddress(), lldb_private::DWARFExpressionList::GetExpressionEntryAtAddress(), lldb_private::Declaration::GetFile(), lldb_private::Address::GetFileAddress(), lldb_private::FileSpec::GetFilename(), lldb_private::Declaration::GetLine(), lldb_private::Address::GetModule(), lldb_private::VariableList::GetSize(), lldb_private::StreamString::GetString(), lldb_private::VariableList::GetVariableAtIndex(), lldb_private::DWARFExpressionList::IsValid(), and m_live_vars.
Referenced by Annotate().
|
private |
Definition at line 601 of file Disassembler.h.
Referenced by AnnotateStructured().