abstract class ConcurrentWriterCpgPass[T <: AnyRef] extends NewStyleCpgPassBase[T]
- Alphabetic
- By Inheritance
- ConcurrentWriterCpgPass
- NewStyleCpgPassBase
- CpgPassBase
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
Type Members
- type DiffGraphBuilder = overflowdb.BatchedUpdate.DiffGraphBuilder
- Definition Classes
- NewStyleCpgPassBase
Abstract Value Members
- abstract def generateParts(): Array[_ <: AnyRef]
- Definition Classes
- NewStyleCpgPassBase
- abstract def runOnPart(builder: DiffGraphBuilder, part: T): Unit
- Definition Classes
- NewStyleCpgPassBase
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def baseLogger: Logger
- Attributes
- protected
- Definition Classes
- CpgPassBase
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def createAndApply(): Unit
- Definition Classes
- NewStyleCpgPassBase → CpgPassBase
- def createApplySerializeAndStore(serializedCpg: SerializedCpg, inverse: Boolean = false, prefix: String = ""): Unit
WARNING: runOnPart is executed in parallel to committing of graph modifications.
WARNING: runOnPart is executed in parallel to committing of graph modifications. The upshot is that it is unsafe to read ANY data from cpg, on pain of bad race conditions
Only use ConcurrentWriterCpgPass if you are _very_ sure that you avoid races.
E.g. adding a CFG edge to node X races with reading an AST edge of node X.
- Definition Classes
- ConcurrentWriterCpgPass → CpgPassBase
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finish(): Unit
- Definition Classes
- NewStyleCpgPassBase
- def generateOutFileName(prefix: String, outName: String, index: Int): String
- Attributes
- protected
- Definition Classes
- CpgPassBase
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def init(): Unit
- Definition Classes
- NewStyleCpgPassBase
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- var nDiffT: Int
- def name: String
Name of the pass.
Name of the pass. By default it is inferred from the name of the class, override if needed.
- Definition Classes
- CpgPassBase
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def runWithBuilder(externalBuilder: overflowdb.BatchedUpdate.DiffGraphBuilder): Int
Runs the cpg pass, adding changes to the passed builder.
Runs the cpg pass, adding changes to the passed builder. Use with caution -- API is unstable. Returns max(nParts, 1), where nParts is either the number of parallel parts, or the number of iterarator elements in case of legacy passes. Includes init() and finish() logic.
- Definition Classes
- NewStyleCpgPassBase → CpgPassBase
- def runWithBuilderLogged(builder: overflowdb.BatchedUpdate.DiffGraphBuilder): Int
Wraps runWithBuilder with logging, and swallows raised exceptions.
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.
- Definition Classes
- CpgPassBase
- def serialize(appliedDiffGraph: AppliedDiffGraph, inverse: Boolean): GeneratedMessageV3
- Attributes
- protected
- Definition Classes
- CpgPassBase
- def store(overlay: GeneratedMessageV3, name: String, serializedCpg: SerializedCpg): Unit
- Attributes
- protected
- Definition Classes
- CpgPassBase
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def withStartEndTimesLogged[A](fun: => A): A
- Attributes
- protected
- Definition Classes
- CpgPassBase
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated