summaryrefslogtreecommitdiff
path: root/python/flowgraph.py
diff options
context:
space:
mode:
authorRusty Wagner <rusty@vector35.com>2019-04-12 14:51:42 -0400
committerRusty Wagner <rusty@vector35.com>2019-04-12 14:51:42 -0400
commit8f7901c4709826acc0e53aeea4442b1fb9a25876 (patch)
tree42575d8b2ef5c35a5546154f866c038ceff7b065 /python/flowgraph.py
parent1eee7293d9a171ba6c2e1e3d33be6d693ac66aee (diff)
Add incoming edges for flow graph nodes
Diffstat (limited to 'python/flowgraph.py')
-rw-r--r--python/flowgraph.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/python/flowgraph.py b/python/flowgraph.py
index ce92e47b..3054ff35 100644
--- a/python/flowgraph.py
+++ b/python/flowgraph.py
@@ -193,7 +193,25 @@ class FlowGraphNode(object):
for j in range(0, edges[i].pointCount):
points.append((edges[i].points[j].x, edges[i].points[j].y))
result.append(FlowGraphEdge(branch_type, self, target, points, edges[i].backEdge))
- core.BNFreeFlowGraphNodeOutgoingEdgeList(edges, count.value)
+ core.BNFreeFlowGraphNodeEdgeList(edges, count.value)
+ return result
+
+ @property
+ def incoming_edges(self):
+ """Flow graph block list of incoming edges (read-only)"""
+ count = ctypes.c_ulonglong()
+ edges = core.BNGetFlowGraphNodeIncomingEdges(self.handle, count)
+ result = []
+ for i in range(0, count.value):
+ branch_type = BranchType(edges[i].type)
+ target = edges[i].target
+ if target:
+ target = FlowGraphNode(self.graph, core.BNNewFlowGraphNodeReference(target))
+ points = []
+ for j in range(0, edges[i].pointCount):
+ points.append((edges[i].points[j].x, edges[i].points[j].y))
+ result.append(FlowGraphEdge(branch_type, self, target, points, edges[i].backEdge))
+ core.BNFreeFlowGraphNodeEdgeList(edges, count.value)
return result
@property