angr.analyses.decompiler.optimization_passes.expr_op_swapper

class angr.analyses.decompiler.optimization_passes.expr_op_swapper.OuterWalker

Bases: SequenceWalker

A sequence walker that finds nodes and invokes expression replacer to replace expressions.

__init__(desc)
desc: dict[OpDescriptor, str]
class angr.analyses.decompiler.optimization_passes.expr_op_swapper.ExpressionReplacer

Bases: AILBlockRewriter

Replace expressions.

__init__(block_addr, target_expr_predicate, callback)
class angr.analyses.decompiler.optimization_passes.expr_op_swapper.OpDescriptor

Bases: object

Describes a specific operator.

__init__(block_addr, stmt_idx, ins_addr, op)
Parameters:
class angr.analyses.decompiler.optimization_passes.expr_op_swapper.ExprOpSwapper

Bases: SequenceOptimizationPass

Swap operands (and the operator accordingly) in a BinOp expression.

ARCHES = ['X86', 'AMD64', 'ARMEL', 'ARMHF', 'ARMCortexM', 'MIPS32', 'MIPS64']
PLATFORMS = ['windows', 'linux', 'cgc']
STAGE: OptimizationPassStage = 11
NAME = 'Swap operands of expressions as requested'
DESCRIPTION = 'Swap operands (and the operator accordingly) in a BinOp expression.'
__init__(*args, binop_operators=None, **kwargs)
Parameters:

binop_operators (dict[OpDescriptor, str] | None)