summaryrefslogtreecommitdiff
path: root/lang/c/objctypes.h
diff options
context:
space:
mode:
authorMark Rowe <mrowe@bdash.net.nz>2025-05-30 09:16:48 -0700
committerkat <kat@vector35.com>2025-06-18 10:41:33 -0400
commitb6b98c07eb8ce704da4edf5a0b16959215a2c450 (patch)
tree09fb73e17eb949e489f95acd9beea9ef619ac013 /lang/c/objctypes.h
parenta7ff3ca06a7684a688628b9afb36398b3a4d9d45 (diff)
[ObjC] Prefer displaying id rather than objc_object*
Diffstat (limited to 'lang/c/objctypes.h')
-rw-r--r--lang/c/objctypes.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/lang/c/objctypes.h b/lang/c/objctypes.h
new file mode 100644
index 00000000..c9f0037d
--- /dev/null
+++ b/lang/c/objctypes.h
@@ -0,0 +1,24 @@
+#pragma once
+
+#include "binaryninjaapi.h"
+
+class PseudoObjCTypePrinter : public BinaryNinja::TypePrinter
+{
+public:
+ PseudoObjCTypePrinter();
+
+ std::vector<BinaryNinja::InstructionTextToken> GetTypeTokensBeforeName(BinaryNinja::Ref<BinaryNinja::Type> type,
+ BinaryNinja::Ref<BinaryNinja::Platform> platform,
+ uint8_t baseConfidence = BN_FULL_CONFIDENCE, BinaryNinja::Ref<BinaryNinja::Type> parentType = nullptr,
+ BNTokenEscapingType escaping = NoTokenEscapingType) override;
+
+ std::vector<BinaryNinja::InstructionTextToken> GetTypeTokensAfterName(BinaryNinja::Ref<BinaryNinja::Type> type,
+ BinaryNinja::Ref<BinaryNinja::Platform> platform,
+ uint8_t baseConfidence = BN_FULL_CONFIDENCE, BinaryNinja::Ref<BinaryNinja::Type> parentType = nullptr,
+ BNTokenEscapingType escaping = NoTokenEscapingType) override;
+
+ std::vector<BinaryNinja::TypeDefinitionLine> GetTypeLines(BinaryNinja::Ref<BinaryNinja::Type> type,
+ const BinaryNinja::TypeContainer& types,
+ const BinaryNinja::QualifiedName& name, int paddingCols = 64, bool collapsed = false,
+ BNTokenEscapingType escaping = NoTokenEscapingType) override;
+};