Skip to content

Commit 724baaf

Browse files
authored
Merge pull request #4308 from RasmusWL/python-private-import-of-DataFlowPrivate
Python: Make import of DataFlowPrivate private
2 parents 557db33 + 2f9f51d commit 724baaf

File tree

6 files changed

+17
-12
lines changed

6 files changed

+17
-12
lines changed

python/ql/src/experimental/dataflow/internal/DataFlowUtil.qll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* Contains utility functions for writing data flow queries
33
*/
44

5-
import DataFlowPrivate
5+
private import DataFlowPrivate
66
import DataFlowPublic
77

88
/**

python/ql/test/experimental/dataflow/basic/maximalFlowsConfig.qll

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import experimental.dataflow.DataFlow
2+
private import experimental.dataflow.internal.DataFlowPrivate as DataFlowPrivate
23

34
/**
45
* A configuration to find all "maximal" flows.
@@ -15,7 +16,7 @@ class MaximalFlowsConfig extends DataFlow::Configuration {
1516
}
1617

1718
override predicate isSink(DataFlow::Node node) {
18-
node instanceof DataFlow::ReturnNode
19+
node instanceof DataFlowPrivate::ReturnNode
1920
or
2021
node instanceof DataFlow::EssaNode and
2122
not exists(node.(DataFlow::EssaNode).getVar().getASourceUse())

python/ql/test/experimental/dataflow/callGraphConfig.qll

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
private import python
22
import experimental.dataflow.DataFlow
3+
private import experimental.dataflow.internal.DataFlowPrivate as DataFlowPrivate
34

45
/**
56
* A configuration to find the call graph edges.
@@ -8,13 +9,13 @@ class CallGraphConfig extends DataFlow::Configuration {
89
CallGraphConfig() { this = "CallGraphConfig" }
910

1011
override predicate isSource(DataFlow::Node node) {
11-
node instanceof DataFlow::ReturnNode
12+
node instanceof DataFlowPrivate::ReturnNode
1213
or
13-
node instanceof DataFlow::ArgumentNode
14+
node instanceof DataFlowPrivate::ArgumentNode
1415
}
1516

1617
override predicate isSink(DataFlow::Node node) {
17-
node instanceof DataFlow::OutNode
18+
node instanceof DataFlowPrivate::OutNode
1819
or
1920
node instanceof DataFlow::ParameterNode
2021
}

python/ql/test/experimental/dataflow/coverage/argumentRouting1.ql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import python
22
import experimental.dataflow.DataFlow
3+
private import experimental.dataflow.internal.DataFlowPrivate as DataFlowPrivate
34

45
/**
56
* A configuration to check routing of arguments through magic methods.
@@ -8,7 +9,7 @@ class ArgumentRoutingConfig extends DataFlow::Configuration {
89
ArgumentRoutingConfig() { this = "ArgumentRoutingConfig" }
910

1011
override predicate isSource(DataFlow::Node node) {
11-
exists(AssignmentDefinition def, DataFlow::DataFlowCall call |
12+
exists(AssignmentDefinition def, DataFlowPrivate::DataFlowCall call |
1213
def.getVariable() = node.(DataFlow::EssaNode).getVar() and
1314
def.getValue() = call.getNode() and
1415
call.getCallable().getName().matches("With\\_%")

python/ql/test/experimental/dataflow/coverage/classesCallGraph.ql

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import experimental.dataflow.DataFlow
2+
private import experimental.dataflow.internal.DataFlowPrivate as DataFlowPrivate
23

34
/**
45
* A configuration to find the call graph edges.
@@ -7,18 +8,18 @@ class CallGraphConfig extends DataFlow::Configuration {
78
CallGraphConfig() { this = "CallGraphConfig" }
89

910
override predicate isSource(DataFlow::Node node) {
10-
node instanceof DataFlow::ReturnNode
11+
node instanceof DataFlowPrivate::ReturnNode
1112
or
1213
// These sources should allow for the non-standard call syntax
13-
node instanceof DataFlow::ArgumentNode
14+
node instanceof DataFlowPrivate::ArgumentNode
1415
}
1516

1617
override predicate isSink(DataFlow::Node node) {
17-
node instanceof DataFlow::OutNode
18+
node instanceof DataFlowPrivate::OutNode
1819
or
1920
node instanceof DataFlow::ParameterNode and
2021
// exclude parameters to the SINK-functions
21-
not exists(DataFlow::DataFlowCallable c |
22+
not exists(DataFlowPrivate::DataFlowCallable c |
2223
node.(DataFlow::ParameterNode).isParameterOf(c, _) and
2324
c.getName().matches("SINK_")
2425
)

python/ql/test/experimental/dataflow/strange-essaflow/testFlow.ql

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import python
22
import experimental.dataflow.DataFlow
3+
private import experimental.dataflow.internal.DataFlowPrivate as DataFlowPrivate
34

45
/** Gets the EssaNode that holds the module imported by the fully qualified module name `name` */
56
DataFlow::EssaNode module_import(string name) {
@@ -27,10 +28,10 @@ query predicate flowstep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) {
2728

2829
query predicate jumpStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) {
2930
os_import(nodeFrom) and
30-
DataFlow::jumpStep(nodeFrom, nodeTo)
31+
DataFlowPrivate::jumpStep(nodeFrom, nodeTo)
3132
}
3233

3334
query predicate essaFlowStep(DataFlow::Node nodeFrom, DataFlow::Node nodeTo) {
3435
os_import(nodeFrom) and
35-
DataFlow::EssaFlow::essaFlowStep(nodeFrom, nodeTo)
36+
DataFlowPrivate::EssaFlow::essaFlowStep(nodeFrom, nodeTo)
3637
}

0 commit comments

Comments
 (0)