summaryrefslogtreecommitdiffstats
path: root/lldb/source/API/SBValueList.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/API/SBValueList.cpp')
-rw-r--r--lldb/source/API/SBValueList.cpp65
1 files changed, 65 insertions, 0 deletions
diff --git a/lldb/source/API/SBValueList.cpp b/lldb/source/API/SBValueList.cpp
index 4223fadb388..56c95196d89 100644
--- a/lldb/source/API/SBValueList.cpp
+++ b/lldb/source/API/SBValueList.cpp
@@ -10,7 +10,10 @@
#include "lldb/API/SBValueList.h"
#include "lldb/API/SBValue.h"
+#include "lldb/API/SBStream.h"
+
+#include "lldb/Core/Log.h"
#include "lldb/Core/ValueObjectList.h"
using namespace lldb;
@@ -19,20 +22,60 @@ using namespace lldb_private;
SBValueList::SBValueList () :
m_opaque_ap ()
{
+ Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API | LIBLLDB_LOG_VERBOSE);
+
+ if (log)
+ log->Printf ("SBValueList::SBValueList () ==> this = %p", this);
}
SBValueList::SBValueList (const SBValueList &rhs) :
m_opaque_ap ()
{
+ Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API | LIBLLDB_LOG_VERBOSE);
+
+ if (log)
+ log->Printf ("SBValueList::SBValueList (const SBValueList &rhs) rhs.m_opaque_ap.get() = %p ==> this = %p",
+ (rhs.IsValid() ? rhs.m_opaque_ap.get() : NULL), this);
+
if (rhs.IsValid())
m_opaque_ap.reset (new lldb_private::ValueObjectList (*rhs));
+
+ if (log)
+ {
+ uint32_t num_vars = GetSize();
+ for (uint32_t i = 0; i < num_vars; ++i)
+ {
+ SBValue value = GetValueAtIndex (i);
+ SBStream sstr;
+ value.GetDescription (sstr);
+ log->Printf (" %s", sstr.GetData());
+ }
+ }
}
SBValueList::SBValueList (const lldb_private::ValueObjectList *lldb_object_ptr) :
m_opaque_ap ()
{
+ Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API | LIBLLDB_LOG_VERBOSE);
+
+ if (log)
+ log->Printf ("SBValueList::SBValueList (const lldb_private::ValueObjectList *lldb_object_ptr) "
+ "lldb_object_ptr = %p ==> this = %p", lldb_object_ptr, this);
+
if (lldb_object_ptr)
m_opaque_ap.reset (new lldb_private::ValueObjectList (*lldb_object_ptr));
+
+ if (log)
+ {
+ uint32_t num_vars = GetSize();
+ for (uint32_t i = 0; i < num_vars; ++i)
+ {
+ SBValue value = GetValueAtIndex (i);
+ SBStream sstr;
+ value.GetDescription (sstr);
+ log->Printf (" %s", sstr.GetData());
+ }
+ }
}
SBValueList::~SBValueList ()
@@ -106,18 +149,40 @@ SBValueList::Append (lldb::ValueObjectSP& val_obj_sp)
SBValue
SBValueList::GetValueAtIndex (uint32_t idx) const
{
+ Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
+
+ if (log)
+ log->Printf ("SBValueList::GetValueAtIndex (uint32_t idx) idx = %d", idx);
+
SBValue sb_value;
if (m_opaque_ap.get())
*sb_value = m_opaque_ap->GetValueObjectAtIndex (idx);
+
+ if (log)
+ {
+ SBStream sstr;
+ sb_value.GetDescription (sstr);
+ log->Printf ("SBValueList::GetValueAtIndex ==> SBValue (this = %p, '%s')", &sb_value, sstr.GetData());
+ }
+
return sb_value;
}
uint32_t
SBValueList::GetSize () const
{
+ Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
+
+ if (log)
+ log->Printf ("SBValueList::GetSize ()");
+
uint32_t size = 0;
if (m_opaque_ap.get())
size = m_opaque_ap->GetSize();
+
+ if (log)
+ log->Printf ("SBValueList::GetSize ==> %d", size);
+
return size;
}
OpenPOWER on IntegriCloud