angr.analyses.decompiler.peephole_optimizations.invert_negated_logical_conjuction_disjunction

class angr.analyses.decompiler.peephole_optimizations.invert_negated_logical_conjuction_disjunction.InvertNegatedLogicalConjunctionsAndDisjunctions

Bases: PeepholeOptimizationExprBase

Push negations into subexpressions of logical conjunctions and logical disjunctions.

NAME = '!(A && B) => A || B; !(A || B) => A && B'
expr_classes = (<class 'angr.ailment.expression.UnaryOp'>,)
optimize(expr, **kwargs)
Parameters:

expr (UnaryOp)