Skip to content

Commit 0325c07

Browse files
committed
Reorganize fluent models
1 parent ffa77f0 commit 0325c07

File tree

2 files changed

+41
-66
lines changed
  • java/ql
    • lib/semmle/code/java/frameworks/android
    • test/library-tests/frameworks/android/slice

2 files changed

+41
-66
lines changed

java/ql/lib/semmle/code/java/frameworks/android/Slice.qll

Lines changed: 39 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -8,93 +8,68 @@ private class SliceBuildersSummaryModels extends SummaryModelCsv {
88
row =
99
[
1010
"androidx.slice.builders;ListBuilder;false;addAction;;;Argument[0];Argument[-1];taint",
11-
"androidx.slice.builders;ListBuilder;false;addAction;;;Argument[-1];ReturnValue;value",
1211
"androidx.slice.builders;ListBuilder;false;addGridRow;;;Argument[0];Argument[-1];taint",
13-
"androidx.slice.builders;ListBuilder;false;addGridRow;;;Argument[-1];ReturnValue;value",
1412
"androidx.slice.builders;ListBuilder;false;addInputRange;;;Argument[0];Argument[-1];taint",
15-
"androidx.slice.builders;ListBuilder;false;addInputRange;;;Argument[-1];ReturnValue;value",
1613
"androidx.slice.builders;ListBuilder;false;addRange;;;Argument[0];Argument[-1];taint",
17-
"androidx.slice.builders;ListBuilder;false;addRange;;;Argument[-1];ReturnValue;value",
1814
"androidx.slice.builders;ListBuilder;false;addRating;;;Argument[0];Argument[-1];taint",
19-
"androidx.slice.builders;ListBuilder;false;addRating;;;Argument[-1];ReturnValue;value",
2015
"androidx.slice.builders;ListBuilder;false;addRow;;;Argument[0];Argument[-1];taint",
21-
"androidx.slice.builders;ListBuilder;false;addRow;;;Argument[-1];ReturnValue;value",
2216
"androidx.slice.builders;ListBuilder;false;addSelection;;;Argument[0];Argument[-1];taint",
23-
"androidx.slice.builders;ListBuilder;false;addSelection;;;Argument[-1];ReturnValue;value",
24-
"androidx.slice.builders;ListBuilder;false;setAccentColor;;;Argument[-1];ReturnValue;value",
2517
"androidx.slice.builders;ListBuilder;false;setHeader;;;Argument[0];Argument[-1];taint",
26-
"androidx.slice.builders;ListBuilder;false;setHeader;;;Argument[-1];ReturnValue;value",
27-
"androidx.slice.builders;ListBuilder;false;setHostExtras;;;Argument[-1];ReturnValue;value",
28-
"androidx.slice.builders;ListBuilder;false;setIsError;;;Argument[-1];ReturnValue;value",
29-
"androidx.slice.builders;ListBuilder;false;setKeywords;;;Argument[-1];ReturnValue;value",
30-
"androidx.slice.builders;ListBuilder;false;setLayoutDirection;;;Argument[-1];ReturnValue;value",
3118
"androidx.slice.builders;ListBuilder;false;setSeeMoreAction;;;Argument[0];Argument[-1];taint",
32-
"androidx.slice.builders;ListBuilder;false;setSeeMoreAction;;;Argument[-1];ReturnValue;value",
33-
"androidx.slice.builders;ListBuilder;false;setSeeMoreRow;;;Argument[0];Argument[-1];value",
34-
"androidx.slice.builders;ListBuilder;false;setSeeMoreRow;;;Argument[-1];ReturnValue;value",
35-
"androidx.slice.builders;ListBuilder;false;build;;;Argument[-1];ReturnValue;taint",
36-
"androidx.slice.builders;ListBuilder$HeaderBuilder;false;setContentDescription;;;Argument[-1];ReturnValue;value",
37-
"androidx.slice.builders;ListBuilder$HeaderBuilder;false;setLayoutDirection;;;Argument[-1];ReturnValue;value",
19+
"androidx.slice.builders;ListBuilder;true;setSeeMoreRow;;;Argument[0];Argument[-1];taint",
20+
"androidx.slice.builders;ListBuilder;true;build;;;Argument[-1];ReturnValue;taint",
3821
"androidx.slice.builders;ListBuilder$HeaderBuilder;false;setPrimaryAction;;;Argument[0];Argument[-1];taint",
39-
"androidx.slice.builders;ListBuilder$HeaderBuilder;false;setPrimaryAction;;;Argument[-1];ReturnValue;value",
40-
"androidx.slice.builders;ListBuilder$HeaderBuilder;false;setSubtitle;;;Argument[-1];ReturnValue;value",
41-
"androidx.slice.builders;ListBuilder$HeaderBuilder;false;setSummary;;;Argument[-1];ReturnValue;value",
42-
"androidx.slice.builders;ListBuilder$HeaderBuilder;false;setTitle;;;Argument[-1];ReturnValue;value",
4322
"androidx.slice.builders;ListBuilder$InputRangeBuilder;false;addEndItem;;;Argument[0];Argument[-1];taint",
44-
"androidx.slice.builders;ListBuilder$InputRangeBuilder;false;addEndItem;;;Argument[-1];ReturnValue;value",
45-
"androidx.slice.builders;ListBuilder$InputRangeBuilder;false;setContentDescription;;;Argument[-1];ReturnValue;value",
4623
"androidx.slice.builders;ListBuilder$InputRangeBuilder;false;setInputAction;(PendingIntent);;Argument[0];Argument[-1];taint",
47-
"androidx.slice.builders;ListBuilder$InputRangeBuilder;false;setInputAction;;;Argument[-1];ReturnValue;value",
48-
"androidx.slice.builders;ListBuilder$InputRangeBuilder;false;setLayoutDirection;;;Argument[-1];ReturnValue;value",
49-
"androidx.slice.builders;ListBuilder$InputRangeBuilder;false;setMax;;;Argument[-1];ReturnValue;value",
50-
"androidx.slice.builders;ListBuilder$InputRangeBuilder;false;setMin;;;Argument[-1];ReturnValue;value",
5124
"androidx.slice.builders;ListBuilder$InputRangeBuilder;false;setPrimaryAction;;;Argument[0];Argument[-1];taint",
52-
"androidx.slice.builders;ListBuilder$InputRangeBuilder;false;setPrimaryAction;;;Argument[-1];ReturnValue;value",
53-
"androidx.slice.builders;ListBuilder$InputRangeBuilder;false;setSubtitle;;;Argument[-1];ReturnValue;value",
54-
"androidx.slice.builders;ListBuilder$InputRangeBuilder;false;setThumb;;;Argument[-1];ReturnValue;value",
55-
"androidx.slice.builders;ListBuilder$InputRangeBuilder;false;setTitle;;;Argument[-1];ReturnValue;value",
56-
"androidx.slice.builders;ListBuilder$InputRangeBuilder;false;setTitleItem;;;Argument[-1];ReturnValue;value",
57-
"androidx.slice.builders;ListBuilder$InputRangeBuilder;false;setValue;;;Argument[-1];ReturnValue;value",
58-
"androidx.slice.builders;ListBuilder$RangeBuilder;false;setContentDescription;;;Argument[-1];ReturnValue;value",
59-
"androidx.slice.builders;ListBuilder$RangeBuilder;false;setMax;;;Argument[-1];ReturnValue;value",
60-
"androidx.slice.builders;ListBuilder$RangeBuilder;false;setMode;;;Argument[-1];ReturnValue;value",
6125
"androidx.slice.builders;ListBuilder$RangeBuilder;false;setPrimaryAction;;;Argument[0];Argument[-1];taint",
62-
"androidx.slice.builders;ListBuilder$RangeBuilder;false;setPrimaryAction;;;Argument[-1];ReturnValue;value",
63-
"androidx.slice.builders;ListBuilder$RangeBuilder;false;setSubtitle;;;Argument[-1];ReturnValue;value",
64-
"androidx.slice.builders;ListBuilder$RangeBuilder;false;setTitle;;;Argument[-1];ReturnValue;value",
65-
"androidx.slice.builders;ListBuilder$RangeBuilder;false;setTitleItem;;;Argument[-1];ReturnValue;value",
66-
"androidx.slice.builders;ListBuilder$RangeBuilder;false;setValue;;;Argument[-1];ReturnValue;value",
67-
"androidx.slice.builders;ListBuilder$RatingBuilder;false;setContentDescription;;;Argument[-1];ReturnValue;value",
6826
"androidx.slice.builders;ListBuilder$RatingBuilder;false;setInputAction;(PendingIntent);;Argument[0];Argument[-1];taint",
69-
"androidx.slice.builders;ListBuilder$RatingBuilder;false;setInputAction;;;Argument[-1];ReturnValue;value",
70-
"androidx.slice.builders;ListBuilder$RatingBuilder;false;setMax;;;Argument[-1];ReturnValue;value",
71-
"androidx.slice.builders;ListBuilder$RatingBuilder;false;setMin;;;Argument[-1];ReturnValue;value",
7227
"androidx.slice.builders;ListBuilder$RatingBuilder;false;setPrimaryAction;;;Argument[0];Argument[-1];taint",
73-
"androidx.slice.builders;ListBuilder$RatingBuilder;false;setPrimaryAction;;;Argument[-1];ReturnValue;value",
74-
"androidx.slice.builders;ListBuilder$RatingBuilder;false;setSubtitle;;;Argument[-1];ReturnValue;value",
75-
"androidx.slice.builders;ListBuilder$RatingBuilder;false;setTitle;;;Argument[-1];ReturnValue;value",
76-
"androidx.slice.builders;ListBuilder$RatingBuilder;false;setTitleItem;;;Argument[-1];ReturnValue;value",
77-
"androidx.slice.builders;ListBuilder$RatingBuilder;false;setValue;;;Argument[-1];ReturnValue;value",
7828
"androidx.slice.builders;ListBuilder$RowBuilder;false;addEndItem;(SliceAction,boolean);;Argument[0];Argument[-1];taint",
7929
"androidx.slice.builders;ListBuilder$RowBuilder;false;addEndItem;(SliceAction);;Argument[0];Argument[-1];taint",
80-
"androidx.slice.builders;ListBuilder$RowBuilder;false;addEndItem;;;Argument[-1];ReturnValue;value",
81-
"androidx.slice.builders;ListBuilder$RowBuilder;false;setContentDescription;;;Argument[-1];ReturnValue;value",
82-
"androidx.slice.builders;ListBuilder$RowBuilder;false;setEndOfSection;;;Argument[-1];ReturnValue;value",
83-
"androidx.slice.builders;ListBuilder$RowBuilder;false;setLayoutDirection;;;Argument[-1];ReturnValue;value",
8430
"androidx.slice.builders;ListBuilder$RowBuilder;false;setPrimaryAction;;;Argument[0];Argument[-1];taint",
85-
"androidx.slice.builders;ListBuilder$RowBuilder;false;setPrimaryAction;;;Argument[-1];ReturnValue;value",
86-
"androidx.slice.builders;ListBuilder$RowBuilder;false;setSubtitle;;;Argument[-1];ReturnValue;value",
87-
"androidx.slice.builders;ListBuilder$RowBuilder;false;setTitle;;;Argument[-1];ReturnValue;value",
88-
"androidx.slice.builders;ListBuilder$RowBuilder;false;setTitleItem;(SliceAction);;Argument[0];Argument[-1];taint",
8931
"androidx.slice.builders;ListBuilder$RowBuilder;false;setTitleItem;(SliceAction,boolean);;Argument[0];Argument[-1];taint",
90-
"androidx.slice.builders;ListBuilder$RowBuilder;false;setTitleItem;;;Argument[-1];ReturnValue;value",
32+
"androidx.slice.builders;ListBuilder$RowBuilder;false;setTitleItem;(SliceAction);;Argument[0];Argument[-1];taint",
9133
"androidx.slice.builders;SliceAction;false;create;(PendingIntent,IconCompat,int,CharSequence);;Argument[0];ReturnValue;taint",
9234
"androidx.slice.builders;SliceAction;false;createDeeplink;(PendingIntent,IconCompat,int,CharSequence);;Argument[0];ReturnValue;taint",
9335
"androidx.slice.builders;SliceAction;false;createToggle;(PendingIntent,CharSequence,boolean);;Argument[0];ReturnValue;taint",
9436
"androidx.slice.builders;SliceAction;false;getAction;;;Argument[-1];ReturnValue;taint",
95-
"androidx.slice.builders;SliceAction;false;setChecked;;;Argument[-1];ReturnValue;value",
96-
"androidx.slice.builders;SliceAction;false;setContentDescription;;;Argument[-1];ReturnValue;value",
97-
"androidx.slice.builders;SliceAction;false;setPriority;;;Argument[-1];ReturnValue;value"
37+
// Fluent models
38+
"androidx.slice.builders;ListBuilder;true;" +
39+
[
40+
"addAction", "addGridRow", "addInputRange", "addRange", "addRating", "addRow",
41+
"addSelection", "setAccentColor", "setHeader", "setHostExtras", "setIsError",
42+
"setKeywords", "setLayoutDirection", "setSeeMoreAction", "setSeeMoreRow"
43+
] + ";;;Argument[-1];ReturnValue;value",
44+
"androidx.slice.builders;ListBuilder$HeaderBuilder;true;" +
45+
[
46+
"setContentDescription", "setLayoutDirection", "setPrimaryAction", "setSubtitle",
47+
"setSummary", "setTitle"
48+
] + ";;;Argument[-1];ReturnValue;value",
49+
"androidx.slice.builders;ListBuilder$InputRangeBuilder;true;" +
50+
[
51+
"addEndItem", "setContentDescription", "setInputAction", "setLayoutDirection", "setMax",
52+
"setMin", "setPrimaryAction", "setSubtitle", "setThumb", "setTitle", "setTitleItem",
53+
"setValue"
54+
] + ";;;Argument[-1];ReturnValue;value",
55+
"androidx.slice.builders;ListBuilder$RangeBuilder;true;" +
56+
[
57+
"setContentDescription", "setMax", "setMode", "setPrimaryAction", "setSubtitle",
58+
"setTitle", "setTitleItem", "setValue"
59+
] + ";;;Argument[-1];ReturnValue;value",
60+
"androidx.slice.builders;ListBuilder$RatingBuilder;true;" +
61+
[
62+
"setContentDescription", "setInputAction", "setMax", "setMin", "setPrimaryAction",
63+
"setSubtitle", "setTitle", "setTitleItem", "setValue"
64+
] + ";;;Argument[-1];ReturnValue;value",
65+
"androidx.slice.builders;ListBuilder$RowBuilder;true;" +
66+
[
67+
"addEndItem", "setContentDescription", "setEndOfSection", "setLayoutDirection",
68+
"setPrimaryAction", "setSubtitle", "setTitle", "setTitleItem"
69+
] + ";;;Argument[-1];ReturnValue;value",
70+
"androidx.slice.builders;SliceAction;true;" +
71+
["setChecked", "setContentDescription", "setPriority"] +
72+
";;;Argument[-1];ReturnValue;value"
9873
]
9974
}
10075
}

java/ql/test/library-tests/frameworks/android/slice/Test.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -735,11 +735,11 @@ public void test() throws Exception {
735735
sink(out); // $ hasValueFlow
736736
}
737737
{
738-
// "androidx.slice.builders;ListBuilder;false;setSeeMoreRow;;;Argument[0];Argument[-1];value"
738+
// "androidx.slice.builders;ListBuilder;false;setSeeMoreRow;;;Argument[0];Argument[-1];taint"
739739
ListBuilder out = null;
740740
ListBuilder.RowBuilder in = (ListBuilder.RowBuilder) source();
741741
out.setSeeMoreRow(in);
742-
sink(out); // $ hasValueFlow
742+
sink(out); // $ hasTaintFlow
743743
}
744744
{
745745
// "androidx.slice.builders;SliceAction;false;create;(PendingIntent,IconCompat,int,CharSequence);;Argument[0];ReturnValue;taint"

0 commit comments

Comments
 (0)