Skip to content

Commit 3a04e9a

Browse files
committed
Java: Update java capture models with new kind column (including tests).
1 parent 412699f commit 3a04e9a

File tree

4 files changed

+58
-58
lines changed

4 files changed

+58
-58
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ private string asSummaryModel(TargetApi api, string input, string output, string
4444
result =
4545
asPartialModel(api) + input + ";" //
4646
+ output + ";" //
47-
+ kind
47+
+ "generated:" + kind
4848
}
4949

5050
/**
@@ -68,15 +68,15 @@ private string asTaintModel(TargetApi api, string input, string output) {
6868
*/
6969
bindingset[input, kind]
7070
private string asSinkModel(TargetApi api, string input, string kind) {
71-
result = asPartialModel(api) + input + ";" + kind
71+
result = asPartialModel(api) + input + ";" + "generated:" + kind
7272
}
7373

7474
/**
7575
* Gets the source model for `api` with `output` and `kind`.
7676
*/
7777
bindingset[output, kind]
7878
private string asSourceModel(TargetApi api, string output, string kind) {
79-
result = asPartialModel(api) + output + ";" + kind
79+
result = asPartialModel(api) + output + ";" + "generated:" + kind
8080
}
8181

8282
/**
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
| p;PrivateFlowViaPublicInterface$SPI;true;openStream;();;Argument[-1];create-file |
2-
| p;Sinks;true;copyFileToDirectory;(Path,Path,CopyOption[]);;Argument[1];create-file |
3-
| p;Sinks;true;readUrl;(URL,Charset);;Argument[0];open-url |
4-
| p;Sources;true;readUrl;(URL);;Argument[0];open-url |
1+
| p;PrivateFlowViaPublicInterface$SPI;true;openStream;();;Argument[-1];generated:create-file |
2+
| p;Sinks;true;copyFileToDirectory;(Path,Path,CopyOption[]);;Argument[1];generated:create-file |
3+
| p;Sinks;true;readUrl;(URL,Charset);;Argument[0];generated:open-url |
4+
| p;Sources;true;readUrl;(URL);;Argument[0];generated:open-url |
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
| p;Sources;true;readUrl;(URL);;ReturnValue;remote |
2-
| p;Sources;true;socketStream;();;ReturnValue;remote |
3-
| p;Sources;true;sourceToParameter;(InputStream[],List);;Argument[0].ArrayElement;remote |
4-
| p;Sources;true;sourceToParameter;(InputStream[],List);;Argument[1].Element;remote |
5-
| p;Sources;true;wrappedSocketStream;();;ReturnValue;remote |
1+
| p;Sources;true;readUrl;(URL);;ReturnValue;generated:remote |
2+
| p;Sources;true;socketStream;();;ReturnValue;generated:remote |
3+
| p;Sources;true;sourceToParameter;(InputStream[],List);;Argument[0].ArrayElement;generated:remote |
4+
| p;Sources;true;sourceToParameter;(InputStream[],List);;Argument[1].Element;generated:remote |
5+
| p;Sources;true;wrappedSocketStream;();;ReturnValue;generated:remote |
Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,46 @@
1-
| p;Factory;false;create;(String);;Argument[0];ReturnValue;taint |
2-
| p;Factory;false;create;(String,int);;Argument[0];ReturnValue;taint |
3-
| p;Factory;false;getValue;();;Argument[-1];ReturnValue;taint |
4-
| p;FinalClass;false;returnsInput;(String);;Argument[0];ReturnValue;taint |
5-
| p;FluentAPI;false;returnsThis;(String);;Argument[-1];ReturnValue;value |
6-
| p;ImmutablePojo;false;ImmutablePojo;(String,int);;Argument[0];Argument[-1];taint |
7-
| p;ImmutablePojo;false;getValue;();;Argument[-1];ReturnValue;taint |
8-
| p;ImmutablePojo;false;or;(String);;Argument[-1];ReturnValue;taint |
9-
| p;ImmutablePojo;false;or;(String);;Argument[0];ReturnValue;taint |
10-
| p;InnerClasses$CaptureMe;true;yesCm;(String);;Argument[0];ReturnValue;taint |
11-
| p;InnerClasses;true;yes;(String);;Argument[0];ReturnValue;taint |
12-
| p;InnerHolder;false;append;(String);;Argument[0];Argument[-1];taint |
13-
| p;InnerHolder;false;explicitSetContext;(String);;Argument[0];Argument[-1];taint |
14-
| p;InnerHolder;false;getValue;();;Argument[-1];ReturnValue;taint |
15-
| p;InnerHolder;false;setContext;(String);;Argument[0];Argument[-1];taint |
16-
| p;Joiner;false;Joiner;(CharSequence);;Argument[0];Argument[-1];taint |
17-
| p;Joiner;false;Joiner;(CharSequence,CharSequence,CharSequence);;Argument[0];Argument[-1];taint |
18-
| p;Joiner;false;Joiner;(CharSequence,CharSequence,CharSequence);;Argument[1];Argument[-1];taint |
19-
| p;Joiner;false;Joiner;(CharSequence,CharSequence,CharSequence);;Argument[2];Argument[-1];taint |
20-
| p;Joiner;false;add;(CharSequence);;Argument[-1];ReturnValue;value |
21-
| p;Joiner;false;merge;(Joiner);;Argument[-1];ReturnValue;value |
22-
| p;Joiner;false;setEmptyValue;(CharSequence);;Argument[-1];ReturnValue;value |
23-
| p;Joiner;false;setEmptyValue;(CharSequence);;Argument[0];Argument[-1];taint |
24-
| p;Joiner;false;toString;();;Argument[-1];ReturnValue;taint |
25-
| p;MultipleImpls$Strat2;true;getValue;();;Argument[-1];ReturnValue;taint |
26-
| p;MultipleImpls$Strategy;true;doSomething;(String);;Argument[0];Argument[-1];taint |
27-
| p;MultipleImpls$Strategy;true;doSomething;(String);;Argument[0];ReturnValue;taint |
28-
| p;ParamFlow;true;addTo;(String,List);;Argument[0];Argument[1].Element;taint |
29-
| p;ParamFlow;true;returnArrayElement;(String[]);;Argument[0].ArrayElement;ReturnValue;taint |
30-
| p;ParamFlow;true;returnCollectionElement;(List);;Argument[0].Element;ReturnValue;taint |
31-
| p;ParamFlow;true;returnIterableElement;(Iterable);;Argument[0].Element;ReturnValue;taint |
32-
| p;ParamFlow;true;returnIteratorElement;(Iterator);;Argument[0].Element;ReturnValue;taint |
33-
| p;ParamFlow;true;returnMultipleParameters;(String,String);;Argument[0];ReturnValue;taint |
34-
| p;ParamFlow;true;returnMultipleParameters;(String,String);;Argument[1];ReturnValue;taint |
35-
| p;ParamFlow;true;returnVarArgElement;(String[]);;Argument[0].ArrayElement;ReturnValue;taint |
36-
| p;ParamFlow;true;returnsInput;(String);;Argument[0];ReturnValue;taint |
37-
| p;ParamFlow;true;writeChunked;(byte[],OutputStream);;Argument[0];Argument[1];taint |
38-
| p;ParamFlow;true;writeChunked;(char[],OutputStream);;Argument[0];Argument[1];taint |
39-
| p;Pojo;false;fillIn;(List);;Argument[-1];Argument[0].Element;taint |
40-
| p;Pojo;false;getBoxedBytes;();;Argument[-1];ReturnValue;taint |
41-
| p;Pojo;false;getBoxedChars;();;Argument[-1];ReturnValue;taint |
42-
| p;Pojo;false;getByteArray;();;Argument[-1];ReturnValue;taint |
43-
| p;Pojo;false;getCharArray;();;Argument[-1];ReturnValue;taint |
44-
| p;Pojo;false;getValue;();;Argument[-1];ReturnValue;taint |
45-
| p;Pojo;false;setValue;(String);;Argument[0];Argument[-1];taint |
46-
| p;PrivateFlowViaPublicInterface;true;createAnSPI;(File);;Argument[0];ReturnValue;taint |
1+
| p;Factory;false;create;(String);;Argument[0];ReturnValue;generated:taint |
2+
| p;Factory;false;create;(String,int);;Argument[0];ReturnValue;generated:taint |
3+
| p;Factory;false;getValue;();;Argument[-1];ReturnValue;generated:taint |
4+
| p;FinalClass;false;returnsInput;(String);;Argument[0];ReturnValue;generated:taint |
5+
| p;FluentAPI;false;returnsThis;(String);;Argument[-1];ReturnValue;generated:value |
6+
| p;ImmutablePojo;false;ImmutablePojo;(String,int);;Argument[0];Argument[-1];generated:taint |
7+
| p;ImmutablePojo;false;getValue;();;Argument[-1];ReturnValue;generated:taint |
8+
| p;ImmutablePojo;false;or;(String);;Argument[-1];ReturnValue;generated:taint |
9+
| p;ImmutablePojo;false;or;(String);;Argument[0];ReturnValue;generated:taint |
10+
| p;InnerClasses$CaptureMe;true;yesCm;(String);;Argument[0];ReturnValue;generated:taint |
11+
| p;InnerClasses;true;yes;(String);;Argument[0];ReturnValue;generated:taint |
12+
| p;InnerHolder;false;append;(String);;Argument[0];Argument[-1];generated:taint |
13+
| p;InnerHolder;false;explicitSetContext;(String);;Argument[0];Argument[-1];generated:taint |
14+
| p;InnerHolder;false;getValue;();;Argument[-1];ReturnValue;generated:taint |
15+
| p;InnerHolder;false;setContext;(String);;Argument[0];Argument[-1];generated:taint |
16+
| p;Joiner;false;Joiner;(CharSequence);;Argument[0];Argument[-1];generated:taint |
17+
| p;Joiner;false;Joiner;(CharSequence,CharSequence,CharSequence);;Argument[0];Argument[-1];generated:taint |
18+
| p;Joiner;false;Joiner;(CharSequence,CharSequence,CharSequence);;Argument[1];Argument[-1];generated:taint |
19+
| p;Joiner;false;Joiner;(CharSequence,CharSequence,CharSequence);;Argument[2];Argument[-1];generated:taint |
20+
| p;Joiner;false;add;(CharSequence);;Argument[-1];ReturnValue;generated:value |
21+
| p;Joiner;false;merge;(Joiner);;Argument[-1];ReturnValue;generated:value |
22+
| p;Joiner;false;setEmptyValue;(CharSequence);;Argument[-1];ReturnValue;generated:value |
23+
| p;Joiner;false;setEmptyValue;(CharSequence);;Argument[0];Argument[-1];generated:taint |
24+
| p;Joiner;false;toString;();;Argument[-1];ReturnValue;generated:taint |
25+
| p;MultipleImpls$Strat2;true;getValue;();;Argument[-1];ReturnValue;generated:taint |
26+
| p;MultipleImpls$Strategy;true;doSomething;(String);;Argument[0];Argument[-1];generated:taint |
27+
| p;MultipleImpls$Strategy;true;doSomething;(String);;Argument[0];ReturnValue;generated:taint |
28+
| p;ParamFlow;true;addTo;(String,List);;Argument[0];Argument[1].Element;generated:taint |
29+
| p;ParamFlow;true;returnArrayElement;(String[]);;Argument[0].ArrayElement;ReturnValue;generated:taint |
30+
| p;ParamFlow;true;returnCollectionElement;(List);;Argument[0].Element;ReturnValue;generated:taint |
31+
| p;ParamFlow;true;returnIterableElement;(Iterable);;Argument[0].Element;ReturnValue;generated:taint |
32+
| p;ParamFlow;true;returnIteratorElement;(Iterator);;Argument[0].Element;ReturnValue;generated:taint |
33+
| p;ParamFlow;true;returnMultipleParameters;(String,String);;Argument[0];ReturnValue;generated:taint |
34+
| p;ParamFlow;true;returnMultipleParameters;(String,String);;Argument[1];ReturnValue;generated:taint |
35+
| p;ParamFlow;true;returnVarArgElement;(String[]);;Argument[0].ArrayElement;ReturnValue;generated:taint |
36+
| p;ParamFlow;true;returnsInput;(String);;Argument[0];ReturnValue;generated:taint |
37+
| p;ParamFlow;true;writeChunked;(byte[],OutputStream);;Argument[0];Argument[1];generated:taint |
38+
| p;ParamFlow;true;writeChunked;(char[],OutputStream);;Argument[0];Argument[1];generated:taint |
39+
| p;Pojo;false;fillIn;(List);;Argument[-1];Argument[0].Element;generated:taint |
40+
| p;Pojo;false;getBoxedBytes;();;Argument[-1];ReturnValue;generated:taint |
41+
| p;Pojo;false;getBoxedChars;();;Argument[-1];ReturnValue;generated:taint |
42+
| p;Pojo;false;getByteArray;();;Argument[-1];ReturnValue;generated:taint |
43+
| p;Pojo;false;getCharArray;();;Argument[-1];ReturnValue;generated:taint |
44+
| p;Pojo;false;getValue;();;Argument[-1];ReturnValue;generated:taint |
45+
| p;Pojo;false;setValue;(String);;Argument[0];Argument[-1];generated:taint |
46+
| p;PrivateFlowViaPublicInterface;true;createAnSPI;(File);;Argument[0];ReturnValue;generated:taint |

0 commit comments

Comments
 (0)