CfgCreationPass

class CfgCreationPass(cpg: Cpg) extends ConcurrentWriterCpgPass[Method]

A pass that creates control flow graphs from abstract syntax trees.

Control flow graphs can be calculated independently per method. Therefore, we inherit from ConcurrentWriterCpgPass.

Note: the version of OverflowDB that we currently use as a storage backend does not assign ids to edges and this pass only creates edges at the moment. Therefore, we currently do without key pools.

class ConcurrentWriterCpgPass[Method]
trait CpgPassBase
class Object
trait Matchable
class Any

Type members

Inherited types

type DiffGraphBuilder = DiffGraphBuilder
Inherited from:
ConcurrentWriterCpgPass

Value members

Concrete methods

override def generateParts(): Array[Method]
Definition Classes
ConcurrentWriterCpgPass
override def runOnPart(diffGraph: DiffGraphBuilder, method: Method): Unit
Definition Classes
ConcurrentWriterCpgPass

Inherited methods

override def createAndApply(): Unit
Definition Classes
ConcurrentWriterCpgPass -> CpgPassBase
Inherited from:
ConcurrentWriterCpgPass
override def createApplySerializeAndStore(serializedCpg: SerializedCpg, inverse: Boolean, prefix: String): Unit
Definition Classes
ConcurrentWriterCpgPass -> CpgPassBase
Inherited from:
ConcurrentWriterCpgPass
def finish(): Unit
Inherited from:
ConcurrentWriterCpgPass
def init(): Unit
Inherited from:
ConcurrentWriterCpgPass
def name: String

Name of the pass. By default it is inferred from the name of the class, override if needed.

Name of the pass. By default it is inferred from the name of the class, override if needed.

Inherited from:
CpgPassBase

Inherited fields

@volatile
var nDiffT: Int
Inherited from:
ConcurrentWriterCpgPass