summaryrefslogtreecommitdiffstats
path: root/lldb/tools/lldb-mi/MICmnLLDBProxySBValue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/tools/lldb-mi/MICmnLLDBProxySBValue.cpp')
-rw-r--r--lldb/tools/lldb-mi/MICmnLLDBProxySBValue.cpp172
1 files changed, 84 insertions, 88 deletions
diff --git a/lldb/tools/lldb-mi/MICmnLLDBProxySBValue.cpp b/lldb/tools/lldb-mi/MICmnLLDBProxySBValue.cpp
index eeafa9ddd2a..5a3e8e43b5f 100644
--- a/lldb/tools/lldb-mi/MICmnLLDBProxySBValue.cpp
+++ b/lldb/tools/lldb-mi/MICmnLLDBProxySBValue.cpp
@@ -13,13 +13,16 @@
#include "lldb/API/SBError.h"
// In-house headers:
+#include "MICmnLLDBDebugSessionInfo.h"
#include "MICmnLLDBProxySBValue.h"
#include "MIUtilString.h"
-#include "MICmnLLDBDebugSessionInfo.h"
-//++ ------------------------------------------------------------------------------------
-// Details: Retrieve the numerical value from the SBValue object. If the function fails
-// it could indicate the SBValue object does not represent an internal type.
+//++
+//------------------------------------------------------------------------------------
+// Details: Retrieve the numerical value from the SBValue object. If the
+// function fails
+// it could indicate the SBValue object does not represent an internal
+// type.
// Type: Static method.
// Args: vrValue - (R) The SBValue object to get a value from.
// vwValue - (W) The numerical value.
@@ -27,35 +30,33 @@
// MIstatus::failure - Functionality failed.
// Throws: None.
//--
-bool
-CMICmnLLDBProxySBValue::GetValueAsUnsigned(const lldb::SBValue &vrValue, MIuint64 &vwValue)
-{
- lldb::SBValue &rValue = const_cast<lldb::SBValue &>(vrValue);
- bool bCompositeType = true;
- MIuint64 nFailValue = 0;
- MIuint64 nValue = rValue.GetValueAsUnsigned(nFailValue);
- if (nValue == nFailValue)
- {
- nFailValue = 5; // Some arbitrary number
- nValue = rValue.GetValueAsUnsigned(nFailValue);
- if (nValue != nFailValue)
- {
- bCompositeType = false;
- vwValue = nValue;
- }
- }
- else
- {
- bCompositeType = false;
- vwValue = nValue;
+bool CMICmnLLDBProxySBValue::GetValueAsUnsigned(const lldb::SBValue &vrValue,
+ MIuint64 &vwValue) {
+ lldb::SBValue &rValue = const_cast<lldb::SBValue &>(vrValue);
+ bool bCompositeType = true;
+ MIuint64 nFailValue = 0;
+ MIuint64 nValue = rValue.GetValueAsUnsigned(nFailValue);
+ if (nValue == nFailValue) {
+ nFailValue = 5; // Some arbitrary number
+ nValue = rValue.GetValueAsUnsigned(nFailValue);
+ if (nValue != nFailValue) {
+ bCompositeType = false;
+ vwValue = nValue;
}
+ } else {
+ bCompositeType = false;
+ vwValue = nValue;
+ }
- return (bCompositeType ? MIstatus::failure : MIstatus::success);
+ return (bCompositeType ? MIstatus::failure : MIstatus::success);
}
-//++ ------------------------------------------------------------------------------------
-// Details: Retrieve the numerical value from the SBValue object. If the function fails
-// it could indicate the SBValue object does not represent an internal type.
+//++
+//------------------------------------------------------------------------------------
+// Details: Retrieve the numerical value from the SBValue object. If the
+// function fails
+// it could indicate the SBValue object does not represent an internal
+// type.
// Type: Static method.
// Args: vrValue - (R) The SBValue object to get a value from.
// vwValue - (W) The numerical value.
@@ -63,34 +64,31 @@ CMICmnLLDBProxySBValue::GetValueAsUnsigned(const lldb::SBValue &vrValue, MIuint6
// MIstatus::failure - Functionality failed.
// Throws: None.
//--
-bool
-CMICmnLLDBProxySBValue::GetValueAsSigned(const lldb::SBValue &vrValue, MIint64 &vwValue)
-{
- lldb::SBValue &rValue = const_cast<lldb::SBValue &>(vrValue);
- bool bCompositeType = true;
- MIuint64 nFailValue = 0;
- MIuint64 nValue = rValue.GetValueAsSigned(nFailValue);
- if (nValue == nFailValue)
- {
- nFailValue = 5; // Some arbitrary number
- nValue = rValue.GetValueAsSigned(nFailValue);
- if (nValue != nFailValue)
- {
- bCompositeType = false;
- vwValue = nValue;
- }
- }
- else
- {
- bCompositeType = false;
- vwValue = nValue;
+bool CMICmnLLDBProxySBValue::GetValueAsSigned(const lldb::SBValue &vrValue,
+ MIint64 &vwValue) {
+ lldb::SBValue &rValue = const_cast<lldb::SBValue &>(vrValue);
+ bool bCompositeType = true;
+ MIuint64 nFailValue = 0;
+ MIuint64 nValue = rValue.GetValueAsSigned(nFailValue);
+ if (nValue == nFailValue) {
+ nFailValue = 5; // Some arbitrary number
+ nValue = rValue.GetValueAsSigned(nFailValue);
+ if (nValue != nFailValue) {
+ bCompositeType = false;
+ vwValue = nValue;
}
+ } else {
+ bCompositeType = false;
+ vwValue = nValue;
+ }
- return (bCompositeType ? MIstatus::failure : MIstatus::success);
+ return (bCompositeType ? MIstatus::failure : MIstatus::success);
}
-//++ ------------------------------------------------------------------------------------
-// Details: Retrieve the NUL terminated string from the SBValue object if it of the type
+//++
+//------------------------------------------------------------------------------------
+// Details: Retrieve the NUL terminated string from the SBValue object if it of
+// the type
// unsigned char *.
// Type: Static method.
// Args: vrValue - (R) The SBValue object to get a value from.
@@ -99,44 +97,42 @@ CMICmnLLDBProxySBValue::GetValueAsSigned(const lldb::SBValue &vrValue, MIint64 &
// MIstatus::failure - Functionality failed, not suitable type.
// Throws: None.
//--
-bool
-CMICmnLLDBProxySBValue::GetCString(const lldb::SBValue &vrValue, CMIUtilString &vwCString)
-{
- lldb::SBValue &rValue = const_cast<lldb::SBValue &>(vrValue);
- const char *pCType = rValue.GetTypeName();
- if (pCType == nullptr)
- return MIstatus::failure;
+bool CMICmnLLDBProxySBValue::GetCString(const lldb::SBValue &vrValue,
+ CMIUtilString &vwCString) {
+ lldb::SBValue &rValue = const_cast<lldb::SBValue &>(vrValue);
+ const char *pCType = rValue.GetTypeName();
+ if (pCType == nullptr)
+ return MIstatus::failure;
- const char *pType = "unsigned char *";
- if (!CMIUtilString::Compare(pCType, pType))
- return MIstatus::failure;
+ const char *pType = "unsigned char *";
+ if (!CMIUtilString::Compare(pCType, pType))
+ return MIstatus::failure;
- const CMIUtilString strAddr(rValue.GetValue());
- MIint64 nNum = 0;
- if (!strAddr.ExtractNumber(nNum))
- return MIstatus::failure;
+ const CMIUtilString strAddr(rValue.GetValue());
+ MIint64 nNum = 0;
+ if (!strAddr.ExtractNumber(nNum))
+ return MIstatus::failure;
- CMICmnLLDBDebugSessionInfo &rSessionInfo(CMICmnLLDBDebugSessionInfo::Instance());
- lldb::SBProcess sbProcess = rSessionInfo.GetProcess();
- MIuint nBufferSize = 64;
- bool bNeedResize = false;
- char *pBuffer = static_cast<char *>(::malloc(nBufferSize));
- do
- {
- lldb::SBError error;
- const size_t nReadSize = sbProcess.ReadCStringFromMemory((lldb::addr_t)nNum, pBuffer, nBufferSize, error);
- if (nReadSize == (nBufferSize - 1))
- {
- bNeedResize = true;
- nBufferSize = nBufferSize << 1;
- pBuffer = static_cast<char *>(::realloc(pBuffer, nBufferSize));
- }
- else
- bNeedResize = false;
- } while (bNeedResize);
+ CMICmnLLDBDebugSessionInfo &rSessionInfo(
+ CMICmnLLDBDebugSessionInfo::Instance());
+ lldb::SBProcess sbProcess = rSessionInfo.GetProcess();
+ MIuint nBufferSize = 64;
+ bool bNeedResize = false;
+ char *pBuffer = static_cast<char *>(::malloc(nBufferSize));
+ do {
+ lldb::SBError error;
+ const size_t nReadSize = sbProcess.ReadCStringFromMemory(
+ (lldb::addr_t)nNum, pBuffer, nBufferSize, error);
+ if (nReadSize == (nBufferSize - 1)) {
+ bNeedResize = true;
+ nBufferSize = nBufferSize << 1;
+ pBuffer = static_cast<char *>(::realloc(pBuffer, nBufferSize));
+ } else
+ bNeedResize = false;
+ } while (bNeedResize);
- vwCString = pBuffer;
- free((void *)pBuffer);
+ vwCString = pBuffer;
+ free((void *)pBuffer);
- return MIstatus::success;
+ return MIstatus::success;
}
OpenPOWER on IntegriCloud