Skip to content

Commit cb85b26

Browse files
committed
Data flow: Dummy SourceBase implementations
1 parent 4c6de10 commit cb85b26

File tree

8 files changed

+34
-6
lines changed

8 files changed

+34
-6
lines changed

cpp/ql/lib/semmle/code/cpp/dataflow/internal/FlowSummaryImpl.qll

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,12 @@ private import semmle.code.cpp.dataflow.ExternalFlow
1212
private import semmle.code.cpp.ir.IR
1313

1414
module Input implements InputSig<Location, DataFlowImplSpecific::CppDataFlow> {
15+
private import codeql.util.Void
16+
1517
class SummarizedCallableBase = Function;
1618

19+
class SourceBase = Void;
20+
1721
ArgumentPosition callbackSelfParameterPosition() { result = TDirectPosition(-1) }
1822

1923
ReturnKind getStandardReturnValueKind() { result.(NormalReturnKind).getIndirectionIndex() = 0 }

csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImpl.qll

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,12 @@ private import semmle.code.csharp.Unification
1414
private import semmle.code.csharp.dataflow.internal.ExternalFlow
1515

1616
module Input implements InputSig<Location, DataFlowImplSpecific::CsharpDataFlow> {
17+
private import codeql.util.Void
18+
1719
class SummarizedCallableBase = UnboundCallable;
1820

21+
class SourceBase = Void;
22+
1923
predicate neutralElement(SummarizedCallableBase c, string kind, string provenance, boolean isExact) {
2024
interpretNeutral(c, kind, provenance) and
2125
// isExact is not needed for C#.

go/ql/lib/semmle/go/dataflow/ExternalFlow.qll

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ import internal.ExternalFlowExtensions as FlowExtensions
9090
private import FlowSummary as FlowSummary
9191
private import internal.DataFlowPrivate
9292
private import internal.FlowSummaryImpl
93-
private import internal.FlowSummaryImpl::Public
93+
private import internal.FlowSummaryImpl::Public as Public
9494
private import internal.FlowSummaryImpl::Private
9595
private import internal.FlowSummaryImpl::Private::External
9696
private import codeql.mad.ModelValidation as SharedModelVal
@@ -583,13 +583,13 @@ predicate sourceNode(DataFlow::Node node, string kind) { sourceNode(node, kind,
583583
predicate sinkNode(DataFlow::Node node, string kind) { sinkNode(node, kind, _) }
584584

585585
// adapter class for converting Mad summaries to `SummarizedCallable`s
586-
private class SummarizedCallableAdapter extends SummarizedCallable {
586+
private class SummarizedCallableAdapter extends Public::SummarizedCallable {
587587
SummarizedCallableAdapter() { summaryElement(this, _, _, _, _, _) }
588588

589589
private predicate relevantSummaryElementManual(
590590
string input, string output, string kind, string model
591591
) {
592-
exists(Provenance provenance |
592+
exists(Public::Provenance provenance |
593593
summaryElement(this, input, output, kind, provenance, model) and
594594
provenance.isManual()
595595
)
@@ -598,11 +598,11 @@ private class SummarizedCallableAdapter extends SummarizedCallable {
598598
private predicate relevantSummaryElementGenerated(
599599
string input, string output, string kind, string model
600600
) {
601-
exists(Provenance provenance |
601+
exists(Public::Provenance provenance |
602602
summaryElement(this, input, output, kind, provenance, model) and
603603
provenance.isGenerated()
604604
) and
605-
not exists(Provenance provenance |
605+
not exists(Public::Provenance provenance |
606606
neutralElement(this, "summary", provenance) and
607607
provenance.isManual()
608608
)
@@ -621,7 +621,7 @@ private class SummarizedCallableAdapter extends SummarizedCallable {
621621
)
622622
}
623623

624-
override predicate hasProvenance(Provenance provenance) {
624+
override predicate hasProvenance(Public::Provenance provenance) {
625625
summaryElement(this, _, _, _, provenance, _)
626626
}
627627
}

go/ql/lib/semmle/go/dataflow/internal/FlowSummaryImpl.qll

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,12 @@ private string positionToString(int pos) {
2121
}
2222

2323
module Input implements InputSig<Location, DataFlowImplSpecific::GoDataFlow> {
24+
private import codeql.util.Void
25+
2426
class SummarizedCallableBase = Callable;
2527

28+
class SourceBase = Void;
29+
2630
predicate neutralElement(
2731
Input::SummarizedCallableBase c, string kind, string provenance, boolean isExact
2832
) {

java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImpl.qll

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,12 @@ private string positionToString(int pos) {
2727
}
2828

2929
module Input implements InputSig<Location, DataFlowImplSpecific::JavaDataFlow> {
30+
private import codeql.util.Void
31+
3032
class SummarizedCallableBase = FlowSummary::SummarizedCallableBase;
3133

34+
class SourceBase = Void;
35+
3236
predicate neutralElement(
3337
Input::SummarizedCallableBase c, string kind, string provenance, boolean isExact
3438
) {

python/ql/lib/semmle/python/dataflow/new/internal/FlowSummaryImpl.qll

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,12 @@ private import DataFlowImplSpecific::Private
1010
private import DataFlowImplSpecific::Public
1111

1212
module Input implements InputSig<Location, DataFlowImplSpecific::PythonDataFlow> {
13+
private import codeql.util.Void
14+
1315
class SummarizedCallableBase = string;
1416

17+
class SourceBase = Void;
18+
1519
ArgumentPosition callbackSelfParameterPosition() { result.isLambdaSelf() }
1620

1721
ReturnKind getStandardReturnValueKind() { any() }

ruby/ql/lib/codeql/ruby/dataflow/internal/FlowSummaryImpl.qll

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,12 @@ private import DataFlowImplSpecific::Private
1010
private import DataFlowImplSpecific::Public
1111

1212
module Input implements InputSig<Location, DataFlowImplSpecific::RubyDataFlow> {
13+
private import codeql.util.Void
14+
1315
class SummarizedCallableBase = string;
1416

17+
class SourceBase = Void;
18+
1519
ArgumentPosition callbackSelfParameterPosition() { result.isLambdaSelf() }
1620

1721
ReturnKind getStandardReturnValueKind() { result instanceof NormalReturnKind }

swift/ql/lib/codeql/swift/dataflow/internal/FlowSummaryImpl.qll

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,12 @@ private import DataFlowImplCommon
1212
private import codeql.swift.dataflow.ExternalFlow
1313

1414
module Input implements InputSig<Location, DataFlowImplSpecific::SwiftDataFlow> {
15+
private import codeql.util.Void
16+
1517
class SummarizedCallableBase = Function;
1618

19+
class SourceBase = Void;
20+
1721
ArgumentPosition callbackSelfParameterPosition() { result instanceof ThisArgumentPosition }
1822

1923
ReturnKind getStandardReturnValueKind() { result instanceof NormalReturnKind }

0 commit comments

Comments
 (0)