Package pida :: Module basic_block :: Class basic_block
[show private | hide private]
[frames | no frames]

Type basic_block

object --+    
         |    
      node --+
             |
            basic_block


Method Summary
  __init__(self, ea_start, ea_end, depth, analysis, function)
Analyze the basic block from ea_start to ea_end.
  ordered_instructions(self)
TODO: deprecated by sorted_instructions().
Boolean overwrites_register(self, register)
Indicates if the given register is modified by this block.
String render_node_gml(self, graph)
Overload the default node.render_node_gml() routine to create a custom label.
pydot.Node() render_node_graphviz(self, graph)
Overload the default node.render_node_graphviz() routine to create a custom label.
String render_node_udraw(self, graph)
Overload the default node.render_node_udraw() routine to create a custom label.
String render_node_udraw_update(self)
Overload the default node.render_node_udraw_update() routine to create a custom label.
List sorted_instructions(self)
Return a list of the instructions within the graph, sorted by id.
    Inherited from object
  __delattr__(...)
x.__delattr__('name') <==> del x.name
  __getattribute__(...)
x.__getattribute__('name') <==> x.name
  __hash__(x)
x.__hash__() <==> hash(x)
  __new__(T, S, ...)
T.__new__(S, ...) -> a new object with type S, a subtype of T
  __reduce__(...)
helper for pickle
  __reduce_ex__(...)
helper for pickle
  __repr__(x)
x.__repr__() <==> repr(x)
  __setattr__(...)
x.__setattr__('name', value) <==> x.name = value
  __str__(x)
x.__str__() <==> str(x)

Class Variable Summary
NoneType analysis = None                                                                  
NoneType depth = None                                                                  
NoneType ea_end = None                                                                  
NoneType ea_start = None                                                                  
dict ext = {}
NoneType function = None                                                                  
NoneType id = None                                                                  
dict instructions = {}
int num_instructions = 0                                                                     
    Inherited from node
int border_color = 15658734                                                              
int color = 15661055                                                              
float gml_height = 0.0                                                                   
float gml_line_width = 1.0                                                                   
str gml_pattern = '1'
int gml_stipple = 1                                                                     
str gml_type = 'rectangle'
float gml_width = 0.0                                                                   
float gml_width_shape = 1.0                                                                   
str label = ''
int number = 0                                                                     
str shape = 'box'

Method Details

__init__(self, ea_start, ea_end, depth=7, analysis=0, function=None)
(Constructor)

Analyze the basic block from ea_start to ea_end.
Parameters:
ea_start - Effective address of start of basic block (inclusive)
           (type=DWORD)
ea_end - Effective address of end of basic block (inclusive)
           (type=DWORD)
depth - (Optional, Def=DEPTH_FULL) How deep to analyze the module
           (type=Integer)
analysis - (Optional, Def=ANALYSIS_NONE) Which extra analysis options to enable
           (type=Integer)
function - (Optional, Def=None) Pointer to parent function container
           (type=pida.function)
Overrides:
pgraph.node.node.__init__

See Also: defines.py

ordered_instructions(self)

TODO: deprecated by sorted_instructions().

overwrites_register(self, register)

Indicates if the given register is modified by this block.
Parameters:
register - The text representation of the register
           (type=String)
Returns:
True if the register is modified by any instruction in this block.
           (type=Boolean)

render_node_gml(self, graph)

Overload the default node.render_node_gml() routine to create a custom label. Pass control to the default node renderer and then return the merged content.
Returns:
Contents of rendered node.
           (type=String)
Overrides:
pgraph.node.node.render_node_gml

render_node_graphviz(self, graph)

Overload the default node.render_node_graphviz() routine to create a custom label. Pass control to the default node renderer and then return the merged content.
Parameters:
graph - Top level graph object containing the current node
           (type=pgraph.graph)
Returns:
Pydot object representing node
           (type=pydot.Node())
Overrides:
pgraph.node.node.render_node_graphviz

render_node_udraw(self, graph)

Overload the default node.render_node_udraw() routine to create a custom label. Pass control to the default node renderer and then return the merged content.
Parameters:
graph - Top level graph object containing the current node
           (type=pgraph.graph)
Returns:
Contents of rendered node.
           (type=String)
Overrides:
pgraph.node.node.render_node_udraw

render_node_udraw_update(self)

Overload the default node.render_node_udraw_update() routine to create a custom label. Pass control to the default node renderer and then return the merged content.
Returns:
Contents of rendered node.
           (type=String)
Overrides:
pgraph.node.node.render_node_udraw_update

sorted_instructions(self)

Return a list of the instructions within the graph, sorted by id.
Returns:
List of instructions, sorted by id.
           (type=List)

Class Variable Details

analysis

Type:
NoneType
Value:
None                                                                  

depth

Type:
NoneType
Value:
None                                                                  

ea_end

Type:
NoneType
Value:
None                                                                  

ea_start

Type:
NoneType
Value:
None                                                                  

ext

Type:
dict
Value:
{}                                                                     

function

Type:
NoneType
Value:
None                                                                  

id

Type:
NoneType
Value:
None                                                                  

instructions

Type:
dict
Value:
{}                                                                     

num_instructions

Type:
int
Value:
0                                                                     

Generated by Epydoc 2.1 on Fri Jun 16 17:16:25 2006 http://epydoc.sf.net