Public Member Functions | |
virtual std::vector< InstructionTextToken > | GetTypeTokens (Ref< Type > type, Ref< Platform > platform, const QualifiedName &name, uint8_t baseConfidence=255, BNTokenEscapingType escaping=NoTokenEscapingType) |
Generate a single-line text representation of a type. More... | |
virtual std::vector< InstructionTextToken > | GetTypeTokensBeforeName (Ref< Type > type, Ref< Platform > platform, uint8_t baseConfidence=255, Ref< Type > parentType=nullptr, BNTokenEscapingType escaping=NoTokenEscapingType)=0 |
In a single-line text representation of a type, generate the tokens that should be printed before the type's name. More... | |
virtual std::vector< InstructionTextToken > | GetTypeTokensAfterName (Ref< Type > type, Ref< Platform > platform, uint8_t baseConfidence=255, Ref< Type > parentType=nullptr, BNTokenEscapingType escaping=NoTokenEscapingType)=0 |
In a single-line text representation of a type, generate the tokens that should be printed after the type's name. More... | |
virtual std::string | GetTypeString (Ref< Type > type, Ref< Platform > platform, const QualifiedName &name, BNTokenEscapingType escaping=NoTokenEscapingType) |
Generate a single-line text representation of a type. More... | |
virtual std::string | GetTypeStringBeforeName (Ref< Type > type, Ref< Platform > platform, BNTokenEscapingType escaping=NoTokenEscapingType) |
In a single-line text representation of a type, generate the string that should be printed before the type's name. More... | |
virtual std::string | GetTypeStringAfterName (Ref< Type > type, Ref< Platform > platform, BNTokenEscapingType escaping=NoTokenEscapingType) |
In a single-line text representation of a type, generate the string that should be printed after the type's name. More... | |
virtual std::vector< TypeDefinitionLine > | GetTypeLines (Ref< Type > type, Ref< BinaryView > data, const QualifiedName &name, int lineWidth=80, bool collapsed=false, BNTokenEscapingType escaping=NoTokenEscapingType)=0 |
Generate a multi-line representation of a type. More... | |
Public Member Functions inherited from BinaryNinja::StaticCoreRefCountObject< BNTypePrinter > | |
StaticCoreRefCountObject () | |
virtual | ~StaticCoreRefCountObject () |
BNTypePrinter * | GetObject () const |
void | AddRef () |
void | Release () |
void | AddRefForRegistration () |
Static Public Member Functions | |
static void | Register (TypePrinter *printer) |
static std::vector< Ref< TypePrinter > > | GetList () |
static Ref< TypePrinter > | GetByName (const std::string &name) |
static Ref< TypePrinter > | GetDefault () |
Static Public Member Functions inherited from BinaryNinja::StaticCoreRefCountObject< BNTypePrinter > | |
static BNTypePrinter * | GetObject (StaticCoreRefCountObject *obj) |
Protected Member Functions | |
TypePrinter (const std::string &name) | |
TypePrinter (BNTypePrinter *printer) | |
Static Protected Member Functions | |
static bool | GetTypeTokensCallback (void *ctxt, BNType *type, BNPlatform *platform, BNQualifiedName *name, uint8_t baseConfidence, BNTokenEscapingType escaping, BNInstructionTextToken **result, size_t *resultCount) |
static bool | GetTypeTokensBeforeNameCallback (void *ctxt, BNType *type, BNPlatform *platform, uint8_t baseConfidence, BNType *parentType, BNTokenEscapingType escaping, BNInstructionTextToken **result, size_t *resultCount) |
static bool | GetTypeTokensAfterNameCallback (void *ctxt, BNType *type, BNPlatform *platform, uint8_t baseConfidence, BNType *parentType, BNTokenEscapingType escaping, BNInstructionTextToken **result, size_t *resultCount) |
static bool | GetTypeStringCallback (void *ctxt, BNType *type, BNPlatform *platform, BNQualifiedName *name, BNTokenEscapingType escaping, char **result) |
static bool | GetTypeStringBeforeNameCallback (void *ctxt, BNType *type, BNPlatform *platform, BNTokenEscapingType escaping, char **result) |
static bool | GetTypeStringAfterNameCallback (void *ctxt, BNType *type, BNPlatform *platform, BNTokenEscapingType escaping, char **result) |
static bool | GetTypeLinesCallback (void *ctxt, BNType *type, BNBinaryView *data, BNQualifiedName *name, int lineWidth, bool collapsed, BNTokenEscapingType escaping, BNTypeDefinitionLine **result, size_t *resultCount) |
static void | FreeTokensCallback (void *ctxt, BNInstructionTextToken *tokens, size_t count) |
static void | FreeStringCallback (void *ctxt, char *string) |
static void | FreeLinesCallback (void *ctxt, BNTypeDefinitionLine *lines, size_t count) |
Additional Inherited Members | |
Public Attributes inherited from BinaryNinja::StaticCoreRefCountObject< BNTypePrinter > | |
std::atomic< int > | m_refs |
BNTypePrinter * | m_object |
|
explicitprotected |
|
protected |
|
staticprotected |
|
staticprotected |
|
staticprotected |
|
static |
|
static |
|
static |
|
pure virtual |
Generate a multi-line representation of a type.
type | Type to print |
data | Binary View in which the type is defined |
name | Name of the type |
lineWidth | Maximum width of lines, in characters |
collapsed | Whether to collapse structure/enum blocks |
escaping | Style of escaping literals which may not be parsable |
Implemented in BinaryNinja::CoreTypePrinter.
|
staticprotected |
|
virtual |
Generate a single-line text representation of a type.
type | Type to print |
platform | Platform responsible for this type |
name | Name of the type |
escaping | Style of escaping literals which may not be parsable |
Reimplemented in BinaryNinja::CoreTypePrinter.
|
virtual |
In a single-line text representation of a type, generate the string that should be printed after the type's name.
type | Type to print |
platform | Platform responsible for this type |
escaping | Style of escaping literals which may not be parsable |
Reimplemented in BinaryNinja::CoreTypePrinter.
|
staticprotected |
|
virtual |
In a single-line text representation of a type, generate the string that should be printed before the type's name.
type | Type to print |
platform | Platform responsible for this type |
escaping | Style of escaping literals which may not be parsable |
Reimplemented in BinaryNinja::CoreTypePrinter.
|
staticprotected |
|
staticprotected |
|
virtual |
Generate a single-line text representation of a type.
type | Type to print |
platform | Platform responsible for this type |
name | Name of the type |
baseConfidence | Confidence to use for tokens created for this type |
escaping | Style of escaping literals which may not be parsable |
Reimplemented in BinaryNinja::CoreTypePrinter.
|
pure virtual |
In a single-line text representation of a type, generate the tokens that should be printed after the type's name.
type | Type to print |
platform | Platform responsible for this type |
baseConfidence | Confidence to use for tokens created for this type |
parentType | Type of the parent of this type, or nullptr |
escaping | Style of escaping literals which may not be parsable |
Implemented in BinaryNinja::CoreTypePrinter.
|
staticprotected |
|
pure virtual |
In a single-line text representation of a type, generate the tokens that should be printed before the type's name.
type | Type to print |
platform | Platform responsible for this type |
baseConfidence | Confidence to use for tokens created for this type |
parentType | Type of the parent of this type, or nullptr |
escaping | Style of escaping literals which may not be parsable |
Implemented in BinaryNinja::CoreTypePrinter.
|
staticprotected |
|
staticprotected |
|
static |