about summary refs log tree commit diff stats
path: root/miasm2/expression/expression.py
diff options
context:
space:
mode:
authorCamille Mougey <commial@gmail.com>2018-10-06 16:43:55 +0200
committerGitHub <noreply@github.com>2018-10-06 16:43:55 +0200
commit369371ca24c5f4fd6670cb36b80fbd29650de7d0 (patch)
tree7b9b319f3f365cb8b71b5dcf1f07f13559798513 /miasm2/expression/expression.py
parent75b389f70e7cc6640cbfb62268ba89f8985be1ed (diff)
parent9c4c548e372311f6d685647b3cfed35e1579ad54 (diff)
downloadmiasm-369371ca24c5f4fd6670cb36b80fbd29650de7d0.tar.gz
miasm-369371ca24c5f4fd6670cb36b80fbd29650de7d0.zip
Merge pull request #855 from serpilliere/exprassign
Exprassign
Diffstat (limited to 'miasm2/expression/expression.py')
-rw-r--r--miasm2/expression/expression.py35
1 files changed, 23 insertions, 12 deletions
diff --git a/miasm2/expression/expression.py b/miasm2/expression/expression.py
index d617a8fa..58ebda60 100644
--- a/miasm2/expression/expression.py
+++ b/miasm2/expression/expression.py
@@ -20,7 +20,7 @@
 #  - ExprInt
 #  - ExprId
 #  - ExprLoc
-#  - ExprAff
+#  - ExprAssign
 #  - ExprCond
 #  - ExprMem
 #  - ExprOp
@@ -50,7 +50,7 @@ TOK_POS_STRICT = "Spos"
 EXPRINT = 1
 EXPRID = 2
 EXPRLOC = 3
-EXPRAFF = 4
+EXPRASSIGN = 4
 EXPRCOND = 5
 EXPRMEM = 6
 EXPROP = 7
@@ -675,9 +675,9 @@ class ExprLoc(Expr):
         return True
 
 
-class ExprAff(Expr):
+class ExprAssign(Expr):
 
-    """An ExprAff represent an affection from an Expression to another one.
+    """An ExprAssign represent an affection from an Expression to another one.
 
     Some use cases:
      - var1 <- 2
@@ -686,7 +686,7 @@ class ExprAff(Expr):
     __slots__ = Expr.__slots__ + ["_dst", "_src"]
 
     def __init__(self, dst, src):
-        """Create an ExprAff for dst <- src
+        """Create an ExprAssign for dst <- src
         @dst: Expr, affectation destination
         @src: Expr, affectation source
         """
@@ -696,10 +696,10 @@ class ExprAff(Expr):
 
         if dst.size != src.size:
             raise ValueError(
-                "sanitycheck: ExprAff args must have same size! %s" %
+                "sanitycheck: ExprAssign args must have same size! %s" %
                 ([(str(arg), arg.size) for arg in [dst, src]]))
 
-        super(ExprAff, self).__init__(self.dst.size)
+        super(ExprAssign, self).__init__(self.dst.size)
 
     dst = property(lambda self: self._dst)
     src = property(lambda self: self._src)
@@ -743,7 +743,7 @@ class ExprAff(Expr):
             return self._dst.get_w()
 
     def _exprhash(self):
-        return hash((EXPRAFF, hash(self._dst), hash(self._src)))
+        return hash((EXPRASSIGN, hash(self._dst), hash(self._src)))
 
     def _exprrepr(self):
         return "%s(%r, %r)" % (self.__class__.__name__, self._dst, self._src)
@@ -759,10 +759,10 @@ class ExprAff(Expr):
         if dst == self._dst and src == self._src:
             return self
         else:
-            return ExprAff(dst, src)
+            return ExprAssign(dst, src)
 
     def copy(self):
-        return ExprAff(self._dst.copy(), self._src.copy())
+        return ExprAssign(self._dst.copy(), self._src.copy())
 
     def depth(self):
         return max(self._src.depth(), self._dst.depth()) + 1
@@ -777,6 +777,17 @@ class ExprAff(Expr):
         return True
 
 
+class ExprAff(ExprAssign):
+    """
+    DEPRECATED class.
+    Use ExprAssign instead of ExprAff
+    """
+
+    def __init__(self, dst, src):
+        warnings.warn('DEPRECATION WARNING: use ExprAssign instead of ExprAff')
+        super(ExprAff, self).__init__(dst, src)
+
+
 class ExprCond(Expr):
 
     """An ExprCond stand for a condition on an Expr
@@ -1402,9 +1413,9 @@ def compare_exprs(expr1, expr2):
         if ret:
             return ret
         return cmp(expr1.size, expr2.size)
-    elif cls1 == ExprAff:
+    elif cls1 == ExprAssign:
         raise NotImplementedError(
-            "Comparaison from an ExprAff not yet implemented")
+            "Comparaison from an ExprAssign not yet implemented")
     elif cls2 == ExprCond:
         ret = compare_exprs(expr1.cond, expr2.cond)
         if ret: