diff options
Diffstat (limited to 'contrib/llvm-project/lldb/include/lldb/Symbol/Symbol.h')
-rw-r--r-- | contrib/llvm-project/lldb/include/lldb/Symbol/Symbol.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/contrib/llvm-project/lldb/include/lldb/Symbol/Symbol.h b/contrib/llvm-project/lldb/include/lldb/Symbol/Symbol.h index cb2385468702..23a68090ff4d 100644 --- a/contrib/llvm-project/lldb/include/lldb/Symbol/Symbol.h +++ b/contrib/llvm-project/lldb/include/lldb/Symbol/Symbol.h @@ -235,6 +235,46 @@ public: return "___lldb_unnamed_symbol"; } + /// Decode a serialized version of this object from data. + /// + /// \param data + /// The decoder object that references the serialized data. + /// + /// \param offset_ptr + /// A pointer that contains the offset from which the data will be decoded + /// from that gets updated as data gets decoded. + /// + /// \param section_list + /// A section list that allows lldb_private::Address objects to be filled + /// in. The address information for symbols are serilized as file addresses + /// and must be converted into Address objects with the right section and + /// offset. + /// + /// \param strtab + /// All strings in cache files are put into string tables for efficiency + /// and cache file size reduction. Strings are stored as uint32_t string + /// table offsets in the cache data. + /// + /// \return + /// True if the symbol is successfully decoded, false otherwise. + bool Decode(const DataExtractor &data, lldb::offset_t *offset_ptr, + const SectionList *section_list, const StringTableReader &strtab); + + /// Encode this object into a data encoder object. + /// + /// This allows this object to be serialized to disk. + /// + /// \param encoder + /// A data encoder object that serialized bytes will be encoded into. + /// + /// \param strtab + /// All strings in cache files are put into string tables for efficiency + /// and cache file size reduction. Strings are stored as uint32_t string + /// table offsets in the cache data. + void Encode(DataEncoder &encoder, ConstStringTable &strtab) const; + + bool operator==(const Symbol &rhs) const; + protected: // This is the internal guts of ResolveReExportedSymbol, it assumes // reexport_name is not null, and that module_spec is valid. We track the |