miasm
Reverse engineering framework
miasm.ir.ir.IRBlock Class Reference
Inheritance diagram for miasm.ir.ir.IRBlock:
Collaboration diagram for miasm.ir.ir.IRBlock:

Public Member Functions

def __init__ (self, loc_db, loc_key, assignblks)
 
def __eq__ (self, other)
 
def __ne__ (self, other)
 
def get_label (self)
 
def assignblks (self)
 
def irs (self)
 
def __iter__ (self)
 
def __getitem__ (self, index)
 
def __len__ (self)
 
def is_dst_set (self)
 
def cache_dst (self)
 
def dst (self)
 
def set_dst (self, value)
 
def dst_linenb (self)
 
def to_string (self)
 
def __str__ (self)
 
def modify_exprs (self, mod_dst=None, mod_src=None)
 
def simplify (self, simplifier)
 

Properties

 loc_key = property(lambda self:self._loc_key)
 
 loc_db = property(lambda self:self._loc_db)
 
 label = property(get_label)
 

Detailed Description

Intermediate representation block object.

Stand for an intermediate representation  basic block.

Constructor & Destructor Documentation

◆ __init__()

def miasm.ir.ir.IRBlock.__init__ (   self,
  loc_db,
  loc_key,
  assignblks 
)
@loc_key: LocKey of the IR basic block
@assignblks: list of AssignBlock

Reimplemented in miasm.ir.ir.irbloc.

Member Function Documentation

◆ __eq__()

def miasm.ir.ir.IRBlock.__eq__ (   self,
  other 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ __getitem__()

def miasm.ir.ir.IRBlock.__getitem__ (   self,
  index 
)
Getitem on assignblks

◆ __iter__()

def miasm.ir.ir.IRBlock.__iter__ (   self)
Iterate on assignblks
Here is the caller graph for this function:

◆ __len__()

def miasm.ir.ir.IRBlock.__len__ (   self)
Length of assignblks

◆ __ne__()

def miasm.ir.ir.IRBlock.__ne__ (   self,
  other 
)

◆ __str__()

def miasm.ir.ir.IRBlock.__str__ (   self)
Here is the call graph for this function:

◆ assignblks()

def miasm.ir.ir.IRBlock.assignblks (   self)
Here is the caller graph for this function:

◆ cache_dst()

def miasm.ir.ir.IRBlock.cache_dst (   self)
Here is the caller graph for this function:

◆ dst()

def miasm.ir.ir.IRBlock.dst (   self)
Return the value of IRDst for the IRBlock
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dst_linenb()

def miasm.ir.ir.IRBlock.dst_linenb (   self)
Line number of the IRDst setting statement in the current irs
Here is the call graph for this function:

◆ get_label()

def miasm.ir.ir.IRBlock.get_label (   self)

◆ irs()

def miasm.ir.ir.IRBlock.irs (   self)

◆ is_dst_set()

def miasm.ir.ir.IRBlock.is_dst_set (   self)
Here is the caller graph for this function:

◆ modify_exprs()

def miasm.ir.ir.IRBlock.modify_exprs (   self,
  mod_dst = None,
  mod_src = None 
)
Generate a new IRBlock with its AssignBlock expressions modified
according to @mod_dst and @mod_src
@mod_dst: function called to modify Expression destination
@mod_src: function called to modify Expression source

◆ set_dst()

def miasm.ir.ir.IRBlock.set_dst (   self,
  value 
)
Generate a new IRBlock with a dst (IRBlock) fixed to @value

◆ simplify()

def miasm.ir.ir.IRBlock.simplify (   self,
  simplifier 
)
Simplify expressions in each assignblock
@simplifier: ExpressionSimplifier instance

◆ to_string()

def miasm.ir.ir.IRBlock.to_string (   self)
Here is the caller graph for this function:

Property Documentation

◆ label

miasm.ir.ir.IRBlock.label = property(get_label)
static

◆ loc_db

miasm.ir.ir.IRBlock.loc_db = property(lambda self:self._loc_db)
static

◆ loc_key

miasm.ir.ir.IRBlock.loc_key = property(lambda self:self._loc_key)
static

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