Source code for angr.analyses.decompiler.region_walker

from .graph_region import GraphRegion


[docs]class RegionWalker: """ A simple traverser class that walks GraphRegion instances. """
[docs] def __init__(self): self._parent_region = None self._current_region = None
[docs] def walk(self, region: GraphRegion): for node in region.graph.nodes(): if isinstance(node, GraphRegion): self._parent_region = node self.walk(node) self._parent_region = None else: self.walk_node(region, node)
[docs] def walk_node(self, region, node): # pylint:disable=no-self-use,unused-argument raise NotImplementedError("Please override this method with your own logic")