io.shiftleft.passes
Type members
Classlikes
Diff Graph that has been applied to a source graph. This is a wrapper around diff graph, which additionally provides a map from nodes to graph ids.
Diff Graph that has been applied to a source graph. This is a wrapper around diff graph, which additionally provides a map from nodes to graph ids.
- Companion
- object
Provides functionality to serialize diff graphs and add them to existing serialized CPGs as graph overlays.
Provides functionality to serialize diff graphs and add them to existing serialized CPGs as graph overlays.
- Companion
- object
A key pool that returns the integers of the interval [first, last] in a thread-safe manner.
A key pool that returns the integers of the interval [first, last] in a thread-safe manner.
A pool of long integers that serve as node ids. Using the method next
, the pool provides the next id in a
thread-safe manner.
A pool of long integers that serve as node ids. Using the method next
, the pool provides the next id in a
thread-safe manner.
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.
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.
A key pool that returns elements of seq
in order in a thread-safe manner.
A key pool that returns elements of seq
in order in a thread-safe manner.
Deprecated classlikes
Base class for CPG pass - a program, which receives an input graph and outputs a sequence of additive diff graphs. These diff graphs can be merged into the original graph ("applied"), they can be serialized into a binary format, and finally, they can be added to an existing cpg.bin.zip file.
Base class for CPG pass - a program, which receives an input graph and outputs a sequence of additive diff graphs. These diff graphs can be merged into the original graph ("applied"), they can be serialized into a binary format, and finally, they can be added to an existing cpg.bin.zip file.
A pass is provided by inheriting from this class and implementing run
, a method, which creates the sequence of
diff graphs from an input graph.
Overview of steps and their meaning:
- Create: A sequence of diff graphs is created from the source graph 2. Apply: Each diff graph can be applied to
the source graph 3. Serialize: After applying a diff graph, the diff graph can be serialized into a CPG overlay
- Store: The CPG overlay can be stored in a serialized CPG.
- Value Params
- cpg
the source CPG this pass traverses
- Deprecated
[Since version v1.3.508]
Please use SimpleCpgPass as a replacement.
A lightweight write-only graph used for creation of CPG graph overlays
A lightweight write-only graph used for creation of CPG graph overlays
The graph can store edges to/from nodes that do not exist in the base graph. It doesn't assign ids for these nodes until the diff graph is serialized. Ids of new nodes may collide with ids of nodes in the base graph, which are not sources or destinations of edges of the diff graph. When the CPG loader adds nodes of the overlay, it therefor needs to reassign ids for nodes if they are already used in the original CPG.
- Companion
- object
- Deprecated
[Since version v1.3.508]
Please use overflowdb.BatchedUpdate.DiffGraph as a replacement.
- Deprecated
[Since version v1.3.508]
Please use ForkJoinParallelCpgPass or ConcurrentWriterCpgPass as a replacement.