9#ifndef LLDB_DATAFORMATTERS_TYPESUMMARY_H
10#define LLDB_DATAFORMATTERS_TYPESUMMARY_H
83 return (
m_flags & lldb::eTypeOptionCascade) == lldb::eTypeOptionCascade;
88 m_flags |= lldb::eTypeOptionCascade;
95 return (
m_flags & lldb::eTypeOptionSkipPointers) ==
96 lldb::eTypeOptionSkipPointers;
101 m_flags |= lldb::eTypeOptionSkipPointers;
108 return (
m_flags & lldb::eTypeOptionSkipReferences) ==
109 lldb::eTypeOptionSkipReferences;
114 m_flags |= lldb::eTypeOptionSkipReferences;
121 return (
m_flags & lldb::eTypeOptionHideChildren) ==
122 lldb::eTypeOptionHideChildren;
127 m_flags |= lldb::eTypeOptionHideChildren;
134 return (
m_flags & lldb::eTypeOptionHideEmptyAggregates) ==
135 lldb::eTypeOptionHideEmptyAggregates;
140 m_flags |= lldb::eTypeOptionHideEmptyAggregates;
147 return (
m_flags & lldb::eTypeOptionHideValue) ==
148 lldb::eTypeOptionHideValue;
153 m_flags |= lldb::eTypeOptionHideValue;
160 return (
m_flags & lldb::eTypeOptionShowOneLiner) ==
161 lldb::eTypeOptionShowOneLiner;
166 m_flags |= lldb::eTypeOptionShowOneLiner;
173 return (
m_flags & lldb::eTypeOptionHideNames) ==
174 lldb::eTypeOptionHideNames;
179 m_flags |= lldb::eTypeOptionHideNames;
186 return (
m_flags & lldb::eTypeOptionNonCacheable) ==
187 lldb::eTypeOptionNonCacheable;
192 m_flags |= lldb::eTypeOptionNonCacheable;
308 std::string
GetName()
override;
331 const char *description);
357 std::string
GetName()
override;
375 const char *function_name,
376 const char *python_script =
nullptr);
404 std::string
GetName()
override;
423 std::unique_ptr<llvm::MemoryBuffer> bytecode);
427 std::string
GetName()
override;
A stream class that can stream formatted output to a file.
std::shared_ptr< Object > ObjectSP
Flags & SetNonCacheable(bool value=true)
Flags & operator=(const uint32_t &rhs)
Flags & SetCascades(bool value=true)
Flags & SetHideEmptyAggregates(bool value=true)
bool GetSkipPointers() const
bool GetShowMembersOneLiner() const
Flags & SetSkipPointers(bool value=true)
Flags & SetHideItemNames(bool value=true)
Flags(const Flags &other)
Flags & operator=(const Flags &rhs)
Flags & SetDontShowChildren(bool value=true)
Flags & SetSkipReferences(bool value=true)
Flags & SetShowMembersOneLiner(bool value=true)
bool GetHideEmptyAggregates() const
void SetValue(uint32_t value)
bool GetSkipReferences() const
bool GetNonCacheable() const
Flags & SetDontShowValue(bool value=true)
bool GetHideItemNames() const
bool GetDontShowValue() const
bool GetDontShowChildren() const
void SetIsOneLiner(bool value)
virtual bool HideNames(ValueObject *valobj) const
TypeSummaryImpl(const TypeSummaryImpl &)=delete
virtual ~TypeSummaryImpl()=default
virtual std::string GetName()=0
Get the name of the Type Summary Provider, either a C++ class, a summary string, or a script function...
virtual std::string GetSummaryKindName()
Get the name of the kind of Summary Provider, either c++, summary string, script or python.
virtual void SetDoesPrintValue(bool value)
void SetSkipsReferences(bool value)
virtual bool FormatObject(ValueObject *valobj, std::string &dest, const TypeSummaryOptions &options)=0
void SetSkipsPointers(bool value)
virtual bool DoesPrintEmptyAggregates() const
virtual std::string GetDescription()=0
void SetOptions(uint32_t value)
void SetCascades(bool value)
bool NonCacheable() const
virtual void SetDoesPrintChildren(bool value)
const TypeSummaryImpl & operator=(const TypeSummaryImpl &)=delete
virtual void SetNonCacheable(bool value)
virtual void SetHideNames(bool value)
virtual bool DoesPrintValue(ValueObject *valobj) const
std::shared_ptr< TypeSummaryImpl > SharedPointer
bool SkipsPointers() const
virtual bool DoesPrintChildren(ValueObject *valobj) const
bool SkipsReferences() const
lldb::TypeSummaryCapping m_capping
lldb::LanguageType GetLanguage() const
~TypeSummaryOptions()=default
TypeSummaryOptions & SetCapping(lldb::TypeSummaryCapping)
lldb::LanguageType m_lang
TypeSummaryOptions & SetLanguage(lldb::LanguageType)
lldb::TypeSummaryCapping GetCapping() const
A class that represents a running process on the host machine.
TypeSummaryCapping
Whether a summary should cap how much data it returns to users or not.
LanguageType
Programming language type.
@ eLanguageTypeUnknown
Unknown or invalid language value.