diff options
Diffstat (limited to 'tools/lldb-mi/MICmnLLDBUtilSBValue.h')
-rw-r--r-- | tools/lldb-mi/MICmnLLDBUtilSBValue.h | 40 |
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. }; |