diff options
Diffstat (limited to 'source/API/SBTypeSynthetic.cpp')
-rw-r--r-- | source/API/SBTypeSynthetic.cpp | 269 |
1 files changed, 113 insertions, 156 deletions
diff --git a/source/API/SBTypeSynthetic.cpp b/source/API/SBTypeSynthetic.cpp index 6f9951dc5559..37b6086f855a 100644 --- a/source/API/SBTypeSynthetic.cpp +++ b/source/API/SBTypeSynthetic.cpp @@ -1,4 +1,5 @@ -//===-- SBTypeSynthetic.cpp -----------------------------------------*- C++ -*-===// +//===-- SBTypeSynthetic.cpp -----------------------------------------*- C++ +//-*-===// // // The LLVM Compiler Infrastructure // @@ -18,190 +19,146 @@ using namespace lldb_private; #ifndef LLDB_DISABLE_PYTHON -SBTypeSynthetic::SBTypeSynthetic() : -m_opaque_sp() -{ -} +SBTypeSynthetic::SBTypeSynthetic() : m_opaque_sp() {} -SBTypeSynthetic -SBTypeSynthetic::CreateWithClassName (const char* data, uint32_t options) -{ - if (!data || data[0] == 0) - return SBTypeSynthetic(); - return SBTypeSynthetic(ScriptedSyntheticChildrenSP(new ScriptedSyntheticChildren(options, data, ""))); +SBTypeSynthetic SBTypeSynthetic::CreateWithClassName(const char *data, + uint32_t options) { + if (!data || data[0] == 0) + return SBTypeSynthetic(); + return SBTypeSynthetic(ScriptedSyntheticChildrenSP( + new ScriptedSyntheticChildren(options, data, ""))); } -SBTypeSynthetic -SBTypeSynthetic::CreateWithScriptCode (const char* data, uint32_t options) -{ - if (!data || data[0] == 0) - return SBTypeSynthetic(); - return SBTypeSynthetic(ScriptedSyntheticChildrenSP(new ScriptedSyntheticChildren(options, "", data))); +SBTypeSynthetic SBTypeSynthetic::CreateWithScriptCode(const char *data, + uint32_t options) { + if (!data || data[0] == 0) + return SBTypeSynthetic(); + return SBTypeSynthetic(ScriptedSyntheticChildrenSP( + new ScriptedSyntheticChildren(options, "", data))); } -SBTypeSynthetic::SBTypeSynthetic (const lldb::SBTypeSynthetic &rhs) : -m_opaque_sp(rhs.m_opaque_sp) -{ +SBTypeSynthetic::SBTypeSynthetic(const lldb::SBTypeSynthetic &rhs) + : m_opaque_sp(rhs.m_opaque_sp) {} + +SBTypeSynthetic::~SBTypeSynthetic() {} + +bool SBTypeSynthetic::IsValid() const { return m_opaque_sp.get() != NULL; } + +bool SBTypeSynthetic::IsClassCode() { + if (!IsValid()) + return false; + const char *code = m_opaque_sp->GetPythonCode(); + return (code && *code); } -SBTypeSynthetic::~SBTypeSynthetic () -{ +bool SBTypeSynthetic::IsClassName() { + if (!IsValid()) + return false; + return !IsClassCode(); } -bool -SBTypeSynthetic::IsValid() const -{ - return m_opaque_sp.get() != NULL; +const char *SBTypeSynthetic::GetData() { + if (!IsValid()) + return NULL; + if (IsClassCode()) + return m_opaque_sp->GetPythonCode(); + else + return m_opaque_sp->GetPythonClassName(); } -bool -SBTypeSynthetic::IsClassCode() -{ - if (!IsValid()) - return false; - const char* code = m_opaque_sp->GetPythonCode(); - return (code && *code); +void SBTypeSynthetic::SetClassName(const char *data) { + if (IsValid() && data && *data) + m_opaque_sp->SetPythonClassName(data); } -bool -SBTypeSynthetic::IsClassName() -{ - if (!IsValid()) - return false; - return !IsClassCode(); +void SBTypeSynthetic::SetClassCode(const char *data) { + if (IsValid() && data && *data) + m_opaque_sp->SetPythonCode(data); } -const char* -SBTypeSynthetic::GetData () -{ - if (!IsValid()) - return NULL; - if (IsClassCode()) - return m_opaque_sp->GetPythonCode(); - else - return m_opaque_sp->GetPythonClassName(); +uint32_t SBTypeSynthetic::GetOptions() { + if (!IsValid()) + return lldb::eTypeOptionNone; + return m_opaque_sp->GetOptions(); } -void -SBTypeSynthetic::SetClassName (const char* data) -{ - if (IsValid() && data && *data) - m_opaque_sp->SetPythonClassName(data); +void SBTypeSynthetic::SetOptions(uint32_t value) { + if (!CopyOnWrite_Impl()) + return; + m_opaque_sp->SetOptions(value); } -void -SBTypeSynthetic::SetClassCode (const char* data) -{ - if (IsValid() && data && *data) - m_opaque_sp->SetPythonCode(data); +bool SBTypeSynthetic::GetDescription(lldb::SBStream &description, + lldb::DescriptionLevel description_level) { + if (m_opaque_sp) { + description.Printf("%s\n", m_opaque_sp->GetDescription().c_str()); + return true; + } + return false; } -uint32_t -SBTypeSynthetic::GetOptions () -{ - if (!IsValid()) - return lldb::eTypeOptionNone; - return m_opaque_sp->GetOptions(); +lldb::SBTypeSynthetic &SBTypeSynthetic:: +operator=(const lldb::SBTypeSynthetic &rhs) { + if (this != &rhs) { + m_opaque_sp = rhs.m_opaque_sp; + } + return *this; } -void -SBTypeSynthetic::SetOptions (uint32_t value) -{ - if (!CopyOnWrite_Impl()) - return; - m_opaque_sp->SetOptions(value); +bool SBTypeSynthetic::operator==(lldb::SBTypeSynthetic &rhs) { + if (IsValid() == false) + return !rhs.IsValid(); + return m_opaque_sp == rhs.m_opaque_sp; } -bool -SBTypeSynthetic::GetDescription (lldb::SBStream &description, - lldb::DescriptionLevel description_level) -{ - if (m_opaque_sp) - { - description.Printf("%s\n", - m_opaque_sp->GetDescription().c_str()); - return true; - } +bool SBTypeSynthetic::IsEqualTo(lldb::SBTypeSynthetic &rhs) { + if (IsValid() == false) + return !rhs.IsValid(); + + if (m_opaque_sp->IsScripted() != rhs.m_opaque_sp->IsScripted()) + return false; + + if (IsClassCode() != rhs.IsClassCode()) + return false; + + if (strcmp(GetData(), rhs.GetData())) return false; + + return GetOptions() == rhs.GetOptions(); +} + +bool SBTypeSynthetic::operator!=(lldb::SBTypeSynthetic &rhs) { + if (IsValid() == false) + return !rhs.IsValid(); + return m_opaque_sp != rhs.m_opaque_sp; +} + +lldb::ScriptedSyntheticChildrenSP SBTypeSynthetic::GetSP() { + return m_opaque_sp; +} + +void SBTypeSynthetic::SetSP( + const lldb::ScriptedSyntheticChildrenSP &TypeSynthetic_impl_sp) { + m_opaque_sp = TypeSynthetic_impl_sp; } -lldb::SBTypeSynthetic & -SBTypeSynthetic::operator = (const lldb::SBTypeSynthetic &rhs) -{ - if (this != &rhs) - { - m_opaque_sp = rhs.m_opaque_sp; - } - return *this; -} - -bool -SBTypeSynthetic::operator == (lldb::SBTypeSynthetic &rhs) -{ - if (IsValid() == false) - return !rhs.IsValid(); - return m_opaque_sp == rhs.m_opaque_sp; -} - -bool -SBTypeSynthetic::IsEqualTo (lldb::SBTypeSynthetic &rhs) -{ - if (IsValid() == false) - return !rhs.IsValid(); - - if (m_opaque_sp->IsScripted() != rhs.m_opaque_sp->IsScripted()) - return false; - - if (IsClassCode() != rhs.IsClassCode()) - return false; - - if ( strcmp(GetData(), rhs.GetData()) ) - return false; - - return GetOptions() == rhs.GetOptions(); - -} - -bool -SBTypeSynthetic::operator != (lldb::SBTypeSynthetic &rhs) -{ - if (IsValid() == false) - return !rhs.IsValid(); - return m_opaque_sp != rhs.m_opaque_sp; -} - -lldb::ScriptedSyntheticChildrenSP -SBTypeSynthetic::GetSP () -{ - return m_opaque_sp; -} - -void -SBTypeSynthetic::SetSP (const lldb::ScriptedSyntheticChildrenSP &TypeSynthetic_impl_sp) -{ - m_opaque_sp = TypeSynthetic_impl_sp; -} - -SBTypeSynthetic::SBTypeSynthetic (const lldb::ScriptedSyntheticChildrenSP &TypeSynthetic_impl_sp) : -m_opaque_sp(TypeSynthetic_impl_sp) -{ -} - -bool -SBTypeSynthetic::CopyOnWrite_Impl() -{ - if (!IsValid()) - return false; - if (m_opaque_sp.unique()) - return true; - - ScriptedSyntheticChildrenSP new_sp(new ScriptedSyntheticChildren(m_opaque_sp->GetOptions(), - m_opaque_sp->GetPythonClassName(), - m_opaque_sp->GetPythonCode())); - - SetSP(new_sp); - +SBTypeSynthetic::SBTypeSynthetic( + const lldb::ScriptedSyntheticChildrenSP &TypeSynthetic_impl_sp) + : m_opaque_sp(TypeSynthetic_impl_sp) {} + +bool SBTypeSynthetic::CopyOnWrite_Impl() { + if (!IsValid()) + return false; + if (m_opaque_sp.unique()) return true; + + ScriptedSyntheticChildrenSP new_sp(new ScriptedSyntheticChildren( + m_opaque_sp->GetOptions(), m_opaque_sp->GetPythonClassName(), + m_opaque_sp->GetPythonCode())); + + SetSP(new_sp); + + return true; } #endif // LLDB_DISABLE_PYTHON |