mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
Dataflow: Move Stage1 to its own file. Stick flow exploration in there as well.
This commit is contained in:
@@ -643,6 +643,7 @@ private module PathGraphSigMod {
|
||||
module DataFlowMake<LocationSig Location, InputSig<Location> Lang> {
|
||||
private import Lang
|
||||
private import internal.DataFlowImpl::MakeImpl<Location, Lang>
|
||||
private import internal.DataFlowImplStage1::MakeImplStage1<Location, Lang>
|
||||
import Configs<Location, Lang>
|
||||
|
||||
/**
|
||||
@@ -700,7 +701,13 @@ module DataFlowMake<LocationSig Location, InputSig<Location> Lang> {
|
||||
}
|
||||
}
|
||||
|
||||
import Impl<C>
|
||||
private module Stage1 = ImplStage1<C>;
|
||||
|
||||
import Stage1::PartialFlow
|
||||
|
||||
private module Flow = Impl<C, Stage1::Stage1NoState>;
|
||||
|
||||
import Flow
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -723,7 +730,13 @@ module DataFlowMake<LocationSig Location, InputSig<Location> Lang> {
|
||||
}
|
||||
}
|
||||
|
||||
import Impl<C>
|
||||
private module Stage1 = ImplStage1<C>;
|
||||
|
||||
import Stage1::PartialFlow
|
||||
|
||||
private module Flow = Impl<C, Stage1::Stage1NoState>;
|
||||
|
||||
import Flow
|
||||
}
|
||||
|
||||
signature class PathNodeSig {
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
private import DataFlow as DF
|
||||
private import internal.DataFlowImpl
|
||||
private import internal.DataFlowImplStage1
|
||||
private import codeql.util.Location
|
||||
|
||||
/**
|
||||
@@ -47,6 +48,7 @@ module TaintFlowMake<
|
||||
private import TaintTrackingLang
|
||||
private import DF::DataFlowMake<Location, DataFlowLang> as DataFlow
|
||||
private import MakeImpl<Location, DataFlowLang> as DataFlowInternal
|
||||
private import MakeImplStage1<Location, DataFlowLang> as DataFlowInternalStage1
|
||||
|
||||
private module AddTaintDefaults<DataFlowInternal::FullStateConfigSig Config> implements
|
||||
DataFlowInternal::FullStateConfigSig
|
||||
@@ -94,7 +96,13 @@ module TaintFlowMake<
|
||||
import AddTaintDefaults<Config0>
|
||||
}
|
||||
|
||||
import DataFlowInternal::Impl<C>
|
||||
private module Stage1 = DataFlowInternalStage1::ImplStage1<C>;
|
||||
|
||||
import Stage1::PartialFlow
|
||||
|
||||
private module Flow = DataFlowInternal::Impl<C, Stage1::Stage1NoState>;
|
||||
|
||||
import Flow
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -122,7 +130,13 @@ module TaintFlowMake<
|
||||
import AddTaintDefaults<Config0>
|
||||
}
|
||||
|
||||
import DataFlowInternal::Impl<C>
|
||||
private module Stage1 = DataFlowInternalStage1::ImplStage1<C>;
|
||||
|
||||
import Stage1::PartialFlow
|
||||
|
||||
private module Flow = DataFlowInternal::Impl<C, Stage1::Stage1NoState>;
|
||||
|
||||
import Flow
|
||||
}
|
||||
|
||||
signature int speculationLimitSig();
|
||||
@@ -218,7 +232,13 @@ module TaintFlowMake<
|
||||
import AddTaintDefaults<AddSpeculativeTaintSteps<Config0, speculationLimit/0>>
|
||||
}
|
||||
|
||||
import DataFlowInternal::Impl<C>
|
||||
private module Stage1 = DataFlowInternalStage1::ImplStage1<C>;
|
||||
|
||||
import Stage1::PartialFlow
|
||||
|
||||
private module Flow = DataFlowInternal::Impl<C, Stage1::Stage1NoState>;
|
||||
|
||||
import Flow
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -250,6 +270,12 @@ module TaintFlowMake<
|
||||
import AddTaintDefaults<AddSpeculativeTaintSteps<Config0, speculationLimit/0>>
|
||||
}
|
||||
|
||||
import DataFlowInternal::Impl<C>
|
||||
private module Stage1 = DataFlowInternalStage1::ImplStage1<C>;
|
||||
|
||||
import Stage1::PartialFlow
|
||||
|
||||
private module Flow = DataFlowInternal::Impl<C, Stage1::Stage1NoState>;
|
||||
|
||||
import Flow
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
2280
shared/dataflow/codeql/dataflow/internal/DataFlowImplStage1.qll
Normal file
2280
shared/dataflow/codeql/dataflow/internal/DataFlowImplStage1.qll
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user