Skip to content

Commit bc6f0c1

Browse files
authored
Merge pull request github#11243 from michaelnebel/java/dataextensions
Java: Use data extensions for MaD models.
2 parents 3304e9f + d7e656a commit bc6f0c1

File tree

350 files changed

+11573
-9690
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

350 files changed

+11573
-9690
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
extensions:
2+
- addsTo:
3+
pack: integrationtest-default-parameter-mad-flow
4+
extensible: extSummaryModel
5+
data:
6+
- ["", "ConstructorWithDefaults", True, "ConstructorWithDefaults", "(int,int)", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
7+
- ["", "LibKt", True, "topLevelWithDefaults", "(int,int)", "", "Argument[0]", "ReturnValue", "value", "manual"]
8+
- ["", "LibKt", True, "extensionWithDefaults", "(String,int,int)", "", "Argument[1]", "ReturnValue", "value", "manual"]
9+
- ["", "LibClass", True, "memberWithDefaults", "(int,int)", "", "Argument[0]", "ReturnValue", "value", "manual"]
10+
- ["", "LibClass", True, "extensionMemberWithDefaults", "(String,int,int)", "", "Argument[1]", "ReturnValue", "value", "manual"]
11+
- ["", "LibClass", True, "multiParameterTest", "(int,int,int,int)", "", "Argument[0..1]", "ReturnValue", "value", "manual"]
12+
- ["", "LibClass", True, "multiParameterExtensionTest", "(int,int,int,int)", "", "Argument[0, 1]", "ReturnValue", "value", "manual"]
13+
- addsTo:
14+
pack: integrationtest-default-parameter-mad-flow
15+
extensible: extSourceModel
16+
data:
17+
- ["", "LibKt", True, "topLevelArgSource", "(SomeToken,int)", "", "Argument[0]", "kotlinMadFlowTest", "manual"]
18+
- ["", "LibKt", True, "extensionArgSource", "(String,SomeToken,int)", "", "Argument[1]", "kotlinMadFlowTest", "manual"]
19+
- ["", "SourceClass", True, "memberArgSource", "(SomeToken,int)", "", "Argument[0]", "kotlinMadFlowTest", "manual"]
20+
- addsTo:
21+
pack: integrationtest-default-parameter-mad-flow
22+
extensible: extSinkModel
23+
data:
24+
- ["", "SinkClass", True, "SinkClass", "(int,int)", "", "Argument[0]", "kotlinMadFlowTest", "manual"]
25+
- ["", "LibKt", True, "topLevelSink", "(int,int)", "", "Argument[0]", "kotlinMadFlowTest", "manual"]
26+
- ["", "LibKt", True, "extensionSink", "(String,int,int)", "", "Argument[1]", "kotlinMadFlowTest", "manual"]
27+
- ["", "SinkClass", True, "memberSink", "(int,int)", "", "Argument[0]", "kotlinMadFlowTest", "manual"]
28+
- ["", "SinkClass", True, "extensionMemberSink", "(String,int,int)", "", "Argument[1]", "kotlinMadFlowTest", "manual"]
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
name: integrationtest-default-parameter-mad-flow
2+
dependencies:
3+
codeql/java-all: '*'
4+
codeql/java-tests: '*'
5+
codeql/java-queries: '*'
6+
dataExtensions:
7+
ext/*.model.yml

java/ql/integration-tests/all-platforms/kotlin/default-parameter-mad-flow/test.ql

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -3,45 +3,6 @@ import semmle.code.java.dataflow.TaintTracking
33
import TestUtilities.InlineExpectationsTest
44
private import semmle.code.java.dataflow.ExternalFlow
55

6-
private class Models extends SummaryModelCsv {
7-
override predicate row(string row) {
8-
row =
9-
[
10-
";ConstructorWithDefaults;true;ConstructorWithDefaults;(int,int);;Argument[0];Argument[-1];taint;manual",
11-
";LibKt;true;topLevelWithDefaults;(int,int);;Argument[0];ReturnValue;value;manual",
12-
";LibKt;true;extensionWithDefaults;(String,int,int);;Argument[1];ReturnValue;value;manual",
13-
";LibClass;true;memberWithDefaults;(int,int);;Argument[0];ReturnValue;value;manual",
14-
";LibClass;true;extensionMemberWithDefaults;(String,int,int);;Argument[1];ReturnValue;value;manual",
15-
";LibClass;true;multiParameterTest;(int,int,int,int);;Argument[0..1];ReturnValue;value;manual",
16-
";LibClass;true;multiParameterExtensionTest;(int,int,int,int);;Argument[0, 1];ReturnValue;value;manual",
17-
]
18-
}
19-
}
20-
21-
private class SourceModels extends SourceModelCsv {
22-
override predicate row(string row) {
23-
row =
24-
[
25-
";LibKt;true;topLevelArgSource;(SomeToken,int);;Argument[0];kotlinMadFlowTest;manual",
26-
";LibKt;true;extensionArgSource;(String,SomeToken,int);;Argument[1];kotlinMadFlowTest;manual",
27-
";SourceClass;true;memberArgSource;(SomeToken,int);;Argument[0];kotlinMadFlowTest;manual"
28-
]
29-
}
30-
}
31-
32-
private class SinkModels extends SinkModelCsv {
33-
override predicate row(string row) {
34-
row =
35-
[
36-
";SinkClass;true;SinkClass;(int,int);;Argument[0];kotlinMadFlowTest;manual",
37-
";LibKt;true;topLevelSink;(int,int);;Argument[0];kotlinMadFlowTest;manual",
38-
";LibKt;true;extensionSink;(String,int,int);;Argument[1];kotlinMadFlowTest;manual",
39-
";SinkClass;true;memberSink;(int,int);;Argument[0];kotlinMadFlowTest;manual",
40-
";SinkClass;true;extensionMemberSink;(String,int,int);;Argument[1];kotlinMadFlowTest;manual"
41-
]
42-
}
43-
}
44-
456
class Config extends TaintTracking::Configuration {
467
Config() { this = "Config" }
478

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
name: integrationtest-gradle-kotlinx-serialization
2+
dependencies:
3+
codeql/java-all: '*'
4+
codeql/java-tests: '*'
5+
codeql/java-queries: '*'
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
name: integrationtest-kotlin-interface-inherited-default
2+
dependencies:
3+
codeql/java-all: '*'
4+
codeql/java-tests: '*'
5+
codeql/java-queries: '*'
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
name: integrationtest-kotlin-java-static-fields
2+
dependencies:
3+
codeql/java-all: '*'
4+
codeql/java-tests: '*'
5+
codeql/java-queries: '*'
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
libraryPathDependencies:
2-
- codeql-java
3-
- codeql/java-tests
4-
- codeql/java-queries
1+
dependencies:
2+
codeql/java-all: '*'
3+
codeql/java-tests: '*'
4+
codeql/java-queries: '*'
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
name: integrationtest-custom-plugin
2+
dependencies:
3+
codeql/java-all: '*'
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
category: minorAnalysis
3+
---
4+
* Models as Data models for Java are defined as data extensions instead of being inlined in the code. New models should be added in the `lib/ext` folder.

0 commit comments

Comments
 (0)