Toggle Light / Dark / Auto color theme
Toggle table of contents sidebar
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" )