(cls, graph: FlowGraph, node: FlowGraphNode, nodes={})
| 34 | class BaseILInstruction: |
| 35 | @classmethod |
| 36 | def prepend_parent(cls, graph: FlowGraph, node: FlowGraphNode, nodes={}): |
| 37 | for parent in cls.__bases__: |
| 38 | if not issubclass(parent, BaseILInstruction): |
| 39 | continue |
| 40 | if parent.__name__ in nodes: |
| 41 | nodes[parent.__name__].add_outgoing_edge(BranchType.UnconditionalBranch, node) |
| 42 | else: |
| 43 | parent_node = FlowGraphNode(graph) |
| 44 | parent_node.lines = [f"{parent.__name__}"] |
| 45 | parent_node.add_outgoing_edge(BranchType.UnconditionalBranch, node) |
| 46 | graph.append(parent_node) |
| 47 | nodes[parent.__name__] = parent_node |
| 48 | parent.prepend_parent(graph, parent_node, nodes) |
| 49 | |
| 50 | @classmethod |
| 51 | def add_subgraph(cls, graph: FlowGraph, nodes) -> FlowGraph: |
no test coverage detected