summaryrefslogtreecommitdiffstats
path: root/lldb/source/API/SBFileSpec.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/API/SBFileSpec.cpp')
-rw-r--r--lldb/source/API/SBFileSpec.cpp84
1 files changed, 81 insertions, 3 deletions
diff --git a/lldb/source/API/SBFileSpec.cpp b/lldb/source/API/SBFileSpec.cpp
index fb504f233f9..8f0b067ea0a 100644
--- a/lldb/source/API/SBFileSpec.cpp
+++ b/lldb/source/API/SBFileSpec.cpp
@@ -10,6 +10,7 @@
#include "lldb/API/SBFileSpec.h"
#include "lldb/API/SBStream.h"
#include "lldb/Core/FileSpec.h"
+#include "lldb/Core/Log.h"
using namespace lldb;
using namespace lldb_private;
@@ -19,11 +20,25 @@ using namespace lldb_private;
SBFileSpec::SBFileSpec () :
m_opaque_ap()
{
+ Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API | LIBLLDB_LOG_VERBOSE);
+
+ if (log)
+ log->Printf ("SBFileSpec::SBFileSpec () ==> this = %p", this);
}
SBFileSpec::SBFileSpec (const SBFileSpec &rhs) :
m_opaque_ap()
{
+ Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API | LIBLLDB_LOG_VERBOSE);
+
+ if (log)
+ {
+ SBStream sstr;
+ rhs.GetDescription (sstr);
+ log->Printf ("SBFileSpec::SBFileSpec (const SBFileSpec &rhs) rhs.m_opaque_ap.get() = %p (%s) ==> this = %p",
+ rhs.m_opaque_ap.get(), sstr.GetData(), this);
+ }
+
if (rhs.m_opaque_ap.get())
m_opaque_ap.reset (new FileSpec (rhs.get()));
}
@@ -37,6 +52,12 @@ SBFileSpec::SBFileSpec (const char *path) :
SBFileSpec::SBFileSpec (const char *path, bool resolve) :
m_opaque_ap(new FileSpec (path, resolve))
{
+ Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API | LIBLLDB_LOG_VERBOSE);
+
+ if (log)
+ log->Printf ("SBFileSpec::SBFileSpec (const char *path, bool resolve) path = '%s', resolve = %s ==> "
+ "this = %p (m_opaque_ap.get() = %p)", path, (resolve ? "true" : "false"), this,
+ m_opaque_ap.get());
}
SBFileSpec::~SBFileSpec ()
@@ -63,9 +84,19 @@ SBFileSpec::IsValid() const
bool
SBFileSpec::Exists () const
{
+ Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
+
+ if (log)
+ log->Printf ("SBFileSpec::Exists ()");
+
+ bool result = false;
if (m_opaque_ap.get())
- return m_opaque_ap->Exists();
- return false;
+ result = m_opaque_ap->Exists();
+
+ if (log)
+ log->Printf ("SBFileSpec::Exists ==> %s", (result ? "true" : "false"));
+
+ return result;
}
bool
@@ -85,8 +116,21 @@ SBFileSpec::ResolvePath (const char *src_path, char *dst_path, size_t dst_len)
const char *
SBFileSpec::GetFilename() const
{
+ Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
+
+ if (log)
+ log->Printf ("SBFileSpec::GetFilename ()");
+
if (m_opaque_ap.get())
+ {
+ if (log)
+ log->Printf ("SBFileSpec::GetFilename ==> %s", m_opaque_ap->GetFilename().AsCString());
return m_opaque_ap->GetFilename().AsCString();
+ }
+
+ if (log)
+ log->Printf ("SBFileSpec::GetFilename ==> NULL");
+
return NULL;
}
@@ -101,8 +145,22 @@ SBFileSpec::GetDirectory() const
uint32_t
SBFileSpec::GetPath (char *dst_path, size_t dst_len) const
{
+ Log *log = lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API);
+
+ if (log)
+ log->Printf ("SBFileSpec::GetPath (dst_path, dst_len)");
+
+ uint32_t result;
if (m_opaque_ap.get())
- return m_opaque_ap->GetPath (dst_path, dst_len);
+ {
+ result = m_opaque_ap->GetPath (dst_path, dst_len);
+ if (log)
+ log->Printf ("SBFileSpec::GetPath ==> %s (%d)", dst_path, result);
+ return result;
+ }
+
+ if (log)
+ log->Printf ("SBFileSpec::GetPath ==> NULL (0)");
if (dst_path && dst_len)
*dst_path = '\0';
@@ -164,3 +222,23 @@ SBFileSpec::GetDescription (SBStream &description)
return true;
}
+
+bool
+SBFileSpec::GetDescription (SBStream &description) const
+{
+ if (m_opaque_ap.get())
+ {
+ const char *filename = GetFilename();
+ const char *dir_name = GetDirectory();
+ if (!filename && !dir_name)
+ description.Printf ("No value");
+ else if (!dir_name)
+ description.Printf ("%s", filename);
+ else
+ description.Printf ("%s/%s", dir_name, filename);
+ }
+ else
+ description.Printf ("No value");
+
+ return true;
+}
OpenPOWER on IntegriCloud