summaryrefslogtreecommitdiff
path: root/tools/lldb-mi/MICmnLLDBProxySBValue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lldb-mi/MICmnLLDBProxySBValue.cpp')
-rw-r--r--tools/lldb-mi/MICmnLLDBProxySBValue.cpp217
1 files changed, 109 insertions, 108 deletions
diff --git a/tools/lldb-mi/MICmnLLDBProxySBValue.cpp b/tools/lldb-mi/MICmnLLDBProxySBValue.cpp
index 78ef76bf698f1..a4f36b400fa77 100644
--- a/tools/lldb-mi/MICmnLLDBProxySBValue.cpp
+++ b/tools/lldb-mi/MICmnLLDBProxySBValue.cpp
@@ -8,15 +8,15 @@
//===----------------------------------------------------------------------===//
//++
-// File: MICmnLLDBProxySBValue.cpp
+// File: MICmnLLDBProxySBValue.cpp
//
-// Overview: CMICmnLLDBProxySBValue implementation.
+// Overview: CMICmnLLDBProxySBValue implementation.
//
-// Environment: Compilers: Visual C++ 12.
-// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
-// Libraries: See MIReadmetxt.
+// Environment: Compilers: Visual C++ 12.
+// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
+// Libraries: See MIReadmetxt.
//
-// Copyright: None.
+// Copyright: None.
//--
#include <stdlib.h>
@@ -30,124 +30,125 @@
#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.
-// Type: Static method.
-// Args: vrValue - (R) The SBValue object to get a value from.
-// vwValue - (W) The numerical value.
-// Return: MIstatus::success - Functionality succeeded.
-// MIstatus::failure - Functionality failed.
-// Throws: None.
+// 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.
+// Return: MIstatus::success - Functionality succeeded.
+// MIstatus::failure - Functionality failed.
+// Throws: None.
//--
-bool CMICmnLLDBProxySBValue::GetValueAsUnsigned( const lldb::SBValue & vrValue, MIuint64 & vwValue )
+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 arbitary number
- nValue = rValue.GetValueAsUnsigned( nFailValue );
- if( nValue != nFailValue )
- {
- bCompositeType = false;
- vwValue = nValue;
- }
- }
- else
- {
- bCompositeType = false;
- vwValue = nValue;
- }
+ 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 arbitary 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.
-// Type: Static method.
-// Args: vrValue - (R) The SBValue object to get a value from.
-// vwValue - (W) The numerical value.
-// Return: MIstatus::success - Functionality succeeded.
-// MIstatus::failure - Functionality failed.
-// Throws: None.
+// 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.
+// Return: MIstatus::success - Functionality succeeded.
+// MIstatus::failure - Functionality failed.
+// Throws: None.
//--
-bool CMICmnLLDBProxySBValue::GetValueAsSigned( const lldb::SBValue & vrValue, MIint64 & vwValue )
+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 arbitary number
- nValue = rValue.GetValueAsSigned( nFailValue );
- if( nValue != nFailValue )
- {
- bCompositeType = false;
- vwValue = nValue;
- }
- }
- else
- {
- bCompositeType = false;
- vwValue = nValue;
- }
+ 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 arbitary 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
-// unsigned char *.
-// Type: Static method.
-// Args: vrValue - (R) The SBValue object to get a value from.
-// vwCString - (W) The text data '\0' terminated.
-// Return: MIstatus::success - Functionality succeeded.
-// MIstatus::failure - Functionality failed, not suitable type.
-// Throws: None.
+// 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.
+// vwCString - (W) The text data '\0' terminated.
+// Return: MIstatus::success - Functionality succeeded.
+// MIstatus::failure - Functionality failed, not suitable type.
+// Throws: None.
//--
-bool CMICmnLLDBProxySBValue::GetCString( const lldb::SBValue & vrValue, CMIUtilString & vwCString )
+bool
+CMICmnLLDBProxySBValue::GetCString(const lldb::SBValue &vrValue, CMIUtilString &vwCString)
{
- lldb::SBValue & rValue = const_cast< lldb::SBValue & >( vrValue );
- const MIchar * pCType = rValue.GetTypeName();
- if( pCType == nullptr )
- return MIstatus::failure;
-
- const MIchar * pType = "unsigned char *";
- if( !CMIUtilString::Compare( pCType, pType ) )
- return MIstatus::failure;
+ lldb::SBValue &rValue = const_cast<lldb::SBValue &>(vrValue);
+ const MIchar *pCType = rValue.GetTypeName();
+ if (pCType == nullptr)
+ return MIstatus::failure;
- const CMIUtilString strAddr( rValue.GetValue() );
- MIint64 nNum = 0;
- if( !strAddr.ExtractNumber( nNum ) )
- return MIstatus::failure;
+ const MIchar *pType = "unsigned char *";
+ if (!CMIUtilString::Compare(pCType, pType))
+ return MIstatus::failure;
- CMICmnLLDBDebugSessionInfo & rSessionInfo( CMICmnLLDBDebugSessionInfo::Instance() );
- lldb::SBProcess & rProcess = rSessionInfo.m_lldbProcess;
- MIuint nBufferSize = 64;
- bool bNeedResize = false;
- MIchar * pBuffer = static_cast< MIchar * >( ::malloc( nBufferSize ) );
- do
- {
- lldb::SBError error;
- const size_t nReadSize = rProcess.ReadCStringFromMemory( (lldb::addr_t) nNum, pBuffer, nBufferSize, error );
- if( nReadSize == (nBufferSize - 1) )
- {
- bNeedResize = true;
- nBufferSize = nBufferSize << 1;
- pBuffer = static_cast< MIchar * >( ::realloc( pBuffer, nBufferSize ) );
- }
- else
- bNeedResize = false;
- }
- while( bNeedResize );
+ const CMIUtilString strAddr(rValue.GetValue());
+ MIint64 nNum = 0;
+ if (!strAddr.ExtractNumber(nNum))
+ return MIstatus::failure;
- vwCString = pBuffer;
- free( (void *) pBuffer );
+ CMICmnLLDBDebugSessionInfo &rSessionInfo(CMICmnLLDBDebugSessionInfo::Instance());
+ lldb::SBProcess &rProcess = rSessionInfo.m_lldbProcess;
+ MIuint nBufferSize = 64;
+ bool bNeedResize = false;
+ MIchar *pBuffer = static_cast<MIchar *>(::malloc(nBufferSize));
+ do
+ {
+ lldb::SBError error;
+ const size_t nReadSize = rProcess.ReadCStringFromMemory((lldb::addr_t)nNum, pBuffer, nBufferSize, error);
+ if (nReadSize == (nBufferSize - 1))
+ {
+ bNeedResize = true;
+ nBufferSize = nBufferSize << 1;
+ pBuffer = static_cast<MIchar *>(::realloc(pBuffer, nBufferSize));
+ }
+ else
+ bNeedResize = false;
+ } while (bNeedResize);
- return MIstatus::success;
-}
+ vwCString = pBuffer;
+ free((void *)pBuffer);
+ return MIstatus::success;
+}