summaryrefslogtreecommitdiff
path: root/python/basicblock.py
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2017-12-26 17:14:16 -0500
committerRusty Wagner <rusty@vector35.com>2017-12-26 17:14:16 -0500
commit9fc4766a507d5299cd4de78170c5798b02bb9698 (patch)
treea4589f36a46e662cc16613db88f1c83c69512181 /python/basicblock.py
parent06b97009b2a09dc7816f6ace2d6a4bff66cb3f26 (diff)
parent26edabfdd7211012c7c8a03186d3025eea9aa345 (diff)
Merge branch 'dev' into fpu
Diffstat (limited to 'python/basicblock.py')
-rw-r--r--python/basicblock.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/python/basicblock.py b/python/basicblock.py
index 26db925d..8e64c1c1 100644
--- a/python/basicblock.py
+++ b/python/basicblock.py
@@ -35,6 +35,14 @@ class BasicBlockEdge(object):
self.target = target
self.back_edge = back_edge
+ def __eq__(self, value):
+ if not isinstance(value, BasicBlockEdge):
+ return False
+ return (self.type, self.source, self.target, self.back_edge) == (value.type, value.source, value.target, value.back_edge)
+
+ def __hash__(self):
+ return hash((self.type, self.source, self.target, self.back_edge))
+
def __repr__(self):
if self.type == BranchType.UnresolvedBranch:
return "<%s>" % BranchType(self.type).name
@@ -68,6 +76,9 @@ class BasicBlock(object):
"""Internal method used to instantiante child instances"""
return BasicBlock(view, handle)
+ def __hash__(self):
+ return hash((self.start, self.end, self.arch.name))
+
@property
def function(self):
"""Basic block function (read-only)"""