CfgNodeMethods

final class CfgNodeMethods(val node: CfgNode) extends AnyVal with NodeExtension
class AnyVal
trait Matchable
class Any

Value members

Concrete methods

def address: Option[String]

Obtain hexadecimal string representation of lineNumber field.

Obtain hexadecimal string representation of lineNumber field.

Binary frontends store addresses in the lineNumber field as integers. For interoperability with other binary analysis tooling, it is convenient to allow retrieving these as hex strings.

def cfgNext: Traversal[CfgNode]

Successors in the CFG

Successors in the CFG

def cfgNext(n: Int): Traversal[CfgNode]

Maps each node in the traversal to a traversal returning its n successors.

Maps each node in the traversal to a traversal returning its n successors.

def cfgPrev(n: Int): Traversal[CfgNode]

Maps each node in the traversal to a traversal returning its n predecessors.

Maps each node in the traversal to a traversal returning its n predecessors.

def cfgPrev: Traversal[CfgNode]

Predecessors in the CFG

Predecessors in the CFG

def controlledBy: Traversal[CfgNode]

Recursively determine all nodes on which this CFG node is control-dependent.

Recursively determine all nodes on which this CFG node is control-dependent.

def controls: Traversal[CfgNode]

Recursively determine all nodes which this CFG node controls

Recursively determine all nodes which this CFG node controls

def dominatedBy: Traversal[CfgNode]

Recursively determine all nodes by which this node is dominated

Recursively determine all nodes by which this node is dominated

def dominates: Traversal[CfgNode]

Recursively determine all nodes which are dominated by this node

Recursively determine all nodes which are dominated by this node

def method: Method
def passes(included: Set[CfgNode]): Traversal[CfgNode]

Using the post dominator tree, will determine if this node passes through the included set of nodes and filter it in.

Using the post dominator tree, will determine if this node passes through the included set of nodes and filter it in.

Value parameters:
included

the nodes this node must pass through.

Returns:

the traversal of this node if it passes through the included set.

def passesNot(excluded: Set[CfgNode]): Traversal[CfgNode]

Using the post dominator tree, will determine if this node passes through the excluded set of nodes and filter it out.

Using the post dominator tree, will determine if this node passes through the excluded set of nodes and filter it out.

Value parameters:
excluded

the nodes this node must not pass through.

Returns:

the traversal of this node if it does not pass through the excluded set.

def postDominatedBy: Traversal[CfgNode]

Recursively determine all nodes by which this node is post dominated

Recursively determine all nodes by which this node is post dominated

def postDominates: Traversal[CfgNode]

Recursively determine all nodes which are post dominated by this node

Recursively determine all nodes which are post dominated by this node

def repr: String

Textual representation of CFG node

Textual representation of CFG node

Concrete fields

val node: CfgNode