Skip to content

Commit 7c7d639

Browse files
committed
DataFlow: Single-inheritance activation
1 parent df28e3b commit 7c7d639

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

shared/dataflow/codeql/dataflow/DataFlow.qll

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -689,6 +689,8 @@ module DataFlowMake<LocationSig Location, InputSig<Location> Lang> {
689689
predicate flowToExpr(DataFlowExpr sink);
690690
}
691691

692+
class DiffInformedQuery = DiffInformedQueryImpl;
693+
692694
/**
693695
* Constructs a global data flow computation.
694696
*/

shared/dataflow/codeql/dataflow/internal/DataFlowImpl.qll

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,19 @@ module MakeImpl<LocationSig Location, InputSig<Location> Lang> {
169169
}
170170
}
171171

172+
/**
173+
* This private type is used instead of `Unit` to ensure that users of this
174+
* library don't take an accidental dependency on convertability to `Unit`,
175+
* allowing us to change the implementation in the future.
176+
*/
177+
private newtype TDiffInformedBase = MkDiffInformedBase()
178+
179+
abstract class DiffInformedQueryImpl extends TDiffInformedBase {
180+
DiffInformedQueryImpl() { any() }
181+
182+
string toString() { result = "DataFlow::DiffInformedQuery" }
183+
}
184+
172185
/**
173186
* Constructs a data flow computation given a full input configuration, and
174187
* an initial stage 1 pruning.

0 commit comments

Comments
 (0)