diff options
Diffstat (limited to 'type.cpp')
| -rw-r--r-- | type.cpp | 27 |
1 files changed, 21 insertions, 6 deletions
@@ -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); |
