Skip to content

Commit 6e9bee1

Browse files
Add missing models
1 parent 25d6e00 commit 6e9bee1

File tree

3 files changed

+24
-132
lines changed

3 files changed

+24
-132
lines changed

java/ql/lib/semmle/code/java/frameworks/guava/Collections.qll

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,9 @@ private class GuavaCollectCsv extends SummaryModelCsv {
290290
"com.google.common.collect;TreeBasedTable;true;create;(TreeBasedTable);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value",
291291
"com.google.common.collect;TreeBasedTable;true;create;(TreeBasedTable);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value",
292292
"com.google.common.collect;TreeBasedTable;true;create;(TreeBasedTable);;MapValue of Argument[0];MapValue of ReturnValue;value",
293+
"com.google.common.collect;ArrayTable;true;create;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value",
294+
"com.google.common.collect;ArrayTable;true;create;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value",
295+
"com.google.common.collect;ArrayTable;true;create;(Table);;MapValue of Argument[0];MapValue of ReturnValue;value",
293296
"com.google.common.collect;ArrayTable;true;create;(Iterable,Iterable);;Element of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value",
294297
"com.google.common.collect;ArrayTable;true;create;(Iterable,Iterable);;Element of Argument[1];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value",
295298
// Utility classes (a few methods depending on lambda flow are not included)

java/ql/test/library-tests/frameworks/guava/generated/collect/Methods.java

Lines changed: 0 additions & 132 deletions
This file was deleted.

java/ql/test/library-tests/frameworks/guava/generated/collect/Test.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,27 @@ public void test() throws Exception {
161161
out = ArrayTable.create(null, in);
162162
sink(getTable_columnKey(out)); // $ hasValueFlow
163163
}
164+
{
165+
// "com.google.common.collect;ArrayTable;true;create;(Table);;MapValue of Argument[0];MapValue of ReturnValue;value"
166+
ArrayTable out = null;
167+
Table in = (Table)ArrayTable.create(ImmutableTable.of(null, null, source()));
168+
out = ArrayTable.create(in);
169+
sink(getMapValue(out)); // $ hasValueFlow
170+
}
171+
{
172+
// "com.google.common.collect;ArrayTable;true;create;(Table);;SyntheticField[com.google.common.collect.Table.columnKey] of Argument[0];SyntheticField[com.google.common.collect.Table.columnKey] of ReturnValue;value"
173+
ArrayTable out = null;
174+
Table in = (Table)ArrayTable.create(ImmutableTable.of(null, source(), null));
175+
out = ArrayTable.create(in);
176+
sink(getTable_columnKey(out)); // $ hasValueFlow
177+
}
178+
{
179+
// "com.google.common.collect;ArrayTable;true;create;(Table);;SyntheticField[com.google.common.collect.Table.rowKey] of Argument[0];SyntheticField[com.google.common.collect.Table.rowKey] of ReturnValue;value"
180+
ArrayTable out = null;
181+
Table in = (Table)ArrayTable.create(ImmutableTable.of(source(), null, null));
182+
out = ArrayTable.create(in);
183+
sink(getTable_rowKey(out)); // $ hasValueFlow
184+
}
164185
{
165186
// "com.google.common.collect;BiMap;true;forcePut;(Object,Object);;Argument[0];MapKey of Argument[-1];value"
166187
ImmutableBiMap out = null;

0 commit comments

Comments
 (0)