miasm
Reverse engineering framework
miasm.analysis.depgraph.DependencyState Class Reference
Inheritance diagram for miasm.analysis.depgraph.DependencyState:
Collaboration diagram for miasm.analysis.depgraph.DependencyState:

Public Member Functions

def __init__ (self, loc_key, pending, line_nb=None)
 
def __repr__ (self)
 
def extend (self, loc_key)
 
def get_done_state (self)
 
def as_graph (self)
 
def graph (self)
 
def remove_pendings (self, nodes)
 
def add_pendings (self, future_pending)
 
def link_element (self, element, line_nb)
 
def link_dependencies (self, element, line_nb, dependencies, future_pending)
 

Public Attributes

 loc_key
 
 history
 
 pending
 
 line_nb
 
 links
 

Detailed Description

Store intermediate depnodes states during dependencygraph analysis

Constructor & Destructor Documentation

◆ __init__()

def miasm.analysis.depgraph.DependencyState.__init__ (   self,
  loc_key,
  pending,
  line_nb = None 
)

Member Function Documentation

◆ __repr__()

def miasm.analysis.depgraph.DependencyState.__repr__ (   self)

◆ add_pendings()

def miasm.analysis.depgraph.DependencyState.add_pendings (   self,
  future_pending 
)
Add @future_pending to the state

◆ as_graph()

def miasm.analysis.depgraph.DependencyState.as_graph (   self)
Generates a Digraph of dependencies
Here is the caller graph for this function:

◆ extend()

def miasm.analysis.depgraph.DependencyState.extend (   self,
  loc_key 
)
Return a copy of itself, with itself in history
@loc_key: LocKey instance for the new DependencyState's loc_key

◆ get_done_state()

def miasm.analysis.depgraph.DependencyState.get_done_state (   self)
Returns immutable object representing current state

◆ graph()

def miasm.analysis.depgraph.DependencyState.graph (   self)
Returns a DiGraph instance representing the DependencyGraph
Here is the call graph for this function:
Here is the caller graph for this function:

◆ link_dependencies()

def miasm.analysis.depgraph.DependencyState.link_dependencies (   self,
  element,
  line_nb,
  dependencies,
  future_pending 
)
Link unfollowed dependencies and create remaining pending elements.
@element: the element to link
@line_nb: the element's line
@dependencies: the element's dependencies
@future_pending: the future dependencies
Here is the call graph for this function:

◆ link_element()

def miasm.analysis.depgraph.DependencyState.link_element (   self,
  element,
  line_nb 
)
Link element to its dependencies
@element: the element to link
@line_nb: the element's line
Here is the call graph for this function:

◆ remove_pendings()

def miasm.analysis.depgraph.DependencyState.remove_pendings (   self,
  nodes 
)
Remove resolved @nodes

Member Data Documentation

◆ history

miasm.analysis.depgraph.DependencyState.history

◆ line_nb

miasm.analysis.depgraph.DependencyState.line_nb

◆ links

miasm.analysis.depgraph.DependencyState.links

◆ loc_key

miasm.analysis.depgraph.DependencyState.loc_key

◆ pending

miasm.analysis.depgraph.DependencyState.pending

The documentation for this class was generated from the following file: