summaryrefslogtreecommitdiff
path: root/tools/lldb-mi/MICmnLLDBUtilSBValue.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/lldb-mi/MICmnLLDBUtilSBValue.h')
-rw-r--r--tools/lldb-mi/MICmnLLDBUtilSBValue.h40
1 files changed, 19 insertions, 21 deletions
diff --git a/tools/lldb-mi/MICmnLLDBUtilSBValue.h b/tools/lldb-mi/MICmnLLDBUtilSBValue.h
index a3f2c9c0ffc9..468170b6a731 100644
--- a/tools/lldb-mi/MICmnLLDBUtilSBValue.h
+++ b/tools/lldb-mi/MICmnLLDBUtilSBValue.h
@@ -7,18 +7,6 @@
//
//===----------------------------------------------------------------------===//
-//++
-// File: MICmnLLDBUtilSBValue.h
-//
-// Overview: CMICmnLLDBUtilSBValue interface.
-//
-// Environment: Compilers: Visual C++ 12.
-// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
-// Libraries: See MIReadmetxt.
-//
-// Copyright: None.
-//--
-
#pragma once
// Third Party Headers:
@@ -26,6 +14,7 @@
// In-house headers:
#include "MIDataTypes.h"
+#include "MICmnMIValueTuple.h"
// Declerations:
class CMIUtilString;
@@ -41,17 +30,19 @@ class CMICmnLLDBUtilSBValue
{
// Methods:
public:
- /* ctor */ CMICmnLLDBUtilSBValue(const lldb::SBValue &vrValue, const bool vbHandleCharType = false);
+ /* ctor */ CMICmnLLDBUtilSBValue(const lldb::SBValue &vrValue, const bool vbHandleCharType = false,
+ const bool vbHandleArrayType = true);
/* dtor */ ~CMICmnLLDBUtilSBValue(void);
//
CMIUtilString GetName(void) const;
- CMIUtilString GetValue(void) const;
- CMIUtilString GetValueCString(void) const;
- CMIUtilString GetChildValueCString(void) const;
+ CMIUtilString GetValue(const bool vbExpandAggregates = false) const;
CMIUtilString GetTypeName(void) const;
CMIUtilString GetTypeNameDisplay(void) const;
bool IsCharType(void) const;
- bool IsChildCharType(void) const;
+ bool IsFirstChildCharType(void) const;
+ bool IsIntegerType(void) const;
+ bool IsPointerType(void) const;
+ bool IsArrayType(void) const;
bool IsLLDBVariable(void) const;
bool IsNameUnknown(void) const;
bool IsValueUnknown(void) const;
@@ -60,12 +51,19 @@ class CMICmnLLDBUtilSBValue
// Methods:
private:
- CMIUtilString ReadCStringFromHostMemory(const lldb::SBValue &vrValueObj) const;
+ template <typename charT> CMIUtilString ReadCStringFromHostMemory(lldb::SBValue &vrValue, const MIuint vnMaxLen = UINT32_MAX) const;
+ bool GetSimpleValue(const bool vbHandleArrayType, CMIUtilString &vrValue) const;
+ CMIUtilString GetSimpleValueChar(void) const;
+ CMIUtilString GetSimpleValueCStringPointer(void) const;
+ CMIUtilString GetSimpleValueCStringArray(void) const;
+ bool GetCompositeValue(const bool vbPrintFieldNames, CMICmnMIValueTuple &vwrMiValueTuple, const MIuint vnDepth = 1) const;
// Attributes:
private:
lldb::SBValue &m_rValue;
- const MIchar *m_pUnkwn;
- bool m_bValidSBValue; // True = SBValue is a valid object, false = not valid.
- bool m_bHandleCharType; // True = Yes return text molding to char type, false = just return data.
+ const char *m_pUnkwn;
+ const char *m_pComposite;
+ bool m_bValidSBValue; // True = SBValue is a valid object, false = not valid.
+ bool m_bHandleCharType; // True = Yes return text molding to char type, false = just return data.
+ bool m_bHandleArrayType; // True = Yes return special stub for array type, false = just return data.
};