summaryrefslogtreecommitdiff
path: root/lang/c/objctypes.h
blob: c9f0037d2b1a82ef289bad14628817856857ab1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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;
};