typeparser module¶
Class | Description |
|---|---|
BasicTypeParserResult¶
- classBasicTypeParserResult[source]¶
Bases:
objectBasicTypeParserResult(types: Dict[ForwardRef(‘types.QualifiedName’), ForwardRef(‘types.Type’)], variables: Dict[ForwardRef(‘types.QualifiedName’), ForwardRef(‘types.Type’)], functions: Dict[ForwardRef(‘types.QualifiedName’), ForwardRef(‘types.Type’)])
- __init__(types:Dict[QualifiedName,Type],variables:Dict[QualifiedName,Type],functions:Dict[QualifiedName,Type])→None¶
- Parameters:
types (Dict[QualifiedName,Type]) –
variables (Dict[QualifiedName,Type]) –
functions (Dict[QualifiedName,Type]) –
- Return type:
None
- functions:Dict[QualifiedName,Type]¶
- types:Dict[QualifiedName,Type]¶
- variables:Dict[QualifiedName,Type]¶
CoreTypeParser¶
- classCoreTypeParser[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:
option (TypeParserOption) – Option type
value (str) – Option value
- 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:
- Returns:
A tuple of (result, errors) where result is a tuple of (type, name) orNone 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 sourceis None if there was a fatal error.
- Return type:
Tuple[str |None,List[TypeParserError]]
ParsedType¶
QualifiedNameTypeAndId¶
TypeParser¶
- classTypeParser[source]¶
Bases:
object- get_option_text(option:TypeParserOption,value:str)→str|None[source]¶
Get the string representation of an option for passing to parse_type_*
- Parameters:
option (TypeParserOption) – Option type
value (str) – Option value
- 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:
- Returns:
A tuple of (result, errors) where result is a tuple of (type, name) orNone 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 sourceis None if there was a fatal error.
- Return type:
Tuple[str |None,List[TypeParserError]]
- name=None¶
TypeParserError¶
- classTypeParserError[source]¶
Bases:
objectTypeParserError(severity: binaryninja.enums.TypeParserErrorSeverity, message: str, file_name: str, line: int, column: int)
- __init__(severity:TypeParserErrorSeverity,message:str,file_name:str,line:int,column:int)→None¶
- Parameters:
severity (TypeParserErrorSeverity) –
message (str) –
file_name (str) –
line (int) –
column (int) –
- Return type:
None
- severity:TypeParserErrorSeverity¶
TypeParserResult¶
- classTypeParserResult[source]¶
Bases:
objectTypeParserResult(types: List[binaryninja.typeparser.ParsedType], variables: List[binaryninja.typeparser.ParsedType], functions: List[binaryninja.typeparser.ParsedType])
- __init__(types:List[ParsedType],variables:List[ParsedType],functions:List[ParsedType])→None¶
- Parameters:
types (List[ParsedType]) –
variables (List[ParsedType]) –
functions (List[ParsedType]) –
- Return type:
None
- functions:List[ParsedType]¶
- types:List[ParsedType]¶
- variables:List[ParsedType]¶