NewStyleCpgPassBase

abstract
class NewStyleCpgPassBase[T <: AnyRef] extends CpgPassBase

NewStyleCpgPassBase is the shared base between ForkJoinParallelCpgPass and ConcurrentWriterCpgPass, containing shared boilerplate. We don't want ConcurrentWriterCpgPass as a subclass of ForkJoinParallelCpgPass because that would make it hard to whether an instance is non-racy.

Please don't subclass this directly. The only reason it's not sealed is that this would mess with our file hierarchy.

class Object
trait Matchable
class Any

Type members

Types

type DiffGraphBuilder = DiffGraphBuilder

Value members

Abstract methods

def generateParts(): Array[_ <: AnyRef]
def runOnPart(builder: DiffGraphBuilder, part: T): Unit

Concrete methods

override
def createAndApply(): Unit
Definition Classes
def finish(): Unit
def init(): Unit
override
def runWithBuilder(externalBuilder: DiffGraphBuilder): Int
Definition Classes

Inherited methods

def createApplySerializeAndStore(serializedCpg: SerializedCpg, inverse: Boolean, prefix: String): Unit
Inherited from
CpgPassBase
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
def runWithBuilderLogged(builder: DiffGraphBuilder): Int

Wraps runWithBuilder with logging, and swallows raised exceptions. Use with caution -- API is unstable. A return value of -1 indicates failure, otherwise the return value of runWithBuilder is passed through.

Wraps runWithBuilder with logging, and swallows raised exceptions. Use with caution -- API is unstable. A return value of -1 indicates failure, otherwise the return value of runWithBuilder is passed through.

Inherited from
CpgPassBase