Skip to content

Commit 9b7691a

Browse files
committed
C#/Java: Address comments on re-exposing functionality.
1 parent 1710b66 commit 9b7691a

File tree

4 files changed

+12
-56
lines changed

4 files changed

+12
-56
lines changed

csharp/ql/src/utils/model-generator/internal/CaptureModelsSpecific.qll

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,17 @@
33
*/
44

55
import csharp
6-
private import semmle.code.csharp.dataflow.ExternalFlow as Ef
76
private import semmle.code.csharp.dataflow.TaintTracking
8-
private import semmle.code.csharp.dataflow.internal.DataFlowImplCommon as Dfic
97
private import semmle.code.csharp.dataflow.internal.DataFlowPrivate
108
private import ModelGeneratorUtils
9+
import semmle.code.csharp.dataflow.ExternalFlow as ExternalFlow
10+
import semmle.code.csharp.dataflow.internal.DataFlowImplCommon as DataFlowImplCommon
1111

1212
/**
1313
* Gets the enclosing callable of `ret`.
1414
*/
15-
Callable returnNodeEnclosingCallable(Dfic::ReturnNodeExt ret) {
16-
result = Dfic::getNodeEnclosingCallable(ret)
15+
Callable returnNodeEnclosingCallable(DataFlowImplCommon::ReturnNodeExt ret) {
16+
result = DataFlowImplCommon::getNodeEnclosingCallable(ret)
1717
}
1818

1919
/**
@@ -68,17 +68,3 @@ string asInputArgument(DataFlow::Node source) {
6868
source.asExpr() instanceof FieldOrPropertyAccess and
6969
result = qualifierString()
7070
}
71-
72-
module DataFlowImplCommon {
73-
predicate store = Dfic::store/4;
74-
75-
class ReturnNodeExt = Dfic::ReturnNodeExt;
76-
77-
class TypedContent = Dfic::TypedContent;
78-
}
79-
80-
module ExternalFlow {
81-
predicate sourceNode = Ef::sourceNode/2;
82-
83-
predicate sinkNode = Ef::sinkNode/2;
84-
}

csharp/ql/src/utils/model-generator/internal/ModelGeneratorUtilsSpecific.qll

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import csharp
2-
private import semmle.code.csharp.dataflow.internal.DataFlowPrivate as Dfp
32
private import semmle.code.csharp.commons.Util as Util
43
private import semmle.code.csharp.commons.Collections
54
private import semmle.code.csharp.dataflow.internal.DataFlowImplCommon
65
private import semmle.code.csharp.dataflow.internal.DataFlowDispatch
6+
import semmle.code.csharp.dataflow.internal.DataFlowPrivate as DataFlowPrivate
77

88
/**
99
* Holds if it is relevant to generate models for `api`.
@@ -26,7 +26,7 @@ class TargetApi extends DataFlowCallable {
2626
}
2727
}
2828

29-
predicate asPartialModel = Dfp::Csv::asPartialModel/1;
29+
predicate asPartialModel = DataFlowPrivate::Csv::asPartialModel/1;
3030

3131
/**
3232
* Holds for type `t` for fields that are relevant as an intermediate
@@ -46,7 +46,7 @@ private string parameterAccess(Parameter p) {
4646
string parameterNodeAsInput(DataFlow::ParameterNode p) {
4747
result = parameterAccess(p.asParameter())
4848
or
49-
result = "Argument[Qualifier]" and p instanceof Dfp::InstanceParameterNode
49+
result = "Argument[Qualifier]" and p instanceof DataFlowPrivate::InstanceParameterNode
5050
}
5151

5252
pragma[nomagic]
@@ -68,11 +68,3 @@ string returnNodeAsOutput(ReturnNodeExt node) {
6868
result = "Argument[Qualifier]"
6969
)
7070
}
71-
72-
module DataFlowPrivate {
73-
predicate containerContent = Dfp::containerContent/1;
74-
75-
predicate readStep = Dfp::readStep/3;
76-
77-
predicate storeStep = Dfp::storeStep/3;
78-
}

java/ql/src/utils/model-generator/internal/CaptureModelsSpecific.qll

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,18 @@
44

55
import java
66
import semmle.code.java.dataflow.TaintTracking
7-
private import semmle.code.java.dataflow.ExternalFlow as Ef
8-
private import semmle.code.java.dataflow.internal.DataFlowImplCommon as Dfic
97
private import semmle.code.java.dataflow.internal.DataFlowNodes
108
private import semmle.code.java.dataflow.internal.DataFlowPrivate
119
private import semmle.code.java.dataflow.InstanceAccess
1210
private import ModelGeneratorUtils
11+
import semmle.code.java.dataflow.ExternalFlow as ExternalFlow
12+
import semmle.code.java.dataflow.internal.DataFlowImplCommon as DataFlowImplCommon
1313

1414
/**
1515
* Gets the enclosing callable of `ret`.
1616
*/
17-
Callable returnNodeEnclosingCallable(Dfic::ReturnNodeExt ret) {
18-
result = Dfic::getNodeEnclosingCallable(ret).asCallable()
17+
Callable returnNodeEnclosingCallable(DataFlowImplCommon::ReturnNodeExt ret) {
18+
result = DataFlowImplCommon::getNodeEnclosingCallable(ret).asCallable()
1919
}
2020

2121
/**
@@ -66,17 +66,3 @@ string asInputArgument(DataFlow::Node source) {
6666
*/
6767
bindingset[kind]
6868
predicate isRelevantSinkKind(string kind) { not kind = "logging" }
69-
70-
module DataFlowImplCommon {
71-
predicate store = Dfic::store/4;
72-
73-
class ReturnNodeExt = Dfic::ReturnNodeExt;
74-
75-
class TypedContent = Dfic::TypedContent;
76-
}
77-
78-
module ExternalFlow {
79-
predicate sourceNode = Ef::sourceNode/2;
80-
81-
predicate sinkNode = Ef::sinkNode/2;
82-
}

java/ql/src/utils/model-generator/internal/ModelGeneratorUtilsSpecific.qll

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import java
22
import semmle.code.java.dataflow.DataFlow
3-
private import semmle.code.java.dataflow.internal.DataFlowPrivate as Dfp
43
private import semmle.code.java.dataflow.ExternalFlow
54
private import semmle.code.java.dataflow.internal.ContainerFlow
65
private import semmle.code.java.dataflow.internal.DataFlowImplCommon
6+
import semmle.code.java.dataflow.internal.DataFlowPrivate as DataFlowPrivate
77

88
private Method superImpl(Method m) {
99
result = m.getAnOverride() and
@@ -157,11 +157,3 @@ string returnNodeAsOutput(ReturnNodeExt node) {
157157
result = "Argument[-1]" and pos = -1
158158
)
159159
}
160-
161-
module DataFlowPrivate {
162-
predicate containerContent = Dfp::containerContent/1;
163-
164-
predicate readStep = Dfp::readStep/3;
165-
166-
predicate storeStep = Dfp::storeStep/3;
167-
}

0 commit comments

Comments
 (0)