angr.analyses.decompiler.optimization_passes.switch_default_case_duplicator¶
- class angr.analyses.decompiler.optimization_passes.switch_default_case_duplicator.SwitchDefaultCaseDuplicator¶
Bases:
OptimizationPassFor each switch-case construct (identified by jump tables), duplicate the default-case node when we detect situations where the default-case node is seemingly reused by edges outside the switch-case construct. This code reuse is usually caused by compiler code deduplication.
Ideally this pass should be implemented as an ISC optimization reversion.
- ARCHES = None¶
- PLATFORMS = None¶
- STAGE: OptimizationPassStage = 0¶
- NAME = 'Duplicate default-case nodes to undo default-case node reuse caused by compiler code deduplication'¶
- DESCRIPTION = 'For each switch-case construct (identified by jump tables), duplicate the default-case node when we detect\n situations where the default-case node is seemingly reused by edges outside the switch-case construct. This code\n reuse is usually caused by compiler code deduplication.\n\n Ideally this pass should be implemented as an ISC optimization reversion.'¶
- __init__(*args, **kwargs)¶