about summary refs log tree commit diff stats
path: root/miasm2/core/interval.py
diff options
context:
space:
mode:
authorCamille Mougey <commial@gmail.com>2015-04-02 16:10:11 +0200
committerCamille Mougey <commial@gmail.com>2015-04-02 16:10:11 +0200
commit55c00f729101259e2706a171a5bff4106bb7efdd (patch)
tree6475c9e483c7d2115d26fc0c81a724c5ade93494 /miasm2/core/interval.py
parentc16ed5171a455535d2e4ec9eaccd50b5c3d1b440 (diff)
parent945f985aba4d957241899e56c26211a88977eca0 (diff)
downloadmiasm-55c00f729101259e2706a171a5bff4106bb7efdd.tar.gz
miasm-55c00f729101259e2706a171a5bff4106bb7efdd.zip
Merge pull request #137 from serpilliere/clean_group_bloc
Clean asmbloc
Diffstat (limited to 'miasm2/core/interval.py')
-rw-r--r--miasm2/core/interval.py26
1 files changed, 16 insertions, 10 deletions
diff --git a/miasm2/core/interval.py b/miasm2/core/interval.py
index d76cbd15..66445674 100644
--- a/miasm2/core/interval.py
+++ b/miasm2/core/interval.py
@@ -100,20 +100,20 @@ class interval(object):
             o = "[]"
         return o
 
-    def __contains__(self, i):
-        if isinstance(i, interval):
-            for x in self.intervals:
-                is_out = True
-                for y in i.intervals:
-                    if cmp_interval(x, y) in [INT_EQ, INT_B_IN_A]:
-                        is_out = False
+    def __contains__(self, other):
+        if isinstance(other, interval):
+            for intervalB in other.intervals:
+                is_in = False
+                for intervalA in self.intervals:
+                    if cmp_interval(intervalA, intervalB) in [INT_EQ, INT_B_IN_A]:
+                        is_in = True
                         break
-                if is_out:
+                if not is_in:
                     return False
             return True
         else:
-            for x in self.intervals:
-                if x[0] <= i <= x[1]:
+            for intervalA in self.intervals:
+                if intervalA[0] <= other <= intervalA[1]:
                     return True
             return False
 
@@ -215,6 +215,12 @@ class interval(object):
             return None, None
         return self.intervals[0][0], self.intervals[-1][1]
 
+
+    @property
+    def empty(self):
+        """Return True iff the interval is empty"""
+        return not self.intervals
+
     def show(self, img_x=1350, img_y=20, dry_run=False):
         """
         show image representing the interval