aboutsummaryrefslogtreecommitdiff
path: root/source/API/SBType.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/API/SBType.cpp')
-rw-r--r--source/API/SBType.cpp1219
1 files changed, 498 insertions, 721 deletions
diff --git a/source/API/SBType.cpp b/source/API/SBType.cpp
index 4922b491a227..ca63a875292d 100644
--- a/source/API/SBType.cpp
+++ b/source/API/SBType.cpp
@@ -7,10 +7,10 @@
//
//===----------------------------------------------------------------------===//
-#include "lldb/API/SBDefines.h"
#include "lldb/API/SBType.h"
-#include "lldb/API/SBTypeEnumMember.h"
+#include "lldb/API/SBDefines.h"
#include "lldb/API/SBStream.h"
+#include "lldb/API/SBTypeEnumMember.h"
#include "lldb/Core/ConstString.h"
#include "lldb/Core/Log.h"
#include "lldb/Core/Mangled.h"
@@ -24,869 +24,646 @@
using namespace lldb;
using namespace lldb_private;
-SBType::SBType() :
- m_opaque_sp()
-{
-}
+SBType::SBType() : m_opaque_sp() {}
-SBType::SBType (const CompilerType &type) :
- m_opaque_sp(new TypeImpl(CompilerType(type.GetTypeSystem(),
- type.GetOpaqueQualType())))
-{
-}
+SBType::SBType(const CompilerType &type)
+ : m_opaque_sp(new TypeImpl(
+ CompilerType(type.GetTypeSystem(), type.GetOpaqueQualType()))) {}
-SBType::SBType (const lldb::TypeSP &type_sp) :
- m_opaque_sp(new TypeImpl(type_sp))
-{
-}
+SBType::SBType(const lldb::TypeSP &type_sp)
+ : m_opaque_sp(new TypeImpl(type_sp)) {}
-SBType::SBType (const lldb::TypeImplSP &type_impl_sp) :
- m_opaque_sp(type_impl_sp)
-{
-}
-
+SBType::SBType(const lldb::TypeImplSP &type_impl_sp)
+ : m_opaque_sp(type_impl_sp) {}
-SBType::SBType (const SBType &rhs) :
- m_opaque_sp()
-{
- if (this != &rhs)
- {
- m_opaque_sp = rhs.m_opaque_sp;
- }
+SBType::SBType(const SBType &rhs) : m_opaque_sp() {
+ if (this != &rhs) {
+ m_opaque_sp = rhs.m_opaque_sp;
+ }
}
-
-//SBType::SBType (TypeImpl* impl) :
+// SBType::SBType (TypeImpl* impl) :
// m_opaque_ap(impl)
//{}
//
-bool
-SBType::operator == (SBType &rhs)
-{
- if (IsValid() == false)
- return !rhs.IsValid();
-
- if (rhs.IsValid() == false)
- return false;
-
- return *m_opaque_sp.get() == *rhs.m_opaque_sp.get();
-}
-
-bool
-SBType::operator != (SBType &rhs)
-{
- if (IsValid() == false)
- return rhs.IsValid();
-
- if (rhs.IsValid() == false)
- return true;
-
- return *m_opaque_sp.get() != *rhs.m_opaque_sp.get();
-}
-
-lldb::TypeImplSP
-SBType::GetSP ()
-{
- return m_opaque_sp;
-}
-
-
-void
-SBType::SetSP (const lldb::TypeImplSP &type_impl_sp)
-{
- m_opaque_sp = type_impl_sp;
-}
-
-SBType &
-SBType::operator = (const SBType &rhs)
-{
- if (this != &rhs)
- {
- m_opaque_sp = rhs.m_opaque_sp;
- }
- return *this;
-}
+bool SBType::operator==(SBType &rhs) {
+ if (IsValid() == false)
+ return !rhs.IsValid();
-SBType::~SBType ()
-{}
+ if (rhs.IsValid() == false)
+ return false;
-TypeImpl &
-SBType::ref ()
-{
- if (m_opaque_sp.get() == NULL)
- m_opaque_sp.reset (new TypeImpl());
- return *m_opaque_sp;
+ return *m_opaque_sp.get() == *rhs.m_opaque_sp.get();
}
-const TypeImpl &
-SBType::ref () const
-{
- // "const SBAddress &addr" should already have checked "addr.IsValid()"
- // prior to calling this function. In case you didn't we will assert
- // and die to let you know.
- assert (m_opaque_sp.get());
- return *m_opaque_sp;
+bool SBType::operator!=(SBType &rhs) {
+ if (IsValid() == false)
+ return rhs.IsValid();
+
+ if (rhs.IsValid() == false)
+ return true;
+
+ return *m_opaque_sp.get() != *rhs.m_opaque_sp.get();
}
-bool
-SBType::IsValid() const
-{
- if (m_opaque_sp.get() == NULL)
- return false;
-
- return m_opaque_sp->IsValid();
-}
-
-uint64_t
-SBType::GetByteSize()
-{
- if (!IsValid())
- return 0;
-
- return m_opaque_sp->GetCompilerType(false).GetByteSize(nullptr);
-
-}
-
-bool
-SBType::IsPointerType()
-{
- if (!IsValid())
- return false;
- return m_opaque_sp->GetCompilerType(true).IsPointerType();
-}
-
-bool
-SBType::IsArrayType()
-{
- if (!IsValid())
- return false;
- return m_opaque_sp->GetCompilerType(true).IsArrayType(nullptr, nullptr, nullptr);
-}
-
-bool
-SBType::IsVectorType()
-{
- if (!IsValid())
- return false;
- return m_opaque_sp->GetCompilerType(true).IsVectorType(nullptr, nullptr);
-}
-
-bool
-SBType::IsReferenceType()
-{
- if (!IsValid())
- return false;
- return m_opaque_sp->GetCompilerType(true).IsReferenceType();
-}
-
-SBType
-SBType::GetPointerType()
-{
- if (!IsValid())
- return SBType();
-
- return SBType(TypeImplSP(new TypeImpl(m_opaque_sp->GetPointerType())));
-}
-
-SBType
-SBType::GetPointeeType()
-{
- if (!IsValid())
- return SBType();
- return SBType(TypeImplSP(new TypeImpl(m_opaque_sp->GetPointeeType())));
-}
-
-SBType
-SBType::GetReferenceType()
-{
- if (!IsValid())
- return SBType();
- return SBType(TypeImplSP(new TypeImpl(m_opaque_sp->GetReferenceType())));
-}
-
-SBType
-SBType::GetTypedefedType()
-{
- if (!IsValid())
- return SBType();
- return SBType(TypeImplSP(new TypeImpl(m_opaque_sp->GetTypedefedType())));
-}
-
-SBType
-SBType::GetDereferencedType()
-{
- if (!IsValid())
- return SBType();
- return SBType(TypeImplSP(new TypeImpl(m_opaque_sp->GetDereferencedType())));
-}
-
-SBType
-SBType::GetArrayElementType()
-{
- if (!IsValid())
- return SBType();
- return SBType(TypeImplSP(new TypeImpl(m_opaque_sp->GetCompilerType(true).GetArrayElementType())));
+lldb::TypeImplSP SBType::GetSP() { return m_opaque_sp; }
+
+void SBType::SetSP(const lldb::TypeImplSP &type_impl_sp) {
+ m_opaque_sp = type_impl_sp;
}
-
-SBType
-SBType::GetVectorElementType ()
-{
- SBType type_sb;
- if (IsValid())
- {
- CompilerType vector_element_type;
- if (m_opaque_sp->GetCompilerType(true).IsVectorType(&vector_element_type, nullptr))
- type_sb.SetSP(TypeImplSP(new TypeImpl(vector_element_type)));
- }
- return type_sb;
+
+SBType &SBType::operator=(const SBType &rhs) {
+ if (this != &rhs) {
+ m_opaque_sp = rhs.m_opaque_sp;
+ }
+ return *this;
}
-bool
-SBType::IsFunctionType ()
-{
- if (!IsValid())
- return false;
- return m_opaque_sp->GetCompilerType(true).IsFunctionType();
+SBType::~SBType() {}
+
+TypeImpl &SBType::ref() {
+ if (m_opaque_sp.get() == NULL)
+ m_opaque_sp.reset(new TypeImpl());
+ return *m_opaque_sp;
}
-bool
-SBType::IsPolymorphicClass ()
-{
- if (!IsValid())
- return false;
- return m_opaque_sp->GetCompilerType(true).IsPolymorphicClass();
+const TypeImpl &SBType::ref() const {
+ // "const SBAddress &addr" should already have checked "addr.IsValid()"
+ // prior to calling this function. In case you didn't we will assert
+ // and die to let you know.
+ assert(m_opaque_sp.get());
+ return *m_opaque_sp;
}
-bool
-SBType::IsTypedefType ()
-{
- if (!IsValid())
- return false;
- return m_opaque_sp->GetCompilerType(true).IsTypedefType();
+bool SBType::IsValid() const {
+ if (m_opaque_sp.get() == NULL)
+ return false;
+
+ return m_opaque_sp->IsValid();
}
-bool
-SBType::IsAnonymousType ()
-{
- if (!IsValid())
- return false;
- return m_opaque_sp->GetCompilerType(true).IsAnonymousType();
+uint64_t SBType::GetByteSize() {
+ if (!IsValid())
+ return 0;
+
+ return m_opaque_sp->GetCompilerType(false).GetByteSize(nullptr);
}
-lldb::SBType
-SBType::GetFunctionReturnType ()
-{
- if (IsValid())
- {
- CompilerType return_type (m_opaque_sp->GetCompilerType(true).GetFunctionReturnType());
- if (return_type.IsValid())
- return SBType(return_type);
- }
- return lldb::SBType();
-}
-
-lldb::SBTypeList
-SBType::GetFunctionArgumentTypes ()
-{
- SBTypeList sb_type_list;
- if (IsValid())
- {
- CompilerType func_type(m_opaque_sp->GetCompilerType(true));
- size_t count = func_type.GetNumberOfFunctionArguments();
- for (size_t i = 0;
- i < count;
- i++)
- {
- sb_type_list.Append(SBType(func_type.GetFunctionArgumentAtIndex(i)));
- }
- }
- return sb_type_list;
+bool SBType::IsPointerType() {
+ if (!IsValid())
+ return false;
+ return m_opaque_sp->GetCompilerType(true).IsPointerType();
}
-uint32_t
-SBType::GetNumberOfMemberFunctions ()
-{
- if (IsValid())
- {
- return m_opaque_sp->GetCompilerType(true).GetNumMemberFunctions();
- }
- return 0;
+bool SBType::IsArrayType() {
+ if (!IsValid())
+ return false;
+ return m_opaque_sp->GetCompilerType(true).IsArrayType(nullptr, nullptr,
+ nullptr);
}
-lldb::SBTypeMemberFunction
-SBType::GetMemberFunctionAtIndex (uint32_t idx)
-{
- SBTypeMemberFunction sb_func_type;
- if (IsValid())
- sb_func_type.reset(new TypeMemberFunctionImpl(m_opaque_sp->GetCompilerType(true).GetMemberFunctionAtIndex(idx)));
- return sb_func_type;
+bool SBType::IsVectorType() {
+ if (!IsValid())
+ return false;
+ return m_opaque_sp->GetCompilerType(true).IsVectorType(nullptr, nullptr);
}
-lldb::SBType
-SBType::GetUnqualifiedType()
-{
- if (!IsValid())
- return SBType();
- return SBType(TypeImplSP(new TypeImpl(m_opaque_sp->GetUnqualifiedType())));
+bool SBType::IsReferenceType() {
+ if (!IsValid())
+ return false;
+ return m_opaque_sp->GetCompilerType(true).IsReferenceType();
}
-lldb::SBType
-SBType::GetCanonicalType()
-{
- if (IsValid())
- return SBType(TypeImplSP(new TypeImpl(m_opaque_sp->GetCanonicalType())));
+SBType SBType::GetPointerType() {
+ if (!IsValid())
return SBType();
+
+ return SBType(TypeImplSP(new TypeImpl(m_opaque_sp->GetPointerType())));
}
+SBType SBType::GetPointeeType() {
+ if (!IsValid())
+ return SBType();
+ return SBType(TypeImplSP(new TypeImpl(m_opaque_sp->GetPointeeType())));
+}
-lldb::BasicType
-SBType::GetBasicType()
-{
- if (IsValid())
- return m_opaque_sp->GetCompilerType(false).GetBasicTypeEnumeration ();
- return eBasicTypeInvalid;
+SBType SBType::GetReferenceType() {
+ if (!IsValid())
+ return SBType();
+ return SBType(TypeImplSP(new TypeImpl(m_opaque_sp->GetReferenceType())));
}
-SBType
-SBType::GetBasicType(lldb::BasicType basic_type)
-{
- if (IsValid() && m_opaque_sp->IsValid())
- return SBType(m_opaque_sp->GetTypeSystem(false)->GetBasicTypeFromAST(basic_type));
+SBType SBType::GetTypedefedType() {
+ if (!IsValid())
return SBType();
+ return SBType(TypeImplSP(new TypeImpl(m_opaque_sp->GetTypedefedType())));
}
-uint32_t
-SBType::GetNumberOfDirectBaseClasses ()
-{
- if (IsValid())
- return m_opaque_sp->GetCompilerType(true).GetNumDirectBaseClasses();
- return 0;
+SBType SBType::GetDereferencedType() {
+ if (!IsValid())
+ return SBType();
+ return SBType(TypeImplSP(new TypeImpl(m_opaque_sp->GetDereferencedType())));
}
-uint32_t
-SBType::GetNumberOfVirtualBaseClasses ()
-{
- if (IsValid())
- return m_opaque_sp->GetCompilerType(true).GetNumVirtualBaseClasses();
- return 0;
+SBType SBType::GetArrayElementType() {
+ if (!IsValid())
+ return SBType();
+ return SBType(TypeImplSP(
+ new TypeImpl(m_opaque_sp->GetCompilerType(true).GetArrayElementType())));
}
-uint32_t
-SBType::GetNumberOfFields ()
-{
- if (IsValid())
- return m_opaque_sp->GetCompilerType(true).GetNumFields();
- return 0;
+SBType SBType::GetArrayType(uint64_t size) {
+ if (!IsValid())
+ return SBType();
+ return SBType(TypeImplSP(
+ new TypeImpl(m_opaque_sp->GetCompilerType(true).GetArrayType(size))));
}
-bool
-SBType::GetDescription (SBStream &description, lldb::DescriptionLevel description_level)
-{
- Stream &strm = description.ref();
+SBType SBType::GetVectorElementType() {
+ SBType type_sb;
+ if (IsValid()) {
+ CompilerType vector_element_type;
+ if (m_opaque_sp->GetCompilerType(true).IsVectorType(&vector_element_type,
+ nullptr))
+ type_sb.SetSP(TypeImplSP(new TypeImpl(vector_element_type)));
+ }
+ return type_sb;
+}
- if (m_opaque_sp)
- {
- m_opaque_sp->GetDescription (strm, description_level);
- }
- else
- strm.PutCString ("No value");
-
- return true;
+bool SBType::IsFunctionType() {
+ if (!IsValid())
+ return false;
+ return m_opaque_sp->GetCompilerType(true).IsFunctionType();
}
+bool SBType::IsPolymorphicClass() {
+ if (!IsValid())
+ return false;
+ return m_opaque_sp->GetCompilerType(true).IsPolymorphicClass();
+}
+bool SBType::IsTypedefType() {
+ if (!IsValid())
+ return false;
+ return m_opaque_sp->GetCompilerType(true).IsTypedefType();
+}
-SBTypeMember
-SBType::GetDirectBaseClassAtIndex (uint32_t idx)
-{
- SBTypeMember sb_type_member;
- if (IsValid())
- {
- uint32_t bit_offset = 0;
- CompilerType base_class_type = m_opaque_sp->GetCompilerType (true).GetDirectBaseClassAtIndex(idx, &bit_offset);
- if (base_class_type.IsValid())
- sb_type_member.reset (new TypeMemberImpl (TypeImplSP(new TypeImpl(base_class_type)), bit_offset));
+bool SBType::IsAnonymousType() {
+ if (!IsValid())
+ return false;
+ return m_opaque_sp->GetCompilerType(true).IsAnonymousType();
+}
+
+lldb::SBType SBType::GetFunctionReturnType() {
+ if (IsValid()) {
+ CompilerType return_type(
+ m_opaque_sp->GetCompilerType(true).GetFunctionReturnType());
+ if (return_type.IsValid())
+ return SBType(return_type);
+ }
+ return lldb::SBType();
+}
+
+lldb::SBTypeList SBType::GetFunctionArgumentTypes() {
+ SBTypeList sb_type_list;
+ if (IsValid()) {
+ CompilerType func_type(m_opaque_sp->GetCompilerType(true));
+ size_t count = func_type.GetNumberOfFunctionArguments();
+ for (size_t i = 0; i < count; i++) {
+ sb_type_list.Append(SBType(func_type.GetFunctionArgumentAtIndex(i)));
}
- return sb_type_member;
-
+ }
+ return sb_type_list;
}
-SBTypeMember
-SBType::GetVirtualBaseClassAtIndex (uint32_t idx)
-{
- SBTypeMember sb_type_member;
- if (IsValid())
- {
- uint32_t bit_offset = 0;
- CompilerType base_class_type = m_opaque_sp->GetCompilerType (true).GetVirtualBaseClassAtIndex(idx, &bit_offset);
- if (base_class_type.IsValid())
- sb_type_member.reset (new TypeMemberImpl (TypeImplSP(new TypeImpl(base_class_type)), bit_offset));
- }
- return sb_type_member;
-}
-
-SBTypeEnumMemberList
-SBType::GetEnumMembers ()
-{
- SBTypeEnumMemberList sb_enum_member_list;
- if (IsValid())
- {
- CompilerType this_type (m_opaque_sp->GetCompilerType (true));
- if (this_type.IsValid())
- {
- this_type.ForEachEnumerator([&sb_enum_member_list] (const CompilerType &integer_type, const ConstString &name, const llvm::APSInt &value) -> bool {
- SBTypeEnumMember enum_member (lldb::TypeEnumMemberImplSP (new TypeEnumMemberImpl(lldb::TypeImplSP(new TypeImpl(integer_type)), name, value)));
- sb_enum_member_list.Append(enum_member);
- return true; // Keep iterating
- });
- }
- }
- return sb_enum_member_list;
-}
-
-SBTypeMember
-SBType::GetFieldAtIndex (uint32_t idx)
-{
- SBTypeMember sb_type_member;
- if (IsValid())
- {
- CompilerType this_type (m_opaque_sp->GetCompilerType (false));
- if (this_type.IsValid())
- {
- uint64_t bit_offset = 0;
- uint32_t bitfield_bit_size = 0;
- bool is_bitfield = false;
- std::string name_sstr;
- CompilerType field_type (this_type.GetFieldAtIndex (idx,
- name_sstr,
- &bit_offset,
- &bitfield_bit_size,
- &is_bitfield));
- if (field_type.IsValid())
- {
- ConstString name;
- if (!name_sstr.empty())
- name.SetCString(name_sstr.c_str());
- sb_type_member.reset (new TypeMemberImpl (TypeImplSP (new TypeImpl(field_type)),
- bit_offset,
- name,
- bitfield_bit_size,
- is_bitfield));
- }
- }
- }
- return sb_type_member;
+uint32_t SBType::GetNumberOfMemberFunctions() {
+ if (IsValid()) {
+ return m_opaque_sp->GetCompilerType(true).GetNumMemberFunctions();
+ }
+ return 0;
}
-bool
-SBType::IsTypeComplete()
-{
- if (!IsValid())
- return false;
- return m_opaque_sp->GetCompilerType(false).IsCompleteType();
+lldb::SBTypeMemberFunction SBType::GetMemberFunctionAtIndex(uint32_t idx) {
+ SBTypeMemberFunction sb_func_type;
+ if (IsValid())
+ sb_func_type.reset(new TypeMemberFunctionImpl(
+ m_opaque_sp->GetCompilerType(true).GetMemberFunctionAtIndex(idx)));
+ return sb_func_type;
}
-uint32_t
-SBType::GetTypeFlags ()
-{
- if (!IsValid())
- return 0;
- return m_opaque_sp->GetCompilerType(true).GetTypeInfo();
+lldb::SBType SBType::GetUnqualifiedType() {
+ if (!IsValid())
+ return SBType();
+ return SBType(TypeImplSP(new TypeImpl(m_opaque_sp->GetUnqualifiedType())));
+}
+
+lldb::SBType SBType::GetCanonicalType() {
+ if (IsValid())
+ return SBType(TypeImplSP(new TypeImpl(m_opaque_sp->GetCanonicalType())));
+ return SBType();
+}
+
+lldb::BasicType SBType::GetBasicType() {
+ if (IsValid())
+ return m_opaque_sp->GetCompilerType(false).GetBasicTypeEnumeration();
+ return eBasicTypeInvalid;
+}
+
+SBType SBType::GetBasicType(lldb::BasicType basic_type) {
+ if (IsValid() && m_opaque_sp->IsValid())
+ return SBType(
+ m_opaque_sp->GetTypeSystem(false)->GetBasicTypeFromAST(basic_type));
+ return SBType();
+}
+
+uint32_t SBType::GetNumberOfDirectBaseClasses() {
+ if (IsValid())
+ return m_opaque_sp->GetCompilerType(true).GetNumDirectBaseClasses();
+ return 0;
+}
+
+uint32_t SBType::GetNumberOfVirtualBaseClasses() {
+ if (IsValid())
+ return m_opaque_sp->GetCompilerType(true).GetNumVirtualBaseClasses();
+ return 0;
+}
+
+uint32_t SBType::GetNumberOfFields() {
+ if (IsValid())
+ return m_opaque_sp->GetCompilerType(true).GetNumFields();
+ return 0;
+}
+
+bool SBType::GetDescription(SBStream &description,
+ lldb::DescriptionLevel description_level) {
+ Stream &strm = description.ref();
+
+ if (m_opaque_sp) {
+ m_opaque_sp->GetDescription(strm, description_level);
+ } else
+ strm.PutCString("No value");
+
+ return true;
+}
+
+SBTypeMember SBType::GetDirectBaseClassAtIndex(uint32_t idx) {
+ SBTypeMember sb_type_member;
+ if (IsValid()) {
+ uint32_t bit_offset = 0;
+ CompilerType base_class_type =
+ m_opaque_sp->GetCompilerType(true).GetDirectBaseClassAtIndex(
+ idx, &bit_offset);
+ if (base_class_type.IsValid())
+ sb_type_member.reset(new TypeMemberImpl(
+ TypeImplSP(new TypeImpl(base_class_type)), bit_offset));
+ }
+ return sb_type_member;
+}
+
+SBTypeMember SBType::GetVirtualBaseClassAtIndex(uint32_t idx) {
+ SBTypeMember sb_type_member;
+ if (IsValid()) {
+ uint32_t bit_offset = 0;
+ CompilerType base_class_type =
+ m_opaque_sp->GetCompilerType(true).GetVirtualBaseClassAtIndex(
+ idx, &bit_offset);
+ if (base_class_type.IsValid())
+ sb_type_member.reset(new TypeMemberImpl(
+ TypeImplSP(new TypeImpl(base_class_type)), bit_offset));
+ }
+ return sb_type_member;
+}
+
+SBTypeEnumMemberList SBType::GetEnumMembers() {
+ SBTypeEnumMemberList sb_enum_member_list;
+ if (IsValid()) {
+ CompilerType this_type(m_opaque_sp->GetCompilerType(true));
+ if (this_type.IsValid()) {
+ this_type.ForEachEnumerator([&sb_enum_member_list](
+ const CompilerType &integer_type,
+ const ConstString &name,
+ const llvm::APSInt &value) -> bool {
+ SBTypeEnumMember enum_member(
+ lldb::TypeEnumMemberImplSP(new TypeEnumMemberImpl(
+ lldb::TypeImplSP(new TypeImpl(integer_type)), name, value)));
+ sb_enum_member_list.Append(enum_member);
+ return true; // Keep iterating
+ });
+ }
+ }
+ return sb_enum_member_list;
+}
+
+SBTypeMember SBType::GetFieldAtIndex(uint32_t idx) {
+ SBTypeMember sb_type_member;
+ if (IsValid()) {
+ CompilerType this_type(m_opaque_sp->GetCompilerType(false));
+ if (this_type.IsValid()) {
+ uint64_t bit_offset = 0;
+ uint32_t bitfield_bit_size = 0;
+ bool is_bitfield = false;
+ std::string name_sstr;
+ CompilerType field_type(this_type.GetFieldAtIndex(
+ idx, name_sstr, &bit_offset, &bitfield_bit_size, &is_bitfield));
+ if (field_type.IsValid()) {
+ ConstString name;
+ if (!name_sstr.empty())
+ name.SetCString(name_sstr.c_str());
+ sb_type_member.reset(
+ new TypeMemberImpl(TypeImplSP(new TypeImpl(field_type)), bit_offset,
+ name, bitfield_bit_size, is_bitfield));
+ }
+ }
+ }
+ return sb_type_member;
}
-const char*
-SBType::GetName()
-{
- if (!IsValid())
- return "";
- return m_opaque_sp->GetName().GetCString();
+bool SBType::IsTypeComplete() {
+ if (!IsValid())
+ return false;
+ return m_opaque_sp->GetCompilerType(false).IsCompleteType();
}
-const char *
-SBType::GetDisplayTypeName ()
-{
- if (!IsValid())
- return "";
- return m_opaque_sp->GetDisplayTypeName().GetCString();
+uint32_t SBType::GetTypeFlags() {
+ if (!IsValid())
+ return 0;
+ return m_opaque_sp->GetCompilerType(true).GetTypeInfo();
}
-lldb::TypeClass
-SBType::GetTypeClass ()
-{
- if (IsValid())
- return m_opaque_sp->GetCompilerType(true).GetTypeClass();
- return lldb::eTypeClassInvalid;
+const char *SBType::GetName() {
+ if (!IsValid())
+ return "";
+ return m_opaque_sp->GetName().GetCString();
}
-uint32_t
-SBType::GetNumberOfTemplateArguments ()
-{
- if (IsValid())
- return m_opaque_sp->GetCompilerType(false).GetNumTemplateArguments();
- return 0;
+const char *SBType::GetDisplayTypeName() {
+ if (!IsValid())
+ return "";
+ return m_opaque_sp->GetDisplayTypeName().GetCString();
}
-lldb::SBType
-SBType::GetTemplateArgumentType (uint32_t idx)
-{
- if (IsValid())
- {
- TemplateArgumentKind kind = eTemplateArgumentKindNull;
- CompilerType template_arg_type = m_opaque_sp->GetCompilerType(false).GetTemplateArgument(idx, kind);
- if (template_arg_type.IsValid())
- return SBType(template_arg_type);
- }
- return SBType();
+lldb::TypeClass SBType::GetTypeClass() {
+ if (IsValid())
+ return m_opaque_sp->GetCompilerType(true).GetTypeClass();
+ return lldb::eTypeClassInvalid;
}
+uint32_t SBType::GetNumberOfTemplateArguments() {
+ if (IsValid())
+ return m_opaque_sp->GetCompilerType(false).GetNumTemplateArguments();
+ return 0;
+}
-lldb::TemplateArgumentKind
-SBType::GetTemplateArgumentKind (uint32_t idx)
-{
+lldb::SBType SBType::GetTemplateArgumentType(uint32_t idx) {
+ if (IsValid()) {
TemplateArgumentKind kind = eTemplateArgumentKindNull;
- if (IsValid())
+ CompilerType template_arg_type =
m_opaque_sp->GetCompilerType(false).GetTemplateArgument(idx, kind);
- return kind;
+ if (template_arg_type.IsValid())
+ return SBType(template_arg_type);
+ }
+ return SBType();
}
-
-SBTypeList::SBTypeList() :
- m_opaque_ap(new TypeListImpl())
-{
+lldb::TemplateArgumentKind SBType::GetTemplateArgumentKind(uint32_t idx) {
+ TemplateArgumentKind kind = eTemplateArgumentKindNull;
+ if (IsValid())
+ m_opaque_sp->GetCompilerType(false).GetTemplateArgument(idx, kind);
+ return kind;
}
-SBTypeList::SBTypeList(const SBTypeList& rhs) :
- m_opaque_ap(new TypeListImpl())
-{
- for (uint32_t i = 0, rhs_size = const_cast<SBTypeList&>(rhs).GetSize(); i < rhs_size; i++)
- Append(const_cast<SBTypeList&>(rhs).GetTypeAtIndex(i));
-}
+SBTypeList::SBTypeList() : m_opaque_ap(new TypeListImpl()) {}
-bool
-SBTypeList::IsValid ()
-{
- return (m_opaque_ap.get() != NULL);
+SBTypeList::SBTypeList(const SBTypeList &rhs)
+ : m_opaque_ap(new TypeListImpl()) {
+ for (uint32_t i = 0, rhs_size = const_cast<SBTypeList &>(rhs).GetSize();
+ i < rhs_size; i++)
+ Append(const_cast<SBTypeList &>(rhs).GetTypeAtIndex(i));
}
-SBTypeList&
-SBTypeList::operator = (const SBTypeList& rhs)
-{
- if (this != &rhs)
- {
- m_opaque_ap.reset (new TypeListImpl());
- for (uint32_t i = 0, rhs_size = const_cast<SBTypeList&>(rhs).GetSize(); i < rhs_size; i++)
- Append(const_cast<SBTypeList&>(rhs).GetTypeAtIndex(i));
- }
- return *this;
-}
+bool SBTypeList::IsValid() { return (m_opaque_ap.get() != NULL); }
-void
-SBTypeList::Append (SBType type)
-{
- if (type.IsValid())
- m_opaque_ap->Append (type.m_opaque_sp);
+SBTypeList &SBTypeList::operator=(const SBTypeList &rhs) {
+ if (this != &rhs) {
+ m_opaque_ap.reset(new TypeListImpl());
+ for (uint32_t i = 0, rhs_size = const_cast<SBTypeList &>(rhs).GetSize();
+ i < rhs_size; i++)
+ Append(const_cast<SBTypeList &>(rhs).GetTypeAtIndex(i));
+ }
+ return *this;
}
-SBType
-SBTypeList::GetTypeAtIndex(uint32_t index)
-{
- if (m_opaque_ap.get())
- return SBType(m_opaque_ap->GetTypeAtIndex(index));
- return SBType();
+void SBTypeList::Append(SBType type) {
+ if (type.IsValid())
+ m_opaque_ap->Append(type.m_opaque_sp);
}
-uint32_t
-SBTypeList::GetSize()
-{
- return m_opaque_ap->GetSize();
+SBType SBTypeList::GetTypeAtIndex(uint32_t index) {
+ if (m_opaque_ap.get())
+ return SBType(m_opaque_ap->GetTypeAtIndex(index));
+ return SBType();
}
-SBTypeList::~SBTypeList()
-{
-}
+uint32_t SBTypeList::GetSize() { return m_opaque_ap->GetSize(); }
-SBTypeMember::SBTypeMember() :
- m_opaque_ap()
-{
-}
+SBTypeList::~SBTypeList() {}
-SBTypeMember::~SBTypeMember()
-{
-}
+SBTypeMember::SBTypeMember() : m_opaque_ap() {}
-SBTypeMember::SBTypeMember (const SBTypeMember& rhs) :
- m_opaque_ap()
-{
- if (this != &rhs)
- {
- if (rhs.IsValid())
- m_opaque_ap.reset(new TypeMemberImpl(rhs.ref()));
- }
-}
+SBTypeMember::~SBTypeMember() {}
-lldb::SBTypeMember&
-SBTypeMember::operator = (const lldb::SBTypeMember& rhs)
-{
- if (this != &rhs)
- {
- if (rhs.IsValid())
- m_opaque_ap.reset(new TypeMemberImpl(rhs.ref()));
- }
- return *this;
+SBTypeMember::SBTypeMember(const SBTypeMember &rhs) : m_opaque_ap() {
+ if (this != &rhs) {
+ if (rhs.IsValid())
+ m_opaque_ap.reset(new TypeMemberImpl(rhs.ref()));
+ }
}
-bool
-SBTypeMember::IsValid() const
-{
- return m_opaque_ap.get();
+lldb::SBTypeMember &SBTypeMember::operator=(const lldb::SBTypeMember &rhs) {
+ if (this != &rhs) {
+ if (rhs.IsValid())
+ m_opaque_ap.reset(new TypeMemberImpl(rhs.ref()));
+ }
+ return *this;
}
-const char *
-SBTypeMember::GetName ()
-{
- if (m_opaque_ap.get())
- return m_opaque_ap->GetName().GetCString();
- return NULL;
-}
+bool SBTypeMember::IsValid() const { return m_opaque_ap.get(); }
-SBType
-SBTypeMember::GetType ()
-{
- SBType sb_type;
- if (m_opaque_ap.get())
- {
- sb_type.SetSP (m_opaque_ap->GetTypeImpl());
- }
- return sb_type;
+const char *SBTypeMember::GetName() {
+ if (m_opaque_ap.get())
+ return m_opaque_ap->GetName().GetCString();
+ return NULL;
+}
+SBType SBTypeMember::GetType() {
+ SBType sb_type;
+ if (m_opaque_ap.get()) {
+ sb_type.SetSP(m_opaque_ap->GetTypeImpl());
+ }
+ return sb_type;
}
-uint64_t
-SBTypeMember::GetOffsetInBytes()
-{
- if (m_opaque_ap.get())
- return m_opaque_ap->GetBitOffset() / 8u;
- return 0;
+uint64_t SBTypeMember::GetOffsetInBytes() {
+ if (m_opaque_ap.get())
+ return m_opaque_ap->GetBitOffset() / 8u;
+ return 0;
}
-uint64_t
-SBTypeMember::GetOffsetInBits()
-{
- if (m_opaque_ap.get())
- return m_opaque_ap->GetBitOffset();
- return 0;
+uint64_t SBTypeMember::GetOffsetInBits() {
+ if (m_opaque_ap.get())
+ return m_opaque_ap->GetBitOffset();
+ return 0;
}
-bool
-SBTypeMember::IsBitfield()
-{
- if (m_opaque_ap.get())
- return m_opaque_ap->GetIsBitfield();
- return false;
+bool SBTypeMember::IsBitfield() {
+ if (m_opaque_ap.get())
+ return m_opaque_ap->GetIsBitfield();
+ return false;
}
-uint32_t
-SBTypeMember::GetBitfieldSizeInBits()
-{
- if (m_opaque_ap.get())
- return m_opaque_ap->GetBitfieldBitSize();
- return 0;
+uint32_t SBTypeMember::GetBitfieldSizeInBits() {
+ if (m_opaque_ap.get())
+ return m_opaque_ap->GetBitfieldBitSize();
+ return 0;
}
+bool SBTypeMember::GetDescription(lldb::SBStream &description,
+ lldb::DescriptionLevel description_level) {
+ Stream &strm = description.ref();
-bool
-SBTypeMember::GetDescription (lldb::SBStream &description, lldb::DescriptionLevel description_level)
-{
- Stream &strm = description.ref();
-
- if (m_opaque_ap.get())
- {
- const uint32_t bit_offset = m_opaque_ap->GetBitOffset();
- const uint32_t byte_offset = bit_offset / 8u;
- const uint32_t byte_bit_offset = bit_offset % 8u;
- const char *name = m_opaque_ap->GetName().GetCString();
- if (byte_bit_offset)
- strm.Printf ("+%u + %u bits: (", byte_offset, byte_bit_offset);
- else
- strm.Printf ("+%u: (", byte_offset);
-
- TypeImplSP type_impl_sp (m_opaque_ap->GetTypeImpl());
- if (type_impl_sp)
- type_impl_sp->GetDescription(strm, description_level);
-
- strm.Printf (") %s", name);
- if (m_opaque_ap->GetIsBitfield())
- {
- const uint32_t bitfield_bit_size = m_opaque_ap->GetBitfieldBitSize();
- strm.Printf (" : %u", bitfield_bit_size);
- }
- }
+ if (m_opaque_ap.get()) {
+ const uint32_t bit_offset = m_opaque_ap->GetBitOffset();
+ const uint32_t byte_offset = bit_offset / 8u;
+ const uint32_t byte_bit_offset = bit_offset % 8u;
+ const char *name = m_opaque_ap->GetName().GetCString();
+ if (byte_bit_offset)
+ strm.Printf("+%u + %u bits: (", byte_offset, byte_bit_offset);
else
- {
- strm.PutCString ("No value");
- }
- return true;
-}
+ strm.Printf("+%u: (", byte_offset);
+ TypeImplSP type_impl_sp(m_opaque_ap->GetTypeImpl());
+ if (type_impl_sp)
+ type_impl_sp->GetDescription(strm, description_level);
-void
-SBTypeMember::reset(TypeMemberImpl *type_member_impl)
-{
- m_opaque_ap.reset(type_member_impl);
+ strm.Printf(") %s", name);
+ if (m_opaque_ap->GetIsBitfield()) {
+ const uint32_t bitfield_bit_size = m_opaque_ap->GetBitfieldBitSize();
+ strm.Printf(" : %u", bitfield_bit_size);
+ }
+ } else {
+ strm.PutCString("No value");
+ }
+ return true;
}
-TypeMemberImpl &
-SBTypeMember::ref ()
-{
- if (m_opaque_ap.get() == NULL)
- m_opaque_ap.reset (new TypeMemberImpl());
- return *m_opaque_ap.get();
+void SBTypeMember::reset(TypeMemberImpl *type_member_impl) {
+ m_opaque_ap.reset(type_member_impl);
}
-const TypeMemberImpl &
-SBTypeMember::ref () const
-{
- return *m_opaque_ap.get();
+TypeMemberImpl &SBTypeMember::ref() {
+ if (m_opaque_ap.get() == NULL)
+ m_opaque_ap.reset(new TypeMemberImpl());
+ return *m_opaque_ap.get();
}
-SBTypeMemberFunction::SBTypeMemberFunction() :
-m_opaque_sp()
-{
-}
+const TypeMemberImpl &SBTypeMember::ref() const { return *m_opaque_ap.get(); }
-SBTypeMemberFunction::~SBTypeMemberFunction()
-{
-}
+SBTypeMemberFunction::SBTypeMemberFunction() : m_opaque_sp() {}
-SBTypeMemberFunction::SBTypeMemberFunction (const SBTypeMemberFunction& rhs) :
- m_opaque_sp(rhs.m_opaque_sp)
-{
-}
+SBTypeMemberFunction::~SBTypeMemberFunction() {}
-lldb::SBTypeMemberFunction&
-SBTypeMemberFunction::operator = (const lldb::SBTypeMemberFunction& rhs)
-{
- if (this != &rhs)
- m_opaque_sp = rhs.m_opaque_sp;
- return *this;
-}
+SBTypeMemberFunction::SBTypeMemberFunction(const SBTypeMemberFunction &rhs)
+ : m_opaque_sp(rhs.m_opaque_sp) {}
-bool
-SBTypeMemberFunction::IsValid() const
-{
- return m_opaque_sp.get();
+lldb::SBTypeMemberFunction &SBTypeMemberFunction::
+operator=(const lldb::SBTypeMemberFunction &rhs) {
+ if (this != &rhs)
+ m_opaque_sp = rhs.m_opaque_sp;
+ return *this;
}
-const char *
-SBTypeMemberFunction::GetName ()
-{
- if (m_opaque_sp)
- return m_opaque_sp->GetName().GetCString();
- return NULL;
+bool SBTypeMemberFunction::IsValid() const { return m_opaque_sp.get(); }
+
+const char *SBTypeMemberFunction::GetName() {
+ if (m_opaque_sp)
+ return m_opaque_sp->GetName().GetCString();
+ return NULL;
}
-const char *
-SBTypeMemberFunction::GetDemangledName ()
-{
- if (m_opaque_sp)
- {
- ConstString mangled_str = m_opaque_sp->GetMangledName();
- if (mangled_str)
- {
- Mangled mangled(mangled_str, true);
- return mangled.GetDemangledName(mangled.GuessLanguage()).GetCString();
- }
+const char *SBTypeMemberFunction::GetDemangledName() {
+ if (m_opaque_sp) {
+ ConstString mangled_str = m_opaque_sp->GetMangledName();
+ if (mangled_str) {
+ Mangled mangled(mangled_str, true);
+ return mangled.GetDemangledName(mangled.GuessLanguage()).GetCString();
}
- return NULL;
+ }
+ return NULL;
}
-const char *
-SBTypeMemberFunction::GetMangledName()
-{
- if (m_opaque_sp)
- return m_opaque_sp->GetMangledName().GetCString();
- return NULL;
+const char *SBTypeMemberFunction::GetMangledName() {
+ if (m_opaque_sp)
+ return m_opaque_sp->GetMangledName().GetCString();
+ return NULL;
}
+SBType SBTypeMemberFunction::GetType() {
+ SBType sb_type;
+ if (m_opaque_sp) {
+ sb_type.SetSP(lldb::TypeImplSP(new TypeImpl(m_opaque_sp->GetType())));
+ }
+ return sb_type;
+}
-SBType
-SBTypeMemberFunction::GetType ()
-{
- SBType sb_type;
- if (m_opaque_sp)
- {
- sb_type.SetSP(lldb::TypeImplSP(new TypeImpl(m_opaque_sp->GetType())));
- }
- return sb_type;
+lldb::SBType SBTypeMemberFunction::GetReturnType() {
+ SBType sb_type;
+ if (m_opaque_sp) {
+ sb_type.SetSP(lldb::TypeImplSP(new TypeImpl(m_opaque_sp->GetReturnType())));
+ }
+ return sb_type;
}
-lldb::SBType
-SBTypeMemberFunction::GetReturnType ()
-{
- SBType sb_type;
- if (m_opaque_sp)
- {
- sb_type.SetSP(lldb::TypeImplSP(new TypeImpl(m_opaque_sp->GetReturnType())));
- }
- return sb_type;
+uint32_t SBTypeMemberFunction::GetNumberOfArguments() {
+ if (m_opaque_sp)
+ return m_opaque_sp->GetNumArguments();
+ return 0;
}
-uint32_t
-SBTypeMemberFunction::GetNumberOfArguments ()
-{
- if (m_opaque_sp)
- return m_opaque_sp->GetNumArguments();
- return 0;
+lldb::SBType SBTypeMemberFunction::GetArgumentTypeAtIndex(uint32_t i) {
+ SBType sb_type;
+ if (m_opaque_sp) {
+ sb_type.SetSP(
+ lldb::TypeImplSP(new TypeImpl(m_opaque_sp->GetArgumentAtIndex(i))));
+ }
+ return sb_type;
}
-lldb::SBType
-SBTypeMemberFunction::GetArgumentTypeAtIndex (uint32_t i)
-{
- SBType sb_type;
- if (m_opaque_sp)
- {
- sb_type.SetSP(lldb::TypeImplSP(new TypeImpl(m_opaque_sp->GetArgumentAtIndex(i))));
- }
- return sb_type;
-}
-
-lldb::MemberFunctionKind
-SBTypeMemberFunction::GetKind ()
-{
- if (m_opaque_sp)
- return m_opaque_sp->GetKind();
- return lldb::eMemberFunctionKindUnknown;
-
-}
-
-bool
-SBTypeMemberFunction::GetDescription (lldb::SBStream &description,
- lldb::DescriptionLevel description_level)
-{
- Stream &strm = description.ref();
-
- if (m_opaque_sp)
- return m_opaque_sp->GetDescription(strm);
-
- return false;
+lldb::MemberFunctionKind SBTypeMemberFunction::GetKind() {
+ if (m_opaque_sp)
+ return m_opaque_sp->GetKind();
+ return lldb::eMemberFunctionKindUnknown;
+}
+
+bool SBTypeMemberFunction::GetDescription(
+ lldb::SBStream &description, lldb::DescriptionLevel description_level) {
+ Stream &strm = description.ref();
+
+ if (m_opaque_sp)
+ return m_opaque_sp->GetDescription(strm);
+
+ return false;
}
-void
-SBTypeMemberFunction::reset(TypeMemberFunctionImpl *type_member_impl)
-{
- m_opaque_sp.reset(type_member_impl);
+void SBTypeMemberFunction::reset(TypeMemberFunctionImpl *type_member_impl) {
+ m_opaque_sp.reset(type_member_impl);
}
-TypeMemberFunctionImpl &
-SBTypeMemberFunction::ref ()
-{
- if (!m_opaque_sp)
- m_opaque_sp.reset (new TypeMemberFunctionImpl());
- return *m_opaque_sp.get();
+TypeMemberFunctionImpl &SBTypeMemberFunction::ref() {
+ if (!m_opaque_sp)
+ m_opaque_sp.reset(new TypeMemberFunctionImpl());
+ return *m_opaque_sp.get();
}
-const TypeMemberFunctionImpl &
-SBTypeMemberFunction::ref () const
-{
- return *m_opaque_sp.get();
+const TypeMemberFunctionImpl &SBTypeMemberFunction::ref() const {
+ return *m_opaque_sp.get();
}