Disassembler(const ArchSpec &arch, const char *flavor);
~Disassembler() override;
- typedef const char *(*SummaryCallback)(const Instruction &inst,
- ExecutionContext *exe_context,
- void *user_data);
-
- static bool PrintInstructions(Disassembler *disasm_ptr, Debugger &debugger,
- const ArchSpec &arch,
- const ExecutionContext &exe_ctx,
- uint32_t num_instructions,
- bool mixed_source_and_assembly,
- uint32_t num_mixed_context_lines,
- uint32_t options, Stream &strm);
+ void PrintInstructions(Debugger &debugger, const ArchSpec &arch,
+ const ExecutionContext &exe_ctx,
+ uint32_t num_instructions,
+ bool mixed_source_and_assembly,
+ uint32_t num_mixed_context_lines, uint32_t options,
+ Stream &strm);
size_t ParseInstructions(Target &target, const AddressRange &range,
Stream *error_strm_ptr, bool prefer_file_cache);
if (bytes_disassembled == 0)
return false;
- return PrintInstructions(disasm_sp.get(), debugger, arch, exe_ctx,
- num_instructions, mixed_source_and_assembly,
- num_mixed_context_lines, options, strm);
+ disasm_sp->PrintInstructions(debugger, arch, exe_ctx, num_instructions,
+ mixed_source_and_assembly,
+ num_mixed_context_lines, options, strm);
+ return true;
}
bool Disassembler::Disassemble(Debugger &debugger, const ArchSpec &arch,
if (bytes_disassembled == 0)
return false;
- return PrintInstructions(disasm_sp.get(), debugger, arch, exe_ctx,
- num_instructions, mixed_source_and_assembly,
- num_mixed_context_lines, options, strm);
+ disasm_sp->PrintInstructions(debugger, arch, exe_ctx, num_instructions,
+ mixed_source_and_assembly,
+ num_mixed_context_lines, options, strm);
+ return true;
}
Disassembler::SourceLine
return false;
}
-bool Disassembler::PrintInstructions(Disassembler *disasm_ptr,
- Debugger &debugger, const ArchSpec &arch,
+void Disassembler::PrintInstructions(Debugger &debugger, const ArchSpec &arch,
const ExecutionContext &exe_ctx,
uint32_t num_instructions,
bool mixed_source_and_assembly,
uint32_t num_mixed_context_lines,
uint32_t options, Stream &strm) {
// We got some things disassembled...
- size_t num_instructions_found = disasm_ptr->GetInstructionList().GetSize();
+ size_t num_instructions_found = GetInstructionList().GetSize();
if (num_instructions > 0 && num_instructions < num_instructions_found)
num_instructions_found = num_instructions;
const uint32_t max_opcode_byte_size =
- disasm_ptr->GetInstructionList().GetMaxOpcocdeByteSize();
+ GetInstructionList().GetMaxOpcocdeByteSize();
SymbolContext sc;
SymbolContext prev_sc;
AddressRange current_source_line_range;
size_t address_text_size = 0;
for (size_t i = 0; i < num_instructions_found; ++i) {
- Instruction *inst =
- disasm_ptr->GetInstructionList().GetInstructionAtIndex(i).get();
+ Instruction *inst = GetInstructionList().GetInstructionAtIndex(i).get();
if (inst) {
const Address &addr = inst->GetAddress();
ModuleSP module_sp(addr.GetModule());
previous_symbol = nullptr;
SourceLine previous_line;
for (size_t i = 0; i < num_instructions_found; ++i) {
- Instruction *inst =
- disasm_ptr->GetInstructionList().GetInstructionAtIndex(i).get();
+ Instruction *inst = GetInstructionList().GetInstructionAtIndex(i).get();
if (inst) {
const Address &addr = inst->GetAddress();
break;
}
}
-
- return true;
}
bool Disassembler::Disassemble(Debugger &debugger, const ArchSpec &arch,