Cfg

io.joern.x2cpg.passes.controlflow.cfgcreation.Cfg$
See theCfg companion class
object Cfg

Attributes

Companion
class
Graph
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Cfg.type

Members list

Type members

Classlikes

object AlwaysEdge extends CfgEdgeType

Attributes

Supertypes
trait CfgEdgeType
class Object
trait Matchable
class Any
Self type
AlwaysEdge.type
object CaseEdge extends CfgEdgeType

Attributes

Supertypes
trait CfgEdgeType
class Object
trait Matchable
class Any
Self type
CaseEdge.type
trait CfgEdgeType

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object AlwaysEdge.type
object CaseEdge.type
object FalseEdge.type
object TrueEdge.type
object FalseEdge extends CfgEdgeType

Attributes

Supertypes
trait CfgEdgeType
class Object
trait Matchable
class Any
Self type
FalseEdge.type
object TrueEdge extends CfgEdgeType

Attributes

Supertypes
trait CfgEdgeType
class Object
trait Matchable
class Any
Self type
TrueEdge.type

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror

Value members

Concrete methods

def edges(sources: List[CfgNode], dstNode: Option[CfgNode], cfgEdgeType: CfgEdgeType): List[CfgEdge]

Create edges of given type from a list of source nodes to a destination node

Create edges of given type from a list of source nodes to a destination node

Attributes

def edgesFromFringeTo(cfg: Cfg, node: Option[CfgNode]): List[CfgEdge]

Create edges from all nodes of cfg's fringe to node.

Create edges from all nodes of cfg's fringe to node.

Attributes

def edgesFromFringeTo(cfg: Cfg, node: Option[CfgNode], cfgEdgeType: CfgEdgeType): List[CfgEdge]

Create edges from all nodes of cfg's fringe to node, ignoring fringe edge types and using cfgEdgeType instead.

Create edges from all nodes of cfg's fringe to node, ignoring fringe edge types and using cfgEdgeType instead.

Attributes

def edgesFromFringeTo(fringeElems: List[(CfgNode, CfgEdgeType)], node: Option[CfgNode]): List[CfgEdge]

Create edges from a list (node, cfgEdgeType) pairs to node

Create edges from a list (node, cfgEdgeType) pairs to node

Attributes

def edgesToMultiple(sources: List[CfgNode], destinations: List[CfgNode], cfgEdgeType: CfgEdgeType): List[CfgEdge]

Create edges of given type from all nodes in sources to node.

Create edges of given type from all nodes in sources to node.

Attributes

def from(cfgs: Cfg*): Cfg
def reduceAndFilterLevel(nodesWithLevel: List[(CfgNode, Int)]): List[(CfgNode, Int)]
def singleEdge(source: CfgNode, destination: CfgNode, cfgEdgeType: CfgEdgeType): List[CfgEdge]
def takeCurrentLevel(nodesWithLevel: List[(CfgNode, Int)]): List[CfgNode]

Concrete fields

val empty: Cfg

The safe "null" Cfg.

The safe "null" Cfg.

Attributes