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

Public Member Functions

def __init__ (self, *args)
 
def __reduce__ (self)
 
def __new__ (cls, *args)
 
def __str__ (self)
 
def get_w (self)
 
def copy (self)
 
def depth (self)
 
def graph_recursive (self, graph)
 
def iter_args (self)
 
def is_compose (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_cond (self)
 
def is_mem (self)
 
def is_op (self, op=None)
 
def is_slice (self, start=None, stop=None)
 
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

 args = property(lambda self: self._args)
 
- 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

Compose is like a hamburger. It concatenate Expressions

Constructor & Destructor Documentation

◆ __init__()

def miasm.expression.expression.ExprCompose.__init__ (   self,
args 
)
Create an ExprCompose
The ExprCompose is contiguous and starts at 0
@args: [Expr, Expr, ...]
DEPRECATED:
@args: [(Expr, int, int), (Expr, int, int), ...]

Member Function Documentation

◆ __new__()

def miasm.expression.expression.ExprCompose.__new__ (   cls,
args 
)
Here is the caller graph for this function:

◆ __reduce__()

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

◆ __str__()

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

Reimplemented from miasm.expression.expression.Expr.

Here is the call graph for this function:

◆ copy()

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

Reimplemented from miasm.expression.expression.Expr.

◆ depth()

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

◆ get_w()

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

◆ graph_recursive()

def miasm.expression.expression.ExprCompose.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_compose()

def miasm.expression.expression.ExprCompose.is_compose (   self)

Reimplemented from miasm.expression.expression.Expr.

◆ iter_args()

def miasm.expression.expression.ExprCompose.iter_args (   self)
Here is the caller graph for this function:

Property Documentation

◆ args

miasm.expression.expression.ExprCompose.args = property(lambda self: self._args)
static

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