summaryrefslogtreecommitdiff
path: root/type.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'type.cpp')
-rw-r--r--type.cpp27
1 files changed, 21 insertions, 6 deletions
diff --git a/type.cpp b/type.cpp
index c5835ba9..3b1d3466 100644
--- a/type.cpp
+++ b/type.cpp
@@ -489,12 +489,6 @@ Confidence<bool> Type::IsConst() const
}
-bool Type::IsFloat() const
-{
- return BNIsTypeFloatingPoint(m_object);
-}
-
-
Confidence<BNMemberScope> Type::GetScope() const
{
BNMemberScopeWithConfidence result = BNTypeGetMemberScope(m_object);
@@ -934,6 +928,12 @@ string Type::GetAutoDebugTypeIdSource()
}
+bool Type::IsReferenceOfType(BNNamedTypeReferenceClass refType)
+{
+ return (GetClass() == NamedTypeReferenceClass) && (GetNamedTypeReference()->GetTypeClass() == refType);
+}
+
+
QualifiedName Type::GetTypeName() const
{
BNQualifiedName name = BNTypeGetTypeName(m_object);
@@ -1111,6 +1111,21 @@ bool Structure::GetMemberByName(const string& name, StructureMember& result) con
}
+bool Structure::GetMemberAtOffset(int64_t offset, StructureMember& result) const
+{
+ BNStructureMember* member = BNGetStructureMemberAtOffset(m_object, offset);
+ if (member)
+ {
+ result.type = new Type(BNNewTypeReference(member->type));
+ result.name = member->name;
+ result.offset = member->offset;
+ BNFreeStructureMember(member);
+ return true;
+ }
+ return false;
+}
+
+
uint64_t Structure::GetWidth() const
{
return BNGetStructureWidth(m_object);