GeezerVison is showing api.binary.ninja — typeparser module — Binary Ninja API Documentation v6.0.10905
typeparser module¶
CoreTypeParser¶
-
class CoreTypeParser[source]¶
Bases: TypeParser
-
get_option_text(option: TypeParserOption, value: str) → str | None[source]¶
Get the string representation of an option for passing to parse_type_*
- Parameters:
-
- Returns:
A string representing the option if the parser supports it, otherwise None
- Return type:
str | None
-
parse_type_string(source: str, platform: Platform, existing_types: types.TypeContainerType | None = None) → Tuple[Tuple[types.QualifiedNameType, Type] | None, List[TypeParserError]][source]¶
Parse a single type and name from a string containing their definition.
- Parameters:
source (str) – Source code to parse
platform (Platform) – Platform to assume the types are relevant to
existing_types (types.TypeContainerType | None) – Optional container of all existing types to use for parsing context
- Returns:
A tuple of (result, errors) where result is a tuple of (type, name) or
None of there was a fatal error.
- Return type:
Tuple[Tuple[types.QualifiedNameType, Type] | None, List[TypeParserError]]
-
parse_types_from_source(source: str, file_name: str, platform: Platform, existing_types: types.TypeContainerType | None = None, options: List[str] | None = None, include_dirs: List[str] | None = None, auto_type_source: str = '') → Tuple[TypeParserResult | None, List[TypeParserError]][source]¶
Parse an entire block of source into types, variables, and functions
- Parameters:
source (str) – Source code to parse
file_name (str) – Name of the file containing the source (optional: exists on disk)
platform (Platform) – Platform to assume the types are relevant to
existing_types (types.TypeContainerType | None) – Optional container of all existing types to use for parsing context
options (List[str] | None) – Optional string arguments to pass as options, e.g. command line arguments
include_dirs (List[str] | None) – Optional list of directories to include in the header search path
auto_type_source (str) – Optional source of types if used for automatically generated types
- Returns:
A tuple of (result, errors) where the result is None if there was a fatal error
- Return type:
Tuple[TypeParserResult | None, List[TypeParserError]]
-
preprocess_source(source: str, file_name: str, platform: Platform, existing_types: types.TypeContainerType | None = None, options: List[str] | None = None, include_dirs: List[str] | None = None) → Tuple[str | None, List[TypeParserError]][source]¶
Preprocess a block of source, returning the source that would be parsed
- Parameters:
source (str) – Source code to process
file_name (str) – Name of the file containing the source (does not need to exist on disk)
platform (Platform) – Platform to assume the source is relevant to
existing_types (types.TypeContainerType | None) – Optional collection of all existing types to use for parsing context
options (List[str] | None) – Optional string arguments to pass as options, e.g. command line arguments
include_dirs (List[str] | None) – Optional list of directories to include in the header search path
- Returns:
A tuple of (preproccessed source, errors), where the preproccessed source
is None if there was a fatal error.
- Return type:
Tuple[str | None, List[TypeParserError]]
ParsedType¶
-
class ParsedType[source]¶
Bases: object
-
__init__(name: types.QualifiedNameType, type: Type, is_user: bool) → None¶
- Parameters:
-
- Return type:
None
-
is_user: bool¶
-
name: types.QualifiedNameType¶
-
type: Type¶
QualifiedNameTypeAndId¶
-
class QualifiedNameTypeAndId[source]¶
Bases: object
-
__init__(name: types.QualifiedNameType, id: str, type: Type) → None¶
- Parameters:
-
- Return type:
None
-
id: str¶
-
name: types.QualifiedNameType¶
-
type: Type¶
TypeParser¶
-
class TypeParser[source]¶
Bases: object
-
__init__(handle=None)[source]¶
-
get_option_text(option: TypeParserOption, value: str) → str | None[source]¶
Get the string representation of an option for passing to parse_type_*
- Parameters:
-
- Returns:
A string representing the option if the parser supports it, otherwise None
- Return type:
str | None
-
parse_type_string(source: str, platform: Platform, existing_types: types.TypeContainerType | None = None) → Tuple[Tuple[types.QualifiedNameType, Type] | None, List[TypeParserError]][source]¶
Parse a single type and name from a string containing their definition.
- Parameters:
source (str) – Source code to parse
platform (Platform) – Platform to assume the types are relevant to
existing_types (types.TypeContainerType | None) – Optional container of all existing types to use for parsing context
- Returns:
A tuple of (result, errors) where result is a tuple of (type, name) or
None of there was a fatal error.
- Return type:
Tuple[Tuple[types.QualifiedNameType, Type] | None, List[TypeParserError]]
-
parse_types_from_source(source: str, file_name: str, platform: Platform, existing_types: types.TypeContainerType | None = None, options: List[str] | None = None, include_dirs: List[str] | None = None, auto_type_source: str = '') → Tuple[TypeParserResult | None, List[TypeParserError]][source]¶
Parse an entire block of source into types, variables, and functions
- Parameters:
source (str) – Source code to parse
file_name (str) – Name of the file containing the source (optional: exists on disk)
platform (Platform) – Platform to assume the types are relevant to
existing_types (types.TypeContainerType | None) – Optional container of all existing types to use for parsing context
options (List[str] | None) – Optional string arguments to pass as options, e.g. command line arguments
include_dirs (List[str] | None) – Optional list of directories to include in the header search path
auto_type_source (str) – Optional source of types if used for automatically generated types
- Returns:
A tuple of (result, errors) where the result is None if there was a fatal error
- Return type:
Tuple[TypeParserResult | None, List[TypeParserError]]
-
preprocess_source(source: str, file_name: str, platform: Platform, existing_types: types.TypeContainerType | None = None, options: List[str] | None = None, include_dirs: List[str] | None = None) → Tuple[str | None, List[TypeParserError]][source]¶
Preprocess a block of source, returning the source that would be parsed
- Parameters:
source (str) – Source code to process
file_name (str) – Name of the file containing the source (does not need to exist on disk)
platform (Platform) – Platform to assume the source is relevant to
existing_types (types.TypeContainerType | None) – Optional collection of all existing types to use for parsing context
options (List[str] | None) – Optional string arguments to pass as options, e.g. command line arguments
include_dirs (List[str] | None) – Optional list of directories to include in the header search path
- Returns:
A tuple of (preproccessed source, errors), where the preproccessed source
is None if there was a fatal error.
- Return type:
Tuple[str | None, List[TypeParserError]]
-
register()[source]¶
Register a custom parser with the API
-
name = None¶
|