angr.analyses.decompiler.decompilation_cache¶
- class angr.analyses.decompiler.decompilation_cache.DecompilationCache¶
Bases:
SerializableCaches key data structures that can be used later for refining decompilation results, such as retyping variables.
- __init__(addr)¶
- version: str
- timestamp: int
- addr
- type_constraints: dict[TypeVariable, set[TypeConstraint]]
- arg_vvars: dict
- func_typevar: TypeVariable | None
- var_to_typevar: dict
- stackvar_max_sizes: dict
- stack_offset_typevars: dict
- codegen: BaseStructuredCodeGenerator | None
- variable_map: VariableMap | None
- ite_exprs: set[tuple[int, Expression]]
- binop_operators: dict[OpDescriptor, str]
- notes: dict[str, DecompilationNote]
- max_tv_id: int
- property local_types¶
- classmethod parse_from_cmessage(cmsg, *, project=None, kb=None, function=None, cfg=None, **_)¶
Parse a DecompilationCache from a cmessage. Runtime back-references (project, kb, function, cfg) are passed through to the embedded Clinic / codegen parsers so the parsed cache is functional for cache-hit validity checks. Decompilation variables live on kb.dec_variables.