about summary refs log tree commit diff stats
path: root/miasm2/expression/expression.py
diff options
context:
space:
mode:
authorCamille Mougey <commial@gmail.com>2017-02-13 09:41:39 +0100
committerGitHub <noreply@github.com>2017-02-13 09:41:39 +0100
commit827c6cb8e1cdcc6e501c319353f89615b9cc09c9 (patch)
tree248eef50d915fc3eb8fec634318f6492af6d0f27 /miasm2/expression/expression.py
parent1719580d49d297f8b9b647569372e3eff888fbdf (diff)
parent4cadfcf63e4e74918f022d24c5efa56aafbaff12 (diff)
downloadmiasm-827c6cb8e1cdcc6e501c319353f89615b9cc09c9.tar.gz
miasm-827c6cb8e1cdcc6e501c319353f89615b9cc09c9.zip
Merge pull request #492 from serpilliere/fix_mem_accesses
Fix mem accesses
Diffstat (limited to 'miasm2/expression/expression.py')
-rw-r--r--miasm2/expression/expression.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/miasm2/expression/expression.py b/miasm2/expression/expression.py
index ef7fa1f6..e134e503 100644
--- a/miasm2/expression/expression.py
+++ b/miasm2/expression/expression.py
@@ -377,6 +377,13 @@ class Expr(object):
     def is_compose(self):
         return False
 
+    def is_op_segm(self):
+        """Returns True if is ExprOp and op == 'segm'"""
+        return False
+
+    def is_mem_segm(self):
+        """Returns True if is ExprMem and ptr is_op_segm"""
+        return False
 
 class ExprInt(Expr):
 
@@ -817,8 +824,9 @@ class ExprMem(Expr):
         arg = self.arg.copy()
         return ExprMem(arg, size=self.size)
 
-    def is_op_segm(self):
-        return isinstance(self.__arg, ExprOp) and self.__arg.op == 'segm'
+    def is_mem_segm(self):
+        """Returns True if is ExprMem and ptr is_op_segm"""
+        return self.__arg.is_op_segm()
 
     def depth(self):
         return self.__arg.depth() + 1
@@ -1002,6 +1010,10 @@ class ExprOp(Expr):
             return True
         return self.op == op
 
+    def is_op_segm(self):
+        """Returns True if is ExprOp and op == 'segm'"""
+        return self.is_op('segm')
+
 class ExprSlice(Expr):
 
     __slots__ = Expr.__slots__ + ["__arg", "__start", "__stop"]