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
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.
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.
Attributes
Inherited from:
CpgPassBase
override def runWithBuilder(externalBuilder: DiffGraphBuilder): Int
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.
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.
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.