symbolication. Also improved the SBInstruction API to allow access to the instruction opcode name, mnemonics, comment and instruction data. Added the ability to edit SBLineEntry objects (change the file, line and column), and also allow SBSymbolContext objects to be modified (set module, comp unit, function, block, line entry or symbol). The SymbolContext and SBSymbolContext can now generate inlined call stack infomration for symbolication much easier using the SymbolContext::GetParentInlinedFrameInfo(...) and SBSymbolContext::GetParentInlinedFrameInfo(...) methods. llvm-svn: 140518
68 lines
1.4 KiB
C++
68 lines
1.4 KiB
C++
//===-- SWIG Interface for SBInstruction ------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include <stdio.h>
|
|
|
|
// There's a lot to be fixed here, but need to wait for underlying insn implementation
|
|
// to be revised & settle down first.
|
|
|
|
namespace lldb {
|
|
|
|
class SBInstruction
|
|
{
|
|
public:
|
|
|
|
SBInstruction ();
|
|
|
|
SBInstruction (const SBInstruction &rhs);
|
|
|
|
~SBInstruction ();
|
|
|
|
bool
|
|
IsValid();
|
|
|
|
SBAddress
|
|
GetAddress();
|
|
|
|
const char *
|
|
GetOpcodeName (lldb::SBTarget target);
|
|
|
|
const char *
|
|
GetMnemonics (lldb::SBTarget target);
|
|
|
|
const char *
|
|
GetComment (lldb::SBTarget target);
|
|
|
|
lldb::SBData
|
|
GetData (lldb::SBTarget target);
|
|
|
|
size_t
|
|
GetByteSize ();
|
|
|
|
bool
|
|
DoesBranch ();
|
|
|
|
void
|
|
Print (FILE *out);
|
|
|
|
bool
|
|
GetDescription (lldb::SBStream &description);
|
|
|
|
bool
|
|
EmulateWithFrame (lldb::SBFrame &frame, uint32_t evaluate_options);
|
|
|
|
bool
|
|
DumpEmulation (const char * triple); // triple is to specify the architecture, e.g. 'armv6' or 'arm-apple-darwin'
|
|
|
|
bool
|
|
TestEmulation (lldb::SBStream &output_stream, const char *test_file);
|
|
};
|
|
|
|
} // namespace lldb
|