angr.ailment.tagged_object¶
Python-side marker for the legacy isinstance(x, TaggedObject) checks.
We can get rid of this base class once IncompleteSwitchCaseHeadStatement is migrated to Rust.
- class angr.ailment.tagged_object.TagDict¶
Bases:
TypedDictSchema for the
.tagsmapping on AIL data classes.Only primitive-valued tags survive the Rust port.
reg_vvarswas promoted to a dedicated field onVirtualVariable. Variable information (variable,variable_offset,reference_*) now lives in a sideVariableMap(seeangr.analyses.decompiler.variable_map).- always_propagate: bool
- block_idx: int
- deref_src_addr: int
- extra_def: bool
- ins_addr: int
- is_prototype_guessed: bool
- keep_in_slice: bool
- orig_ins_addr: int
- reg_name: str
- uninitialized: bool
- vex_block_addr: int
- vex_stmt_idx: int
- write_size: int
- class angr.ailment.tagged_object.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.- idx: int
- tags: Any