aboutsummaryrefslogtreecommitdiff
path: root/include/lldb/Symbol/Symbol.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/lldb/Symbol/Symbol.h')
-rw-r--r--include/lldb/Symbol/Symbol.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/include/lldb/Symbol/Symbol.h b/include/lldb/Symbol/Symbol.h
index db32ba373e42..0dd04b7112bc 100644
--- a/include/lldb/Symbol/Symbol.h
+++ b/include/lldb/Symbol/Symbol.h
@@ -92,6 +92,9 @@ public:
return m_addr_range.GetBaseAddress();
}
+ lldb::addr_t
+ ResolveCallableAddress(Target &target) const;
+
const ConstString &
GetName () const
{
@@ -135,7 +138,7 @@ public:
SetReExportedSymbolSharedLibrary (const FileSpec &fspec);
Symbol *
- ResolveReExportedSymbol (Target &target);
+ ResolveReExportedSymbol (Target &target) const;
uint32_t
GetSiblingIndex () const;
@@ -303,7 +306,15 @@ public:
Stream &strm);
protected:
-
+ // This is the internal guts of ResolveReExportedSymbol, it assumes reexport_name is not null, and that module_spec
+ // is valid. We track the modules we've already seen to make sure we don't get caught in a cycle.
+
+ Symbol *
+ ResolveReExportedSymbolInModuleSpec (Target &target,
+ ConstString &reexport_name,
+ lldb_private::ModuleSpec &module_spec,
+ lldb_private::ModuleList &seen_modules) const;
+
uint32_t m_uid; // User ID (usually the original symbol table index)
uint16_t m_type_data; // data specific to m_type
uint16_t m_type_data_resolved:1, // True if the data in m_type_data has already been calculated