miasm
Reverse engineering framework
miasm.expression.expression.ExprCond Class Reference
Inheritance diagram for miasm.expression.expression.ExprCond:
Collaboration diagram for miasm.expression.expression.ExprCond:

Public Member Functions

def __init__ (self, cond, src1, src2)
 
def __reduce__ (self)
 
def __new__ (cls, cond, src1, src2)
 
def __str__ (self)
 
def get_w (self)
 
def copy (self)
 
def depth (self)
 
def graph_recursive (self, graph)
 
def is_cond (self)
 
- Public Member Functions inherited from miasm.expression.expression.Expr
def set_size (self, _)
 
def __init__ (self, size)
 
def get_is_canon (self)
 
def set_is_canon (self, value)
 
def __getitem__ (self, i)
 
def get_size (self)
 
def is_function_call (self)
 
def __repr__ (self)
 
def __hash__ (self)
 
def __eq__ (self, other)
 
def __ne__ (self, other)
 
def __lt__ (self, other)
 
def __add__ (self, other)
 
def __sub__ (self, other)
 
def __div__ (self, other)
 
def __floordiv__ (self, other)
 
def __mod__ (self, other)
 
def __mul__ (self, other)
 
def __lshift__ (self, other)
 
def __rshift__ (self, other)
 
def __xor__ (self, other)
 
def __or__ (self, other)
 
def __and__ (self, other)
 
def __neg__ (self)
 
def __pow__ (self, other)
 
def __invert__ (self)
 
def __deepcopy__ (self, _)
 
def replace_expr (self, dct)
 
def canonize (self)
 
def msb (self)
 
def zeroExtend (self, size)
 
def signExtend (self, size)
 
def graph (self)
 
def set_mask (self, value)
 
def is_int (self, value=None)
 
def is_id (self, name=None)
 
def is_loc (self, label=None)
 
def is_aff (self)
 
def is_assign (self)
 
def is_mem (self)
 
def is_op (self, op=None)
 
def is_slice (self, start=None, stop=None)
 
def is_compose (self)
 
def is_op_segm (self)
 
def is_mem_segm (self)
 
def __contains__ (self, expr)
 
def visit (self, callback)
 
def get_r (self, mem_read=False, cst_read=False)
 
def get_w (self, mem_read=False, cst_read=False)
 

Properties

 cond = property(lambda self: self._cond)
 
 src1 = property(lambda self: self._src1)
 
 src2 = property(lambda self: self._src2)
 
- Properties inherited from miasm.expression.expression.Expr
 size = property(lambda self: self._size)
 
 is_canon = property(get_is_canon, set_is_canon)
 
 mask = property(lambda self: ExprInt(-1, self.size))
 

Additional Inherited Members

- Static Public Member Functions inherited from miasm.expression.expression.Expr
def get_object (expr_cls, args)
 
- Static Public Attributes inherited from miasm.expression.expression.Expr
dictionary args2expr = {}
 
 canon_exprs = set()
 
bool use_singleton = True
 

Detailed Description

An ExprCond stand for a condition on an Expr

Use cases:
 - var1 < var2
 - min(var1, var2)
 - if (cond) then ... else ...

Constructor & Destructor Documentation

◆ __init__()

def miasm.expression.expression.ExprCond.__init__ (   self,
  cond,
  src1,
  src2 
)
Create an ExprCond
@cond: Expr, condition
@src1: Expr, value if condition is evaled to not zero
@src2: Expr, value if condition is evaled zero

Member Function Documentation

◆ __new__()

def miasm.expression.expression.ExprCond.__new__ (   cls,
  cond,
  src1,
  src2 
)
Here is the caller graph for this function:

◆ __reduce__()

def miasm.expression.expression.ExprCond.__reduce__ (   self)

◆ __str__()

def miasm.expression.expression.ExprCond.__str__ (   self)

Reimplemented from miasm.expression.expression.Expr.

Here is the call graph for this function:

◆ copy()

def miasm.expression.expression.ExprCond.copy (   self)

Reimplemented from miasm.expression.expression.Expr.

◆ depth()

def miasm.expression.expression.ExprCond.depth (   self)

◆ get_w()

def miasm.expression.expression.ExprCond.get_w (   self)

◆ graph_recursive()

def miasm.expression.expression.ExprCond.graph_recursive (   self,
  graph 
)
Recursive method used by graph
@graph: miasm.core.graph.DiGraph instance
Update @graph instance to include sons
This is an Abstract method

Reimplemented from miasm.expression.expression.Expr.

◆ is_cond()

def miasm.expression.expression.ExprCond.is_cond (   self)

Reimplemented from miasm.expression.expression.Expr.

Property Documentation

◆ cond

miasm.expression.expression.ExprCond.cond = property(lambda self: self._cond)
static

◆ src1

miasm.expression.expression.ExprCond.src1 = property(lambda self: self._src1)
static

◆ src2

miasm.expression.expression.ExprCond.src2 = property(lambda self: self._src2)
static

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