angr.analyses.decompiler.decompilation_cache

class angr.analyses.decompiler.decompilation_cache.DecompilationCache

Bases: Serializable

Caches key data structures that can be used later for refining decompilation results, such as retyping variables.

__init__(addr)
parameters: dict[str, Any]
version: str
timestamp: int
addr
cfg: CFGModel | None
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
clinic: Clinic | None
variable_map: VariableMap | None
ite_exprs: set[tuple[int, Expression]]
binop_operators: dict[OpDescriptor, str]
errors: list[str]
function_summary: str | None
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.