diff options
| author | Camille Mougey <commial@gmail.com> | 2017-03-29 10:33:45 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-03-29 10:33:45 +0200 |
| commit | 519ff151baef8adff65674508c303cb125b8fd54 (patch) | |
| tree | b5fc923b8bf3ed7d0d751889497f7d580d3e2775 /miasm2/expression/expression_reduce.py | |
| parent | da7b3b3d20b9ec4644d3b38c3ac9d9074680471d (diff) | |
| parent | b041668c3f0b855b494ffb736dabc405fc4c4bd5 (diff) | |
| download | miasm-519ff151baef8adff65674508c303cb125b8fd54.tar.gz miasm-519ff151baef8adff65674508c303cb125b8fd54.zip | |
Merge pull request #507 from serpilliere/fix_exprnode
ExprReduce: fix exprnode str
Diffstat (limited to 'miasm2/expression/expression_reduce.py')
| -rw-r--r-- | miasm2/expression/expression_reduce.py | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/miasm2/expression/expression_reduce.py b/miasm2/expression/expression_reduce.py index f4a68be4..a1be27cc 100644 --- a/miasm2/expression/expression_reduce.py +++ b/miasm2/expression/expression_reduce.py @@ -29,21 +29,21 @@ class ExprNode(object): expr = self.expr if self.info is not None: out = repr(self.info) - elif isinstance(expr, (ExprInt, ExprId)): - out = str(None) - elif isinstance(expr, ExprMem): + elif expr.is_int() or expr.is_id(): + out = str(expr) + elif expr.is_mem(): out = "@%d[%r]" % (self.expr.size, self.arg) - elif isinstance(expr, ExprSlice): + elif expr.is_slice(): out = "%r[%d:%d]" % (self.arg, expr.start, expr.stop) - elif isinstance(expr, ExprOp): + elif expr.is_op(): if len(self.args) == 1: - out = "%s(%s)" % (expr.op, self.args[0]) + out = "(%s(%r))" % (expr.op, self.args[0]) else: - out = expr.op.join([repr(arg) for arg in self.args]) - elif isinstance(expr, ExprCompose): - out = "{%s}" % ', '.join([repr(arg) for arg in self.args]) - elif isinstance(expr, ExprCond): - out = "%r?%r:%r" % (self.cond, self.src1, self.src2) + out = "(%s)" % expr.op.join(repr(arg) for arg in self.args) + elif expr.is_compose(): + out = "{%s}" % ', '.join(repr(arg) for arg in self.args) + elif expr.is_cond(): + out = "(%r?%r:%r)" % (self.cond, self.src1, self.src2) else: raise TypeError("Unknown node Type %r", type(expr)) return out |