Skip to content

Commit 9ca199c

Browse files
committed
Java: Move generic code out of language specific file for model generation.
1 parent a2d9f4f commit 9ca199c

File tree

2 files changed

+29
-29
lines changed

2 files changed

+29
-29
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,29 @@
11
import ModelGeneratorUtilsSpecific
2+
3+
bindingset[input, output, kind]
4+
string asSummaryModel(TargetApi api, string input, string output, string kind) {
5+
result =
6+
asPartialModel(api) + input + ";" //
7+
+ output + ";" //
8+
+ kind
9+
}
10+
11+
bindingset[input, output]
12+
string asValueModel(TargetApi api, string input, string output) {
13+
result = asSummaryModel(api, input, output, "value")
14+
}
15+
16+
bindingset[input, output]
17+
string asTaintModel(TargetApi api, string input, string output) {
18+
result = asSummaryModel(api, input, output, "taint")
19+
}
20+
21+
bindingset[input, kind]
22+
string asSinkModel(TargetApi api, string input, string kind) {
23+
result = asPartialModel(api) + input + ";" + kind
24+
}
25+
26+
bindingset[output, kind]
27+
string asSourceModel(TargetApi api, string output, string kind) {
28+
result = asPartialModel(api) + output + ";" + kind
29+
}

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

Lines changed: 1 addition & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ private string typeAsSummaryModel(TargetApi api) { result = typeAsModel(bestType
7777
/**
7878
* Computes the first 6 columns for CSV rows.
7979
*/
80-
private string asPartialModel(TargetApi api) {
80+
string asPartialModel(TargetApi api) {
8181
result =
8282
typeAsSummaryModel(api) + ";" //
8383
+ isExtensible(bestTypeForModel(api)) + ";" //
@@ -86,34 +86,6 @@ private string asPartialModel(TargetApi api) {
8686
+ /* ext + */ ";" //
8787
}
8888

89-
bindingset[input, output]
90-
string asValueModel(TargetApi api, string input, string output) {
91-
result = asSummaryModel(api, input, output, "value")
92-
}
93-
94-
bindingset[input, output, kind]
95-
string asSummaryModel(TargetApi api, string input, string output, string kind) {
96-
result =
97-
asPartialModel(api) + input + ";" //
98-
+ output + ";" //
99-
+ kind
100-
}
101-
102-
bindingset[input, output]
103-
string asTaintModel(TargetApi api, string input, string output) {
104-
result = asSummaryModel(api, input, output, "taint")
105-
}
106-
107-
bindingset[input, kind]
108-
string asSinkModel(TargetApi api, string input, string kind) {
109-
result = asPartialModel(api) + input + ";" + kind
110-
}
111-
112-
bindingset[output, kind]
113-
string asSourceModel(TargetApi api, string output, string kind) {
114-
result = asPartialModel(api) + output + ";" + kind
115-
}
116-
11789
private predicate isPrimitiveTypeUsedForBulkData(Type t) {
11890
t.getName().regexpMatch("byte|char|Byte|Character")
11991
}

0 commit comments

Comments
 (0)