about summary refs log tree commit diff stats
diff options
context:
space:
mode:
Diffstat (limited to '')
-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))