summaryrefslogtreecommitdiff
path: root/include/lldb/Symbol
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Symbol')
-rw-r--r--include/lldb/Symbol/FuncUnwinders.h4
-rw-r--r--include/lldb/Symbol/Function.h11
-rw-r--r--include/lldb/Symbol/ObjectFile.h15
-rw-r--r--include/lldb/Symbol/Symbol.h11
-rw-r--r--include/lldb/Symbol/SymbolContext.h9
-rw-r--r--include/lldb/Symbol/Type.h13
-rw-r--r--include/lldb/Symbol/UnwindTable.h2
7 files changed, 61 insertions, 4 deletions
diff --git a/include/lldb/Symbol/FuncUnwinders.h b/include/lldb/Symbol/FuncUnwinders.h
index fa48dc27e123..7af063402289 100644
--- a/include/lldb/Symbol/FuncUnwinders.h
+++ b/include/lldb/Symbol/FuncUnwinders.h
@@ -31,7 +31,7 @@ public:
// instructions are finished for migrating breakpoints past the
// stack frame setup instructions when we don't have line table information.
- FuncUnwinders (lldb_private::UnwindTable& unwind_table, lldb_private::UnwindAssembly *assembly_profiler, AddressRange range);
+ FuncUnwinders (lldb_private::UnwindTable& unwind_table, const lldb::UnwindAssemblySP& assembly_profiler, AddressRange range);
~FuncUnwinders ();
@@ -77,7 +77,7 @@ public:
private:
UnwindTable& m_unwind_table;
- UnwindAssembly *m_assembly_profiler;
+ lldb::UnwindAssemblySP m_assembly_profiler;
AddressRange m_range;
Mutex m_mutex;
diff --git a/include/lldb/Symbol/Function.h b/include/lldb/Symbol/Function.h
index 787f81c5ad27..dcea24c0b632 100644
--- a/include/lldb/Symbol/Function.h
+++ b/include/lldb/Symbol/Function.h
@@ -608,6 +608,17 @@ public:
size_t
MemorySize () const;
+ lldb::DisassemblerSP
+ GetInstructions (const ExecutionContext &exe_ctx,
+ const char *flavor,
+ bool prefer_file_cache);
+
+ bool
+ GetDisassembly (const ExecutionContext &exe_ctx,
+ const char *flavor,
+ bool prefer_file_cache,
+ Stream &strm);
+
protected:
enum
diff --git a/include/lldb/Symbol/ObjectFile.h b/include/lldb/Symbol/ObjectFile.h
index ad500f5413b8..afa1f9b40902 100644
--- a/include/lldb/Symbol/ObjectFile.h
+++ b/include/lldb/Symbol/ObjectFile.h
@@ -451,6 +451,21 @@ public:
}
//------------------------------------------------------------------
+ /// Sets the load address for an entire module, assuming a rigid
+ /// slide of sections, if possible in the implementation.
+ ///
+ /// @return
+ /// Returns true iff any section's load address changed.
+ //------------------------------------------------------------------
+ virtual bool
+ SetLoadAddress(Target &target,
+ lldb::addr_t value,
+ bool value_is_offset)
+ {
+ return false;
+ }
+
+ //------------------------------------------------------------------
/// Gets whether endian swapping should occur when extracting data
/// from this object file.
///
diff --git a/include/lldb/Symbol/Symbol.h b/include/lldb/Symbol/Symbol.h
index 75e0900ab640..db32ba373e42 100644
--- a/include/lldb/Symbol/Symbol.h
+++ b/include/lldb/Symbol/Symbol.h
@@ -291,6 +291,17 @@ public:
virtual void
DumpSymbolContext (Stream *s);
+ lldb::DisassemblerSP
+ GetInstructions (const ExecutionContext &exe_ctx,
+ const char *flavor,
+ bool prefer_file_cache);
+
+ bool
+ GetDisassembly (const ExecutionContext &exe_ctx,
+ const char *flavor,
+ bool prefer_file_cache,
+ Stream &strm);
+
protected:
uint32_t m_uid; // User ID (usually the original symbol table index)
diff --git a/include/lldb/Symbol/SymbolContext.h b/include/lldb/Symbol/SymbolContext.h
index a0501440f18c..6fdd828bd9f2 100644
--- a/include/lldb/Symbol/SymbolContext.h
+++ b/include/lldb/Symbol/SymbolContext.h
@@ -17,6 +17,7 @@
#include "lldb/Core/Address.h"
#include "lldb/Core/Mangled.h"
#include "lldb/Symbol/LineEntry.h"
+#include "lldb/Utility/Iterable.h"
namespace lldb_private {
@@ -552,6 +553,14 @@ protected:
// Member variables.
//------------------------------------------------------------------
collection m_symbol_contexts; ///< The list of symbol contexts.
+
+public:
+ typedef AdaptedIterable<collection, SymbolContext, vector_adapter> SymbolContextIterable;
+ SymbolContextIterable
+ SymbolContexts()
+ {
+ return SymbolContextIterable(m_symbol_contexts);
+ }
};
bool operator== (const SymbolContext& lhs, const SymbolContext& rhs);
diff --git a/include/lldb/Symbol/Type.h b/include/lldb/Symbol/Type.h
index 920f571fa1e9..da327439936c 100644
--- a/include/lldb/Symbol/Type.h
+++ b/include/lldb/Symbol/Type.h
@@ -417,7 +417,15 @@ public:
return type_sp->GetClangLayoutType().GetLValueReferenceType();
return clang_type.GetLValueReferenceType();
}
-
+
+ ClangASTType
+ GetTypedefedType () const
+ {
+ if (type_sp)
+ return type_sp->GetClangFullType().GetTypedefedType();
+ return clang_type.GetTypedefedType();
+ }
+
ClangASTType
GetDereferencedType () const
{
@@ -513,6 +521,9 @@ public:
GetReferenceType () const;
TypeImpl
+ GetTypedefedType () const;
+
+ TypeImpl
GetDereferencedType () const;
TypeImpl
diff --git a/include/lldb/Symbol/UnwindTable.h b/include/lldb/Symbol/UnwindTable.h
index cefb91eb371a..3a99eb463df4 100644
--- a/include/lldb/Symbol/UnwindTable.h
+++ b/include/lldb/Symbol/UnwindTable.h
@@ -57,7 +57,7 @@ private:
bool m_initialized; // delay some initialization until ObjectFile is set up
- UnwindAssembly* m_assembly_profiler;
+ lldb::UnwindAssemblySP m_assembly_profiler;
DWARFCallFrameInfo* m_eh_frame;