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 Thu Sep 14 10:39:50 2006 | http://epydoc.sf.net