diff options
| author | Glenn Smith <glenn@vector35.com> | 2024-09-25 17:33:59 -0400 |
|---|---|---|
| committer | Glenn Smith <glenn@vector35.com> | 2024-10-14 16:58:46 -0400 |
| commit | 9779664178534903236695755478467025901462 (patch) | |
| tree | a30fb8bb0997ae81b5241ca68b72d48879f290fb | |
| parent | 3783427718195661390278491600665703163357 (diff) | |
Add some missing type builder getters and setters
| -rw-r--r-- | binaryninjaapi.h | 4 | ||||
| -rw-r--r-- | binaryninjacore.h | 4 | ||||
| -rw-r--r-- | type.cpp | 26 |
3 files changed, 34 insertions, 0 deletions
diff --git a/binaryninjaapi.h b/binaryninjaapi.h index 82217f9b..3db0f9d1 100644 --- a/binaryninjaapi.h +++ b/binaryninjaapi.h @@ -9142,6 +9142,8 @@ namespace BinaryNinja { Ref<Enumeration> GetEnumeration() const; Ref<NamedTypeReference> GetNamedTypeReference() const; Confidence<BNMemberScope> GetScope() const; + BNNameType GetNameType() const; + bool HasTemplateArguments() const; TypeBuilder& SetWidth(size_t width); TypeBuilder& SetAlignment(size_t alignment); TypeBuilder& SetNamedTypeReference(NamedTypeReference* ntr); @@ -9153,6 +9155,8 @@ namespace BinaryNinja { TypeBuilder& SetTypeName(const QualifiedName& name); TypeBuilder& SetAlternateName(const std::string& name); TypeBuilder& SetSystemCall(bool sc, uint32_t n = 0); + TypeBuilder& SetNameType(BNNameType type); + TypeBuilder& SetHasTemplateArguments(bool hasTemplateArguments); Confidence<int64_t> GetStackAdjustment() const; QualifiedName GetStructureName() const; diff --git a/binaryninjacore.h b/binaryninjacore.h index 248c2905..0cc40e5c 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -6051,6 +6051,10 @@ extern "C" BINARYNINJACOREAPI BNInstructionTextToken* BNGetTypeBuilderPointerSuffixTokens(BNTypeBuilder* type, uint8_t baseConfidence, size_t* count); BINARYNINJACOREAPI void BNAddTypeBuilderPointerSuffix(BNTypeBuilder* type, BNPointerSuffix ps); BINARYNINJACOREAPI void BNSetTypeBuilderPointerSuffix(BNTypeBuilder* type, BNPointerSuffix* suffix, size_t count); + BINARYNINJACOREAPI BNNameType BNGetTypeBuilderNameType(BNTypeBuilder* type); + BINARYNINJACOREAPI bool BNTypeBuilderHasTemplateArguments(BNTypeBuilder* type); + BINARYNINJACOREAPI void BNSetTypeBuilderNameType(BNTypeBuilder* type, BNNameType nameType); + BINARYNINJACOREAPI void BNSetTypeBuilderHasTemplateArguments(BNTypeBuilder* type, bool hasTemplateArguments); BINARYNINJACOREAPI char* BNGetTypeBuilderString(BNTypeBuilder* type, BNPlatform* platform); BINARYNINJACOREAPI char* BNGetTypeBuilderStringBeforeName(BNTypeBuilder* type, BNPlatform* platform); @@ -1556,6 +1556,32 @@ TypeBuilder& TypeBuilder::SetNamedTypeReference(NamedTypeReference* ntr) } +BNNameType TypeBuilder::GetNameType() const +{ + return BNGetTypeBuilderNameType(m_object); +} + + +bool TypeBuilder::HasTemplateArguments() const +{ + return BNTypeBuilderHasTemplateArguments(m_object); +} + + +TypeBuilder& TypeBuilder::SetNameType(BNNameType type) +{ + BNSetTypeBuilderNameType(m_object, type); + return *this; +} + + +TypeBuilder& TypeBuilder::SetHasTemplateArguments(bool hasTemplateArguments) +{ + BNSetTypeBuilderHasTemplateArguments(m_object, hasTemplateArguments); + return *this; +} + + uint64_t TypeBuilder::GetElementCount() const { return BNGetTypeBuilderElementCount(m_object); |
