diff options
Diffstat (limited to 'include/lldb/DataFormatters/FormatCache.h')
-rw-r--r-- | include/lldb/DataFormatters/FormatCache.h | 197 |
1 files changed, 86 insertions, 111 deletions
diff --git a/include/lldb/DataFormatters/FormatCache.h b/include/lldb/DataFormatters/FormatCache.h index 645fbc7ddf10..ab369a1f0453 100644 --- a/include/lldb/DataFormatters/FormatCache.h +++ b/include/lldb/DataFormatters/FormatCache.h @@ -1,4 +1,5 @@ -//===-- FormatCache.h ---------------------------------------------*- C++ -*-===// +//===-- FormatCache.h ---------------------------------------------*- C++ +//-*-===// // // The LLVM Compiler Infrastructure // @@ -17,121 +18,95 @@ // Other libraries and framework includes // Project includes -#include "lldb/lldb-public.h" #include "lldb/Core/ConstString.h" +#include "lldb/lldb-public.h" namespace lldb_private { -class FormatCache -{ +class FormatCache { private: - struct Entry - { - private: - bool m_format_cached : 1; - bool m_summary_cached : 1; - bool m_synthetic_cached : 1; - bool m_validator_cached : 1; - - lldb::TypeFormatImplSP m_format_sp; - lldb::TypeSummaryImplSP m_summary_sp; - lldb::SyntheticChildrenSP m_synthetic_sp; - lldb::TypeValidatorImplSP m_validator_sp; - public: - Entry (); - Entry (lldb::TypeFormatImplSP); - Entry (lldb::TypeSummaryImplSP); - Entry (lldb::SyntheticChildrenSP); - Entry (lldb::TypeValidatorImplSP); - Entry (lldb::TypeFormatImplSP,lldb::TypeSummaryImplSP,lldb::SyntheticChildrenSP,lldb::TypeValidatorImplSP); - - bool - IsFormatCached (); - - bool - IsSummaryCached (); - - bool - IsSyntheticCached (); - - bool - IsValidatorCached (); - - lldb::TypeFormatImplSP - GetFormat (); - - lldb::TypeSummaryImplSP - GetSummary (); - - lldb::SyntheticChildrenSP - GetSynthetic (); - - lldb::TypeValidatorImplSP - GetValidator (); - - void - SetFormat (lldb::TypeFormatImplSP); - - void - SetSummary (lldb::TypeSummaryImplSP); - - void - SetSynthetic (lldb::SyntheticChildrenSP); - - void - SetValidator (lldb::TypeValidatorImplSP); - }; - typedef std::map<ConstString,Entry> CacheMap; - CacheMap m_map; - std::recursive_mutex m_mutex; - - uint64_t m_cache_hits; - uint64_t m_cache_misses; - - Entry& - GetEntry (const ConstString& type); - + struct Entry { + private: + bool m_format_cached : 1; + bool m_summary_cached : 1; + bool m_synthetic_cached : 1; + bool m_validator_cached : 1; + + lldb::TypeFormatImplSP m_format_sp; + lldb::TypeSummaryImplSP m_summary_sp; + lldb::SyntheticChildrenSP m_synthetic_sp; + lldb::TypeValidatorImplSP m_validator_sp; + + public: + Entry(); + Entry(lldb::TypeFormatImplSP); + Entry(lldb::TypeSummaryImplSP); + Entry(lldb::SyntheticChildrenSP); + Entry(lldb::TypeValidatorImplSP); + Entry(lldb::TypeFormatImplSP, lldb::TypeSummaryImplSP, + lldb::SyntheticChildrenSP, lldb::TypeValidatorImplSP); + + bool IsFormatCached(); + + bool IsSummaryCached(); + + bool IsSyntheticCached(); + + bool IsValidatorCached(); + + lldb::TypeFormatImplSP GetFormat(); + + lldb::TypeSummaryImplSP GetSummary(); + + lldb::SyntheticChildrenSP GetSynthetic(); + + lldb::TypeValidatorImplSP GetValidator(); + + void SetFormat(lldb::TypeFormatImplSP); + + void SetSummary(lldb::TypeSummaryImplSP); + + void SetSynthetic(lldb::SyntheticChildrenSP); + + void SetValidator(lldb::TypeValidatorImplSP); + }; + typedef std::map<ConstString, Entry> CacheMap; + CacheMap m_map; + std::recursive_mutex m_mutex; + + uint64_t m_cache_hits; + uint64_t m_cache_misses; + + Entry &GetEntry(const ConstString &type); + public: - FormatCache (); - - bool - GetFormat (const ConstString& type,lldb::TypeFormatImplSP& format_sp); - - bool - GetSummary (const ConstString& type,lldb::TypeSummaryImplSP& summary_sp); - - bool - GetSynthetic (const ConstString& type,lldb::SyntheticChildrenSP& synthetic_sp); - - bool - GetValidator (const ConstString& type,lldb::TypeValidatorImplSP& summary_sp); - - void - SetFormat (const ConstString& type,lldb::TypeFormatImplSP& format_sp); - - void - SetSummary (const ConstString& type,lldb::TypeSummaryImplSP& summary_sp); - - void - SetSynthetic (const ConstString& type,lldb::SyntheticChildrenSP& synthetic_sp); - - void - SetValidator (const ConstString& type,lldb::TypeValidatorImplSP& synthetic_sp); - - void - Clear (); - - uint64_t - GetCacheHits () - { - return m_cache_hits; - } - - uint64_t - GetCacheMisses () - { - return m_cache_misses; - } + FormatCache(); + + bool GetFormat(const ConstString &type, lldb::TypeFormatImplSP &format_sp); + + bool GetSummary(const ConstString &type, lldb::TypeSummaryImplSP &summary_sp); + + bool GetSynthetic(const ConstString &type, + lldb::SyntheticChildrenSP &synthetic_sp); + + bool GetValidator(const ConstString &type, + lldb::TypeValidatorImplSP &summary_sp); + + void SetFormat(const ConstString &type, lldb::TypeFormatImplSP &format_sp); + + void SetSummary(const ConstString &type, lldb::TypeSummaryImplSP &summary_sp); + + void SetSynthetic(const ConstString &type, + lldb::SyntheticChildrenSP &synthetic_sp); + + void SetValidator(const ConstString &type, + lldb::TypeValidatorImplSP &synthetic_sp); + + void Clear(); + + uint64_t GetCacheHits() { return m_cache_hits; } + + uint64_t GetCacheMisses() { return m_cache_misses; } }; } // namespace lldb_private -#endif // lldb_FormatCache_h_ +#endif // lldb_FormatCache_h_ |