Skip to content

Commit 6cec8ec

Browse files
committed
Swift: Split off FlowConfig.qll.
1 parent 49be5fd commit 6cec8ec

File tree

2 files changed

+37
-33
lines changed

2 files changed

+37
-33
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import swift
2+
import codeql.swift.dataflow.FlowSources
3+
import codeql.swift.dataflow.ExternalFlow
4+
5+
/**
6+
* A models-as-data class expressing custom flow sources for this test. These
7+
* cases ensure that MaD source definitions are able to successfully match a
8+
* range of class fields and member functions.
9+
*/
10+
class CustomTestSourcesCsv extends SourceModelCsv {
11+
override predicate row(string row) {
12+
row =
13+
[
14+
";MySimpleClass;true;source1;;;;remote", ";MySimpleClass;true;source2;;;;remote",
15+
";MySimpleClass;true;source3();;;ReturnValue;remote",
16+
// ---
17+
";MyGeneric;true;source1;;;;remote", ";MyGeneric;true;source2;;;;remote",
18+
";MyGeneric;true;source3();;;ReturnValue;remote", ";MyDerived;true;source4;;;;remote",
19+
";MyDerived;true;source5;;;;remote", ";MyDerived;true;source6();;;ReturnValue;remote",
20+
";MyDerived;true;source7;;;;remote", ";MyDerived;true;source8();;;ReturnValue;remote",
21+
";MyDerived2;true;source9;;;;remote", ";MyDerived2;true;source10;;;;remote",
22+
";MyDerived2;true;source11();;;ReturnValue;remote", ";MyDerived2;true;source12;;;;remote",
23+
";MyDerived2;true;source13();;;ReturnValue;remote",
24+
// ---
25+
";MyParentProtocol;true;source0;;;;remote", ";MyProtocol;true;source1;;;;remote",
26+
";MyProtocol;true;source2;;;;remote",
27+
// ---
28+
";MyParentProtocol2;true;source0;;;;remote", ";MyProtocol2;true;source1;;;;remote",
29+
";MyProtocol2;true;source2;;;;remote",
30+
// ---
31+
";MyProtocol3;true;source1();;;ReturnValue;remote",
32+
";MyProtocol3;true;source2();;;ReturnValue;remote",
33+
";MyProtocol3;true;source3();;;ReturnValue;remote"
34+
]
35+
}
36+
}
Lines changed: 1 addition & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,7 @@
11
import swift
22
import codeql.swift.dataflow.FlowSources
33
import codeql.swift.dataflow.ExternalFlow
4-
5-
/**
6-
* A models-as-data class expressing custom flow sources for this test. These
7-
* cases ensure that MaD source definitions are able to successfully match a
8-
* range of class fields and member functions.
9-
*/
10-
class CustomTestSourcesCsv extends SourceModelCsv {
11-
override predicate row(string row) {
12-
row =
13-
[
14-
";MySimpleClass;true;source1;;;;remote", ";MySimpleClass;true;source2;;;;remote",
15-
";MySimpleClass;true;source3();;;ReturnValue;remote",
16-
// ---
17-
";MyGeneric;true;source1;;;;remote", ";MyGeneric;true;source2;;;;remote",
18-
";MyGeneric;true;source3();;;ReturnValue;remote", ";MyDerived;true;source4;;;;remote",
19-
";MyDerived;true;source5;;;;remote", ";MyDerived;true;source6();;;ReturnValue;remote",
20-
";MyDerived;true;source7;;;;remote", ";MyDerived;true;source8();;;ReturnValue;remote",
21-
";MyDerived2;true;source9;;;;remote", ";MyDerived2;true;source10;;;;remote",
22-
";MyDerived2;true;source11();;;ReturnValue;remote", ";MyDerived2;true;source12;;;;remote",
23-
";MyDerived2;true;source13();;;ReturnValue;remote",
24-
// ---
25-
";MyParentProtocol;true;source0;;;;remote", ";MyProtocol;true;source1;;;;remote",
26-
";MyProtocol;true;source2;;;;remote",
27-
// ---
28-
";MyParentProtocol2;true;source0;;;;remote", ";MyProtocol2;true;source1;;;;remote",
29-
";MyProtocol2;true;source2;;;;remote",
30-
// ---
31-
";MyProtocol3;true;source1();;;ReturnValue;remote",
32-
";MyProtocol3;true;source2();;;ReturnValue;remote",
33-
";MyProtocol3;true;source3();;;ReturnValue;remote"
34-
]
35-
}
36-
}
4+
import FlowConfig
375

386
from RemoteFlowSource source
397
select source, concat(source.getSourceType(), ", ")

0 commit comments

Comments
 (0)