9#ifndef LLDB_CORE_VALUEOBJECTSYNTHETICFILTER_H
10#define LLDB_CORE_VALUEOBJECTSYNTHETICFILTER_H
29class SyntheticChildrenFrontEnd;
55 bool can_create =
true)
override;
58 bool can_create =
true)
override;
static llvm::raw_ostream & error(Stream &strm)
Generic representation of a type in a programming language.
A uniqued constant string class.
A class that describes the declaration location of a lldb object.
A ValueObject that obtains its children from some source other than real information.
lldb::VariableSP GetVariable() override
virtual lldb::DynamicValueType GetDynamicValueType()
bool CanProvideValue() override
lldb::ValueObjectSP GetChildAtIndex(uint32_t idx, bool can_create=true) override
size_t GetIndexOfChildWithName(llvm::StringRef name) override
bool SetValueFromCString(const char *value_str, Status &error) override
uint32_t m_synthetic_children_count
bool UpdateValue() override
lldb::ValueType GetValueType() const override
LazyBool m_provides_value
bool IsSyntheticChildrenGenerated() override
lldb::LanguageType GetPreferredDisplayLanguage() override
ConstString GetTypeName() override
bool IsSynthetic() override
void SetFormat(lldb::Format format) override
NameToIndexMap::iterator NameToIndexIterator
void CopyValueData(ValueObject *source)
NameToIndexMap m_name_toindex
Guarded by m_child_mutex;.
ByIndexMap::iterator ByIndexIterator
ByIndexMap m_children_byindex
Guarded by m_child_mutex;.
std::unique_ptr< SyntheticChildrenFrontEnd > m_synth_filter_up
bool DoesProvideSyntheticValue() override
void CalculateSyntheticValue() override
lldb::SyntheticChildrenSP m_synth_sp
lldb::ValueObjectSP GetDynamicValue(lldb::DynamicValueType valueType) override
std::map< uint32_t, ValueObject * > ByIndexMap
void SetSyntheticChildrenGenerated(bool b) override
void SetPreferredDisplayLanguage(lldb::LanguageType)
ConstString GetDisplayTypeName() override
~ValueObjectSynthetic() override
ValueObjectSynthetic(const ValueObjectSynthetic &)=delete
lldb::ValueObjectSP GetNonSyntheticValue() override
SyntheticChildrenCache m_synthetic_children_cache
Guarded by m_child_mutex;.
std::optional< uint64_t > GetByteSize() override
ConstString m_parent_type_name
bool IsDynamic() override
bool GetDeclaration(Declaration &decl) override
bool GetIsConstant() const override
std::map< const char *, uint32_t > NameToIndexMap
ValueObject * GetParent() override
lldb::ValueObjectSP GetStaticValue() override
bool HasSyntheticValue() override
bool MightHaveChildren() override
Find out if a ValueObject might have children.
virtual void CreateSynthFilter()
lldb::ValueObjectSP GetChildMemberWithName(llvm::StringRef name, bool can_create=true) override
const ValueObjectSynthetic & operator=(const ValueObjectSynthetic &)=delete
ConstString GetQualifiedTypeName() override
std::vector< lldb::ValueObjectSP > SyntheticChildrenCache
uint64_t GetLanguageFlags() override
LazyBool m_might_have_children
CompilerType GetCompilerTypeImpl() override
void SetLanguageFlags(uint64_t flags) override
bool IsInScope() override
llvm::Expected< uint32_t > CalculateNumChildren(uint32_t max) override
Should only be called by ValueObject::GetNumChildren().
LazyBool CanUpdateWithInvalidExecutionContext() override
const ValueObject * GetParent() const override
friend class ValueObjectSynthetic
lldb::ValueObjectSP GetSP()
virtual lldb::VariableSP GetVariable()
lldb::DynamicValueType GetDynamicValueType()
ValueObject * m_parent
The parent value object, or nullptr if this has no parent.
bool UpdateValueIfNeeded(bool update_format=true)
virtual lldb::ValueObjectSP GetStaticValue()
virtual ValueObject * GetParent()
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::ValueObject > ValueObjectSP
Format
Display format definitions.
LanguageType
Programming language type.
std::shared_ptr< lldb_private::Variable > VariableSP
std::shared_ptr< lldb_private::SyntheticChildren > SyntheticChildrenSP