Module DataFlowImpl
Provides an implementation of global (interprocedural) data flow. This file
re-exports the local (intraprocedural) data flow analysis from
DataFlowImplSpecific::Public and adds a global analysis, mainly exposed
through the Configuration class. This file exists in several identical
copies, allowing queries to use multiple Configuration classes that depend
on each other without introducing mutual recursion among those configurations.
Import path
import codeql.ruby.dataflow.internal.DataFlowImplPredicates
| flowsTo | Holds if data can flow (inter-procedurally) from |
| stageStats | INTERNAL: Only for debugging. |
Classes
| Ap | Conceptually a list of |
| ApNil | |
| ApOption | |
| Configuration | A configuration of interprocedural data flow analysis. This defines sources, sinks, and any other configurable aspect of the analysis. Each use of the global data flow library must define its own unique extension of this abstract class. To create a configuration, extend this class with a subclass whose characteristic predicate is a unique singleton string. For example, write |
| PathNode | A |
Modules
| PathGraph | Provides the query predicates needed to include a graph in a path-problem query. |