angr.analyses.decompiler.ssailification.traversal_state¶
- angr.analyses.decompiler.ssailification.traversal_state.has_conflicting_value_types(vs)¶
Value contains two types of entries:
(int, *)that indicates a stack offset, and(None, int)that indicates a constant value. This method returns True if a set of Values contains both types of entries, otherwise False.
- class angr.analyses.decompiler.ssailification.traversal_state.TraversalState¶
Bases:
objectThe abstract state for the traversal engine.
- __init__(arch, func, live_registers=None, live_stackvars=None, register_blackout=None, live_vvars=None, stackvar_bases=None, register_bases=None, stackvar_defs=None, register_defs=None, pending_ptr_defines_nonlocal_live=None)¶
- Parameters:
live_registers (MutableMapping[int, Value] | None)
live_stackvars (DefaultChainMapCOW[int, Value] | None)
live_vvars (DefaultChainMapCOW[int, Value] | None)
stackvar_bases (ChainMapCOW[int, tuple[int, int]] | None)
register_bases (MutableMapping[int, tuple[int, int]] | None)
stackvar_defs (DefaultChainMapCOW[int, set[Def]] | None)
register_defs (MutableMapping[int, set[Def]] | None)
- stackvar_unify(offset, size)¶
- register_unify(offset, size)¶
- copy()¶
- Return type:
- merge(*others)¶
- Return type:
- Parameters:
others (TraversalState)