All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.shiftleft.layers.DataFlowRunner.scala Maven / Gradle / Ivy

package io.shiftleft.layers

import io.shiftleft.SerializedCpg
import io.shiftleft.codepropertygraph.Cpg
import io.shiftleft.passes.CpgPassRunner
import io.shiftleft.passes.propagateedges.PropagateEdgePass
import io.shiftleft.passes.reachingdef.ReachingDefPass
import io.shiftleft.semanticsloader.Semantics

class DataFlowRunner(semantics: Semantics) {

  def run(cpg: Cpg, serializedCpg: SerializedCpg): Unit = {
    val graph = cpg.graph
    val runner = new CpgPassRunner(serializedCpg)
    val enhancementExecList = List(new PropagateEdgePass(graph, semantics), new ReachingDefPass(graph))

    enhancementExecList.foreach(runner.createStoreAndApplyOverlay(_))
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy