about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorserpilliere <serpilliere@users.noreply.github.com>2017-01-14 12:28:08 +0100
committerGitHub <noreply@github.com>2017-01-14 12:28:08 +0100
commit69376ab17bf46e60bda168a81667e17af620ffe2 (patch)
tree7bb8e0b00a464d6793eb6415bfb4c5fd2a0fa715
parent35941c723827ab1d0e8b1fe86894cc188a869dcd (diff)
parent9ee84d6ed811f3c357c9e642dbc6d7ad20fae74f (diff)
downloadmiasm-69376ab17bf46e60bda168a81667e17af620ffe2.tar.gz
miasm-69376ab17bf46e60bda168a81667e17af620ffe2.zip
Merge pull request #476 from commial/fix/repr-expr
Fix/repr expr
-rw-r--r--miasm2/expression/expression.py3
-rw-r--r--test/expression/expression.py14
2 files changed, 16 insertions, 1 deletions
diff --git a/miasm2/expression/expression.py b/miasm2/expression/expression.py
index 0001dc24..ef7fa1f6 100644
--- a/miasm2/expression/expression.py
+++ b/miasm2/expression/expression.py
@@ -448,7 +448,8 @@ class ExprInt(Expr):
         return hash((EXPRINT, self.__arg, self.__size))
 
     def _exprrepr(self):
-        return "%s(0x%X)" % (self.__class__.__name__, self.__get_int())
+        return "%s(0x%X, %d)" % (self.__class__.__name__, self.__get_int(),
+                                 self.__size)
 
     def __contains__(self, e):
         return self == e
diff --git a/test/expression/expression.py b/test/expression/expression.py
index 58c0ca37..8e8b5e07 100644
--- a/test/expression/expression.py
+++ b/test/expression/expression.py
@@ -51,3 +51,17 @@ for expr in [
         print "For value %s" % consval.value
         for constraint in consval.constraints:
             print "\t%s" % constraint.to_constraint()
+
+# Repr
+for expr in [
+        cst1,
+        A,
+        ExprMem(cst1, 32),
+        ExprCond(cond1, cst1, cst2),
+        A + cst1,
+        ExprCompose(A, cst1),
+        A.msb(),
+        ExprAff(A, cst1),
+]:
+    print repr(expr)
+    assert expr == eval(repr(expr))