angr.ailment.statement¶
AIL Statement classes.
Mirror of angr.ailment.expression for the Statement side.
- class angr.ailment.statement.CAS¶
Bases:
objectMarker for
Statementinstances whose variant isCAS.- static __new__(cls, idx, addr, data_lo, data_hi, expd_lo, expd_hi, old_lo, old_hi, endness, **tags)¶
- Return type:
Statement
- class angr.ailment.statement.Assignment¶
Bases:
objectMarker for
Statementinstances whose variant isAssignment.- static __new__(cls, idx, dst, src, **tags)¶
- Return type:
Statement
- class angr.ailment.statement.ConditionalJump¶
Bases:
objectMarker for
Statementinstances whose variant isConditionalJump.- static __new__(cls, idx, condition, true_target, false_target, *, true_target_idx=None, false_target_idx=None, **tags)¶
- Return type:
Statement
- class angr.ailment.statement.DirtyStatement¶
Bases:
objectMarker for
Statementinstances whose variant isDirtyStatement.- static __new__(cls, idx, dirty, **tags)¶
- Return type:
Statement
- class angr.ailment.statement.Jump¶
Bases:
objectMarker for
Statementinstances whose variant isJump.- static __new__(cls, idx, target, target_idx=None, **tags)¶
- Return type:
Statement
- class angr.ailment.statement.Label¶
Bases:
objectMarker for
Statementinstances whose variant isLabel.- static __new__(cls, idx, name, **tags)¶
- Return type:
Statement
- class angr.ailment.statement.NoOp¶
Bases:
objectMarker for
Statementinstances whose variant isNoOp.Placeholder for a removed statement; defines and uses no atoms. Primarily used by the AIL simplifier’s dead-assignment removal so the indices of surrounding statements stay stable until the block is compacted.
- static __new__(cls, idx, **tags)¶
- Return type:
Statement
- class angr.ailment.statement.Return¶
Bases:
objectMarker for
Statementinstances whose variant isReturn.- static __new__(cls, idx, ret_exprs, **tags)¶
- Return type:
Statement
- class angr.ailment.statement.SideEffectStatement¶
Bases:
objectMarker for
Statementinstances whose variant isSideEffectStatement.- static __new__(cls, idx, expr, ret_expr=None, fp_ret_expr=None, **tags)¶
- Return type:
Statement
- class angr.ailment.statement.Statement¶
Bases:
objectMarker for
isinstance(x, Statement)checks.- __init__(idx=None, *_extra, **tags)¶
- class angr.ailment.statement.Store¶
Bases:
objectMarker for
Statementinstances whose variant isStore.- static __new__(cls, idx, addr, data, size, endness, guard=None, **tags)¶
- Return type:
Statement
- class angr.ailment.statement.TaggedObject
Bases:
objectMarker class for backward-compatible
isinstance(x, TaggedObject)checks.The real hierarchy has no shared base anymore; this class only exists so legacy isinstance checks keep returning the same result.
Some legacy code does
__hash__ = ailment.statement.TaggedObject.__hash__to opt in to the cached-hash machinery. We expose a pure-Python__hash__here so that idiom keeps working.