angr.analyses.decompiler.edits.results

class angr.analyses.decompiler.edits.results.Refresh

Bases: object

What a caller has to redo after an edit.

Lets a UI pick between re-rendering text, rebuilding the codegen AST, and a full re-decompilation instead of guessing. text_stale_all means every cached decompilation’s rendered text is stale (a function rename changes call sites everywhere), but the caller should re-render lazily: eagerly re-rendering the whole cache would thrash its LRU.

text_stale: frozenset[int] = frozenset({})
text_stale_all: bool = False
reanalyze: frozenset[int] = frozenset({})
redecompile: frozenset[int] = frozenset({})
function_list_dirty: bool = False
disassembly_dirty: bool = False
merge(other)
Return type:

Refresh

Parameters:

other (Refresh)

__init__(text_stale=frozenset({}), text_stale_all=False, reanalyze=frozenset({}), redecompile=frozenset({}), function_list_dirty=False, disassembly_dirty=False)
Parameters:
Return type:

None

class angr.analyses.decompiler.edits.results.EditResult

Bases: object

The outcome of a single edit. changed is False when the edit was a no-op.

changed: bool
kind: str
func_addr: int | None = None
old: Any = None
new: Any = None
refresh: Refresh
detail: dict[str, Any]
__init__(changed, kind, func_addr=None, old=None, new=None, refresh=<factory>, detail=<factory>)
Parameters:
Return type:

None